diff --git a/CHANGELOG b/CHANGELOG index 6d1d15cd46..f811f77d6e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,4 @@ -cocos2d-x-3.2beta0 Jul.2 2014 +cocos2d-x-3.2rc0 ?? [NEW] FastTMXTiledMap: added fast tmx, which is much more faster for static tiled map [NEW] GLProgramState: can use uniform location to get/set uniform values [NEW] HttpClient: added sendImmediate() diff --git a/build/android-build.py b/build/android-build.py index 9cccd91fc8..781a0a9779 100755 --- a/build/android-build.py +++ b/build/android-build.py @@ -53,23 +53,7 @@ def check_environment_variables_sdk(): return SDK_ROOT def select_toolchain_version(): - '''Because ndk-r8e uses gcc4.6 as default. gcc4.6 doesn't support c++11. So we should select gcc4.7 when - using ndk-r8e. But gcc4.7 is removed in ndk-r9, so we should determine whether gcc4.7 exist. - Conclution: - ndk-r8e -> use gcc4.7 - ndk-r9 -> use gcc4.8 - ''' - - ndk_root = check_environment_variables() - if os.path.isdir(os.path.join(ndk_root,"toolchains/arm-linux-androideabi-4.8")): - os.environ['NDK_TOOLCHAIN_VERSION'] = '4.8' - print "The Selected NDK toolchain version was 4.8 !" - elif os.path.isdir(os.path.join(ndk_root,"toolchains/arm-linux-androideabi-4.7")): - os.environ['NDK_TOOLCHAIN_VERSION'] = '4.7' - print "The Selected NDK toolchain version was 4.7 !" - else: - print "Couldn't find the gcc toolchain." - exit(1) + pass def caculate_built_samples(args): ''' Compute the sampels to be built diff --git a/build/cocos2d_libs.xcodeproj/project.pbxproj b/build/cocos2d_libs.xcodeproj/project.pbxproj index ecf07d8ded..afffa6f339 100644 --- a/build/cocos2d_libs.xcodeproj/project.pbxproj +++ b/build/cocos2d_libs.xcodeproj/project.pbxproj @@ -1025,23 +1025,12 @@ 373B912A187891FB00198F86 /* CCComBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 373B910718787C0B00198F86 /* CCComBase.h */; }; 3E6176681960F89B00DE83F5 /* CCController-iOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176551960F89B00DE83F5 /* CCController-iOS.mm */; }; 3E6176691960F89B00DE83F5 /* CCController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176561960F89B00DE83F5 /* CCController.h */; }; - 3E61766A1960F89B00DE83F5 /* CCControllerAxisInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176571960F89B00DE83F5 /* CCControllerAxisInput.cpp */; }; - 3E61766B1960F89B00DE83F5 /* CCControllerAxisInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176581960F89B00DE83F5 /* CCControllerAxisInput.h */; }; - 3E61766C1960F89B00DE83F5 /* CCControllerButtonInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176591960F89B00DE83F5 /* CCControllerButtonInput.cpp */; }; - 3E61766D1960F89B00DE83F5 /* CCControllerButtonInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E61765A1960F89B00DE83F5 /* CCControllerButtonInput.h */; }; - 3E61766E1960F89B00DE83F5 /* CCControllerDirectionPad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E61765B1960F89B00DE83F5 /* CCControllerDirectionPad.cpp */; }; - 3E61766F1960F89B00DE83F5 /* CCControllerDirectionPad.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E61765C1960F89B00DE83F5 /* CCControllerDirectionPad.h */; }; - 3E6176701960F89B00DE83F5 /* CCControllerElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E61765D1960F89B00DE83F5 /* CCControllerElement.cpp */; }; - 3E6176711960F89B00DE83F5 /* CCControllerElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E61765E1960F89B00DE83F5 /* CCControllerElement.h */; }; - 3E6176721960F89B00DE83F5 /* CCControllerThumbstick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E61765F1960F89B00DE83F5 /* CCControllerThumbstick.cpp */; }; - 3E6176731960F89B00DE83F5 /* CCControllerThumbstick.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176601960F89B00DE83F5 /* CCControllerThumbstick.h */; }; 3E6176741960F89B00DE83F5 /* CCEventController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176611960F89B00DE83F5 /* CCEventController.cpp */; }; 3E6176751960F89B00DE83F5 /* CCEventController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176621960F89B00DE83F5 /* CCEventController.h */; }; 3E6176761960F89B00DE83F5 /* CCEventListenerController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176631960F89B00DE83F5 /* CCEventListenerController.cpp */; }; 3E6176771960F89B00DE83F5 /* CCEventListenerController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176641960F89B00DE83F5 /* CCEventListenerController.h */; }; 3E6176781960F89B00DE83F5 /* CCGameController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176651960F89B00DE83F5 /* CCGameController.h */; }; - 3E6176791960F89B00DE83F5 /* CCGamepad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176661960F89B00DE83F5 /* CCGamepad.cpp */; }; - 3E61767A1960F89B00DE83F5 /* CCGamepad.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176671960F89B00DE83F5 /* CCGamepad.h */; }; + 3E61781D1966A5A300DE83F5 /* CCController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E61781C1966A5A300DE83F5 /* CCController.cpp */; }; 3EA0FB6B191C841D00B170C8 /* UIVideoPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EA0FB69191C841D00B170C8 /* UIVideoPlayer.h */; }; 3EA0FB6C191C841D00B170C8 /* UIVideoPlayerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3EA0FB6A191C841D00B170C8 /* UIVideoPlayerIOS.mm */; }; 3EA47870195478E00068D9D1 /* CCBundleReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EA4786E195478E00068D9D1 /* CCBundleReader.cpp */; }; @@ -2370,23 +2359,12 @@ 37936A3E1869B76800E974DD /* writer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = writer.h; sourceTree = ""; }; 3E6176551960F89B00DE83F5 /* CCController-iOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "CCController-iOS.mm"; path = "../base/CCController-iOS.mm"; sourceTree = ""; }; 3E6176561960F89B00DE83F5 /* CCController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCController.h; path = ../base/CCController.h; sourceTree = ""; }; - 3E6176571960F89B00DE83F5 /* CCControllerAxisInput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerAxisInput.cpp; path = ../base/CCControllerAxisInput.cpp; sourceTree = ""; }; - 3E6176581960F89B00DE83F5 /* CCControllerAxisInput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerAxisInput.h; path = ../base/CCControllerAxisInput.h; sourceTree = ""; }; - 3E6176591960F89B00DE83F5 /* CCControllerButtonInput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerButtonInput.cpp; path = ../base/CCControllerButtonInput.cpp; sourceTree = ""; }; - 3E61765A1960F89B00DE83F5 /* CCControllerButtonInput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerButtonInput.h; path = ../base/CCControllerButtonInput.h; sourceTree = ""; }; - 3E61765B1960F89B00DE83F5 /* CCControllerDirectionPad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerDirectionPad.cpp; path = ../base/CCControllerDirectionPad.cpp; sourceTree = ""; }; - 3E61765C1960F89B00DE83F5 /* CCControllerDirectionPad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerDirectionPad.h; path = ../base/CCControllerDirectionPad.h; sourceTree = ""; }; - 3E61765D1960F89B00DE83F5 /* CCControllerElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerElement.cpp; path = ../base/CCControllerElement.cpp; sourceTree = ""; }; - 3E61765E1960F89B00DE83F5 /* CCControllerElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerElement.h; path = ../base/CCControllerElement.h; sourceTree = ""; }; - 3E61765F1960F89B00DE83F5 /* CCControllerThumbstick.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerThumbstick.cpp; path = ../base/CCControllerThumbstick.cpp; sourceTree = ""; }; - 3E6176601960F89B00DE83F5 /* CCControllerThumbstick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerThumbstick.h; path = ../base/CCControllerThumbstick.h; sourceTree = ""; }; 3E6176611960F89B00DE83F5 /* CCEventController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCEventController.cpp; path = ../base/CCEventController.cpp; sourceTree = ""; }; 3E6176621960F89B00DE83F5 /* CCEventController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCEventController.h; path = ../base/CCEventController.h; sourceTree = ""; }; 3E6176631960F89B00DE83F5 /* CCEventListenerController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCEventListenerController.cpp; path = ../base/CCEventListenerController.cpp; sourceTree = ""; }; 3E6176641960F89B00DE83F5 /* CCEventListenerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCEventListenerController.h; path = ../base/CCEventListenerController.h; sourceTree = ""; }; 3E6176651960F89B00DE83F5 /* CCGameController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCGameController.h; path = ../base/CCGameController.h; sourceTree = ""; }; - 3E6176661960F89B00DE83F5 /* CCGamepad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCGamepad.cpp; path = ../base/CCGamepad.cpp; sourceTree = ""; }; - 3E6176671960F89B00DE83F5 /* CCGamepad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCGamepad.h; path = ../base/CCGamepad.h; sourceTree = ""; }; + 3E61781C1966A5A300DE83F5 /* CCController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCController.cpp; path = ../base/CCController.cpp; sourceTree = ""; }; 3EA0FB69191C841D00B170C8 /* UIVideoPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIVideoPlayer.h; sourceTree = ""; }; 3EA0FB6A191C841D00B170C8 /* UIVideoPlayerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = UIVideoPlayerIOS.mm; sourceTree = ""; }; 3EA4786E195478E00068D9D1 /* CCBundleReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CCBundleReader.cpp; sourceTree = ""; }; @@ -3187,25 +3165,14 @@ 1A5700A2180BC5E60088DEC7 /* base */ = { isa = PBXGroup; children = ( + 3E61781C1966A5A300DE83F5 /* CCController.cpp */, 3E6176551960F89B00DE83F5 /* CCController-iOS.mm */, 3E6176561960F89B00DE83F5 /* CCController.h */, - 3E6176571960F89B00DE83F5 /* CCControllerAxisInput.cpp */, - 3E6176581960F89B00DE83F5 /* CCControllerAxisInput.h */, - 3E6176591960F89B00DE83F5 /* CCControllerButtonInput.cpp */, - 3E61765A1960F89B00DE83F5 /* CCControllerButtonInput.h */, - 3E61765B1960F89B00DE83F5 /* CCControllerDirectionPad.cpp */, - 3E61765C1960F89B00DE83F5 /* CCControllerDirectionPad.h */, - 3E61765D1960F89B00DE83F5 /* CCControllerElement.cpp */, - 3E61765E1960F89B00DE83F5 /* CCControllerElement.h */, - 3E61765F1960F89B00DE83F5 /* CCControllerThumbstick.cpp */, - 3E6176601960F89B00DE83F5 /* CCControllerThumbstick.h */, 3E6176611960F89B00DE83F5 /* CCEventController.cpp */, 3E6176621960F89B00DE83F5 /* CCEventController.h */, 3E6176631960F89B00DE83F5 /* CCEventListenerController.cpp */, 3E6176641960F89B00DE83F5 /* CCEventListenerController.h */, 3E6176651960F89B00DE83F5 /* CCGameController.h */, - 3E6176661960F89B00DE83F5 /* CCGamepad.cpp */, - 3E6176671960F89B00DE83F5 /* CCGamepad.h */, 299754F2193EC95400A54AC3 /* ObjectFactory.cpp */, 299754F3193EC95400A54AC3 /* ObjectFactory.h */, 50ABBDC11925AB6E00A911A9 /* atitc.cpp */, @@ -5571,7 +5538,6 @@ 1A570068180BC5A10088DEC7 /* CCActionCamera.h in Headers */, 1A57006C180BC5A10088DEC7 /* CCActionCatmullRom.h in Headers */, 5034CA3A191D591100CE6051 /* ccShader_PositionColorLengthTexture.frag in Headers */, - 3E61766B1960F89B00DE83F5 /* CCControllerAxisInput.h in Headers */, 50ABBEC41925AB6F00A911A9 /* CCVector.h in Headers */, 50ABBE501925AB6F00A911A9 /* CCEventCustom.h in Headers */, 1A570070180BC5A10088DEC7 /* CCActionEase.h in Headers */, @@ -5608,7 +5574,6 @@ 50ABC0101926664800A911A9 /* CCFileUtils.h in Headers */, 2905FA4318CF08D100240AA3 /* CocosGUI.h in Headers */, 5034CA30191D591100CE6051 /* ccShader_PositionTexture.vert in Headers */, - 3E6176711960F89B00DE83F5 /* CCControllerElement.h in Headers */, 50E6D33718E174130051CA34 /* UIHBox.h in Headers */, 1A570111180BC8EE0088DEC7 /* CCDrawingPrimitives.h in Headers */, 50E6D33F18E174130051CA34 /* UIVBox.h in Headers */, @@ -5676,7 +5641,6 @@ 5034CA2C191D591100CE6051 /* ccShader_PositionTextureA8Color.vert in Headers */, 50ABBE981925AB6F00A911A9 /* CCProtocols.h in Headers */, 2905FA8B18CF08D100240AA3 /* UITextField.h in Headers */, - 3E6176731960F89B00DE83F5 /* CCControllerThumbstick.h in Headers */, 50FCEBA618C72017004AD434 /* ListViewReader.h in Headers */, 50ABBD431925AB0000A911A9 /* CCMathBase.h in Headers */, 50ABBE441925AB6F00A911A9 /* CCDirector.h in Headers */, @@ -5695,7 +5659,6 @@ 50ABBE741925AB6F00A911A9 /* CCEventListenerMouse.h in Headers */, 2905FA8F18CF08D100240AA3 /* UIWidget.h in Headers */, 50FCEB9A18C72017004AD434 /* CheckBoxReader.h in Headers */, - 3E61766D1960F89B00DE83F5 /* CCControllerButtonInput.h in Headers */, 1A5702CB180BCE370088DEC7 /* CCTextFieldTTF.h in Headers */, 2905FA7F18CF08D100240AA3 /* UIText.h in Headers */, 1A5702ED180BCE750088DEC7 /* CCTileMapAtlas.h in Headers */, @@ -5708,7 +5671,6 @@ 1A570303180BCE890088DEC7 /* CCParallaxNode.h in Headers */, 50ABBE2A1925AB6F00A911A9 /* CCAutoreleasePool.h in Headers */, 1A57030F180BCF190088DEC7 /* CCComponent.h in Headers */, - 3E61766F1960F89B00DE83F5 /* CCControllerDirectionPad.h in Headers */, 1A570313180BCF190088DEC7 /* CCComponentContainer.h in Headers */, 0634A4DF194B19E400E608AF /* CCNodeReader.h in Headers */, 1A087AEB1860400400196EF5 /* edtaa3func.h in Headers */, @@ -5815,7 +5777,6 @@ 1AD71ED0180E26E600808F54 /* Skeleton.h in Headers */, 50ABBE541925AB6F00A911A9 /* CCEventDispatcher.h in Headers */, 1AD71ED4180E26E600808F54 /* SkeletonData.h in Headers */, - 3E61767A1960F89B00DE83F5 /* CCGamepad.h in Headers */, 1AD71ED8180E26E600808F54 /* SkeletonJson.h in Headers */, 1A12775A18DFCC4F0005F345 /* CCTweenFunction.h in Headers */, 1AD71EDC180E26E600808F54 /* Skin.h in Headers */, @@ -6752,7 +6713,6 @@ 3E6176681960F89B00DE83F5 /* CCController-iOS.mm in Sources */, 2905FA8D18CF08D100240AA3 /* UIWidget.cpp in Sources */, 29E99D1F1957BA7000046604 /* CocoLoader.cpp in Sources */, - 3E61766C1960F89B00DE83F5 /* CCControllerButtonInput.cpp in Sources */, B29594B51926D5EC003EEF37 /* CCMeshCommand.cpp in Sources */, 0634A4D5194B19E400E608AF /* CCActionTimelineCache.cpp in Sources */, 50ABBE7E1925AB6F00A911A9 /* CCEventTouch.cpp in Sources */, @@ -6792,6 +6752,7 @@ 1A57019E180BCB590088DEC7 /* CCFont.cpp in Sources */, 503DD8E21926736A00CD74DD /* CCCommon.mm in Sources */, 1A5701A2180BCB590088DEC7 /* CCFontAtlas.cpp in Sources */, + 3E61781D1966A5A300DE83F5 /* CCController.cpp in Sources */, 50ABC00E1926664800A911A9 /* CCFileUtils.cpp in Sources */, 50ABBE241925AB6F00A911A9 /* base64.cpp in Sources */, 1A5701A6180BCB590088DEC7 /* CCFontAtlasCache.cpp in Sources */, @@ -6831,13 +6792,11 @@ 1A570215180BCBF40088DEC7 /* CCRenderTexture.cpp in Sources */, 1A570222180BCC1A0088DEC7 /* CCParticleBatchNode.cpp in Sources */, 1A570226180BCC1A0088DEC7 /* CCParticleExamples.cpp in Sources */, - 3E6176791960F89B00DE83F5 /* CCGamepad.cpp in Sources */, 1A57022A180BCC1A0088DEC7 /* CCParticleSystem.cpp in Sources */, B24AA98A195A675C007B4522 /* CCFastTMXTiledMap.cpp in Sources */, B24AA986195A675C007B4522 /* CCFastTMXLayer.cpp in Sources */, 1A57022E180BCC1A0088DEC7 /* CCParticleSystemQuad.cpp in Sources */, 50ABBD901925AB4100A911A9 /* CCGLProgramCache.cpp in Sources */, - 3E6176701960F89B00DE83F5 /* CCControllerElement.cpp in Sources */, 2905FA5718CF08D100240AA3 /* UILayout.cpp in Sources */, 2905FA7D18CF08D100240AA3 /* UIText.cpp in Sources */, 50E6D33D18E174130051CA34 /* UIVBox.cpp in Sources */, @@ -6853,7 +6812,6 @@ 1A5702C9180BCE370088DEC7 /* CCTextFieldTTF.cpp in Sources */, 1A5702EB180BCE750088DEC7 /* CCTileMapAtlas.cpp in Sources */, 1A5702EF180BCE750088DEC7 /* CCTMXLayer.cpp in Sources */, - 3E61766A1960F89B00DE83F5 /* CCControllerAxisInput.cpp in Sources */, 1A5702F3180BCE750088DEC7 /* CCTMXObjectGroup.cpp in Sources */, 50ABBD3D1925AB0000A911A9 /* CCGeometry.cpp in Sources */, 50ABBECC1925AB6F00A911A9 /* s3tc.cpp in Sources */, @@ -6966,7 +6924,6 @@ 50ABBE9A1925AB6F00A911A9 /* CCRef.cpp in Sources */, 3E6176741960F89B00DE83F5 /* CCEventController.cpp in Sources */, 50ABBE361925AB6F00A911A9 /* CCConsole.cpp in Sources */, - 3E61766E1960F89B00DE83F5 /* CCControllerDirectionPad.cpp in Sources */, 503DD8E51926736A00CD74DD /* CCDirectorCaller.mm in Sources */, 50ABBD5D1925AB0000A911A9 /* Vec3.cpp in Sources */, 50ABC0121926664800A911A9 /* CCGLViewProtocol.cpp in Sources */, @@ -7005,7 +6962,6 @@ 1A8C59D4180E930E00EF57C3 /* CCDecorativeDisplay.cpp in Sources */, 1A8C59D8180E930E00EF57C3 /* CCDisplayFactory.cpp in Sources */, 46C02E0818E91123004B7456 /* xxhash.c in Sources */, - 3E6176721960F89B00DE83F5 /* CCControllerThumbstick.cpp in Sources */, 50ABBED01925AB6F00A911A9 /* TGAlib.cpp in Sources */, 2905FA4118CF08D100240AA3 /* CocosGUI.cpp in Sources */, 1A01C68518F57BE800EFE3A6 /* CCArray.cpp in Sources */, diff --git a/build/cocos2d_tests.xcodeproj/project.pbxproj b/build/cocos2d_tests.xcodeproj/project.pbxproj index 2c889dbc87..003fb4fd48 100644 --- a/build/cocos2d_tests.xcodeproj/project.pbxproj +++ b/build/cocos2d_tests.xcodeproj/project.pbxproj @@ -827,8 +827,6 @@ 3E6177351960FB4000DE83F5 /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176DE1960FA6300DE83F5 /* AppController.mm */; }; 3E6177361960FB5A00DE83F5 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176EE1960FA6300DE83F5 /* main.m */; }; 3E6177371960FB5E00DE83F5 /* RootViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176F01960FA6300DE83F5 /* RootViewController.mm */; }; - 3E6177391960FBB800DE83F5 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E6177381960FBB800DE83F5 /* SystemConfiguration.framework */; }; - 3E61773B1960FBC300DE83F5 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E61773A1960FBC300DE83F5 /* CFNetwork.framework */; }; 3E61773D1960FBD200DE83F5 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E61773C1960FBD100DE83F5 /* GameController.framework */; }; 3E6177F41960FEFE00DE83F5 /* fonts in Resources */ = {isa = PBXBuildFile; fileRef = 3E6177F01960FEFE00DE83F5 /* fonts */; }; 3E6177F51960FEFE00DE83F5 /* ipad in Resources */ = {isa = PBXBuildFile; fileRef = 3E6177F11960FEFE00DE83F5 /* ipad */; }; @@ -2132,8 +2130,6 @@ buildActionMask = 2147483647; files = ( 3E61773D1960FBD200DE83F5 /* GameController.framework in Frameworks */, - 3E61773B1960FBC300DE83F5 /* CFNetwork.framework in Frameworks */, - 3E6177391960FBB800DE83F5 /* SystemConfiguration.framework in Frameworks */, 3E6177211960FAED00DE83F5 /* libchipmunk iOS.a in Frameworks */, 3E6177221960FAED00DE83F5 /* libcocos2dx iOS.a in Frameworks */, 3E6177231960FAED00DE83F5 /* libCocosDenshion iOS.a in Frameworks */, @@ -5728,6 +5724,7 @@ "$(inherited)", CC_TARGET_OS_IPHONE, ); + GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = ""; INFOPLIST_FILE = "$(SRCROOT)/../tests/game-controller-test/proj.ios/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; PRODUCT_NAME = "game-controller-test IOS"; @@ -5745,6 +5742,7 @@ "$(inherited)", CC_TARGET_OS_IPHONE, ); + GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = ""; INFOPLIST_FILE = "$(SRCROOT)/../tests/game-controller-test/proj.ios/Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; PRODUCT_NAME = "game-controller-test IOS"; diff --git a/cocos/2d/CCFastTMXLayer.cpp b/cocos/2d/CCFastTMXLayer.cpp index 1b456fc69b..15d5717330 100644 --- a/cocos/2d/CCFastTMXLayer.cpp +++ b/cocos/2d/CCFastTMXLayer.cpp @@ -237,7 +237,7 @@ void FastTMXLayer::updateTiles(const Rect& culledRect) else { //do nothing, do not support - CCASSERT(0, "TMX invalid value"); + //CCASSERT(0, "TMX invalid value"); } _indicesVertexZNumber.clear(); @@ -264,9 +264,8 @@ void FastTMXLayer::updateTiles(const Rect& culledRect) int offset = iter->second; iter->second++; - //CC_ASSERT(_tileToQuadIndex.find(tileIndex) != _tileToQuadIndex.end() && _tileToQuadIndex[tileIndex] <= _totalQuads.size()-1); - int quadIndex = (int)_tileToQuadIndex[tileIndex]; - + int quadIndex = _tileToQuadIndex[tileIndex]; + CC_ASSERT(-1 != quadIndex); _indices[6 * offset + 0] = quadIndex * 4 + 0; _indices[6 * offset + 1] = quadIndex * 4 + 1; _indices[6 * offset + 2] = quadIndex * 4 + 2; @@ -387,7 +386,13 @@ Mat4 FastTMXLayer::tileToNodeTransform() } case FAST_TMX_ORIENTATION_HEX: { - _tileToNodeTransform = Mat4::IDENTITY; + _tileToNodeTransform = Mat4 + ( + h * sqrtf(0.75), 0, 0, 0, + -h/2, -h, 0, offY, + 0, 0, 1, 0, + 0, 0, 0, 1 + ); return _tileToNodeTransform; } default: @@ -408,6 +413,7 @@ void FastTMXLayer::updateTotalQuads() _tileToQuadIndex.clear(); _totalQuads.resize(int(_layerSize.width * _layerSize.height)); _indices.resize(6 * int(_layerSize.width * _layerSize.height)); + _tileToQuadIndex.resize(int(_layerSize.width * _layerSize.height),-1); _indicesVertexZOffsets.clear(); int quadIndex = 0; @@ -617,7 +623,7 @@ int FastTMXLayer::getVertexZForPos(const Vec2& pos) ret = static_cast(-(_layerSize.height-pos.y)); break; case FAST_TMX_ORIENTATION_HEX: - CCASSERT(0, "TMX Hexa zOrder not supported"); + CCASSERT(0, "TMX Hexa vertexZ not supported"); break; default: CCASSERT(0, "TMX invalid value"); diff --git a/cocos/2d/CCFastTMXLayer.h b/cocos/2d/CCFastTMXLayer.h index f007c698a5..fa377bb0d0 100644 --- a/cocos/2d/CCFastTMXLayer.h +++ b/cocos/2d/CCFastTMXLayer.h @@ -239,7 +239,7 @@ protected: Mat4 _tileToNodeTransform; /** data for rendering */ bool _quadsDirty; - std::unordered_map _tileToQuadIndex; + std::vector _tileToQuadIndex; std::vector _totalQuads; std::vector _indices; std::map _indicesVertexZOffsets; diff --git a/cocos/2d/CCNode.cpp b/cocos/2d/CCNode.cpp index 7ff1e04c0a..61b3b9d8ce 100644 --- a/cocos/2d/CCNode.cpp +++ b/cocos/2d/CCNode.cpp @@ -861,25 +861,24 @@ void Node::enumerateChildren(const std::string &name, std::function 3 && -// name[length-3] == '/' && -// name[length-2] == '.' && -// name[length-1] == '.') -// { -// searchFromParent = true; -// subStrlength -= 3; -// } + bool searchFromParent = false; + if (length > 3 && + name[length-3] == '/' && + name[length-2] == '.' && + name[length-1] == '.') + { + searchFromParent = true; + subStrlength -= 3; + } - // Remove '/', '//' if exist + // Remove '/', '//', '/..' if exist std::string newName = name.substr(subStrStartPos, subStrlength); - // If search from parent, then add * at first to make it match its children, which will do make -// if (searchFromParent) -// { -// newName.insert(0, "[[:alnum:]]+/"); -// } + + if (searchFromParent) + { + newName.insert(0, "[[:alnum:]]+/"); + } if (searchFromRoot) { @@ -944,14 +943,10 @@ bool Node::doEnumerate(std::string name, std::function callback) needRecursive = true; } - std::hash h; - size_t hashOfName = h(searchName); bool ret = false; for (const auto& child : _children) { - // TODO: regular expression support - // Android doesn't support c++ 11 regular expression well, may use external lib - if (hashOfName == child->_hashOfName && searchName.compare(child->_name) == 0) + if (std::regex_match(child->_name, std::regex(searchName))) { if (!needRecursive) { diff --git a/cocos/2d/CCNode.h b/cocos/2d/CCNode.h index ec434554ea..80007d7758 100644 --- a/cocos/2d/CCNode.h +++ b/cocos/2d/CCNode.h @@ -714,17 +714,20 @@ public: virtual Node* getChildByName(const std::string& name) const; /** Search the children of the receiving node to perform processing for nodes which share a name. * - * @param name The name to search for + * @param name The name to search for, supports c++11 regular expression * Search syntax options: * `/` : When placed at the start of the search string, this indicates that the search should be performed on the tree's node. * `//`: Can only be placed at the begin of the search string. This indicates that the search should be performed on the tree's node * and be performed recursively across the entire node tree. + * `..`: The search should move up to the node's parent. Can only be placed at the end of string * `/` : When placed anywhere but the start of the search string, this indicates that the search should move to the node's children * * @code * enumerateChildren("/MyName", ...): This searches the root's children and matches any node with the name `MyName`. * enumerateChildren("//MyName", ...): This searches the root's children recursively and matches any node with the name `MyName`. + * enumerateChildren("[[:alnum:]]+", ...): This search string matches every node of its children. * enumerateChildren("/MyName", ...): This searches the node tree and matches the parent node of every node named `MyName`. + * enumerateChildren("A[[:digit:]]", ...): This searches the node's children and returns any child named `A0`, `A1`, ..., `A9` * enumerateChildren("Abby/Normal", ...): This searches the node's grandchildren and returns any node whose name is `Normal` * and whose parent is named `Abby`. * enumerateChildren("//Abby/Normal", ...): This searches the node tree and returns any node whose name is `Normal` and whose diff --git a/cocos/2d/cocos2d.vcxproj b/cocos/2d/cocos2d.vcxproj index 50db022b6f..9e8280f3a4 100644 --- a/cocos/2d/cocos2d.vcxproj +++ b/cocos/2d/cocos2d.vcxproj @@ -222,7 +222,6 @@ xcopy /Y /Q "$(ProjectDir)..\..\external\win32-specific\gles\prebuilt\*.*" "$(Ou - diff --git a/cocos/2d/cocos2d_winrt.vcxproj b/cocos/2d/cocos2d_winrt.vcxproj index 878c3072e7..54bec1007c 100644 --- a/cocos/2d/cocos2d_winrt.vcxproj +++ b/cocos/2d/cocos2d_winrt.vcxproj @@ -353,7 +353,6 @@ - diff --git a/cocos/2d/cocos2d_wp8.vcxproj b/cocos/2d/cocos2d_wp8.vcxproj index ba2f24834b..f6416d1bca 100644 --- a/cocos/2d/cocos2d_wp8.vcxproj +++ b/cocos/2d/cocos2d_wp8.vcxproj @@ -280,7 +280,6 @@ - diff --git a/cocos/Android.mk b/cocos/Android.mk index ba6c634114..219098f275 100644 --- a/cocos/Android.mk +++ b/cocos/Android.mk @@ -141,13 +141,8 @@ base/ccUTF8.cpp \ base/ccUtils.cpp \ base/etc1.cpp \ base/s3tc.cpp \ +base/CCController.cpp \ base/CCController-android.cpp \ -base/CCControllerAxisInput.cpp \ -base/CCControllerButtonInput.cpp \ -base/CCControllerDirectionPad.cpp \ -base/CCControllerElement.cpp \ -base/CCControllerThumbstick.cpp \ -base/CCGamepad.cpp \ base/ObjectFactory.cpp \ renderer/CCBatchCommand.cpp \ renderer/CCCustomCommand.cpp \ @@ -227,10 +222,10 @@ LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dxandroid_static # define the macro to compile through support/zip_support/ioapi.c -LOCAL_CFLAGS := -Wno-psabi -DUSE_FILE32API -LOCAL_CPPFLAGS := -Wno-literal-suffix -Wno-deprecated-declarations -LOCAL_EXPORT_CFLAGS := -Wno-psabi -DUSE_FILE32API -LOCAL_EXPORT_CPPFLAGS := -Wno-literal-suffix -Wno-deprecated-declarations +LOCAL_CFLAGS := -DUSE_FILE32API +LOCAL_CPPFLAGS := -Wno-deprecated-declarations +LOCAL_EXPORT_CFLAGS := -DUSE_FILE32API +LOCAL_EXPORT_CPPFLAGS := -Wno-deprecated-declarations include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/audio/android/Android.mk b/cocos/audio/android/Android.mk index e5f3261840..3854fa79d7 100644 --- a/cocos/audio/android/Android.mk +++ b/cocos/audio/android/Android.mk @@ -15,7 +15,4 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../include \ $(LOCAL_PATH)/../.. \ $(LOCAL_PATH)/../../platform/android -LOCAL_CFLAGS += -Wno-psabi -LOCAL_EXPORT_CFLAGS += -Wno-psabi - include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/base/CCController-android.cpp b/cocos/base/CCController-android.cpp index c268009de0..f4b9c1fa82 100644 --- a/cocos/base/CCController-android.cpp +++ b/cocos/base/CCController-android.cpp @@ -26,258 +26,93 @@ #include "CCController.h" #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) - -#include "CCGamepad.h" -#include "CCControllerDirectionPad.h" -#include "CCControllerButtonInput.h" -#include "CCControllerAxisInput.h" -#include "CCControllerThumbstick.h" - +#include #include "ccMacros.h" -#include "CCEventDispatcher.h" -#include "CCEventController.h" -#include "CCEventListenerController.h" #include "CCDirector.h" - #include "jni/JniHelper.h" NS_CC_BEGIN -enum class AndroidControllerCode -{ - THUMBSTICK_LEFT_X = 100, - THUMBSTICK_LEFT_Y = 101, - THUMBSTICK_RIGHT_X = 102, - THUMBSTICK_RIGHT_Y = 103, - BUTTON_A = 110, - BUTTON_B = 111, - BUTTON_C = 112, - BUTTON_X = 113, - BUTTON_Y = 114, - BUTTON_Z = 115, - BUTTON_LEFT_SHOULDER = 120, - BUTTON_RIGHT_SHOULDER = 121, - BUTTON_LEFT_TRIGGER = 122, - BUTTON_RIGHT_TRIGGER = 123, - BUTTON_DPAD_UP = 130, - BUTTON_DPAD_DOWN = 131, - BUTTON_DPAD_LEFT = 132, - BUTTON_DPAD_RIGHT = 133, - BUTTON_DPAD_CENTER = 134, - BUTTON_LEFT_THUMBSTICK = 140, - BUTTON_RIGHT_THUMBSTICK = 141, - BUTTON_START = 150, - BUTTON_SELECT = 151, -}; - class ControllerImpl { public: ControllerImpl(Controller* controller) : _controller(controller) - , _controllerID(-1) { } - static std::vector::iterator findController(const std::string& vendorName, int controllerID) + static std::vector::iterator findController(const std::string& deviceName, int deviceId) { - auto iter = std::find_if(Controller::_controllers.begin(), Controller::_controllers.end(), [&](Controller* controller){ - return (vendorName == controller->getVendorName()) && (controllerID == controller->_impl->_controllerID); + auto iter = std::find_if(Controller::s_allController.begin(), Controller::s_allController.end(), [&](Controller* controller){ + return (deviceName == controller->_deviceName) && (deviceId == controller->_deviceId); }); } - static void onConnected(const std::string& vendorName, int controllerID) + static void onConnected(const std::string& deviceName, int deviceId) { // Check whether the controller is already connected. - auto iter = findController(vendorName, controllerID); - if (iter != Controller::_controllers.end()) + log("onConnected %s,%d", deviceName.c_str(),deviceId); + + auto iter = findController(deviceName, deviceId); + if (iter != Controller::s_allController.end()) return; + log("onConnected new device"); // It's a new controller being connected. auto controller = new cocos2d::Controller(); - controller->_vendorName = vendorName; - Controller::_controllers.push_back(controller); - controller->_impl->_controllerID = controllerID; - EventController evt(EventController::ControllerEventType::CONNECTION, controller, true); - Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); + controller->_deviceId = deviceId; + controller->_deviceName = deviceName; + Controller::s_allController.push_back(controller); + + controller->onConnected(); } - static void onDisconnected(const std::string& vendorName, int controllerID) + static void onDisconnected(const std::string& deviceName, int deviceId) { - auto iter = findController(vendorName, controllerID); - if (iter == Controller::_controllers.end()) + log("onDisconnected %s,%d", deviceName.c_str(),deviceId); + auto iter = findController(deviceName, deviceId); + if (iter == Controller::s_allController.end()) { + log("Could not find the controller!"); CCLOGERROR("Could not find the controller!"); return; } - EventController evt(EventController::ControllerEventType::CONNECTION, *iter, false); - Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - - Controller::_controllers.erase(iter); + (*iter)->onDisconnected(); + Controller::s_allController.erase(iter); } - void sendEventButton(ControllerButtonInput* button, bool isPressed, float value, bool isAnalog) + static void onButtonEvent(const std::string& deviceName, int deviceId, int keyCode, bool isPressed, float value, bool isAnalog) { - button->setPressed(isPressed); - button->setValue(value); - button->setAnalog(isAnalog); - EventController evt(EventController::ControllerEventType::BUTTON_STATUS_CHANGED, _controller, button); - Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); + log("onButtonEvent %s,%d", deviceName.c_str(),deviceId); + auto iter = findController(deviceName, deviceId); + if (iter == Controller::s_allController.end()) + { + log("onButtonEvent new connect"); + onConnected(deviceName, deviceId); + iter = findController(deviceName, deviceId); + } + + (*iter)->onButtonEvent(keyCode, isPressed, value, isAnalog); } - void sendEventAxis(ControllerAxisInput* axis, float value, bool isAnalog) + static void onAxisEvent(const std::string& deviceName, int deviceId, int axisCode, float value, bool isAnalog) { - axis->setValue(value); - axis->setAnalog(isAnalog); - EventController evt(EventController::ControllerEventType::AXIS_STATUS_CHANGED, _controller, axis); - Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - } - - static void onButtonEvent(const std::string& vendorName, int controllerID, AndroidControllerCode btnCode, bool isPressed, float value, bool isAnalog) - { - auto iter = findController(vendorName, controllerID); - if (iter == Controller::_controllers.end()) + auto iter = findController(deviceName, deviceId); + if (iter == Controller::s_allController.end()) { - onConnected(vendorName, controllerID); - iter = findController(vendorName, controllerID); + onConnected(deviceName, deviceId); + iter = findController(deviceName, deviceId); } - auto gamepad = (*iter)->getGamepad(); - auto thiz = (*iter)->getImpl(); - switch(btnCode) - { - case AndroidControllerCode::BUTTON_A: - { - thiz->sendEventButton(gamepad->getButtonA(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_B: - { - thiz->sendEventButton(gamepad->getButtonB(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_X: - { - thiz->sendEventButton(gamepad->getButtonX(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_Y: - { - thiz->sendEventButton(gamepad->getButtonY(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_LEFT_SHOULDER: - { - thiz->sendEventButton(gamepad->getLeftShoulder(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_RIGHT_SHOULDER: - { - thiz->sendEventButton(gamepad->getRightShoulder(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_LEFT_TRIGGER: - { - thiz->sendEventButton(gamepad->getLeftTrigger(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_RIGHT_TRIGGER: - { - thiz->sendEventButton(gamepad->getRightTrigger(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_DPAD_UP: - { - thiz->sendEventButton(gamepad->getDirectionPad()->getUp(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_DPAD_DOWN: - { - thiz->sendEventButton(gamepad->getDirectionPad()->getDown(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_DPAD_LEFT: - { - thiz->sendEventButton(gamepad->getDirectionPad()->getLeft(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_DPAD_RIGHT: - { - thiz->sendEventButton(gamepad->getDirectionPad()->getRight(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_START: - { - thiz->sendEventButton(gamepad->getButtonStart(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_SELECT: - { - thiz->sendEventButton(gamepad->getButtonSelect(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_LEFT_THUMBSTICK: - { - thiz->sendEventButton(gamepad->getLeftThumbstick()->getButton(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_RIGHT_THUMBSTICK: - { - thiz->sendEventButton(gamepad->getRightThumbstick()->getButton(), isPressed, value, isAnalog); - } - break; - default: - // CCASSERT(false, "Invalid controller button code!"); - break; - } - } - - static void onAxisEvent(const std::string& vendorName, int controllerID, AndroidControllerCode axisCode, float value, bool isAnalog) - { - // log("vendorName: %s, controller id: %d, axis: %d, value: %f", vendorName.c_str(), controllerID, axisCode, value); - auto iter = findController(vendorName, controllerID); - if (iter == Controller::_controllers.end()) - { - onConnected(vendorName, controllerID); - iter = findController(vendorName, controllerID); - } - auto gamepad = (*iter)->getGamepad(); - auto thiz = (*iter)->getImpl(); - switch (axisCode) - { - case AndroidControllerCode::THUMBSTICK_LEFT_X: - thiz->sendEventAxis(gamepad->getLeftThumbstick()->getAxisX(), value, isAnalog); - break; - case AndroidControllerCode::THUMBSTICK_LEFT_Y: - thiz->sendEventAxis(gamepad->getLeftThumbstick()->getAxisY(), value, isAnalog); - break; - case AndroidControllerCode::THUMBSTICK_RIGHT_X: - thiz->sendEventAxis(gamepad->getRightThumbstick()->getAxisX(), value, isAnalog); - break; - case AndroidControllerCode::THUMBSTICK_RIGHT_Y: - thiz->sendEventAxis(gamepad->getRightThumbstick()->getAxisY(), value, isAnalog); - break; - default: - CCASSERT(false, "Invalid controller axis code!"); - break; - } + (*iter)->onAxisEvent(axisCode, value, isAnalog); } private: Controller* _controller; - int _controllerID; }; - -std::vector Controller::_controllers; - -const std::vector& Controller::getControllers() -{ - return _controllers; -} - void Controller::startDiscoveryController() { // Empty implementation on Android @@ -288,9 +123,17 @@ void Controller::stopDiscoveryController() // Empty implementation on Android } -const std::string& Controller::getVendorName() +Controller::~Controller() +{ + delete _impl; + + delete _connectEvent; + delete _keyEvent; + delete _axisEvent; +} + +void Controller::registerListeners() { - return _vendorName; } bool Controller::isConnected() const @@ -301,61 +144,40 @@ bool Controller::isConnected() const return true; } -int Controller::getPlayerIndex() const -{ - return _playerIndex; -} - -void Controller::setPlayerIndex(int playerIndex) -{ - _playerIndex = playerIndex; -} - -Gamepad* Controller::getGamepad() const -{ - return _gamepad; -} - Controller::Controller() - : _playerIndex(PLAYER_INDEX_UNSET) - , _gamepad(new Gamepad) + : _controllerTag(TAG_UNSET) , _impl(new ControllerImpl(this)) + , _connectEvent(nullptr) + , _keyEvent(nullptr) + , _axisEvent(nullptr) { - _gamepad->_controller = this; -} - -Controller::~Controller() -{ - CC_SAFE_DELETE(_impl); - CC_SAFE_DELETE(_gamepad); + init(); } NS_CC_END extern "C" { - JNIEXPORT void JNICALL Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerConnected(JNIEnv* env, jobject thiz, jstring vendorName, jint controllerID) + void Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerConnected(JNIEnv* env, jobject thiz, jstring deviceName, jint controllerID) { CCLOG("controller id: %d connected!", controllerID); - cocos2d::ControllerImpl::onConnected(cocos2d::JniHelper::jstring2string(vendorName), controllerID); + cocos2d::ControllerImpl::onConnected(cocos2d::JniHelper::jstring2string(deviceName), controllerID); } - JNIEXPORT void JNICALL Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerDisconnected(JNIEnv* env, jobject thiz, jstring vendorName, jint controllerID) + void Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerDisconnected(JNIEnv* env, jobject thiz, jstring deviceName, jint controllerID) { CCLOG("controller id: %d disconnected!", controllerID); - cocos2d::ControllerImpl::onDisconnected(cocos2d::JniHelper::jstring2string(vendorName), controllerID); + cocos2d::ControllerImpl::onDisconnected(cocos2d::JniHelper::jstring2string(deviceName), controllerID); } - JNIEXPORT void JNICALL Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerButtonEvent(JNIEnv* env, jobject thiz, jstring vendorName, jint controllerID, jint button, jboolean isPressed, jfloat value, jboolean isAnalog) + void Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerButtonEvent(JNIEnv* env, jobject thiz, jstring deviceName, jint controllerID, jint button, jboolean isPressed, jfloat value, jboolean isAnalog) { - CCLOG("controller id: %d, btn code: %d, isPressed: %d, value: %f, isAnalog:%d", controllerID, button, (int)isPressed, value, (int)isAnalog); - cocos2d::ControllerImpl::onButtonEvent(cocos2d::JniHelper::jstring2string(vendorName), controllerID, static_cast(button), isPressed, value, isAnalog); + cocos2d::ControllerImpl::onButtonEvent(cocos2d::JniHelper::jstring2string(deviceName), controllerID, button, isPressed, value, isAnalog); } - JNIEXPORT void JNICALL Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerAxisEvent(JNIEnv* env, jobject thiz, jstring vendorName, jint controllerID, jint axis, jfloat value, jboolean isAnalog) + void Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerAxisEvent(JNIEnv* env, jobject thiz, jstring deviceName, jint controllerID, jint axis, jfloat value, jboolean isAnalog) { - // CCLOG("controller id: %d, axis code: %d, value: %f, isAnalog:%d", controllerID, axis, value, (int)isAnalog); - cocos2d::ControllerImpl::onAxisEvent(cocos2d::JniHelper::jstring2string(vendorName), controllerID, static_cast(axis), value, isAnalog); + cocos2d::ControllerImpl::onAxisEvent(cocos2d::JniHelper::jstring2string(deviceName), controllerID, axis, value, isAnalog); } } // extern "C" { diff --git a/cocos/base/CCController-iOS.mm b/cocos/base/CCController-iOS.mm index 69ecbf88ad..0aba02f228 100644 --- a/cocos/base/CCController-iOS.mm +++ b/cocos/base/CCController-iOS.mm @@ -27,17 +27,12 @@ #include "base/CCPlatformConfig.h" #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) -#include "CCGamepad.h" -#include "CCControllerDirectionPad.h" -#include "CCControllerButtonInput.h" -#include "CCControllerAxisInput.h" -#include "CCControllerThumbstick.h" - #include "ccMacros.h" #include "CCEventDispatcher.h" #include "CCEventController.h" #include "CCEventListenerController.h" #include "CCDirector.h" +#include "CCLabel.h" #import @@ -105,90 +100,51 @@ static GCControllerConnectionEventHandler* __instance = nil; NS_CC_BEGIN -#define sendEventButton(dstID, srcID) \ -dstID->setPressed(srcID.isPressed); \ -dstID->setValue(srcID.value); \ -dstID->setAnalog(srcID.isAnalog); \ -EventController evt(EventController::ControllerEventType::BUTTON_STATUS_CHANGED, _gamepad->_controller, dstID); \ -Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - - -#define sendEventAxis(dstID, srcID) \ -\ -dstID->setValue(srcID.value); \ -dstID->setAnalog(srcID.isAnalog); \ -\ -EventController evt(EventController::ControllerEventType::AXIS_STATUS_CHANGED, _gamepad->_controller, dstID); \ -Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - class ControllerImpl { public: ControllerImpl(Controller* controller) : _controller(controller) , _gcController(nil) - , _lazyRegisterListener(true) - { - - } - - ~ControllerImpl() { } Controller* _controller; GCController* _gcController; - bool _lazyRegisterListener; }; -std::vector Controller::_controllers; - -const std::vector& Controller::getControllers() -{ - return _controllers; -} +std::vector Controller::s_allController; void Controller::startDiscoveryController() { [GCController startWirelessControllerDiscoveryWithCompletionHandler: nil]; [[GCControllerConnectionEventHandler getInstance] observerConnection: ^(GCController* gcController) { + auto controller = new Controller(); controller->_impl->_gcController = gcController; + controller->_deviceName = [gcController.vendorName UTF8String]; - gcController.controllerPausedHandler = ^(GCController* gcCon){ - - auto iter = std::find_if(_controllers.begin(), _controllers.end(), [gcCon](Controller* c){ return c->_impl->_gcController == gcCon; }); - - CCASSERT(iter != _controllers.end(), "Could not find the controller"); - - auto button = (*iter)->getGamepad()->getButtonPause(); - button->setPressed(true); - EventController evt(EventController::ControllerEventType::BUTTON_STATUS_CHANGED, (*iter), button); - Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - - // Reset the pause button status to unpressed. - button->setPressed(false); - }; + s_allController.push_back(controller); - _controllers.push_back(controller); + controller->registerListeners(); + controller->getDeviceName(); - - EventController evt(EventController::ControllerEventType::CONNECTION, controller, true); - Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); + controller->onConnected(); } disconnection: ^(GCController* gcController) { + auto iter = std::find_if(s_allController.begin(), s_allController.end(), [gcController](Controller* c){ return c->_impl->_gcController == gcController; }); - auto iter = std::find_if(_controllers.begin(), _controllers.end(), [gcController](Controller* c){ return c->_impl->_gcController == gcController; }); + if(iter == s_allController.end()) + { + log("disconnect:Could not find the controller"); + return; + } - CCASSERT(iter != _controllers.end(), "Could not find the controller"); + (*iter)->onDisconnected(); + s_allController.erase(iter); - EventController evt(EventController::ControllerEventType::CONNECTION, *iter, false); - Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - - delete (*iter); - _controllers.erase(iter); }]; } @@ -198,26 +154,156 @@ void Controller::stopDiscoveryController() } Controller::Controller() +: _controllerTag(TAG_UNSET) +, _impl(new ControllerImpl(this)) +, _connectEvent(nullptr) +, _keyEvent(nullptr) +, _axisEvent(nullptr) +, _deviceId(0) { - _playerIndex = PLAYER_INDEX_UNSET; - _gamepad = new Gamepad(); - _gamepad->_controller = this; - _impl = new ControllerImpl(this); + init(); } Controller::~Controller() { - CC_SAFE_DELETE(_impl); - CC_SAFE_DELETE(_gamepad); + delete _impl; + + delete _connectEvent; + delete _keyEvent; + delete _axisEvent; } -const std::string& Controller::getVendorName() +void Controller::registerListeners() { - if (_vendorName.empty()) + if (_impl->_gcController.extendedGamepad != nil) { - _vendorName = [_impl->_gcController.vendorName UTF8String]; + _impl->_gcController.extendedGamepad.dpad.up.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + onButtonEvent(Key::BUTTON_DPAD_UP, pressed, value, button.isAnalog); + }; + + _impl->_gcController.extendedGamepad.dpad.down.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + onButtonEvent(Key::BUTTON_DPAD_DOWN, pressed, value, button.isAnalog); + }; + + _impl->_gcController.extendedGamepad.dpad.left.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + onButtonEvent(Key::BUTTON_DPAD_LEFT, pressed, value, button.isAnalog); + }; + + _impl->_gcController.extendedGamepad.dpad.right.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + onButtonEvent(Key::BUTTON_DPAD_RIGHT, pressed, value, button.isAnalog); + }; + + _impl->_gcController.extendedGamepad.leftThumbstick.xAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ + onAxisEvent(Key::JOYSTICK_LEFT_X, value, axis.isAnalog); + }; + + _impl->_gcController.extendedGamepad.leftThumbstick.yAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ + onAxisEvent(Key::JOYSTICK_LEFT_Y, value, axis.isAnalog); + }; + + _impl->_gcController.extendedGamepad.rightThumbstick.xAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ + onAxisEvent(Key::JOYSTICK_RIGHT_X, value, axis.isAnalog); + }; + + _impl->_gcController.extendedGamepad.rightThumbstick.yAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ + onAxisEvent(Key::JOYSTICK_RIGHT_Y, value, axis.isAnalog); + }; + + _impl->_gcController.extendedGamepad.valueChangedHandler = ^(GCExtendedGamepad *gamepad, GCControllerElement *element){ + if (element == gamepad.buttonA) + { + onButtonEvent(Key::BUTTON_A, gamepad.buttonA.isPressed, gamepad.buttonA.value, gamepad.buttonA.isAnalog); + } + else if (element == gamepad.buttonB) + { + onButtonEvent(Key::BUTTON_B, gamepad.buttonB.isPressed, gamepad.buttonB.value, gamepad.buttonB.isAnalog); + } + else if (element == gamepad.buttonX) + { + onButtonEvent(Key::BUTTON_X, gamepad.buttonX.isPressed, gamepad.buttonX.value, gamepad.buttonX.isAnalog); + } + else if (element == gamepad.buttonY) + { + onButtonEvent(Key::BUTTON_Y, gamepad.buttonY.isPressed, gamepad.buttonY.value, gamepad.buttonY.isAnalog); + } + else if (element == gamepad.leftShoulder) + { + onButtonEvent(Key::BUTTON_LEFT_SHOULDER, gamepad.leftShoulder.isPressed, gamepad.leftShoulder.value, gamepad.leftShoulder.isAnalog); + } + else if (element == gamepad.rightShoulder) + { + onButtonEvent(Key::BUTTON_RIGHT_SHOULDER, gamepad.rightShoulder.isPressed, gamepad.rightShoulder.value, gamepad.rightShoulder.isAnalog); + } + else if (element == gamepad.leftTrigger) + { + onAxisEvent(Key::AXIS_LEFT_TRIGGER, gamepad.leftTrigger.value, gamepad.leftTrigger.isAnalog); + } + else if (element == gamepad.rightTrigger) + { + onAxisEvent(Key::AXIS_RIGHT_TRIGGER, gamepad.rightTrigger.value, gamepad.rightTrigger.isAnalog); + } + }; } - return _vendorName; + else + { + _impl->_gcController.gamepad.dpad.up.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + onButtonEvent(Key::BUTTON_DPAD_UP, pressed, value, button.isAnalog); + }; + + _impl->_gcController.gamepad.dpad.down.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + onButtonEvent(Key::BUTTON_DPAD_DOWN, pressed, value, button.isAnalog); + }; + + _impl->_gcController.gamepad.dpad.left.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + onButtonEvent(Key::BUTTON_DPAD_LEFT, pressed, value, button.isAnalog); + }; + + _impl->_gcController.gamepad.dpad.right.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + onButtonEvent(Key::BUTTON_DPAD_RIGHT, pressed, value, button.isAnalog); + }; + + _impl->_gcController.gamepad.valueChangedHandler = ^(GCGamepad *gamepad, GCControllerElement *element){ + + if (element == gamepad.buttonA) + { + onButtonEvent(Key::BUTTON_A, gamepad.buttonA.isPressed, gamepad.buttonA.value, gamepad.buttonA.isAnalog); + } + else if (element == gamepad.buttonB) + { + onButtonEvent(Key::BUTTON_B, gamepad.buttonB.isPressed, gamepad.buttonB.value, gamepad.buttonB.isAnalog); + } + else if (element == gamepad.buttonX) + { + onButtonEvent(Key::BUTTON_X, gamepad.buttonX.isPressed, gamepad.buttonX.value, gamepad.buttonX.isAnalog); + } + else if (element == gamepad.buttonY) + { + onButtonEvent(Key::BUTTON_Y, gamepad.buttonY.isPressed, gamepad.buttonY.value, gamepad.buttonY.isAnalog); + } + else if (element == gamepad.leftShoulder) + { + onButtonEvent(Key::BUTTON_LEFT_SHOULDER, gamepad.leftShoulder.isPressed, gamepad.leftShoulder.value, gamepad.leftShoulder.isAnalog); + } + else if (element == gamepad.rightShoulder) + { + onButtonEvent(Key::BUTTON_RIGHT_SHOULDER, gamepad.rightShoulder.isPressed, gamepad.rightShoulder.value, gamepad.rightShoulder.isAnalog); + } + }; + } + + _impl->_gcController.controllerPausedHandler = ^(GCController* gcCon){ + + auto iter = std::find_if(s_allController.begin(), s_allController.end(), [gcCon](Controller* c){ return c->_impl->_gcController == gcCon; }); + + if(iter == s_allController.end()) + { + log("Could not find the controller"); + return; + } + + onButtonEvent(Key::BUTTON_PAUSE, true, 1.0f, false); + onButtonEvent(Key::BUTTON_PAUSE, false, 0.0f, false); + }; } bool Controller::isConnected() const @@ -225,147 +311,6 @@ bool Controller::isConnected() const return _impl->_gcController.isAttachedToDevice == YES; } -int Controller::getPlayerIndex() const -{ - return _playerIndex; -} - -void Controller::setPlayerIndex(int playerIndex) -{ - _playerIndex = playerIndex; -} - -Gamepad* Controller::getGamepad() const -{ - if (_impl->_gcController == nil) - return nullptr; - if(_impl->_gcController.gamepad == nil && _impl->_gcController.extendedGamepad == nil) - { - CCASSERT(false, "No gamepad was found!"); - } - else if (_impl->_lazyRegisterListener) - { - _impl->_lazyRegisterListener = false; - if (_impl->_gcController.extendedGamepad != nil) - { - _impl->_gcController.extendedGamepad.dpad.up.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getUp(), button); - }; - - _impl->_gcController.extendedGamepad.dpad.down.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getDown(), button); - }; - - _impl->_gcController.extendedGamepad.dpad.left.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getLeft(), button); - }; - - _impl->_gcController.extendedGamepad.dpad.right.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getRight(), button); - }; - - _impl->_gcController.extendedGamepad.leftThumbstick.xAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ - sendEventAxis(_gamepad->getLeftThumbstick()->getAxisX(), axis); - }; - - _impl->_gcController.extendedGamepad.leftThumbstick.yAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ - sendEventAxis(_gamepad->getLeftThumbstick()->getAxisY(), axis); - }; - - _impl->_gcController.extendedGamepad.rightThumbstick.xAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ - sendEventAxis(_gamepad->getRightThumbstick()->getAxisX(), axis); - }; - - _impl->_gcController.extendedGamepad.rightThumbstick.yAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ - sendEventAxis(_gamepad->getRightThumbstick()->getAxisY(), axis); - }; - - _impl->_gcController.extendedGamepad.valueChangedHandler = ^(GCExtendedGamepad *gamepad, GCControllerElement *element){ - if (element == gamepad.buttonA) - { - sendEventButton(_gamepad->getButtonA(), gamepad.buttonA); - } - else if (element == gamepad.buttonB) - { - sendEventButton(_gamepad->getButtonB(), gamepad.buttonB); - } - else if (element == gamepad.buttonX) - { - sendEventButton(_gamepad->getButtonX(), gamepad.buttonX); - } - else if (element == gamepad.buttonY) - { - sendEventButton(_gamepad->getButtonY(), gamepad.buttonY); - } - else if (element == gamepad.leftShoulder) - { - sendEventButton(_gamepad->getLeftShoulder(), gamepad.leftShoulder); - } - else if (element == gamepad.rightShoulder) - { - sendEventButton(_gamepad->getRightShoulder(), gamepad.rightShoulder); - } - else if (element == gamepad.leftTrigger) - { - sendEventButton(_gamepad->getLeftTrigger(), gamepad.leftTrigger); - } - else if (element == gamepad.rightTrigger) - { - sendEventButton(_gamepad->getRightTrigger(), gamepad.rightTrigger); - } - }; - } - else - { - _impl->_gcController.gamepad.dpad.up.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getUp(), button); - }; - - _impl->_gcController.gamepad.dpad.down.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getDown(), button); - }; - - _impl->_gcController.gamepad.dpad.left.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getLeft(), button); - }; - - _impl->_gcController.gamepad.dpad.right.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getRight(), button); - }; - - _impl->_gcController.gamepad.valueChangedHandler = ^(GCGamepad *gamepad, GCControllerElement *element){ - - if (element == gamepad.buttonA) - { - sendEventButton(_gamepad->getButtonA(), gamepad.buttonA); - } - else if (element == gamepad.buttonB) - { - sendEventButton(_gamepad->getButtonB(), gamepad.buttonB); - } - else if (element == gamepad.buttonX) - { - sendEventButton(_gamepad->getButtonX(), gamepad.buttonX); - } - else if (element == gamepad.buttonY) - { - sendEventButton(_gamepad->getButtonY(), gamepad.buttonY); - } - else if (element == gamepad.leftShoulder) - { - sendEventButton(_gamepad->getLeftShoulder(), gamepad.leftShoulder); - } - else if (element == gamepad.rightShoulder) - { - sendEventButton(_gamepad->getRightShoulder(), gamepad.rightShoulder); - } - }; - } - } - - return _gamepad; -} - NS_CC_END #endif // #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) diff --git a/cocos/base/CCController.cpp b/cocos/base/CCController.cpp new file mode 100644 index 0000000000..566b80ad52 --- /dev/null +++ b/cocos/base/CCController.cpp @@ -0,0 +1,117 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#include "CCController.h" + +#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) + +#include "ccMacros.h" +#include "CCEventDispatcher.h" +#include "CCEventController.h" +#include "CCEventListenerController.h" +#include "CCDirector.h" + +NS_CC_BEGIN + +std::vector Controller::s_allController; + +Controller* Controller::getControllerByTag(int tag) +{ + for (auto controller:Controller::s_allController) + { + if (controller->_controllerTag == tag) + { + return controller; + } + } + return nullptr; +} + +void Controller::init() +{ + for (int key = Key::JOYSTICK_LEFT_X; key < Key::KEY_MAX; ++key) + { + _allKeyStatus[key].isPressed = false; + _allKeyStatus[key].value = 0.0f; + + _allKeyPrevStatus[key].isPressed = false; + _allKeyPrevStatus[key].value = 0.0f; + } + + _eventDispatcher = Director::getInstance()->getEventDispatcher(); + _connectEvent = new EventController(EventController::ControllerEventType::CONNECTION, this, false); + _keyEvent = new EventController(EventController::ControllerEventType::BUTTON_STATUS_CHANGED, this, 0); + _axisEvent = new EventController(EventController::ControllerEventType::AXIS_STATUS_CHANGED, this, 0); +} + +const Controller::KeyStatus& Controller::getKeyStatus(int keyCode) +{ + if (_allKeyStatus.find(keyCode) == _allKeyStatus.end()) + { + _allKeyStatus[keyCode].isPressed = false; + _allKeyStatus[keyCode].value = 0.0f; + } + + return _allKeyStatus[keyCode]; +} + +void Controller::onConnected() +{ + _connectEvent->setConnectStatus(true); + _eventDispatcher->dispatchEvent(_connectEvent); +} + +void Controller::onDisconnected() +{ + _connectEvent->setConnectStatus(false); + _eventDispatcher->dispatchEvent(_connectEvent); + + delete this; +} + +void Controller::onButtonEvent(int keyCode, bool isPressed, float value, bool isAnalog) +{ + _allKeyPrevStatus[keyCode] = _allKeyStatus[keyCode]; + _allKeyStatus[keyCode].isPressed = isPressed; + _allKeyStatus[keyCode].value = value; + _allKeyStatus[keyCode].isAnalog = isAnalog; + + _keyEvent->setKeyCode(keyCode); + _eventDispatcher->dispatchEvent(_keyEvent); +} + +void Controller::onAxisEvent(int axisCode, float value, bool isAnalog) +{ + _allKeyPrevStatus[axisCode] = _allKeyStatus[axisCode]; + _allKeyStatus[axisCode].value = value; + _allKeyStatus[axisCode].isAnalog = isAnalog; + + _axisEvent->setKeyCode(axisCode); + _eventDispatcher->dispatchEvent(_axisEvent); +} + +NS_CC_END + +#endif // #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) diff --git a/cocos/base/CCController.h b/cocos/base/CCController.h index 83b8d547ae..bd54e5517d 100644 --- a/cocos/base/CCController.h +++ b/cocos/base/CCController.h @@ -27,50 +27,112 @@ #define __cocos2d_libs__CCController__ #include "CCPlatformMacros.h" - #include #include -#include - +#include NS_CC_BEGIN -class Gamepad; class ControllerImpl; +class EventListenerController; +class EventController; +class EventDispatcher; class Controller { public: - static const std::vector& getControllers(); + enum Key + { + JOYSTICK_LEFT_X = 1000, + JOYSTICK_LEFT_Y, + JOYSTICK_RIGHT_X, + JOYSTICK_RIGHT_Y, + + BUTTON_A, + BUTTON_B, + BUTTON_C, + BUTTON_X, + BUTTON_Y, + BUTTON_Z, + + BUTTON_DPAD_UP, + BUTTON_DPAD_DOWN, + BUTTON_DPAD_LEFT, + BUTTON_DPAD_RIGHT, + BUTTON_DPAD_CENTER, + + BUTTON_LEFT_SHOULDER, + BUTTON_RIGHT_SHOULDER, + + AXIS_LEFT_TRIGGER, + AXIS_RIGHT_TRIGGER, + + BUTTON_LEFT_THUMBSTICK, + BUTTON_RIGHT_THUMBSTICK, + + BUTTON_START, + BUTTON_SELECT, + + BUTTON_PAUSE, + KEY_MAX + }; + + typedef struct _keyStatus + { + bool isPressed; + float value; + bool isAnalog; + }KeyStatus; + + static const int TAG_UNSET = -1; + + static const std::vector& getAllController(){ return s_allController;} + static Controller* getControllerByTag(int tag); static void startDiscoveryController(); static void stopDiscoveryController(); - const std::string& getVendorName(); + const std::string& getDeviceName() const { return _deviceName;} + int getDeviceId() const { return _deviceId;} + bool isConnected() const; - static const int PLAYER_INDEX_UNSET = -1; + const KeyStatus& getKeyStatus(int keyCode); + + void setTag(int tag) { _controllerTag = tag;} + int getTag() const { return _controllerTag;} - int getPlayerIndex() const; - void setPlayerIndex(int playerIndex); - - Gamepad* getGamepad() const; - - // For internal use only - inline ControllerImpl* getImpl() const { return _impl; }; +private: + static std::vector s_allController; Controller(); virtual ~Controller(); -private: - static std::vector _controllers; + void init(); - std::string _vendorName; - int _playerIndex; - Gamepad* _gamepad; + void onConnected(); + void onDisconnected(); + void onButtonEvent(int keyCode, bool isPressed, float value, bool isAnalog); + void onAxisEvent(int axisCode, float value, bool isAnalog); + void registerListeners(); + + std::unordered_map _allKeyStatus; + std::unordered_map _allKeyPrevStatus; + + std::string _deviceName; + int _deviceId; + + int _controllerTag; + + ControllerImpl* _impl; + + EventDispatcher* _eventDispatcher; + EventController *_connectEvent; + EventController *_keyEvent; + EventController *_axisEvent; friend class ControllerImpl; - ControllerImpl* _impl; + friend class EventListenerController; }; diff --git a/cocos/base/CCControllerAxisInput.cpp b/cocos/base/CCControllerAxisInput.cpp deleted file mode 100644 index e2d7865d46..0000000000 --- a/cocos/base/CCControllerAxisInput.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCControllerAxisInput.h" - -NS_CC_BEGIN - -ControllerAxisInput::ControllerAxisInput() -: _value(0.0f) -{ - -} - -ControllerAxisInput::~ControllerAxisInput() -{ - -} - -float ControllerAxisInput::getValue() const -{ - return _value; -} - -void ControllerAxisInput::setValue(float value) -{ - _value = value; -} - - -NS_CC_END \ No newline at end of file diff --git a/cocos/base/CCControllerAxisInput.h b/cocos/base/CCControllerAxisInput.h deleted file mode 100644 index 2f6298b95b..0000000000 --- a/cocos/base/CCControllerAxisInput.h +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__CCControllerAxisInput__ -#define __cocos2d_libs__CCControllerAxisInput__ - -#include "CCPlatformMacros.h" -#include "CCControllerElement.h" - -NS_CC_BEGIN - -class ControllerAxisInput : public ControllerElement -{ -public: - float getValue() const; - -protected: - ControllerAxisInput(); - virtual ~ControllerAxisInput(); - - void setValue(float value); - - float _value; - - friend class Controller; - friend class ControllerImpl; - friend class ControllerDirectionPad; - friend class ControllerThumbstick; -}; - -NS_CC_END - -#endif /* defined(__cocos2d_libs__CCControllerAxisInput__) */ diff --git a/cocos/base/CCControllerButtonInput.cpp b/cocos/base/CCControllerButtonInput.cpp deleted file mode 100644 index f234df1974..0000000000 --- a/cocos/base/CCControllerButtonInput.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCControllerButtonInput.h" - -NS_CC_BEGIN - -ControllerButtonInput::ControllerButtonInput() -: _value(0.0f) -, _isPressed(false) -, _isPrevStatusPressed(false) -{ - -} - -ControllerButtonInput::~ControllerButtonInput() -{ - -} - -float ControllerButtonInput::getValue() const -{ - return _value; -} - -bool ControllerButtonInput::isPressed() const -{ - return _isPressed; -} - -bool ControllerButtonInput::isPrevStatusPressed() const -{ - return _isPrevStatusPressed; -} - -void ControllerButtonInput::setValue(float value) -{ - _value = value; -} - -void ControllerButtonInput::setPressed(bool isPressed) -{ - _isPrevStatusPressed = _isPressed; - _isPressed = isPressed; -} - -NS_CC_END \ No newline at end of file diff --git a/cocos/base/CCControllerButtonInput.h b/cocos/base/CCControllerButtonInput.h deleted file mode 100644 index ff6c1a723d..0000000000 --- a/cocos/base/CCControllerButtonInput.h +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__CCControllerButtonInput__ -#define __cocos2d_libs__CCControllerButtonInput__ - -#include "CCPlatformMacros.h" -#include "CCControllerElement.h" - -NS_CC_BEGIN - -class ControllerButtonInput : public ControllerElement -{ -public: - float getValue() const; - bool isPressed() const; - bool isPrevStatusPressed() const; - -protected: - - ControllerButtonInput(); - virtual ~ControllerButtonInput(); - - void setValue(float value); - void setPressed(bool isPressed); - - float _value; - bool _isPressed; - - bool _isPrevStatusPressed; // Whether previous status is pressed - - friend class Controller; - friend class ControllerImpl; - friend class ControllerDirectionPad; - friend class ControllerThumbstick; - friend class Gamepad; -}; - -NS_CC_END - -#endif /* defined(__cocos2d_libs__CCControllerButtonInput__) */ diff --git a/cocos/base/CCControllerDirectionPad.cpp b/cocos/base/CCControllerDirectionPad.cpp deleted file mode 100644 index d5671bb481..0000000000 --- a/cocos/base/CCControllerDirectionPad.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCControllerDirectionPad.h" -#include "CCControllerAxisInput.h" -#include "CCControllerButtonInput.h" - -NS_CC_BEGIN - -ControllerDirectionPad::ControllerDirectionPad() -: _up(new ControllerButtonInput()) -, _down(new ControllerButtonInput()) -, _left(new ControllerButtonInput()) -, _right(new ControllerButtonInput()) -{ - _up->setCollection(this); - _down->setCollection(this); - _left->setCollection(this); - _right->setCollection(this); -} - -ControllerDirectionPad::~ControllerDirectionPad() -{ - CC_SAFE_DELETE(_up); - CC_SAFE_DELETE(_down); - CC_SAFE_DELETE(_left); - CC_SAFE_DELETE(_right); -} - -ControllerButtonInput* ControllerDirectionPad::getUp() const -{ - return _up; -} - -ControllerButtonInput* ControllerDirectionPad::getDown() const -{ - return _down; -} - -ControllerButtonInput* ControllerDirectionPad::getLeft() const -{ - return _left; -} - -ControllerButtonInput* ControllerDirectionPad::getRight() const -{ - return _right; -} - - - -NS_CC_END \ No newline at end of file diff --git a/cocos/base/CCControllerDirectionPad.h b/cocos/base/CCControllerDirectionPad.h deleted file mode 100644 index d7dbe3041a..0000000000 --- a/cocos/base/CCControllerDirectionPad.h +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__CCControllerDirectionPad__ -#define __cocos2d_libs__CCControllerDirectionPad__ - -#include "CCPlatformMacros.h" -#include "CCControllerElement.h" - -NS_CC_BEGIN - -class ControllerAxisInput; -class ControllerButtonInput; - -class ControllerDirectionPad : public ControllerElement -{ -public: - ControllerButtonInput* getUp() const; - ControllerButtonInput* getDown() const; - ControllerButtonInput* getLeft() const; - ControllerButtonInput* getRight() const; - -protected: - - friend class Controller; - friend class Gamepad; - - ControllerDirectionPad(); - virtual ~ControllerDirectionPad(); - - ControllerButtonInput* _up; - ControllerButtonInput* _down; - ControllerButtonInput* _left; - ControllerButtonInput* _right; -}; - -NS_CC_END - -#endif /* defined(__cocos2d_libs__CCControllerDirectionPad__) */ diff --git a/cocos/base/CCControllerElement.cpp b/cocos/base/CCControllerElement.cpp deleted file mode 100644 index fd480bfa7a..0000000000 --- a/cocos/base/CCControllerElement.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCControllerElement.h" - -NS_CC_BEGIN - -ControllerElement::ControllerElement() -: _isAnalog(false) -, _collection(nullptr) -{ - -} - -ControllerElement::~ControllerElement() -{ - -} - -bool ControllerElement::isAnalog() const -{ - return _isAnalog; -} - -void ControllerElement::setAnalog(bool isAnalog) -{ - _isAnalog = isAnalog; -} - -ControllerElement* ControllerElement::getCollection() -{ - return _collection; -} - -void ControllerElement::setCollection(ControllerElement* collection) -{ - _collection = collection; -} - - -NS_CC_END \ No newline at end of file diff --git a/cocos/base/CCControllerElement.h b/cocos/base/CCControllerElement.h deleted file mode 100644 index 95f0bfd841..0000000000 --- a/cocos/base/CCControllerElement.h +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__CCControllerElement__ -#define __cocos2d_libs__CCControllerElement__ - -#include "CCPlatformMacros.h" - -NS_CC_BEGIN - -/** - Every controller element knows which collection it belongs to and whether its input value is analog or digital. - */ -class ControllerElement -{ -public: - /** - Each element can be part of a wider collection of inputs that map to a single logical element. A directional pad (dpad) - is a logical collection of two axis inputs and thus each axis belongs to the same collection element - the dpad. - */ - ControllerElement * getCollection(); - - /** - Check if the element can support more than just digital values, such as decimal ranges between 0 and 1. - */ - bool isAnalog() const; - -protected: - - ControllerElement(); - virtual ~ControllerElement(); - - void setAnalog(bool isAnalog); - void setCollection(ControllerElement* collection); - - bool _isAnalog; - ControllerElement* _collection; -}; - -NS_CC_END - -#endif /* defined(__cocos2d_libs__CCControllerElement__) */ diff --git a/cocos/base/CCControllerThumbstick.cpp b/cocos/base/CCControllerThumbstick.cpp deleted file mode 100644 index 287cf07a6a..0000000000 --- a/cocos/base/CCControllerThumbstick.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCControllerThumbstick.h" -#include "CCControllerAxisInput.h" -#include "CCControllerButtonInput.h" - -NS_CC_BEGIN - -ControllerThumbstick::ControllerThumbstick() -: _axisX(new ControllerAxisInput()) -, _axisY(new ControllerAxisInput()) -, _button(new ControllerButtonInput()) -{ - _axisX->setCollection(this); - _axisY->setCollection(this); - _button->setCollection(this); -} - -ControllerThumbstick::~ControllerThumbstick() -{ - CC_SAFE_DELETE(_axisX); - CC_SAFE_DELETE(_axisY); - CC_SAFE_DELETE(_button); -} - -ControllerAxisInput* ControllerThumbstick::getAxisX() const -{ - return _axisX; -} - -ControllerAxisInput* ControllerThumbstick::getAxisY() const -{ - return _axisY; -} - -ControllerButtonInput* ControllerThumbstick::getButton() const -{ - return _button; -} - - - -NS_CC_END diff --git a/cocos/base/CCControllerThumbstick.h b/cocos/base/CCControllerThumbstick.h deleted file mode 100644 index 83d5649b9f..0000000000 --- a/cocos/base/CCControllerThumbstick.h +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__CCControllerThumbStick__ -#define __cocos2d_libs__CCControllerThumbStick__ - -#include "CCPlatformMacros.h" -#include "CCControllerElement.h" - -NS_CC_BEGIN - -class ControllerAxisInput; -class ControllerButtonInput; - -class ControllerThumbstick : public ControllerElement -{ -public: - ControllerAxisInput* getAxisX() const; - ControllerAxisInput* getAxisY() const; - - ControllerButtonInput* getButton() const; - -protected: - - friend class Controller; - friend class Gamepad; - - ControllerThumbstick(); - virtual ~ControllerThumbstick(); - - ControllerAxisInput* _axisX; - ControllerAxisInput* _axisY; - - ControllerButtonInput* _button; -}; - -NS_CC_END - -#endif /* defined(__cocos2d_libs__CCControllerThumbStick__) */ diff --git a/cocos/base/CCEventController.cpp b/cocos/base/CCEventController.cpp index 19f34ce560..3176f7d82c 100644 --- a/cocos/base/CCEventController.cpp +++ b/cocos/base/CCEventController.cpp @@ -27,10 +27,10 @@ NS_CC_BEGIN -EventController::EventController(ControllerEventType type, Controller* controller, ControllerElement* element) +EventController::EventController(ControllerEventType type, Controller* controller, int keyCode) : Event(Type::GAME_CONTROLLER) , _controllerEventType(type) -, _element(element) +, _keyCode(keyCode) , _controller(controller) , _isConnected(true) { @@ -40,31 +40,11 @@ EventController::EventController(ControllerEventType type, Controller* controlle EventController::EventController(ControllerEventType type, Controller* controller, bool isConnected) : Event(Type::GAME_CONTROLLER) , _controllerEventType(type) -, _element(nullptr) , _controller(controller) , _isConnected(isConnected) +, _keyCode(0) { } -EventController::ControllerEventType EventController::getControllerEventType() const -{ - return _controllerEventType; -} - -Controller* EventController::getController() const -{ - return _controller; -} - -ControllerElement* EventController::getControllerElement() const -{ - return _element; -} - -bool EventController::isConnected() const -{ - return _isConnected; -} - NS_CC_END diff --git a/cocos/base/CCEventController.h b/cocos/base/CCEventController.h index c87a8c9418..d8190a0b8e 100644 --- a/cocos/base/CCEventController.h +++ b/cocos/base/CCEventController.h @@ -31,10 +31,8 @@ NS_CC_BEGIN -class ControllerButtonInput; -class ControllerAxisInput; -class ControllerElement; class Controller; +class EventListenerController; class EventController : public Event { @@ -46,19 +44,25 @@ public: AXIS_STATUS_CHANGED, }; - EventController(ControllerEventType type, Controller* controller, ControllerElement* element); + EventController(ControllerEventType type, Controller* controller, int keyCode); EventController(ControllerEventType type, Controller* controller, bool isConnected); - ControllerEventType getControllerEventType() const; - Controller* getController() const; - ControllerElement* getControllerElement() const; - bool isConnected() const; + ControllerEventType getControllerEventType() const { return _controllerEventType; } + Controller* getController() const { return _controller; } + + int getKeyCode() const{ return _keyCode; } + void setKeyCode(int keyCode) { _keyCode = keyCode;} + + void setConnectStatus(bool isConnected) {_isConnected = isConnected;} + bool isConnected() const { return _isConnected; } protected: ControllerEventType _controllerEventType; - ControllerElement* _element; Controller* _controller; + int _keyCode; bool _isConnected; + + friend class EventListenerController; }; NS_CC_END diff --git a/cocos/base/CCEventListenerController.cpp b/cocos/base/CCEventListenerController.cpp index cb3c137800..6f664e73d8 100644 --- a/cocos/base/CCEventListenerController.cpp +++ b/cocos/base/CCEventListenerController.cpp @@ -25,9 +25,8 @@ #include "CCEventListenerController.h" #include "CCEventController.h" -#include "CCControllerButtonInput.h" -#include "CCControllerAxisInput.h" #include "ccMacros.h" +#include "base/CCController.h" NS_CC_BEGIN @@ -51,8 +50,9 @@ bool EventListenerController::init() { auto listener = [this](Event* event){ auto evtController = static_cast(event); - if (evtController->getControllerEventType() == EventController::ControllerEventType::CONNECTION) + switch (evtController->getControllerEventType()) { + case EventController::ControllerEventType::CONNECTION: if (evtController->isConnected()) { if (this->onConnected) @@ -63,45 +63,40 @@ bool EventListenerController::init() if (this->onDisconnected) this->onDisconnected(evtController->getController(), event); } - } - else - { - switch (evtController->getControllerEventType()) { - case EventController::ControllerEventType::BUTTON_STATUS_CHANGED: - { - auto button = static_cast(evtController->getControllerElement()); + break; + case EventController::ControllerEventType::BUTTON_STATUS_CHANGED: + { + const auto& keyStatus = evtController->_controller->_allKeyStatus[evtController->_keyCode]; + const auto& keyPrevStatus = evtController->_controller->_allKeyPrevStatus[evtController->_keyCode]; - if (this->onButtonPressed && button->isPressed() && !button->isPrevStatusPressed()) - { - this->onButtonPressed(evtController->getController(), button, event); - } - else if (this->onButtonReleased && !button->isPressed() && button->isPrevStatusPressed()) - { - this->onButtonReleased(evtController->getController(), button, event); - } - - if (this->onButtonValueChanged) - { - this->onButtonValueChanged(evtController->getController(), button, event); - } - } - break; - case EventController::ControllerEventType::AXIS_STATUS_CHANGED: - { - if (this->onAxisValueChanged) - { - auto axis = static_cast(evtController->getControllerElement()); - this->onAxisValueChanged(evtController->getController(), axis, event); - } - } - break; - default: - CCASSERT(false, "Invalid EventController type"); - break; + if (this->onKeyDown && keyStatus.isPressed && !keyPrevStatus.isPressed) + { + this->onKeyDown(evtController->_controller, evtController->_keyCode, event); + } + else if (this->onKeyUp && !keyStatus.isPressed && keyPrevStatus.isPressed) + { + this->onKeyUp(evtController->_controller, evtController->_keyCode, event); + } + else if (this->onKeyRepeat && keyStatus.isPressed && keyPrevStatus.isPressed) + { + this->onKeyRepeat(evtController->_controller, evtController->_keyCode, event); + } } + break; + case EventController::ControllerEventType::AXIS_STATUS_CHANGED: + { + if (this->onAxisEvent) + { + this->onAxisEvent(evtController->_controller, evtController->_keyCode, event); + } + } + break; + default: + CCASSERT(false, "Invalid EventController type"); + break; } }; - + if (EventListener::init(EventListener::Type::GAME_CONTROLLER, LISTENER_ID, listener)) { return true; diff --git a/cocos/base/CCEventListenerController.h b/cocos/base/CCEventListenerController.h index af44711d5d..ebb3f09e50 100644 --- a/cocos/base/CCEventListenerController.h +++ b/cocos/base/CCEventListenerController.h @@ -33,8 +33,6 @@ NS_CC_BEGIN class Event; class Controller; -class ControllerButtonInput; -class ControllerAxisInput; class EventListenerController : public EventListener { @@ -50,11 +48,11 @@ public: std::function onConnected; std::function onDisconnected; - std::function onButtonPressed; - std::function onButtonReleased; - std::function onButtonValueChanged; + std::function onKeyDown; + std::function onKeyUp; + std::function onKeyRepeat; - std::function onAxisValueChanged; + std::function onAxisEvent; protected: bool init(); diff --git a/cocos/base/CCGameController.h b/cocos/base/CCGameController.h index df195a6bf8..0aa4df4abb 100644 --- a/cocos/base/CCGameController.h +++ b/cocos/base/CCGameController.h @@ -26,12 +26,6 @@ #ifndef __cocos2d_libs__CCGameController__ #define __cocos2d_libs__CCGameController__ -#include "CCControllerElement.h" -#include "CCControllerButtonInput.h" -#include "CCControllerAxisInput.h" -#include "CCControllerDirectionPad.h" -#include "CCControllerThumbstick.h" -#include "CCGamepad.h" #include "CCController.h" #include "CCEventController.h" #include "CCEventListenerController.h" diff --git a/cocos/base/CCGamepad.cpp b/cocos/base/CCGamepad.cpp deleted file mode 100644 index 9502689772..0000000000 --- a/cocos/base/CCGamepad.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCGamepad.h" -#include "CCControllerDirectionPad.h" -#include "CCControllerButtonInput.h" -#include "CCControllerThumbstick.h" - -NS_CC_BEGIN - -Gamepad::Gamepad() -: _controller(nullptr) -, _directionPad(new ControllerDirectionPad()) -, _buttonA(new ControllerButtonInput()) -, _buttonB(new ControllerButtonInput()) -, _buttonX(new ControllerButtonInput()) -, _buttonY(new ControllerButtonInput()) -, _buttonSelect(new ControllerButtonInput()) -, _buttonStart(new ControllerButtonInput()) -, _buttonPause(new ControllerButtonInput()) -, _leftShoulder(new ControllerButtonInput()) -, _rightShoulder(new ControllerButtonInput()) -, _leftThumbstick(new ControllerThumbstick()) -, _rightThumbstick(new ControllerThumbstick()) -, _leftTrigger(new ControllerButtonInput()) -, _rightTrigger(new ControllerButtonInput()) -{ - -} - -Gamepad::~Gamepad() -{ - CC_SAFE_DELETE(_directionPad); - CC_SAFE_DELETE(_buttonA); - CC_SAFE_DELETE(_buttonB); - CC_SAFE_DELETE(_buttonX); - CC_SAFE_DELETE(_buttonY); - CC_SAFE_DELETE(_buttonSelect); - CC_SAFE_DELETE(_buttonStart); - CC_SAFE_DELETE(_buttonPause); - CC_SAFE_DELETE(_leftShoulder); - CC_SAFE_DELETE(_rightShoulder); - CC_SAFE_DELETE(_leftThumbstick); - CC_SAFE_DELETE(_rightThumbstick); - CC_SAFE_DELETE(_leftTrigger); - CC_SAFE_DELETE(_rightTrigger); -} - -Controller* Gamepad::getController() -{ - return _controller; -} - -ControllerDirectionPad* Gamepad::getDirectionPad() const -{ - return _directionPad; -} - -ControllerButtonInput* Gamepad::getButtonA() const -{ - return _buttonA; -} - -ControllerButtonInput* Gamepad::getButtonB() const -{ - return _buttonB; -} - -ControllerButtonInput* Gamepad::getButtonX() const -{ - return _buttonX; -} - -ControllerButtonInput* Gamepad::getButtonY() const -{ - return _buttonY; -} - -ControllerButtonInput* Gamepad::getButtonPause() const -{ - return _buttonPause; -} - -ControllerButtonInput* Gamepad::getButtonSelect() const -{ - return _buttonSelect; -} - -ControllerButtonInput* Gamepad::getButtonStart() const -{ - return _buttonStart; -} - -ControllerButtonInput* Gamepad::getLeftShoulder() const -{ - return _leftShoulder; -} - -ControllerButtonInput* Gamepad::getRightShoulder() const -{ - return _rightShoulder; -} - -ControllerThumbstick* Gamepad::getLeftThumbstick() const -{ - return _leftThumbstick; -} - -ControllerThumbstick* Gamepad::getRightThumbstick() const -{ - return _rightThumbstick; -} - -ControllerButtonInput* Gamepad::getLeftTrigger() const -{ - return _leftTrigger; -} - -ControllerButtonInput* Gamepad::getRightTrigger() const -{ - return _rightTrigger; -} - -NS_CC_END diff --git a/cocos/base/CCGamepad.h b/cocos/base/CCGamepad.h deleted file mode 100644 index 472fdb08e4..0000000000 --- a/cocos/base/CCGamepad.h +++ /dev/null @@ -1,122 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__CCGamepad__ -#define __cocos2d_libs__CCGamepad__ - -#include "CCPlatformMacros.h" - -NS_CC_BEGIN - -class ControllerButtonInput; -class ControllerDirectionPad; -class ControllerThumbstick; -class Controller; - -class Gamepad -{ -public: - /** - A profile keeps a reference to the controller that this profile is mapping input from. - */ - Controller* getController(); - - // API for Standard / Extended Gamepad - - ControllerDirectionPad* getDirectionPad() const; - - /** - All face buttons are required to be analog in the Extended profile. These must be arranged - in the diamond pattern given below: - Y - / \ - X B - \ / - A - */ - ControllerButtonInput* getButtonA() const; - ControllerButtonInput* getButtonB() const; - ControllerButtonInput* getButtonX() const; - ControllerButtonInput* getButtonY() const; - - // Select button - ControllerButtonInput* getButtonSelect() const; - - // Start button - ControllerButtonInput* getButtonStart() const; - - // Pause button - ControllerButtonInput* getButtonPause() const; - - // Shoulder buttons - ControllerButtonInput* getLeftShoulder() const; - ControllerButtonInput* getRightShoulder() const; - - // API for Extended Gamepad only - - /** - A thumbstick is a 2-axis control that is physically required to be analog. All the elements of this directional input are thus analog. - */ - ControllerThumbstick* getLeftThumbstick() const; - ControllerThumbstick* getRightThumbstick() const; - - /** - If Trigger button supports analog inputs, it could be used as acceleration and decelleration in a driving game for example. - */ - ControllerButtonInput* getLeftTrigger() const; - ControllerButtonInput* getRightTrigger() const; - -protected: - - Gamepad(); - virtual ~Gamepad(); - - friend class Controller; - Controller* _controller; - - ControllerDirectionPad* _directionPad; - - ControllerButtonInput* _buttonA; - ControllerButtonInput* _buttonB; - ControllerButtonInput* _buttonX; - ControllerButtonInput* _buttonY; - - ControllerButtonInput* _buttonSelect; - ControllerButtonInput* _buttonStart; - ControllerButtonInput* _buttonPause; - - ControllerButtonInput* _leftShoulder; - ControllerButtonInput* _rightShoulder; - - ControllerThumbstick* _leftThumbstick; - ControllerThumbstick* _rightThumbstick; - - ControllerButtonInput* _leftTrigger; - ControllerButtonInput* _rightTrigger; -}; - -NS_CC_END - -#endif /* defined(__cocos2d_libs__CCGamepad__) */ diff --git a/cocos/editor-support/cocosbuilder/Android.mk b/cocos/editor-support/cocosbuilder/Android.mk index 6cf80a9982..52863eda24 100644 --- a/cocos/editor-support/cocosbuilder/Android.mk +++ b/cocos/editor-support/cocosbuilder/Android.mk @@ -35,8 +35,6 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../2d \ $(LOCAL_PATH) \ $(LOCAL_PATH)/../../.. -LOCAL_CFLAGS += -Wno-psabi -LOCAL_EXPORT_CFLAGS += -Wno-psabi LOCAL_WHOLE_STATIC_LIBRARIES := cocos_extension_static diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CCNodeReader.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CCNodeReader.cpp index 794e44cbce..3078dcd54a 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CCNodeReader.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CCNodeReader.cpp @@ -45,6 +45,8 @@ static const char* ClassName_Button = "Button"; static const char* ClassName_CheckBox = "CheckBox"; static const char* ClassName_ImageView = "ImageView"; static const char* ClassName_TextAtlas = "TextAtlas"; +static const char* ClassName_LabelAtlas = "LabelAtlas"; +static const char* ClassName_LabelBMFont= "LabelBMFont"; static const char* ClassName_TextBMFont = "TextBMFont"; static const char* ClassName_Text = "Text"; static const char* ClassName_LoadingBar = "LoadingBar"; @@ -132,7 +134,8 @@ void NodeReader::init() _funcs.insert(Pair(ClassName_SubGraph, std::bind(&NodeReader::loadSubGraph, this, _1))); _funcs.insert(Pair(ClassName_Sprite, std::bind(&NodeReader::loadSprite, this, _1))); _funcs.insert(Pair(ClassName_Particle, std::bind(&NodeReader::loadParticle, this, _1))); - + _funcs.insert(Pair(ClassName_LabelAtlas,std::bind(&NodeReader::loadWidget, this, _1))); + _funcs.insert(Pair(ClassName_LabelBMFont,std::bind(&NodeReader::loadWidget, this, _1))); _funcs.insert(Pair(ClassName_Panel, std::bind(&NodeReader::loadWidget, this, _1))); _funcs.insert(Pair(ClassName_Button, std::bind(&NodeReader::loadWidget, this, _1))); _funcs.insert(Pair(ClassName_CheckBox, std::bind(&NodeReader::loadWidget, this, _1))); diff --git a/cocos/editor-support/cocostudio/Android.mk b/cocos/editor-support/cocostudio/Android.mk index 192f0e8f46..d5efa765b3 100644 --- a/cocos/editor-support/cocostudio/Android.mk +++ b/cocos/editor-support/cocostudio/Android.mk @@ -68,8 +68,8 @@ $(LOCAL_PATH)/../../../external \ $(LOCAL_PATH)/.. \ $(LOCAL_PATH)/../.. -LOCAL_CFLAGS += -Wno-psabi -fexceptions -LOCAL_EXPORT_CFLAGS += -Wno-psabi +LOCAL_CFLAGS += -fexceptions + LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static diff --git a/cocos/editor-support/cocostudio/CCActionManagerEx.cpp b/cocos/editor-support/cocostudio/CCActionManagerEx.cpp index 21dc78b04b..cf650bc7e2 100644 --- a/cocos/editor-support/cocostudio/CCActionManagerEx.cpp +++ b/cocos/editor-support/cocostudio/CCActionManagerEx.cpp @@ -83,7 +83,7 @@ void ActionManagerEx::initWithDictionary(const char* jsonName,const rapidjson::V CCLOG("filename == %s",fileName.c_str()); cocos2d::Vector actionList; - stExpCocoNode *stChildArray = pCocoNode->GetChildArray(); + stExpCocoNode *stChildArray = pCocoNode->GetChildArray(cocoLoader); stExpCocoNode *actionNode = nullptr; for (int i=0; i < pCocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); @@ -99,7 +99,7 @@ void ActionManagerEx::initWithDictionary(const char* jsonName,const rapidjson::V ActionObject* action = new ActionObject(); action->autorelease(); - action->initWithBinary(cocoLoader, actionNode->GetChildArray(), root); + action->initWithBinary(cocoLoader, actionNode->GetChildArray(cocoLoader), root); actionList.pushBack(action); } diff --git a/cocos/editor-support/cocostudio/CCActionNode.cpp b/cocos/editor-support/cocostudio/CCActionNode.cpp index eb68c98019..f0c6ee782e 100644 --- a/cocos/editor-support/cocostudio/CCActionNode.cpp +++ b/cocos/editor-support/cocostudio/CCActionNode.cpp @@ -195,11 +195,11 @@ void ActionNode::initWithDictionary(const rapidjson::Value& dic, Ref* root) stExpCocoNode *stChildNode = cocoNode; int actionNodeCount = stChildNode->GetChildNum(); - stChildNode = stChildNode[0].GetChildArray(); + stChildNode = stChildNode[0].GetChildArray(cocoLoader); stExpCocoNode *frameListNode = nullptr; for (int i = 0; i < actionNodeCount; ++i) { std::string key = stChildNode[i].GetName(cocoLoader); - std::string value = stChildNode[i].GetValue(); + std::string value = stChildNode[i].GetValue(cocoLoader); if (key == "ActionTag") { setActionTag(valueToInt(value)); }else if (key == "actionframelist"){ @@ -208,7 +208,7 @@ void ActionNode::initWithDictionary(const rapidjson::Value& dic, Ref* root) } int actionFrameCount = frameListNode->GetChildNum(); - stExpCocoNode *stFrameChildNode = frameListNode->GetChildArray(); + stExpCocoNode *stFrameChildNode = frameListNode->GetChildArray(cocoLoader); for (int i=0; i frameTweenParameter; int framesCount = stFrameChildNode[i].GetChildNum(); - stExpCocoNode *innerFrameNode = stFrameChildNode[i].GetChildArray(); + stExpCocoNode *innerFrameNode = stFrameChildNode[i].GetChildArray(cocoLoader); for (int j = 0; j < framesCount; j++) { std::string key = innerFrameNode[j].GetName(cocoLoader); - std::string value = innerFrameNode[j].GetValue(); + std::string value = innerFrameNode[j].GetValue(cocoLoader); if (key == "frameid") { frameIndex = valueToInt(value); @@ -237,10 +237,10 @@ void ActionNode::initWithDictionary(const rapidjson::Value& dic, Ref* root) }else if (key == "tweenParameter"){ // There are no tweenParameter args in the json file int tweenParameterCount = innerFrameNode[j].GetChildNum(); - stExpCocoNode *tweenParameterArray = innerFrameNode[j].GetChildArray(); + stExpCocoNode *tweenParameterArray = innerFrameNode[j].GetChildArray(cocoLoader); for (int k = 0; k < tweenParameterCount; ++k) { std::string t_key = tweenParameterArray[j].GetName(cocoLoader); - std::string t_value = tweenParameterArray[j].GetValue(); + std::string t_value = tweenParameterArray[j].GetValue(cocoLoader); frameTweenParameter.push_back(valueToFloat(t_value)); } }else if (key == "positionx"){ diff --git a/cocos/editor-support/cocostudio/CCActionObject.cpp b/cocos/editor-support/cocostudio/CCActionObject.cpp index 0ab3dbdef8..b064cb2fc2 100644 --- a/cocos/editor-support/cocostudio/CCActionObject.cpp +++ b/cocos/editor-support/cocostudio/CCActionObject.cpp @@ -132,12 +132,12 @@ void ActionObject::initWithBinary(CocoLoader *cocoLoader, stExpCocoNode *cocoNode, cocos2d::Ref *root) { - stExpCocoNode *stChildNode = cocoNode->GetChildArray(); + stExpCocoNode *stChildNode = cocoNode->GetChildArray(cocoLoader); stExpCocoNode *actionNodeList = nullptr; int count = cocoNode->GetChildNum(); for (int i = 0; i < count; ++i) { std::string key = stChildNode[i].GetName(cocoLoader); - std::string value = stChildNode[i].GetValue(); + std::string value = stChildNode[i].GetValue(cocoLoader); if (key == "name") { setName(value.c_str()); }else if (key == "loop"){ @@ -152,7 +152,7 @@ void ActionObject::initWithBinary(CocoLoader *cocoLoader, if(nullptr != actionNodeList) { int actionNodeCount = actionNodeList->GetChildNum(); - stExpCocoNode *actionNodeArray = actionNodeList->GetChildArray(); + stExpCocoNode *actionNodeArray = actionNodeList->GetChildArray(cocoLoader); int maxLength = 0; for (int i=0; i_rData; stExpCocoNode *cocoNode = serData->_cocoNode; + CocoLoader *cocoLoader = serData->_cocoLoader; const char *className = nullptr; const char *comName = nullptr; const char *file = nullptr; @@ -170,14 +171,14 @@ bool ComAttribute::serialize(void* r) } else if (cocoNode != nullptr) { - className = cocoNode[1].GetValue(); + className = cocoNode[1].GetValue(cocoLoader); CC_BREAK_IF(className == nullptr); - comName = cocoNode[2].GetValue(); - stExpCocoNode *fileData = cocoNode[3].GetChildArray(); + comName = cocoNode[2].GetValue(cocoLoader); + stExpCocoNode *fileData = cocoNode[3].GetChildArray(cocoLoader); CC_BREAK_IF(!fileData); - file = fileData[0].GetValue(); + file = fileData[0].GetValue(cocoLoader); CC_BREAK_IF(file == nullptr); - resType = atoi(fileData[2].GetValue()); + resType = atoi(fileData[2].GetValue(cocoLoader)); CC_BREAK_IF(resType != 0); } if (comName != nullptr) diff --git a/cocos/editor-support/cocostudio/CCComAudio.cpp b/cocos/editor-support/cocostudio/CCComAudio.cpp index 717e8f701d..a370b68994 100644 --- a/cocos/editor-support/cocostudio/CCComAudio.cpp +++ b/cocos/editor-support/cocostudio/CCComAudio.cpp @@ -76,6 +76,7 @@ bool ComAudio::serialize(void* r) SerData *serData = (SerData *)(r); const rapidjson::Value *v = serData->_rData; stExpCocoNode *cocoNode = serData->_cocoNode; + CocoLoader *cocoLoader = serData->_cocoLoader; const char *className = nullptr; const char *comName = nullptr; const char *file = nullptr; @@ -97,16 +98,16 @@ bool ComAudio::serialize(void* r) } else if (cocoNode != nullptr) { - className = cocoNode[1].GetValue(); + className = cocoNode[1].GetValue(cocoLoader); CC_BREAK_IF(className == nullptr); - comName = cocoNode[2].GetValue(); - stExpCocoNode *pfileData = cocoNode[4].GetChildArray(); + comName = cocoNode[2].GetValue(cocoLoader); + stExpCocoNode *pfileData = cocoNode[4].GetChildArray(cocoLoader); CC_BREAK_IF(!pfileData); - file = pfileData[0].GetValue(); + file = pfileData[0].GetValue(cocoLoader); CC_BREAK_IF(file == nullptr); - resType = atoi(pfileData[2].GetValue()); + resType = atoi(pfileData[2].GetValue(cocoLoader)); CC_BREAK_IF(resType != 0); - loop = atoi(cocoNode[5].GetValue()) != 0? true:false; + loop = atoi(cocoNode[5].GetValue(cocoLoader)) != 0? true:false; ret = true; } if (comName != nullptr) diff --git a/cocos/editor-support/cocostudio/CCComBase.h b/cocos/editor-support/cocostudio/CCComBase.h index 9467b7381a..6d526b60ce 100644 --- a/cocos/editor-support/cocostudio/CCComBase.h +++ b/cocos/editor-support/cocostudio/CCComBase.h @@ -50,10 +50,12 @@ struct SerData { const rapidjson::Value *_rData; cocostudio::stExpCocoNode *_cocoNode; + cocostudio::CocoLoader *_cocoLoader; SerData() { _rData = NULL; _cocoNode = NULL; + _cocoLoader = NULL; } }; diff --git a/cocos/editor-support/cocostudio/CCComRender.cpp b/cocos/editor-support/cocostudio/CCComRender.cpp index 3bc3b995b6..aee0d201f6 100644 --- a/cocos/editor-support/cocostudio/CCComRender.cpp +++ b/cocos/editor-support/cocostudio/CCComRender.cpp @@ -97,6 +97,7 @@ bool ComRender::serialize(void* r) SerData *serData = (SerData *)(r); const rapidjson::Value *v = serData->_rData; stExpCocoNode *cocoNode = serData->_cocoNode; + CocoLoader *cocoLoader = serData->_cocoLoader; const char *className = nullptr; const char *comName = nullptr; const char *file = nullptr; @@ -118,15 +119,15 @@ bool ComRender::serialize(void* r) } else if(cocoNode != nullptr) { - className = cocoNode[1].GetValue(); + className = cocoNode[1].GetValue(cocoLoader); CC_BREAK_IF(className == nullptr); - comName = cocoNode[2].GetValue(); - stExpCocoNode *pfileData = cocoNode[4].GetChildArray(); + comName = cocoNode[2].GetValue(cocoLoader); + stExpCocoNode *pfileData = cocoNode[4].GetChildArray(cocoLoader); CC_BREAK_IF(!pfileData); - file = pfileData[0].GetValue(); - plist = pfileData[1].GetValue(); + file = pfileData[0].GetValue(cocoLoader); + plist = pfileData[1].GetValue(cocoLoader); CC_BREAK_IF(file == nullptr && plist == nullptr); - resType = atoi(pfileData[2].GetValue()); + resType = atoi(pfileData[2].GetValue(cocoLoader)); } if (comName != nullptr) { @@ -195,7 +196,7 @@ bool ComRender::serialize(void* r) const char *actionName = nullptr; if (cocoNode != nullptr) { - actionName = cocoNode[6].GetValue();//DICTOOL->getStringValue_json(*v, "selectedactionname"); + actionName = cocoNode[6].GetValue(cocoLoader);//DICTOOL->getStringValue_json(*v, "selectedactionname"); } else { @@ -222,25 +223,25 @@ bool ComRender::serialize(void* r) if (rapidjson::kObjectType == tType) { int count = tpRootCocoNode->GetChildNum(); - stExpCocoNode *tpChildArray = tpRootCocoNode->GetChildArray(); + stExpCocoNode *tpChildArray = tpRootCocoNode->GetChildArray(&tCocoLoader); for (int i = 0; i < count; ++i) { std::string key = tpChildArray[i].GetName(&tCocoLoader); if (key.compare("armature_data") == 0) { int length = tpChildArray[i].GetChildNum(); - stExpCocoNode *armature_dataArray = tpChildArray[i].GetChildArray(); + stExpCocoNode *armature_dataArray = tpChildArray[i].GetChildArray(&tCocoLoader); if (length < 1) { continue; } length = armature_dataArray[0].GetChildNum(); - stExpCocoNode *armature_data = armature_dataArray[0].GetChildArray(); + stExpCocoNode *armature_data = armature_dataArray[0].GetChildArray(&tCocoLoader); for (int j = 0; j < length; ++j) { std::string key1 = armature_data[j].GetName(&tCocoLoader); - const char *str1 = armature_data[j].GetValue(); + const char *str1 = armature_data[j].GetValue(&tCocoLoader); if (key.compare("name") == 0) { if (str1 != nullptr) @@ -252,7 +253,7 @@ bool ComRender::serialize(void* r) const char *actionName = nullptr; if (cocoNode != nullptr) { - actionName = cocoNode[6].GetValue(); + actionName = cocoNode[6].GetValue(&tCocoLoader); } else { diff --git a/cocos/editor-support/cocostudio/CCDataReaderHelper.cpp b/cocos/editor-support/cocostudio/CCDataReaderHelper.cpp index 24d5147f47..64ca8917b9 100644 --- a/cocos/editor-support/cocostudio/CCDataReaderHelper.cpp +++ b/cocos/editor-support/cocostudio/CCDataReaderHelper.cpp @@ -301,9 +301,9 @@ void DataReaderHelper::addDataFromFile(const std::string& filePath) // Read content from file std::string fullPath = FileUtils::getInstance()->fullPathForFilename(filePath); - bool isbinarysrc = str==".csb"; + bool isbinaryfilesrc = str==".csb"; std::string filemode("r"); - if(isbinarysrc) + if(isbinaryfilesrc) filemode += "b"; ssize_t filesize; @@ -324,7 +324,7 @@ void DataReaderHelper::addDataFromFile(const std::string& filePath) { DataReaderHelper::addDataFromJsonCache(contentStr, &dataInfo); } - else if(str == ".csb") + else if(isbinaryfilesrc) { DataReaderHelper::addDataFromBinaryCache(contentStr.c_str(),&dataInfo); } @@ -438,7 +438,7 @@ void DataReaderHelper::addDataFromFileAsync(const std::string& imagePath, const { data->configType = CocoStudio_JSON; } - else if(str == ".csb") + else if(isbinaryfilesrc) { data->configType = CocoStudio_Binary; } @@ -474,7 +474,7 @@ void DataReaderHelper::addDataAsyncCallBack(float dt) if (pAsyncStruct->imagePath != "" && pAsyncStruct->plistPath != "") { _getFileMutex.lock(); - ArmatureDataManager::getInstance()->addSpriteFrameFromFile(pAsyncStruct->plistPath.c_str(), pAsyncStruct->imagePath.c_str()); + ArmatureDataManager::getInstance()->addSpriteFrameFromFile(pAsyncStruct->plistPath.c_str(), pAsyncStruct->imagePath.c_str(), pDataInfo->filename.c_str()); _getFileMutex.unlock(); } @@ -482,7 +482,7 @@ void DataReaderHelper::addDataAsyncCallBack(float dt) { std::string configPath = pDataInfo->configFileQueue.front(); _getFileMutex.lock(); - ArmatureDataManager::getInstance()->addSpriteFrameFromFile((pAsyncStruct->baseFilePath + configPath + ".plist").c_str(), (pAsyncStruct->baseFilePath + configPath + ".png").c_str()); + ArmatureDataManager::getInstance()->addSpriteFrameFromFile((pAsyncStruct->baseFilePath + configPath + ".plist").c_str(), (pAsyncStruct->baseFilePath + configPath + ".png").c_str(),pDataInfo->filename.c_str()); _getFileMutex.unlock(); pDataInfo->configFileQueue.pop(); } @@ -1258,7 +1258,7 @@ void DataReaderHelper::addDataFromJsonCache(const std::string& fileContent, Data { _dataReaderHelper->_addDataMutex.lock(); } - ArmatureDataManager::getInstance()->addArmatureData(armatureData->name.c_str(), armatureData); + ArmatureDataManager::getInstance()->addArmatureData(armatureData->name.c_str(), armatureData, dataInfo->filename.c_str()); armatureData->release(); if (dataInfo->asyncStruct) { @@ -1277,7 +1277,7 @@ void DataReaderHelper::addDataFromJsonCache(const std::string& fileContent, Data { _dataReaderHelper->_addDataMutex.lock(); } - ArmatureDataManager::getInstance()->addAnimationData(animationData->name.c_str(), animationData); + ArmatureDataManager::getInstance()->addAnimationData(animationData->name.c_str(), animationData, dataInfo->filename.c_str()); animationData->release(); if (dataInfo->asyncStruct) { @@ -1296,7 +1296,7 @@ void DataReaderHelper::addDataFromJsonCache(const std::string& fileContent, Data { _dataReaderHelper->_addDataMutex.lock(); } - ArmatureDataManager::getInstance()->addTextureData(textureData->name.c_str(), textureData); + ArmatureDataManager::getInstance()->addTextureData(textureData->name.c_str(), textureData, dataInfo->filename.c_str()); textureData->release(); if (dataInfo->asyncStruct) { @@ -1330,7 +1330,7 @@ void DataReaderHelper::addDataFromJsonCache(const std::string& fileContent, Data std::string plistPath = filePath + ".plist"; std::string pngPath = filePath + ".png"; - ArmatureDataManager::getInstance()->addSpriteFrameFromFile((dataInfo->baseFilePath + plistPath).c_str(), (dataInfo->baseFilePath + pngPath).c_str()); + ArmatureDataManager::getInstance()->addSpriteFrameFromFile((dataInfo->baseFilePath + plistPath).c_str(), (dataInfo->baseFilePath + pngPath).c_str(), dataInfo->filename.c_str()); } } } @@ -1750,7 +1750,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, rapidjson::Type tType = tpRootCocoNode->GetType(&tCocoLoader); if (rapidjson::kObjectType == tType) { - stExpCocoNode *tpChildArray = tpRootCocoNode->GetChildArray(); + stExpCocoNode *tpChildArray = tpRootCocoNode->GetChildArray(&tCocoLoader); int nCount = tpRootCocoNode->GetChildNum(); dataInfo->contentScale = 1.0f; @@ -1762,12 +1762,12 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, key = tpChildArray[i].GetName(&tCocoLoader); if (key.compare(CONTENT_SCALE) == 0) { - std::string value = tpChildArray[i].GetValue(); + std::string value = tpChildArray[i].GetValue(&tCocoLoader); dataInfo->contentScale = atof(value.c_str()); } else if ( 0 == key.compare(ARMATURE_DATA)) { - pDataArray = tpChildArray[i].GetChildArray(); + pDataArray = tpChildArray[i].GetChildArray(&tCocoLoader); length = tpChildArray[i].GetChildNum(); ArmatureData * armatureData; for (int ii = 0; ii < length; ++ii) @@ -1787,7 +1787,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, } else if ( 0 == key.compare(ANIMATION_DATA)) { - pDataArray = tpChildArray[i].GetChildArray(); + pDataArray = tpChildArray[i].GetChildArray(&tCocoLoader); length = tpChildArray[i].GetChildNum(); AnimationData *animationData; for (int ii = 0; ii < length; ++ii) @@ -1807,7 +1807,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, } else if (key.compare(TEXTURE_DATA) == 0) { - pDataArray = tpChildArray[i].GetChildArray(); + pDataArray = tpChildArray[i].GetChildArray(&tCocoLoader); length = tpChildArray[i].GetChildNum(); for (int ii = 0; ii < length; ++ii) { @@ -1837,10 +1837,10 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, continue; } length = tpChildArray[i].GetChildNum(); - stExpCocoNode *pConfigFilePath = tpChildArray[i].GetChildArray(); + stExpCocoNode *pConfigFilePath = tpChildArray[i].GetChildArray(&tCocoLoader); for (int ii = 0; ii < length; ii++) { - const char *path = pConfigFilePath[ii].GetValue(); + const char *path = pConfigFilePath[ii].GetValue(&tCocoLoader); if (path == nullptr) { CCLOG("load CONFIG_FILE_PATH error."); @@ -1872,18 +1872,18 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, { ArmatureData *armatureData = new ArmatureData(); armatureData->init(); - stExpCocoNode *pAramtureDataArray = cocoNode->GetChildArray(); - const char *name = pAramtureDataArray[2].GetValue(); //DICTOOL->getStringValue_json(json, A_NAME); + stExpCocoNode *pAramtureDataArray = cocoNode->GetChildArray(cocoLoader); + const char *name = pAramtureDataArray[2].GetValue(cocoLoader); //DICTOOL->getStringValue_json(json, A_NAME); if(name != nullptr) { armatureData->name = name; } - float version = atof(pAramtureDataArray[1].GetValue()); + float version = atof(pAramtureDataArray[1].GetValue(cocoLoader)); dataInfo->cocoStudioVersion = armatureData->dataVersion = version; //DICTOOL->getFloatValue_json(json, VERSION, 0.1f); int length = pAramtureDataArray[3].GetChildNum(); //DICTOOL->getArrayCount_json(json, BONE_DATA, 0); - stExpCocoNode *pBoneChildren = pAramtureDataArray[3].GetChildArray(); + stExpCocoNode *pBoneChildren = pAramtureDataArray[3].GetChildArray(cocoLoader); stExpCocoNode* child; for (int i = 0; i < length; i++) { @@ -1905,7 +1905,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, decodeNode(boneData, cocoLoader, cocoNode, dataInfo); int length = cocoNode->GetChildNum(); - stExpCocoNode *pBoneChildren = cocoNode->GetChildArray(); + stExpCocoNode *pBoneChildren = cocoNode->GetChildArray(cocoLoader); stExpCocoNode* child; const char *str = nullptr; std::string key; @@ -1913,7 +1913,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, { child = &pBoneChildren[i]; key = child->GetName(cocoLoader); - str = child->GetValue(); + str = child->GetValue(cocoLoader); if (key.compare(A_NAME) == 0) { //DICTOOL->getStringValue_json(json, A_NAME); @@ -1933,7 +1933,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, else if (key.compare(DISPLAY_DATA) == 0) { int count = child->GetChildNum(); - stExpCocoNode *pDisplayData = child->GetChildArray(); + stExpCocoNode *pDisplayData = child->GetChildArray(cocoLoader); for (int ii = 0; ii < count; ++ii) { DisplayData *displayData = decodeBoneDisplay(cocoLoader, &pDisplayData[ii], dataInfo); @@ -1950,16 +1950,16 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, DisplayData* DataReaderHelper::decodeBoneDisplay(CocoLoader *cocoLoader, stExpCocoNode *cocoNode, DataInfo *dataInfo) { - stExpCocoNode* children = cocoNode->GetChildArray(); + stExpCocoNode* children = cocoNode->GetChildArray(cocoLoader); stExpCocoNode* child = &children[1]; const char *str = nullptr; std::string key = child->GetName(cocoLoader); - str = child->GetValue(); + str = child->GetValue(cocoLoader); DisplayData *displayData = nullptr; if (key.compare(A_DISPLAY_TYPE) == 0) { - str = child->GetValue(); + str = child->GetValue(cocoLoader); DisplayType displayType = (DisplayType)(atoi(str)); int length = 0; @@ -1969,12 +1969,12 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, { displayData = new SpriteDisplayData(); - const char *name = children[0].GetValue(); + const char *name = children[0].GetValue(cocoLoader); if(name != nullptr) { ((SpriteDisplayData *)displayData)->displayName = name; } - stExpCocoNode *pSkinDataArray = children[2].GetChildArray(); + stExpCocoNode *pSkinDataArray = children[2].GetChildArray(cocoLoader); if (pSkinDataArray != nullptr) { stExpCocoNode *pSkinData = &pSkinDataArray[0]; @@ -1982,11 +1982,11 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, { SpriteDisplayData *sdd = (SpriteDisplayData *)displayData; length = pSkinData->GetChildNum(); - stExpCocoNode *SkinDataValue = pSkinData->GetChildArray(); + stExpCocoNode *SkinDataValue = pSkinData->GetChildArray(cocoLoader); for (int i = 0; i < length; ++i) { key = SkinDataValue[i].GetName(cocoLoader); - str = SkinDataValue[i].GetValue(); + str = SkinDataValue[i].GetValue(cocoLoader); if (key.compare(A_X) == 0) { sdd->skinData.x = atof(str) * s_PositionReadScale; @@ -2024,7 +2024,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, { displayData = new ArmatureDisplayData(); - const char *name = cocoNode[0].GetValue(); + const char *name = cocoNode[0].GetValue(cocoLoader); if(name != nullptr) { ((ArmatureDisplayData *)displayData)->displayName = name; @@ -2035,11 +2035,11 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, { displayData = new ParticleDisplayData(); length = cocoNode->GetChildNum(); - stExpCocoNode *pDisplayData = cocoNode->GetChildArray(); + stExpCocoNode *pDisplayData = cocoNode->GetChildArray(cocoLoader); for (int i = 0; i < length; ++i) { key = pDisplayData[i].GetName(cocoLoader); - str = pDisplayData[i].GetValue(); + str = pDisplayData[i].GetValue(cocoLoader); if (key.compare(A_PLIST) == 0) { const char *plist = str; @@ -2073,7 +2073,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, AnimationData *aniData = new AnimationData(); int length = cocoNode->GetChildNum(); - stExpCocoNode *pAnimationData = cocoNode->GetChildArray(); + stExpCocoNode *pAnimationData = cocoNode->GetChildArray(cocoLoader); const char *str = nullptr; std::string key; stExpCocoNode* child; @@ -2082,7 +2082,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, { child = &pAnimationData[i]; key = child->GetName(cocoLoader); - str = child->GetValue(); + str = child->GetValue(cocoLoader); if (key.compare(A_NAME) == 0) { if(str != nullptr) @@ -2093,7 +2093,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, else if (key.compare(MOVEMENT_DATA) == 0) { int movcount = child->GetChildNum(); - stExpCocoNode* movArray = child->GetChildArray(); + stExpCocoNode* movArray = child->GetChildArray(cocoLoader); for( int movnum =0; movnum scale = 1.0f; int length = cocoNode->GetChildNum(); - stExpCocoNode *pMoveDataArray = cocoNode->GetChildArray(); + stExpCocoNode *pMoveDataArray = cocoNode->GetChildArray(cocoLoader); const char *str = nullptr; std::string key; @@ -2120,7 +2120,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, { child = &pMoveDataArray[i]; key = child->GetName(cocoLoader); - str = child->GetValue(); + str = child->GetValue(cocoLoader); if (key.compare(A_NAME) == 0) { if(str != nullptr) @@ -2182,7 +2182,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, else if (key.compare(MOVEMENT_BONE_DATA) == 0) { int count = child->GetChildNum(); - stExpCocoNode *pMoveBoneData = child->GetChildArray(); + stExpCocoNode *pMoveBoneData = child->GetChildArray(cocoLoader); MovementBoneData *movementBoneData; for (int ii = 0; ii < count; ++ii) { @@ -2201,14 +2201,14 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, movementBoneData->init(); int length = cocoNode->GetChildNum(); - stExpCocoNode *pMovementBoneDataArray = cocoNode->GetChildArray(); + stExpCocoNode *pMovementBoneDataArray = cocoNode->GetChildArray(cocoLoader); stExpCocoNode* movebonechild; const char *str = nullptr; for (int i = 0; i < length; ++i) { movebonechild = &pMovementBoneDataArray[i]; std::string key = movebonechild->GetName(cocoLoader); - str = movebonechild->GetValue(); + str = movebonechild->GetValue(cocoLoader); if (key.compare(A_NAME) == 0) { if(str != nullptr) @@ -2226,7 +2226,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, else if (key.compare(FRAME_DATA) == 0) { int count =movebonechild->GetChildNum(); - stExpCocoNode *pFrameDataArray = movebonechild->GetChildArray(); + stExpCocoNode *pFrameDataArray = movebonechild->GetChildArray(cocoLoader); for (int ii = 0; ii < count; ++ii) { FrameData *frameData = decodeFrame(cocoLoader, &pFrameDataArray[ii], dataInfo); @@ -2296,12 +2296,12 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, decodeNode(frameData, cocoLoader, cocoNode, dataInfo); int length = cocoNode->GetChildNum(); - stExpCocoNode *pFrameDataArray = cocoNode->GetChildArray(); + stExpCocoNode *pFrameDataArray = cocoNode->GetChildArray(cocoLoader); const char *str = nullptr; for (int i = 0; i < length; ++i) { std::string key = pFrameDataArray[i].GetName(cocoLoader); - str = pFrameDataArray[i].GetValue(); + str = pFrameDataArray[i].GetValue(cocoLoader); if (key.compare(A_TWEEN_EASING) == 0) { frameData->tweenEasing = cocos2d::tweenfunc::Linear; @@ -2376,10 +2376,10 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, if (count != 0 ) { frameData->easingParams = new float[count]; - stExpCocoNode *pFrameData = pFrameDataArray[i].GetChildArray(); + stExpCocoNode *pFrameData = pFrameDataArray[i].GetChildArray(cocoLoader); for (int ii = 0; ii < count; ++ii) { - str = pFrameData[ii].GetValue(); + str = pFrameData[ii].GetValue(cocoLoader); if (str != nullptr) { frameData->easingParams[ii] = atof(str); @@ -2404,12 +2404,12 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, } int length = cocoNode->GetChildNum(); - stExpCocoNode *pTextureDataArray = cocoNode->GetChildArray(); + stExpCocoNode *pTextureDataArray = cocoNode->GetChildArray(cocoLoader); const char *str = nullptr; for (int i = 0; i < length; ++i) { std::string key = pTextureDataArray[i].GetName(cocoLoader); - str = pTextureDataArray[i].GetValue(); + str = pTextureDataArray[i].GetValue(cocoLoader); if (key.compare(A_NAME) == 0) { if(str != nullptr) @@ -2448,7 +2448,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, else if (key.compare(CONTOUR_DATA) == 0) { int count = pTextureDataArray[i].GetChildNum(); - stExpCocoNode *pContourArray = pTextureDataArray[i].GetChildArray(); + stExpCocoNode *pContourArray = pTextureDataArray[i].GetChildArray(cocoLoader); for (int ii = 0; ii < count; ++ii) { ContourData *contourData = decodeContour(cocoLoader, &pContourArray[ii]); @@ -2466,23 +2466,23 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, contourData->init(); int length = cocoNode->GetChildNum(); - stExpCocoNode *verTexPointArray = cocoNode->GetChildArray(); + stExpCocoNode *verTexPointArray = cocoNode->GetChildArray(cocoLoader); const char *str = nullptr; for (int i = 0; i < length; ++i) { std::string key = verTexPointArray[i].GetName(cocoLoader); - str = verTexPointArray[i].GetValue(); + str = verTexPointArray[i].GetValue(cocoLoader); if (key.compare(VERTEX_POINT) == 0) { int count = verTexPointArray[i].GetChildNum(); - stExpCocoNode *pVerTexPointArray = verTexPointArray[i].GetChildArray(); + stExpCocoNode *pVerTexPointArray = verTexPointArray[i].GetChildArray(cocoLoader); stExpCocoNode *pVerTexPoint; for (int ii = count - 1; ii >= 0; --ii) { - pVerTexPoint = pVerTexPointArray[ii].GetChildArray(); + pVerTexPoint = pVerTexPointArray[ii].GetChildArray(cocoLoader); Vec2 vertex; - vertex.x = atof(pVerTexPoint[0].GetValue()); - vertex.y = atof(pVerTexPoint[1].GetValue()); + vertex.x = atof(pVerTexPoint[0].GetValue(cocoLoader)); + vertex.y = atof(pVerTexPoint[1].GetValue(cocoLoader)); contourData->vertexList.push_back(vertex); } break; } @@ -2493,7 +2493,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, void DataReaderHelper::decodeNode(BaseData *node, CocoLoader *cocoLoader, stExpCocoNode* cocoNode, DataInfo *dataInfo) { int length = cocoNode->GetChildNum(); - stExpCocoNode *NodeArray = cocoNode->GetChildArray(); + stExpCocoNode *NodeArray = cocoNode->GetChildArray(cocoLoader); const char *str = nullptr; bool isVersionL = dataInfo->cocoStudioVersion < VERSION_COLOR_READING; @@ -2502,7 +2502,7 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, { child = &NodeArray[i]; std::string key = child->GetName(cocoLoader); - str = child->GetValue(); + str = child->GetValue(cocoLoader); if (key.compare(A_X) == 0) { node->x = atof(str) * dataInfo->contentScale; @@ -2539,12 +2539,12 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, { if(child->GetChildNum() == 4) { - stExpCocoNode *ChildArray = child->GetChildArray(); + stExpCocoNode *ChildArray = child->GetChildArray(cocoLoader); - node->a = atoi(ChildArray[0].GetValue()); - node->r = atoi(ChildArray[1].GetValue()); - node->g = atoi(ChildArray[2].GetValue()); - node->b = atoi(ChildArray[3].GetValue()); + node->a = atoi(ChildArray[0].GetValue(cocoLoader)); + node->r = atoi(ChildArray[1].GetValue(cocoLoader)); + node->g = atoi(ChildArray[2].GetValue(cocoLoader)); + node->b = atoi(ChildArray[3].GetValue(cocoLoader)); } } @@ -2566,12 +2566,12 @@ void DataReaderHelper::decodeNode(BaseData *node, const rapidjson::Value& json, { if(NodeArray[0].GetChildNum() == 4) { - stExpCocoNode *ChildArray = NodeArray[0].GetChildArray(); + stExpCocoNode *ChildArray = NodeArray[0].GetChildArray(cocoLoader); - node->a = atoi(ChildArray[0].GetValue()); - node->r = atoi(ChildArray[1].GetValue()); - node->g = atoi(ChildArray[2].GetValue()); - node->b = atoi(ChildArray[3].GetValue()); + node->a = atoi(ChildArray[0].GetValue(cocoLoader)); + node->r = atoi(ChildArray[1].GetValue(cocoLoader)); + node->g = atoi(ChildArray[2].GetValue(cocoLoader)); + node->b = atoi(ChildArray[3].GetValue(cocoLoader)); } } diff --git a/cocos/editor-support/cocostudio/CCSGUIReader.cpp b/cocos/editor-support/cocostudio/CCSGUIReader.cpp index 37f6605f48..9204b255de 100644 --- a/cocos/editor-support/cocostudio/CCSGUIReader.cpp +++ b/cocos/editor-support/cocostudio/CCSGUIReader.cpp @@ -361,13 +361,13 @@ Widget* GUIReader::widgetFromBinaryFile(const char *fileName) rapidjson::Type tType = tpRootCocoNode->GetType(&tCocoLoader); if (rapidjson::kObjectType == tType || rapidjson::kArrayType == tType) { - stExpCocoNode *tpChildArray = tpRootCocoNode->GetChildArray(); + stExpCocoNode *tpChildArray = tpRootCocoNode->GetChildArray(&tCocoLoader); for (int i = 0; i < tpRootCocoNode->GetChildNum(); ++i) { std::string key = tpChildArray[i].GetName(&tCocoLoader); if (key == "version") { - fileVersion = tpChildArray[i].GetValue(); + fileVersion = tpChildArray[i].GetValue(&tCocoLoader); break; } } @@ -1222,7 +1222,7 @@ Widget* WidgetPropertiesReader0300::createWidget(const rapidjson::Value& data, c cocos2d::ui::Widget* WidgetPropertiesReader0300::createWidgetFromBinary(CocoLoader* cocoLoader,stExpCocoNode* cocoNode, const char* fileName) { - stExpCocoNode *tpChildArray = cocoNode->GetChildArray(); + stExpCocoNode *tpChildArray = cocoNode->GetChildArray(cocoLoader); float fileDesignWidth; float fileDesignHeight; @@ -1236,14 +1236,14 @@ Widget* WidgetPropertiesReader0300::createWidget(const rapidjson::Value& data, c for (int j=0; jaddSpriteFramesWithFile(file); } }else if (key == "designWidth"){ - fileDesignWidth = atof(tpChildArray[i].GetValue()); + fileDesignWidth = atof(tpChildArray[i].GetValue(cocoLoader)); }else if (key == "designHeight"){ - fileDesignHeight = atof(tpChildArray[i].GetValue()); + fileDesignHeight = atof(tpChildArray[i].GetValue(cocoLoader)); }else if (key == "widgetTree"){ if (fileDesignWidth <= 0 || fileDesignHeight <= 0) { @@ -1275,7 +1275,7 @@ Widget* WidgetPropertiesReader0300::createWidget(const rapidjson::Value& data, c /* ********************** */ /* ********************** */ - stExpCocoNode *optionChildNode = cocoNode->GetChildArray(); + stExpCocoNode *optionChildNode = cocoNode->GetChildArray(cocoLoader); for (int k = 0; k < cocoNode->GetChildNum(); ++k) { std::string key = optionChildNode[k].GetName(cocoLoader); if (key == "animation") { @@ -1291,7 +1291,7 @@ Widget* WidgetPropertiesReader0300::createWidget(const rapidjson::Value& data, c Widget* WidgetPropertiesReader0300::widgetFromBinary(CocoLoader* cocoLoader, stExpCocoNode* cocoNode) { Widget* widget = nullptr; - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); stExpCocoNode *optionsNode = nullptr; stExpCocoNode *childrenNode = nullptr; int elementCount = cocoNode->GetChildNum(); @@ -1299,7 +1299,7 @@ Widget* WidgetPropertiesReader0300::widgetFromBinary(CocoLoader* cocoLoader, st for (int i = 0; i < elementCount; ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); if (key == "classname" ) { @@ -1341,11 +1341,11 @@ Widget* WidgetPropertiesReader0300::widgetFromBinary(CocoLoader* cocoLoader, st // 2nd., custom widget parse with custom reader //2nd. parse custom property const char* customProperty = NULL; - stExpCocoNode *optionChildNode = optionsNode->GetChildArray(); + stExpCocoNode *optionChildNode = optionsNode->GetChildArray(cocoLoader); for (int k = 0; k < optionsNode->GetChildNum(); ++k) { std::string key = optionChildNode[k].GetName(cocoLoader); if (key == "customProperty") { - customProperty = optionChildNode[k].GetValue(); + customProperty = optionChildNode[k].GetValue(cocoLoader); break; } } @@ -1369,7 +1369,7 @@ Widget* WidgetPropertiesReader0300::widgetFromBinary(CocoLoader* cocoLoader, st if (tType22 == rapidjson::kArrayType) { int childrenCount = childrenNode->GetChildNum(); - stExpCocoNode* innerChildArray = childrenNode->GetChildArray(); + stExpCocoNode* innerChildArray = childrenNode->GetChildArray(cocoLoader); for (int i=0; i < childrenCount; ++i) { rapidjson::Type tType = innerChildArray[i].GetType(cocoLoader); diff --git a/cocos/editor-support/cocostudio/CCSSceneReader.cpp b/cocos/editor-support/cocostudio/CCSSceneReader.cpp index e4e378e012..c6ca142de4 100644 --- a/cocos/editor-support/cocostudio/CCSSceneReader.cpp +++ b/cocos/editor-support/cocostudio/CCSSceneReader.cpp @@ -91,7 +91,7 @@ cocos2d::Node* SceneReader::createNodeWithSceneFile(const std::string &fileName, rapidjson::Type tType = tpRootCocoNode->GetType(&tCocoLoader); if (rapidjson::kObjectType == tType) { - stExpCocoNode *tpChildArray = tpRootCocoNode->GetChildArray(); + stExpCocoNode *tpChildArray = tpRootCocoNode->GetChildArray(&tCocoLoader); CC_BREAK_IF(tpRootCocoNode->GetChildNum() == 0); _node = Node::create(); int nCount = 0; @@ -102,17 +102,17 @@ cocos2d::Node* SceneReader::createNodeWithSceneFile(const std::string &fileName, { nCount = tpChildArray[15].GetChildNum(); } - stExpCocoNode *pComponents = tpChildArray[15].GetChildArray(); + stExpCocoNode *pComponents = tpChildArray[15].GetChildArray(&tCocoLoader); SerData *data = new SerData(); for (int i = 0; i < nCount; i++) { - stExpCocoNode *subDict = pComponents[i].GetChildArray(); + stExpCocoNode *subDict = pComponents[i].GetChildArray(&tCocoLoader); if (subDict == nullptr) { continue; } std::string key1 = subDict[1].GetName(&tCocoLoader); - const char *comName = subDict[1].GetValue(); + const char *comName = subDict[1].GetValue(&tCocoLoader); Component *pCom = nullptr; if (key1 == "classname" && comName != nullptr) { @@ -123,6 +123,7 @@ cocos2d::Node* SceneReader::createNodeWithSceneFile(const std::string &fileName, { data->_rData = nullptr; data->_cocoNode = subDict; + data->_cocoLoader = &tCocoLoader; if (pCom->serialize(data)) { ComRender *pTRender = dynamic_cast(pCom); @@ -152,7 +153,7 @@ cocos2d::Node* SceneReader::createNodeWithSceneFile(const std::string &fileName, _node->addComponent(*iter); } - stExpCocoNode *pGameObjects = tpChildArray[11].GetChildArray(); + stExpCocoNode *pGameObjects = tpChildArray[11].GetChildArray(&tCocoLoader); int length = tpChildArray[11].GetChildNum(); for (int i = 0; i < length; ++i) { @@ -283,6 +284,7 @@ Node* SceneReader::createObject(const rapidjson::Value &dict, cocos2d::Node* par { data->_rData = &subDict; data->_cocoNode = nullptr; + data->_cocoLoader = nullptr; if (com->serialize(data)) { ComRender *tRender = dynamic_cast(com); @@ -349,11 +351,11 @@ Node* SceneReader::createObject(const rapidjson::Value &dict, cocos2d::Node* par cocos2d::Node* SceneReader::createObject(CocoLoader *cocoLoader, stExpCocoNode *cocoNode, cocos2d::Node* parent, AttachComponentType attachComponent) { const char *className = nullptr; - stExpCocoNode *pNodeArray = cocoNode->GetChildArray(); + stExpCocoNode *pNodeArray = cocoNode->GetChildArray(cocoLoader); std::string Key = pNodeArray[1].GetName(cocoLoader); if (Key == "classname") { - className = pNodeArray[1].GetValue(); + className = pNodeArray[1].GetValue(cocoLoader); } if(strcmp(className, "CCNode") == 0) { @@ -366,17 +368,17 @@ cocos2d::Node* SceneReader::createObject(CocoLoader *cocoLoader, stExpCocoNode * { count = pNodeArray[13].GetChildNum(); } - stExpCocoNode *pComponents = pNodeArray[13].GetChildArray(); + stExpCocoNode *pComponents = pNodeArray[13].GetChildArray(cocoLoader); SerData *data = new SerData(); for (int i = 0; i < count; ++i) { - stExpCocoNode *subDict = pComponents[i].GetChildArray(); + stExpCocoNode *subDict = pComponents[i].GetChildArray(cocoLoader); if (subDict == nullptr) { continue; } std::string key1 = subDict[1].GetName(cocoLoader); - const char *comName = subDict[1].GetValue(); + const char *comName = subDict[1].GetValue(cocoLoader); Component *pCom = nullptr; if (key1 == "classname" && comName != nullptr) { @@ -387,6 +389,7 @@ cocos2d::Node* SceneReader::createObject(CocoLoader *cocoLoader, stExpCocoNode * { data->_rData = nullptr; data->_cocoNode = subDict; + data->_cocoLoader = cocoLoader; if (pCom->serialize(data)) { ComRender *pTRender = dynamic_cast(pCom); @@ -436,7 +439,7 @@ cocos2d::Node* SceneReader::createObject(CocoLoader *cocoLoader, stExpCocoNode * gb->addComponent(*iter); } - stExpCocoNode *pGameObjects = pNodeArray[12].GetChildArray(); + stExpCocoNode *pGameObjects = pNodeArray[12].GetChildArray(cocoLoader); if (pGameObjects != nullptr) { int length = pNodeArray[12].GetChildNum(); @@ -495,7 +498,7 @@ void SceneReader::setPropertyFromJsonDict(const rapidjson::Value &root, cocos2d: void SceneReader::setPropertyFromJsonDict(CocoLoader *cocoLoader, stExpCocoNode *cocoNode, cocos2d::Node *node) { - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); float x = 0.0f, y = 0.0f, fScaleX = 1.0f, fScaleY = 1.0f, fRotationZ = 1.0f; bool bVisible = false; int nTag = 0, nZorder = -1; @@ -503,7 +506,7 @@ void SceneReader::setPropertyFromJsonDict(CocoLoader *cocoLoader, stExpCocoNode for (int i = 0; i < cocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); if (key == "x") { diff --git a/cocos/editor-support/cocostudio/CocoLoader.cpp b/cocos/editor-support/cocostudio/CocoLoader.cpp index 90dfd12ecf..8a0aeced5b 100644 --- a/cocos/editor-support/cocostudio/CocoLoader.cpp +++ b/cocos/editor-support/cocostudio/CocoLoader.cpp @@ -1,5 +1,5 @@ #include "CocoLoader.h" - +#include "zlib.h" using namespace std; using namespace rapidjson; @@ -7,190 +7,222 @@ using namespace rapidjson; namespace cocostudio{ +char cTypeName[] = {'N','F','T','O','A','S','V'}; const char* kTypeNames[] = { "Null", "False", "True", "Object", "Array", "String", "Number" }; const char* kObjKeyName[] = { "__type" , "classname" }; char g_Buff[2048]; -Type stExpCocoNode::GetType(CocoLoader* pCoco) +char* stExpCocoAttribDesc::GetName(CocoLoader* pCoco) { - Type tType = kObjectType; - if(m_ObjIndex >= 0) - { - stExpCocoObjectDesc* tpCocoObjectDesc = pCoco->GetCocoObjectDescArray(); - if( m_AttribIndex >= 0 ) - { - stExpCocoAttribDesc* tpAttribDescArray = (stExpCocoAttribDesc*) tpCocoObjectDesc[m_ObjIndex].m_pAttribDescArray; - tType = tpAttribDescArray[m_AttribIndex].m_Type; - - if(kFalseType == tType || kTrueType == tType) - { - char* szValue = (char*)m_szValue; - if(szValue[0] == '0') - { - return kFalseType; - } - else - { - return kTrueType; - } - } + return ( pCoco->GetMemoryAddr_String() + m_szName ); +} - } - else - { - tType = kObjectType; - } - } - else - { - if(m_AttribIndex >= 0) - { - tType = (Type)m_ChildNum; +char* stExpCocoObjectDesc::GetName(CocoLoader* pCoco) +{ + return ( pCoco->GetMemoryAddr_String() + m_szName ); +} - if(kFalseType == tType || kTrueType == tType) - { - char* szValue = (char*)m_szValue; - if(szValue[0] == '0') - { - return kFalseType; - } - else - { - return kTrueType; - } - } - } - else - { - tType = kArrayType; - } - } - return tType; +int stExpCocoObjectDesc::GetAttribNum() +{ + return m_cAttribNum; +} + +stExpCocoAttribDesc* stExpCocoObjectDesc::GetAttribDescArray(CocoLoader* pCoco) +{ + return (stExpCocoAttribDesc*)( pCoco->GetMemoryAddr_AttribDesc() + m_pAttribDescArray ); +} + +Type stExpCocoNode::GetType(CocoLoader* pCoco) +{ + + Type tType = kObjectType; + if(m_ObjIndex >= 0) + { + stExpCocoObjectDesc* tpCocoObjectDesc = pCoco->GetCocoObjectDescArray() ; + if( m_AttribIndex >= 0 ) + { + stExpCocoAttribDesc* tpAttribDescArray = (stExpCocoAttribDesc*) tpCocoObjectDesc[m_ObjIndex].GetAttribDescArray(pCoco); + tType = Type(tpAttribDescArray[m_AttribIndex].m_cTypeName - 'N' + kNullType); + + if(kFalseType == tType || kTrueType == tType) + { + char* szValue = (char*)GetValue(pCoco); + if(szValue[0] == '0') + { + return kFalseType; + } + else + { + return kTrueType; + } + } + + } + else + { + tType = kObjectType; + } + } + else + { + if(m_AttribIndex >= 0) + { + tType = (Type)m_ChildNum; + + if(kFalseType == tType || kTrueType == tType) + { + char* szValue = (char*)GetValue(pCoco); + if(szValue[0] == '0') + { + return kFalseType; + } + else + { + return kTrueType; + } + } + } + else + { + tType = kArrayType; + } + } + return tType; } char* stExpCocoNode::GetName(CocoLoader* pCoco) { - char* szName = NULL ; - if(m_ObjIndex >= 0) - { - stExpCocoObjectDesc* tpCocoObjectDesc = pCoco->GetCocoObjectDescArray(); - if( m_AttribIndex >= 0 ) - { - stExpCocoAttribDesc* tpAttribDescArray = (stExpCocoAttribDesc*) tpCocoObjectDesc[m_ObjIndex].m_pAttribDescArray; - szName = (char*)tpAttribDescArray[m_AttribIndex].m_szName; - } - else - { - char* szValue = (char*)m_szValue; - if(szValue[0]) - { - szName = (char*)m_szValue; - } - else - { - szName = (char*)tpCocoObjectDesc[m_ObjIndex].m_szName; - } - } - } - else - { - if(m_AttribIndex >= 0) - { - char* pStringAddr = (char*)pCoco->GetCocoObjectDescArray() + pCoco->GetFileHeader()->m_lStringMemAddr ; - szName = m_ChildArray + pStringAddr; - } - else - { - szName = (char*)m_szValue; - } - } - return szName ; + char* szName = NULL ; + if(m_ObjIndex >= 0) + { + stExpCocoObjectDesc* tpCocoObjectDesc = pCoco->GetCocoObjectDescArray(); + if( m_AttribIndex >= 0 ) + { + stExpCocoAttribDesc* tpAttribDescArray = (stExpCocoAttribDesc*) tpCocoObjectDesc[m_ObjIndex].GetAttribDescArray(pCoco); + szName = tpAttribDescArray[m_AttribIndex].GetName(pCoco); + } + else + { + char* szValue = GetValue(pCoco); + if(szValue[0]) + { + szName = GetValue(pCoco); + } + else + { + szName = tpCocoObjectDesc[m_ObjIndex].GetName(pCoco); + } + } + } + else + { + if(m_AttribIndex >= 0) + { + char* pStringAddr = (char*)pCoco->GetCocoObjectDescArray() + pCoco->GetFileHeader()->m_lStringMemAddr ; + szName = m_ChildArray + pStringAddr; + } + else + { + szName = (char*)GetValue(pCoco); + } + } + return szName ; + } -char* stExpCocoNode::GetValue() +char* stExpCocoNode::GetValue(CocoLoader* pCoco) { - return (char*)m_szValue; + return ( pCoco->GetMemoryAddr_String() + m_szValue ); } int stExpCocoNode::GetChildNum() { - return m_ChildNum; + return m_ChildNum; } -stExpCocoNode* stExpCocoNode::GetChildArray() +stExpCocoNode* stExpCocoNode::GetChildArray(CocoLoader* pCoco) { - return (stExpCocoNode*)m_ChildArray; -} - -void stExpCocoNode::ReBuild(char* cocoNodeAddr,char* pStringMemoryAddr) -{ - m_szValue = m_szValue + (uint64_t)pStringMemoryAddr; - if( -1 == m_AttribIndex ) - { - if(m_ChildNum > 0) - { - m_ChildArray = m_ChildArray + (uint64_t)cocoNodeAddr; - - stExpCocoNode* tpChildArray = (stExpCocoNode*)m_ChildArray; - for(int i = 0 ; i < m_ChildNum ; i++) - { - tpChildArray[i].ReBuild(cocoNodeAddr,pStringMemoryAddr); - } - } - } - + return (stExpCocoNode*)( pCoco->GetMemoryAddr_CocoNode() + m_ChildArray ); } CocoLoader::CocoLoader() { - m_pRootNode = NULL; - m_pObjectDescArray = NULL; + m_pRootNode = NULL; + m_pObjectDescArray = NULL; + m_pMemoryBuff = NULL; } CocoLoader::~CocoLoader() { - + if(m_pMemoryBuff) + { + delete[] m_pMemoryBuff; + m_pMemoryBuff = NULL; + } + } -bool CocoLoader::ReadCocoBinBuff(char* pBinBuff) +bool CocoLoader::ReadCocoBinBuff(char* pBinBuff) { + if(m_pMemoryBuff)return true; char* pTempBuff = pBinBuff; - + m_pFileHeader = (stCocoFileHeader*)pTempBuff; pTempBuff += sizeof(stCocoFileHeader); - - char* pStartAddr = pTempBuff; - m_pObjectDescArray = (stExpCocoObjectDesc*)pStartAddr; - - char* pAttrAddr = pStartAddr + m_pFileHeader->m_lAttribMemAddr ; - char* pCocoMemAddr = pStartAddr + m_pFileHeader->m_CocoNodeMemAddr; - char* pStringAddr = pStartAddr + m_pFileHeader->m_lStringMemAddr ; - - m_pRootNode = (stExpCocoNode*)pCocoMemAddr; - - if(1 == m_pFileHeader->m_nFirstUsed) - { - for(int i = 0 ; i < m_pFileHeader->m_ObjectCount ; i++) - { - m_pObjectDescArray[i].ReBuild(pAttrAddr,pStringAddr) ; - } - m_pRootNode->ReBuild(pCocoMemAddr,pStringAddr); - - m_pFileHeader->m_nFirstUsed = 0; + char* pStartAddr = m_pMemoryBuff = pTempBuff; + + if( m_pFileHeader->m_nCompressSize > 0 ) + { + char* pDestBuff = new char[m_pFileHeader->m_nDataSize]; + uLongf dwSrcSize = m_pFileHeader->m_nCompressSize; + uLongf dwDestSize = m_pFileHeader->m_nDataSize; + int nRes = uncompress((Bytef*)pDestBuff,&dwDestSize,(Bytef*)m_pMemoryBuff,dwSrcSize); + pStartAddr = m_pMemoryBuff = pDestBuff; } - + + m_pObjectDescArray = (stExpCocoObjectDesc*)pStartAddr; + + char* pCocoMemAddr = pStartAddr + m_pFileHeader->m_CocoNodeMemAddr; + + m_pRootNode = (stExpCocoNode*)pCocoMemAddr; + return true; } stExpCocoObjectDesc* CocoLoader::GetCocoObjectDesc(const char* szObjDesc) { - for(int i = 0 ; i < m_pFileHeader->m_ObjectCount ; i++) - { - if(0 == strcmp((char*)m_pObjectDescArray[i].m_szName,szObjDesc)) - { - return &m_pObjectDescArray[i]; - } - } - return NULL; + for(int i = 0 ; i < m_pFileHeader->m_ObjectCount ; i++) + { + if(0 == strcmp((char*)m_pObjectDescArray[i].m_szName,szObjDesc)) + { + return &m_pObjectDescArray[i]; + } + } + return NULL; +} + +stExpCocoObjectDesc* CocoLoader::GetCocoObjectDesc(int vIndex) +{ + if(vIndex >= 0 && vIndex < m_pFileHeader->m_ObjectCount) + { + return &m_pObjectDescArray[vIndex]; + } + return NULL; +} + +char* CocoLoader::GetMemoryAddr_AttribDesc() +{ + return m_pMemoryBuff + m_pFileHeader->m_lAttribMemAddr ; +} + +char* CocoLoader::GetMemoryAddr_CocoNode() +{ + return m_pMemoryBuff + m_pFileHeader->m_CocoNodeMemAddr; +} + +char* CocoLoader::GetMemoryAddr_String() +{ + return m_pMemoryBuff + m_pFileHeader->m_lStringMemAddr ; + } } diff --git a/cocos/editor-support/cocostudio/CocoLoader.h b/cocos/editor-support/cocostudio/CocoLoader.h index d728b0f396..4ead7b84b7 100644 --- a/cocos/editor-support/cocostudio/CocoLoader.h +++ b/cocos/editor-support/cocostudio/CocoLoader.h @@ -36,101 +36,80 @@ namespace cocostudio{ - +class CocoLoader; + struct stExpCocoAttribDesc { - rapidjson::Type m_Type; - uint64_t m_szName; - uint64_t m_szDefaultValue; + char m_cTypeName; + uint32_t m_szName; public: - - void ReBuild(char* pStringMemoryAddr) - { - m_szName = m_szName + (uint64_t)pStringMemoryAddr; - m_szDefaultValue = m_szDefaultValue + (uint64_t)pStringMemoryAddr; - } + char* GetName(CocoLoader* pCoco); }; struct stExpCocoObjectDesc { - uint32_t m_nAttribNum; - uint64_t m_szName; - uint64_t m_pAttribDescArray; - + unsigned char m_cAttribNum; + uint32_t m_szName; + uint32_t m_pAttribDescArray; public: - stExpCocoObjectDesc() - { - m_nAttribNum = 0; - m_szName = 0; - m_pAttribDescArray = 0; - } - void ReBuild(char* pAttribMemoryAddr,char* pStringMemoryAddr) - { - m_szName = m_szName + (uint64_t)pStringMemoryAddr; - m_pAttribDescArray = m_pAttribDescArray + (uint64_t)pAttribMemoryAddr; - stExpCocoAttribDesc* tpAttribDescArray = (stExpCocoAttribDesc*)m_pAttribDescArray; - for(uint32_t i = 0 ; i < m_nAttribNum ; i++) - { - tpAttribDescArray[i].ReBuild(pStringMemoryAddr); - } - } - + char* GetName(CocoLoader* pCoco); + int GetAttribNum(); + stExpCocoAttribDesc* GetAttribDescArray(CocoLoader* pCoco); }; - -class CocoLoader; -struct stExpCocoNode +struct stExpCocoNode { -protected: - int32_t m_ObjIndex; - int32_t m_AttribIndex; - uint32_t m_ChildNum; - uint64_t m_szValue; - uint64_t m_ChildArray; - public: - rapidjson::Type GetType(CocoLoader* pCoco); - char* GetName(CocoLoader* pCoco); - char* GetValue(); - int GetChildNum(); - stExpCocoNode* GetChildArray(); - + int16_t m_ObjIndex; + int16_t m_AttribIndex; + unsigned char m_ChildNum; + uint32_t m_szValue; + uint32_t m_ChildArray; public: - inline void ReBuild(char* cocoNodeAddr,char* pStringMemoryAddr); - void WriteJson(CocoLoader* pCoco, void* pFileName = NULL, int vLayer = 0, bool bEndNode = false, bool bParentNodeIsArray = false); + rapidjson::Type GetType(CocoLoader* pCoco); + char* GetName(CocoLoader* pCoco); + char* GetValue(CocoLoader* pCoco); + int GetChildNum(); + stExpCocoNode* GetChildArray(CocoLoader* pCoco); +public: + void WriteJson(CocoLoader* pCoco,void* pFileName = nullptr, int vLayer = 0, bool bEndNode = false, bool bParentNodeIsArray = false); }; - struct stCocoFileHeader { - char m_FileDesc[32]; - char m_Version[32]; - uint32_t m_nFirstUsed; - uint32_t m_ObjectCount; - uint64_t m_lAttribMemAddr; - uint64_t m_CocoNodeMemAddr; - uint64_t m_lStringMemAddr; - + char m_FileDesc[32]; + char m_Version[32]; + uint32_t m_nDataSize; + uint32_t m_nCompressSize; + uint32_t m_ObjectCount; + uint32_t m_lAttribMemAddr; + uint32_t m_CocoNodeMemAddr; + uint32_t m_lStringMemAddr; + }; - class CocoLoader { -private: - stCocoFileHeader* m_pFileHeader; - stExpCocoNode* m_pRootNode; - stExpCocoObjectDesc* m_pObjectDescArray; - + stCocoFileHeader* m_pFileHeader; + stExpCocoNode* m_pRootNode; + stExpCocoObjectDesc* m_pObjectDescArray; + char* m_pMemoryBuff; + public: - CocoLoader(); - ~CocoLoader(); - + CocoLoader(); + ~CocoLoader(); public: - bool ReadCocoBinBuff(char* pBinBuff); - stCocoFileHeader* GetFileHeader(){return m_pFileHeader;} - stExpCocoNode* GetRootCocoNode(){return m_pRootNode;} - stExpCocoObjectDesc* GetCocoObjectDescArray(){return m_pObjectDescArray;} - stExpCocoObjectDesc* GetCocoObjectDesc(const char* szObjDesc); + + bool ReadCocoBinBuff(char* pBinBuff); + stCocoFileHeader* GetFileHeader(){return m_pFileHeader;} + stExpCocoNode* GetRootCocoNode(){return m_pRootNode;} + stExpCocoObjectDesc* GetCocoObjectDescArray(){return m_pObjectDescArray;} + stExpCocoObjectDesc* GetCocoObjectDesc(const char* szObjDesc); + stExpCocoObjectDesc* GetCocoObjectDesc(int vIndex); + char* GetMemoryAddr_AttribDesc(); + char* GetMemoryAddr_CocoNode(); + char* GetMemoryAddr_String(); + }; } diff --git a/cocos/editor-support/cocostudio/TriggerMng.cpp b/cocos/editor-support/cocostudio/TriggerMng.cpp index 805bcaa3c8..5e90a13d71 100755 --- a/cocos/editor-support/cocostudio/TriggerMng.cpp +++ b/cocos/editor-support/cocostudio/TriggerMng.cpp @@ -111,7 +111,7 @@ void TriggerMng::parse(cocostudio::CocoLoader *pCocoLoader, cocostudio::stExpCoc CCLOG("%s", triggerMngVersion()); int count = pCocoNode[13].GetChildNum(); - stExpCocoNode *pTriggersArray = pCocoNode[13].GetChildArray(); + stExpCocoNode *pTriggersArray = pCocoNode[13].GetChildArray(pCocoLoader); #if CC_ENABLE_SCRIPT_BINDING ScriptEngineProtocol* engine = ScriptEngineManager::getInstance()->getScriptEngine(); @@ -200,7 +200,7 @@ bool TriggerMng::isEmpty(void) const int extent = 0; int border = 0; std::string key0; - stExpCocoNode *pTriggersArray = pCocoNode[13].GetChildArray(); + stExpCocoNode *pTriggersArray = pCocoNode[13].GetChildArray(pCocoLoader); document.SetArray(); @@ -210,28 +210,28 @@ bool TriggerMng::isEmpty(void) const rapidjson::Value vElemItem(rapidjson::kObjectType); border = pTriggersArray[i0].GetChildNum(); - stExpCocoNode *pTriggerArray = pTriggersArray[i0].GetChildArray(); + stExpCocoNode *pTriggerArray = pTriggersArray[i0].GetChildArray(pCocoLoader); for (int i1 = 0; i1 < border; ++i1) { std::string key1 = pTriggerArray[i1].GetName(pCocoLoader); - const char *str1 = pTriggerArray[i1].GetValue(); + const char *str1 = pTriggerArray[i1].GetValue(pCocoLoader); if (key1.compare("actions") == 0) { rapidjson::Value actionsItem(rapidjson::kArrayType); length = pTriggerArray[i1].GetChildNum(); - stExpCocoNode *pActionsArray = pTriggerArray[i1].GetChildArray(); + stExpCocoNode *pActionsArray = pTriggerArray[i1].GetChildArray(pCocoLoader); for (int i2 = 0; i2 < length; ++i2) { rapidjson::Value action(rapidjson::kObjectType); num = pActionsArray[i2].GetChildNum(); - stExpCocoNode *pActionArray = pActionsArray[i2].GetChildArray(); + stExpCocoNode *pActionArray = pActionsArray[i2].GetChildArray(pCocoLoader); for (int i3 = 0; i3 < num; ++i3) { std::string key2 = pActionArray[i3].GetName(pCocoLoader); - const char *str2 = pActionArray[i3].GetValue(); + const char *str2 = pActionArray[i3].GetValue(pCocoLoader); if (key2.compare("classname") == 0) { if (str2 != NULL) @@ -243,16 +243,16 @@ bool TriggerMng::isEmpty(void) const { rapidjson::Value dataitems(rapidjson::kArrayType); size = pActionArray[i3].GetChildNum(); - stExpCocoNode *pDataItemsArray = pActionArray[i3].GetChildArray(); + stExpCocoNode *pDataItemsArray = pActionArray[i3].GetChildArray(pCocoLoader); for (int i4 = 0; i4 < size; ++i4) { rapidjson::Value dataitem(rapidjson::kObjectType); extent = pDataItemsArray[i4].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i4].GetChildArray(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i4].GetChildArray(pCocoLoader); for (int i5 = 0; i5 < extent; ++i5) { std::string key3 = pDataItemArray[i5].GetName(pCocoLoader); - const char *str3 = pDataItemArray[i5].GetValue(); + const char *str3 = pDataItemArray[i5].GetValue(pCocoLoader); if (key3.compare("key") == 0) { if (str3 != NULL) @@ -297,17 +297,17 @@ bool TriggerMng::isEmpty(void) const rapidjson::Value condsItem(rapidjson::kArrayType); length = pTriggerArray[i1].GetChildNum(); - stExpCocoNode *pConditionsArray = pTriggerArray[i1].GetChildArray(); + stExpCocoNode *pConditionsArray = pTriggerArray[i1].GetChildArray(pCocoLoader); for (int i6 = 0; i6 < length; ++i6) { rapidjson::Value cond(rapidjson::kObjectType); num = pConditionsArray[i6].GetChildNum(); - stExpCocoNode *pConditionArray = pConditionsArray[i6].GetChildArray(); + stExpCocoNode *pConditionArray = pConditionsArray[i6].GetChildArray(pCocoLoader); for (int i7 = 0; i7 < num; ++i7) { std::string key4 = pConditionArray[i7].GetName(pCocoLoader); - const char *str4 = pConditionArray[i7].GetValue(); + const char *str4 = pConditionArray[i7].GetValue(pCocoLoader); if (key4.compare("classname") == 0) { if (str4 != NULL) @@ -319,16 +319,16 @@ bool TriggerMng::isEmpty(void) const { rapidjson::Value dataitems(rapidjson::kArrayType); size = pConditionArray[i7].GetChildNum(); - stExpCocoNode *pDataItemsArray = pConditionArray[i7].GetChildArray(); + stExpCocoNode *pDataItemsArray = pConditionArray[i7].GetChildArray(pCocoLoader); for (int i8 = 0; i8 < size; ++i8) { rapidjson::Value dataitem(rapidjson::kObjectType); extent = pDataItemsArray[i8].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i8].GetChildArray(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i8].GetChildArray(pCocoLoader); for (int i9 = 0; i9 < extent; ++i9) { std::string key5 = pDataItemArray[i9].GetName(pCocoLoader); - const char *str5 = pDataItemArray[i9].GetValue(); + const char *str5 = pDataItemArray[i9].GetValue(pCocoLoader); if (key5.compare("key") == 0) { if (str5 != NULL) @@ -373,13 +373,13 @@ bool TriggerMng::isEmpty(void) const rapidjson::Value eventsItem(rapidjson::kArrayType); length = pTriggerArray[i1].GetChildNum(); - stExpCocoNode *pEventsArray = pTriggerArray[i1].GetChildArray(); + stExpCocoNode *pEventsArray = pTriggerArray[i1].GetChildArray(pCocoLoader); for (int i10 = 0; i10 < length; ++i10) { rapidjson::Value event(rapidjson::kObjectType); - stExpCocoNode *pEventArray = pEventsArray->GetChildArray(); + stExpCocoNode *pEventArray = pEventsArray->GetChildArray(pCocoLoader); std::string key6 = pEventArray[0].GetName(pCocoLoader); - const char *str6 = pEventArray[0].GetValue(); + const char *str6 = pEventArray[0].GetValue(pCocoLoader); if (key6.compare("id") == 0 && str6 != NULL) { event.AddMember("id", atoi(str6), allocator); diff --git a/cocos/editor-support/cocostudio/TriggerObj.cpp b/cocos/editor-support/cocostudio/TriggerObj.cpp index 648a0f925f..444780de5e 100755 --- a/cocos/editor-support/cocostudio/TriggerObj.cpp +++ b/cocos/editor-support/cocostudio/TriggerObj.cpp @@ -246,11 +246,11 @@ void TriggerObj::serialize(const rapidjson::Value &val) int length = pCocoNode->GetChildNum(); int count = 0; int num = 0; - stExpCocoNode *pTriggerObjArray = pCocoNode->GetChildArray(); + stExpCocoNode *pTriggerObjArray = pCocoNode->GetChildArray(pCocoLoader); for (int i0 = 0; i0 < length; ++i0) { std::string key = pTriggerObjArray[i0].GetName(pCocoLoader); - const char* str0 = pTriggerObjArray[i0].GetValue(); + const char* str0 = pTriggerObjArray[i0].GetValue(pCocoLoader); if (key.compare("id") == 0) { if (str0 != NULL) @@ -261,12 +261,12 @@ void TriggerObj::serialize(const rapidjson::Value &val) else if (key.compare("conditions") == 0) { count = pTriggerObjArray[i0].GetChildNum(); - stExpCocoNode *pConditionsArray = pTriggerObjArray[i0].GetChildArray(); + stExpCocoNode *pConditionsArray = pTriggerObjArray[i0].GetChildArray(pCocoLoader); for (int i1 = 0; i1 < count; ++i1) { num = pConditionsArray[i1].GetChildNum(); - stExpCocoNode *pConditionArray = pConditionsArray[i1].GetChildArray(); - const char *classname = pConditionArray[0].GetValue(); + stExpCocoNode *pConditionArray = pConditionsArray[i1].GetChildArray(pCocoLoader); + const char *classname = pConditionArray[0].GetValue(pCocoLoader); if (classname == nullptr) { continue; @@ -281,12 +281,12 @@ void TriggerObj::serialize(const rapidjson::Value &val) else if (key.compare("actions") == 0) { count = pTriggerObjArray[i0].GetChildNum(); - stExpCocoNode *pActionsArray = pTriggerObjArray[i0].GetChildArray(); + stExpCocoNode *pActionsArray = pTriggerObjArray[i0].GetChildArray(pCocoLoader); for (int i2 = 0; i2 < count; ++i2) { num = pActionsArray[i2].GetChildNum(); - stExpCocoNode *pActionArray = pActionsArray[i2].GetChildArray(); - const char *classname = pActionArray[0].GetValue(); + stExpCocoNode *pActionArray = pActionsArray[i2].GetChildArray(pCocoLoader); + const char *classname = pActionArray[0].GetValue(pCocoLoader); if (classname == nullptr) { continue; @@ -301,12 +301,12 @@ void TriggerObj::serialize(const rapidjson::Value &val) else if (key.compare("events") == 0) { count = pTriggerObjArray[i0].GetChildNum(); - stExpCocoNode *pEventsArray = pTriggerObjArray[i0].GetChildArray(); + stExpCocoNode *pEventsArray = pTriggerObjArray[i0].GetChildArray(pCocoLoader); for (int i3 = 0; i3 < count; ++i3) { num = pEventsArray[i3].GetChildNum(); - stExpCocoNode *pEventArray = pEventsArray[i3].GetChildArray(); - const char *str1 = pEventArray[0].GetValue(); + stExpCocoNode *pEventArray = pEventsArray[i3].GetChildArray(pCocoLoader); + const char *str1 = pEventArray[0].GetValue(pCocoLoader); if (str1 == nullptr) { continue; diff --git a/cocos/editor-support/cocostudio/WidgetReader/ButtonReader/ButtonReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/ButtonReader/ButtonReader.cpp index 7fc1ea8177..c96a1dfbe7 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/ButtonReader/ButtonReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/ButtonReader/ButtonReader.cpp @@ -63,7 +63,7 @@ namespace cocostudio Button *button = static_cast(widget); - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); this->beginSetBasicProperties(widget); @@ -72,7 +72,7 @@ namespace cocostudio float scale9Width = 0.0f, scale9Height = 0.0f; for (int i = 0; i < cocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); // CCLOG("Button: key = %s, value = %d", key.c_str(), i); //read all basic properties of widget @@ -86,8 +86,8 @@ namespace cocostudio } else if (key == P_NormalData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -98,8 +98,8 @@ namespace cocostudio } else if (key == P_PressedData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -110,8 +110,8 @@ namespace cocostudio } else if (key == P_DisabledData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -216,23 +216,18 @@ namespace cocostudio } } - bool cr = DICTOOL->checkObjectExist_json(options, P_TextColorR); - bool cg = DICTOOL->checkObjectExist_json(options, P_TextColorG); - bool cb = DICTOOL->checkObjectExist_json(options, P_TextColorB); - int cri = cr?DICTOOL->getIntValue_json(options, P_TextColorR):255; - int cgi = cg?DICTOOL->getIntValue_json(options, P_TextColorG):255; - int cbi = cb?DICTOOL->getIntValue_json(options, P_TextColorB):255; + + int cri = DICTOOL->getIntValue_json(options, P_TextColorR,255); + int cgi = DICTOOL->getIntValue_json(options, P_TextColorG,255); + int cbi = DICTOOL->getIntValue_json(options, P_TextColorB,255); button->setTitleColor(Color3B(cri,cgi,cbi)); - bool fs = DICTOOL->checkObjectExist_json(options, P_FontSize); - if (fs) - { - button->setTitleFontSize(DICTOOL->getIntValue_json(options, P_FontSize)); - } - bool fn = DICTOOL->checkObjectExist_json(options, P_FontName); - if (fn) - { - button->setTitleFontName(DICTOOL->getStringValue_json(options, P_FontName)); - } + + + button->setTitleFontSize(DICTOOL->getIntValue_json(options, P_FontSize,14)); + + + button->setTitleFontName(DICTOOL->getStringValue_json(options, P_FontName,"微软雅黑")); + WidgetReader::setColorPropsFromJsonDictionary(widget, options); diff --git a/cocos/editor-support/cocostudio/WidgetReader/CheckBoxReader/CheckBoxReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/CheckBoxReader/CheckBoxReader.cpp index 6cf60f4f84..691097d1eb 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/CheckBoxReader/CheckBoxReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/CheckBoxReader/CheckBoxReader.cpp @@ -43,11 +43,11 @@ namespace cocostudio CheckBox *checkBox = static_cast(widget); this->beginSetBasicProperties(widget); - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); for (int i = 0; i < cocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); // CCLOG("key = %s, index : %d", key.c_str(), i); //read all basic properties of widget CC_BASIC_PROPERTY_BINARY_READER @@ -56,8 +56,8 @@ namespace cocostudio else if (key == P_BackGroundBoxData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -65,8 +65,8 @@ namespace cocostudio checkBox->loadTextureBackGround(backgroundValue, imageFileNameType); }else if(key == P_BackGroundBoxSelectedData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -74,8 +74,8 @@ namespace cocostudio checkBox->loadTextureBackGroundSelected(backgroundValue, imageFileNameType); }else if(key == P_FrontCrossData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -83,8 +83,8 @@ namespace cocostudio checkBox->loadTextureFrontCross(backgroundValue, imageFileNameType); }else if(key == P_BackGroundBoxDisabledData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -92,8 +92,8 @@ namespace cocostudio checkBox->loadTextureBackGroundDisabled(backgroundValue, imageFileNameType); }else if (key == P_FrontCrossDisabledData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); diff --git a/cocos/editor-support/cocostudio/WidgetReader/ImageViewReader/ImageViewReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/ImageViewReader/ImageViewReader.cpp index bfc61f031e..4e8be4ac45 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/ImageViewReader/ImageViewReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/ImageViewReader/ImageViewReader.cpp @@ -50,11 +50,11 @@ namespace cocostudio this->beginSetBasicProperties(widget); float capsx = 0.0f, capsy = 0.0, capsWidth = 0.0, capsHeight = 0.0f; - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); for (int i = 0; i < cocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); //read all basic properties of widget CC_BASIC_PROPERTY_BINARY_READER @@ -65,8 +65,8 @@ namespace cocostudio imageView->setScale9Enabled(valueToBool(value)); } else if (key == P_FileNameData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -125,19 +125,16 @@ namespace cocostudio if (scale9Enable) { - bool sw = DICTOOL->checkObjectExist_json(options, P_Scale9Width); - bool sh = DICTOOL->checkObjectExist_json(options, P_Scale9Height); - if (sw && sh) - { - float swf = DICTOOL->getFloatValue_json(options, P_Scale9Width); - float shf = DICTOOL->getFloatValue_json(options, P_Scale9Height); - imageView->setSize(Size(swf, shf)); - } + + float swf = DICTOOL->getFloatValue_json(options, P_Scale9Width,80.0f); + float shf = DICTOOL->getFloatValue_json(options, P_Scale9Height,80.0f); + imageView->setSize(Size(swf, shf)); + float cx = DICTOOL->getFloatValue_json(options, P_CapInsetsX); float cy = DICTOOL->getFloatValue_json(options, P_CapInsetsY); - float cw = DICTOOL->getFloatValue_json(options, P_CapInsetsWidth); - float ch = DICTOOL->getFloatValue_json(options, P_CapInsetsHeight); + float cw = DICTOOL->getFloatValue_json(options, P_CapInsetsWidth,1.0f); + float ch = DICTOOL->getFloatValue_json(options, P_CapInsetsHeight,1.0f); imageView->setCapInsets(Rect(cx, cy, cw, ch)); diff --git a/cocos/editor-support/cocostudio/WidgetReader/LayoutReader/LayoutReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/LayoutReader/LayoutReader.cpp index b76c39f6b0..155e41d523 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/LayoutReader/LayoutReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/LayoutReader/LayoutReader.cpp @@ -3,6 +3,9 @@ #include "LayoutReader.h" #include "ui/UILayout.h" #include "cocostudio/CocoLoader.h" +#include "ui/UIScrollView.h" +#include "ui/UIPageView.h" +#include "ui/UIListView.h" USING_NS_CC; using namespace ui; @@ -61,7 +64,7 @@ namespace cocostudio Layout* panel = static_cast(widget); - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); this->beginSetBasicProperties(widget); int cr=0, cg = 0, cb = 0; @@ -69,12 +72,12 @@ namespace cocostudio int ecr=0, ecg=0, ecb= 0; float bgcv1 = 0.0f, bgcv2= 0.0f; float capsx = 0.0f, capsy = 0.0, capsWidth = 0.0, capsHeight = 0.0f; - Layout::Type layoutType; + Layout::Type layoutType = Layout::Type::ABSOLUTE; int bgColorOpacity = panel->getBackGroundColorOpacity(); for (int i = 0; i < cocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); //read all basic properties of widget CC_BASIC_PROPERTY_BINARY_READER @@ -120,9 +123,9 @@ namespace cocostudio panel->setBackGroundColorType(Layout::BackGroundColorType(valueToInt(value))); }else if (key == P_BackGroundImageData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); if (backGroundChildren) { - std::string resType = backGroundChildren[2].GetValue();; + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -194,26 +197,77 @@ namespace cocostudio bool backGroundScale9Enable = DICTOOL->getBooleanValue_json(options, P_BackGroundScale9Enable); panel->setBackGroundImageScale9Enabled(backGroundScale9Enable); - int cr = DICTOOL->getIntValue_json(options, P_BgColorR); - int cg = DICTOOL->getIntValue_json(options, P_BgColorG); - int cb = DICTOOL->getIntValue_json(options, P_BgColorB); - int scr = DICTOOL->getIntValue_json(options, P_BgStartColorR); - int scg = DICTOOL->getIntValue_json(options, P_BgStartColorG); - int scb = DICTOOL->getIntValue_json(options, P_BgStartColorB); - int ecr = DICTOOL->getIntValue_json(options, P_BgEndColorR); - int ecg = DICTOOL->getIntValue_json(options, P_BgEndColorG); - int ecb = DICTOOL->getIntValue_json(options, P_BgEndColorB); + int cr; + int cg; + int cb; + int scr; + int scg; + int scb; + int ecr; + int ecg; + int ecb; + + if (dynamic_cast(widget)) { + cr = DICTOOL->getIntValue_json(options, "bgColorR",150); + cg = DICTOOL->getIntValue_json(options, "bgColorG",150); + cb = DICTOOL->getIntValue_json(options, "bgColorB",100); + + scr = DICTOOL->getIntValue_json(options, "bgStartColorR",255); + scg = DICTOOL->getIntValue_json(options, "bgStartColorG",255); + scb = DICTOOL->getIntValue_json(options, "bgStartColorB",255); + + ecr = DICTOOL->getIntValue_json(options, "bgEndColorR",255); + ecg = DICTOOL->getIntValue_json(options, "bgEndColorG",150); + ecb = DICTOOL->getIntValue_json(options, "bgEndColorB",100); + }else if(dynamic_cast(widget)){ + cr = DICTOOL->getIntValue_json(options, "bgColorR",150); + cg = DICTOOL->getIntValue_json(options, "bgColorG",150); + cb = DICTOOL->getIntValue_json(options, "bgColorB",255); + + scr = DICTOOL->getIntValue_json(options, "bgStartColorR",255); + scg = DICTOOL->getIntValue_json(options, "bgStartColorG",255); + scb = DICTOOL->getIntValue_json(options, "bgStartColorB",255); + + ecr = DICTOOL->getIntValue_json(options, "bgEndColorR",150); + ecg = DICTOOL->getIntValue_json(options, "bgEndColorG",150); + ecb = DICTOOL->getIntValue_json(options, "bgEndColorB",255); + }else if(dynamic_cast(widget)){ + cr = DICTOOL->getIntValue_json(options, "bgColorR",255); + cg = DICTOOL->getIntValue_json(options, "bgColorG",150); + cb = DICTOOL->getIntValue_json(options, "bgColorB",100); + + scr = DICTOOL->getIntValue_json(options, "bgStartColorR",255); + scg = DICTOOL->getIntValue_json(options, "bgStartColorG",255); + scb = DICTOOL->getIntValue_json(options, "bgStartColorB",255); + + ecr = DICTOOL->getIntValue_json(options, "bgEndColorR",255); + ecg = DICTOOL->getIntValue_json(options, "bgEndColorG",150); + ecb = DICTOOL->getIntValue_json(options, "bgEndColorB",100); + }else{ + cr = DICTOOL->getIntValue_json(options, "bgColorR",150); + cg = DICTOOL->getIntValue_json(options, "bgColorG",200); + cb = DICTOOL->getIntValue_json(options, "bgColorB",255); + + scr = DICTOOL->getIntValue_json(options, "bgStartColorR",255); + scg = DICTOOL->getIntValue_json(options, "bgStartColorG",255); + scb = DICTOOL->getIntValue_json(options, "bgStartColorB",255); + + ecr = DICTOOL->getIntValue_json(options, "bgEndColorR",150); + ecg = DICTOOL->getIntValue_json(options, "bgEndColorG",200); + ecb = DICTOOL->getIntValue_json(options, "bgEndColorB",255); + } float bgcv1 = DICTOOL->getFloatValue_json(options, P_VectorX); - float bgcv2 = DICTOOL->getFloatValue_json(options, P_VectorY); + float bgcv2 = DICTOOL->getFloatValue_json(options, P_VectorY,-0.5); panel->setBackGroundColorVector(Vec2(bgcv1, bgcv2)); - int co = DICTOOL->getIntValue_json(options, P_BgColorOpacity); + int co = DICTOOL->getIntValue_json(options, P_BgColorOpacity,100); - int colorType = DICTOOL->getIntValue_json(options, P_ColorType); + int colorType = DICTOOL->getIntValue_json(options, P_ColorType,1); panel->setBackGroundColorType(Layout::BackGroundColorType(colorType)); + panel->setBackGroundColor(Color3B(scr, scg, scb),Color3B(ecr, ecg, ecb)); panel->setBackGroundColor(Color3B(cr, cg, cb)); panel->setBackGroundColorOpacity(co); @@ -229,18 +283,21 @@ namespace cocostudio { float cx = DICTOOL->getFloatValue_json(options, P_CapInsetsX); float cy = DICTOOL->getFloatValue_json(options, P_CapInsetsY); - float cw = DICTOOL->getFloatValue_json(options, P_CapInsetsWidth); - float ch = DICTOOL->getFloatValue_json(options, P_CapInsetsHeight); + float cw = DICTOOL->getFloatValue_json(options, P_CapInsetsWidth,1); + float ch = DICTOOL->getFloatValue_json(options, P_CapInsetsHeight,1); panel->setBackGroundImageCapInsets(Rect(cx, cy, cw, ch)); } panel->setLayoutType((Layout::Type)DICTOOL->getIntValue_json(options, P_LayoutType)); - int bgimgcr = DICTOOL->getIntValue_json(options, P_ColorR); - int bgimgcg = DICTOOL->getIntValue_json(options, P_ColorG); - int bgimgcb = DICTOOL->getIntValue_json(options, P_ColorB); + int bgimgcr = DICTOOL->getIntValue_json(options, P_ColorR,255); + int bgimgcg = DICTOOL->getIntValue_json(options, P_ColorG,255); + int bgimgcb = DICTOOL->getIntValue_json(options, P_ColorB,255); panel->setBackGroundImageColor(Color3B(bgimgcr, bgimgcg, bgimgcb)); + int bgimgopacity = DICTOOL->getIntValue_json(options, "opacity",255); + panel->setBackGroundImageOpacity(bgimgopacity); + WidgetReader::setColorPropsFromJsonDictionary(widget, options); } diff --git a/cocos/editor-support/cocostudio/WidgetReader/ListViewReader/ListViewReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/ListViewReader/ListViewReader.cpp index cf1bdbee4e..0870898954 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/ListViewReader/ListViewReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/ListViewReader/ListViewReader.cpp @@ -41,11 +41,11 @@ namespace cocostudio ListView* listView = static_cast(widget); - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); for (int i = 0; i < cocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); if (key == P_Direction) { listView->setDirection((ScrollView::Direction)valueToInt(value)); @@ -66,10 +66,10 @@ namespace cocostudio ListView* listView = static_cast(widget); - int direction = DICTOOL->getFloatValue_json(options, P_Direction); + int direction = DICTOOL->getFloatValue_json(options, P_Direction,2); listView->setDirection((ScrollView::Direction)direction); - ListView::Gravity gravity = (ListView::Gravity)DICTOOL->getIntValue_json(options, P_Gravity); + ListView::Gravity gravity = (ListView::Gravity)DICTOOL->getIntValue_json(options, P_Gravity,3); listView->setGravity(gravity); float itemMargin = DICTOOL->getFloatValue_json(options, P_ItemMargin); diff --git a/cocos/editor-support/cocostudio/WidgetReader/LoadingBarReader/LoadingBarReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/LoadingBarReader/LoadingBarReader.cpp index 92c23aa86d..3c09400c96 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/LoadingBarReader/LoadingBarReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/LoadingBarReader/LoadingBarReader.cpp @@ -51,11 +51,11 @@ namespace cocostudio float capsx = 0.0f, capsy = 0.0, capsWidth = 0.0, capsHeight = 0.0f; int percent = loadingBar->getPercent(); - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); for (int i = 0; i < cocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); //read all basic properties of widget CC_BASIC_PROPERTY_BINARY_READER @@ -67,8 +67,8 @@ namespace cocostudio } else if (key == P_TextureData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -117,23 +117,25 @@ namespace cocostudio bool scale9Enable = DICTOOL->getBooleanValue_json(options, P_Scale9Enable); loadingBar->setScale9Enabled(scale9Enable); - if (scale9Enable) - { - float cx = DICTOOL->getFloatValue_json(options, P_CapInsetsX); - float cy = DICTOOL->getFloatValue_json(options, P_CapInsetsY); - float cw = DICTOOL->getFloatValue_json(options, P_CapInsetsWidth); - float ch = DICTOOL->getFloatValue_json(options, P_CapInsetsHeight); - + + float cx = DICTOOL->getFloatValue_json(options, P_CapInsetsX); + float cy = DICTOOL->getFloatValue_json(options, P_CapInsetsY); + float cw = DICTOOL->getFloatValue_json(options, P_CapInsetsWidth,1); + float ch = DICTOOL->getFloatValue_json(options, P_CapInsetsHeight,1); + + if (scale9Enable) { loadingBar->setCapInsets(Rect(cx, cy, cw, ch)); - - float width = DICTOOL->getFloatValue_json(options, P_Width); - float height = DICTOOL->getFloatValue_json(options, P_Height); - loadingBar->setSize(Size(width, height)); + } + + float width = DICTOOL->getFloatValue_json(options, P_Width); + float height = DICTOOL->getFloatValue_json(options, P_Height); + loadingBar->setSize(Size(width, height)); + /**/ loadingBar->setDirection(LoadingBar::Direction(DICTOOL->getIntValue_json(options, P_Direction))); - loadingBar->setPercent(DICTOOL->getIntValue_json(options, P_Percent)); + loadingBar->setPercent(DICTOOL->getIntValue_json(options, P_Percent,100)); WidgetReader::setColorPropsFromJsonDictionary(widget, options); diff --git a/cocos/editor-support/cocostudio/WidgetReader/ScrollViewReader/ScrollViewReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/ScrollViewReader/ScrollViewReader.cpp index b2ab36cf47..6f03951944 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/ScrollViewReader/ScrollViewReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/ScrollViewReader/ScrollViewReader.cpp @@ -44,12 +44,12 @@ namespace cocostudio ScrollView* scrollView = static_cast(widget); - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); float innerWidth; float innerHeight; for (int i = 0; i < cocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); if (key == P_InnerWidth) { innerWidth = valueToFloat(value); } @@ -72,10 +72,10 @@ namespace cocostudio ScrollView* scrollView = static_cast(widget); - float innerWidth = DICTOOL->getFloatValue_json(options, P_InnerWidth); - float innerHeight = DICTOOL->getFloatValue_json(options, P_InnerHeight); + float innerWidth = DICTOOL->getFloatValue_json(options, P_InnerWidth,200); + float innerHeight = DICTOOL->getFloatValue_json(options, P_InnerHeight,200); scrollView->setInnerContainerSize(Size(innerWidth, innerHeight)); - int direction = DICTOOL->getFloatValue_json(options, P_Direction); + int direction = DICTOOL->getFloatValue_json(options, P_Direction,1); scrollView->setDirection((ScrollView::Direction)direction); scrollView->setBounceEnabled(DICTOOL->getBooleanValue_json(options, P_BounceEnable)); diff --git a/cocos/editor-support/cocostudio/WidgetReader/SliderReader/SliderReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/SliderReader/SliderReader.cpp index 311602e4fc..a4531be2e8 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/SliderReader/SliderReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/SliderReader/SliderReader.cpp @@ -51,11 +51,11 @@ namespace cocostudio float barLength = 0.0f; int percent = slider->getPercent(); - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); for (int i = 0; i < cocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); //read all basic properties of widget CC_BASIC_PROPERTY_BINARY_READER @@ -69,8 +69,8 @@ namespace cocostudio else if(key == P_Percent){ percent = valueToInt(value); }else if(key == P_BarFileNameData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -81,8 +81,8 @@ namespace cocostudio }else if(key == P_Length){ barLength = valueToFloat(value); }else if(key == P_BallNormalData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -91,8 +91,8 @@ namespace cocostudio slider->loadSlidBallTextureNormal(backgroundValue, imageFileNameType); }else if(key == P_BallPressedData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -101,8 +101,8 @@ namespace cocostudio slider->loadSlidBallTexturePressed(backgroundValue, imageFileNameType); }else if(key == P_BallDisabledData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -111,8 +111,8 @@ namespace cocostudio slider->loadSlidBallTextureDisabled(backgroundValue, imageFileNameType); }else if(key == P_ProgressBarData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -145,25 +145,24 @@ namespace cocostudio slider->setPercent(DICTOOL->getIntValue_json(options, P_Percent)); - bool bt = DICTOOL->checkObjectExist_json(options, P_BarFileName); - float barLength = DICTOOL->getFloatValue_json(options, P_Length); - if (bt) - { - const rapidjson::Value& imageFileNameDic = DICTOOL->getSubDictionary_json(options, P_BarFileNameData); - int imageFileNameType = DICTOOL->getIntValue_json(imageFileNameDic, P_ResourceType); - std::string imageFileName = this->getResourcePath(imageFileNameDic, P_Path, (Widget::TextureResType)imageFileNameType); - slider->loadBarTexture(imageFileName, (Widget::TextureResType)imageFileNameType); +// bool bt = DICTOOL->checkObjectExist_json(options, P_BarFileName); + float barLength = DICTOOL->getFloatValue_json(options, P_Length,290); + const rapidjson::Value& imageFileNameDic = DICTOOL->getSubDictionary_json(options, P_BarFileNameData); + int imageFileNameType = DICTOOL->getIntValue_json(imageFileNameDic, P_ResourceType); + std::string imageFileName = this->getResourcePath(imageFileNameDic, P_Path, (Widget::TextureResType)imageFileNameType); + slider->loadBarTexture(imageFileName, (Widget::TextureResType)imageFileNameType); - if (barTextureScale9Enable) - { - slider->setContentSize(Size(barLength, slider->getContentSize().height)); - } + + + if (barTextureScale9Enable) + { + slider->setContentSize(Size(barLength, slider->getContentSize().height)); } //loading normal slider ball texture const rapidjson::Value& normalDic = DICTOOL->getSubDictionary_json(options, P_BallNormalData); int normalType = DICTOOL->getIntValue_json(normalDic, P_ResourceType); - std::string imageFileName = this->getResourcePath(normalDic, P_Path, (Widget::TextureResType)normalType); + imageFileName = this->getResourcePath(normalDic, P_Path, (Widget::TextureResType)normalType); slider->loadSlidBallTextureNormal(imageFileName, (Widget::TextureResType)normalType); diff --git a/cocos/editor-support/cocostudio/WidgetReader/TextAtlasReader/TextAtlasReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/TextAtlasReader/TextAtlasReader.cpp index d634c5cd39..b4ff2c7561 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/TextAtlasReader/TextAtlasReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/TextAtlasReader/TextAtlasReader.cpp @@ -48,7 +48,7 @@ namespace cocostudio TextAtlas* labelAtlas = static_cast(widget); - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); Widget::TextureResType type; std::string charMapFileName; std::string stringValue; @@ -57,7 +57,7 @@ namespace cocostudio float itemHeight; for (int i = 0; i < cocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); //read all basic properties of widget CC_BASIC_PROPERTY_BINARY_READER @@ -68,8 +68,8 @@ namespace cocostudio stringValue = value; } else if(key == P_CharMapFileData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -101,34 +101,37 @@ namespace cocostudio std::string jsonPath = GUIReader::getInstance()->getFilePath(); TextAtlas* labelAtlas = static_cast(widget); - bool sv = DICTOOL->checkObjectExist_json(options, P_StringValue); - bool cmf = DICTOOL->checkObjectExist_json(options, P_CharMapFile); - bool iw = DICTOOL->checkObjectExist_json(options, P_ItemWidth); - bool ih = DICTOOL->checkObjectExist_json(options, P_ItemHeight); - bool scm = DICTOOL->checkObjectExist_json(options, P_StartCharMap); - if (sv && cmf && iw && ih && scm) +// bool sv = DICTOOL->checkObjectExist_json(options, P_StringValue); +// bool cmf = DICTOOL->checkObjectExist_json(options, P_CharMapFile); +// bool iw = DICTOOL->checkObjectExist_json(options, P_ItemWidth); +// bool ih = DICTOOL->checkObjectExist_json(options, P_ItemHeight); +// bool scm = DICTOOL->checkObjectExist_json(options, P_StartCharMap); + + const rapidjson::Value& cmftDic = DICTOOL->getSubDictionary_json(options, P_CharMapFileData); + int cmfType = DICTOOL->getIntValue_json(cmftDic, P_ResourceType); + switch (cmfType) { - const rapidjson::Value& cmftDic = DICTOOL->getSubDictionary_json(options, P_CharMapFileData); - int cmfType = DICTOOL->getIntValue_json(cmftDic, P_ResourceType); - switch (cmfType) + case 0: { - case 0: - { - std::string tp_c = jsonPath; - const char* cmfPath = DICTOOL->getStringValue_json(cmftDic, P_Path); - const char* cmf_tp = tp_c.append(cmfPath).c_str(); - labelAtlas->setProperty(DICTOOL->getStringValue_json(options, P_StringValue),cmf_tp,DICTOOL->getIntValue_json(options, P_ItemWidth),DICTOOL->getIntValue_json(options,P_ItemHeight), DICTOOL->getStringValue_json(options, P_StartCharMap)); - break; - } - case 1: - CCLOG("Wrong res type of LabelAtlas!"); - break; - default: - break; + std::string tp_c = jsonPath; + const char* cmfPath = DICTOOL->getStringValue_json(cmftDic, P_Path); + const char* cmf_tp = tp_c.append(cmfPath).c_str(); + labelAtlas->setProperty(DICTOOL->getStringValue_json(options, P_StringValue,"12345678"), + cmf_tp, + DICTOOL->getIntValue_json(options, P_ItemWidth,24), + DICTOOL->getIntValue_json(options,P_ItemHeight,32), + DICTOOL->getStringValue_json(options, P_StartCharMap)); + break; } + case 1: + CCLOG("Wrong res type of LabelAtlas!"); + break; + default: + break; } + WidgetReader::setColorPropsFromJsonDictionary(widget, options); } } diff --git a/cocos/editor-support/cocostudio/WidgetReader/TextBMFontReader/TextBMFontReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/TextBMFontReader/TextBMFontReader.cpp index f20326ba9b..99c6f3735a 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/TextBMFontReader/TextBMFontReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/TextBMFontReader/TextBMFontReader.cpp @@ -42,19 +42,19 @@ namespace cocostudio TextBMFont* labelBMFont = static_cast(widget); - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); for (int i = 0; i < cocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); //read all basic properties of widget CC_BASIC_PROPERTY_BINARY_READER //read all color related properties of widget CC_COLOR_PROPERTY_BINARY_READER else if(key == P_FileNameData){ - stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(); - std::string resType = backGroundChildren[2].GetValue();; + stExpCocoNode *backGroundChildren = stChildArray[i].GetChildArray(cocoLoader); + std::string resType = backGroundChildren[2].GetValue(cocoLoader);; Widget::TextureResType imageFileNameType = (Widget::TextureResType)valueToInt(resType); @@ -98,7 +98,7 @@ namespace cocostudio break; } - const char* text = DICTOOL->getStringValue_json(options, P_Text); + const char* text = DICTOOL->getStringValue_json(options, P_Text,"Text Label"); labelBMFont->setString(text); diff --git a/cocos/editor-support/cocostudio/WidgetReader/TextFieldReader/TextFieldReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/TextFieldReader/TextFieldReader.cpp index 5f56526e03..5d844a5cff 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/TextFieldReader/TextFieldReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/TextFieldReader/TextFieldReader.cpp @@ -49,11 +49,11 @@ namespace cocostudio TextField* textField = static_cast(widget); - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); for (int i = 0; i < cocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); //read all basic properties of widget CC_BASIC_PROPERTY_BINARY_READER @@ -94,19 +94,15 @@ namespace cocostudio bool ph = DICTOOL->checkObjectExist_json(options, P_PlaceHolder); if (ph) { - textField->setPlaceHolder(DICTOOL->getStringValue_json(options, P_PlaceHolder)); - } - textField->setText(DICTOOL->getStringValue_json(options, P_Text)); - bool fs = DICTOOL->checkObjectExist_json(options, P_FontSize); - if (fs) - { - textField->setFontSize(DICTOOL->getIntValue_json(options, P_FontSize)); - } - bool fn = DICTOOL->checkObjectExist_json(options, P_FontName); - if (fn) - { - textField->setFontName(DICTOOL->getStringValue_json(options, P_FontName)); + textField->setPlaceHolder(DICTOOL->getStringValue_json(options, P_PlaceHolder,"input words here")); } + textField->setText(DICTOOL->getStringValue_json(options, P_Text,"Text Tield")); + + textField->setFontSize(DICTOOL->getIntValue_json(options, P_FontSize,20)); + + + textField->setFontName(DICTOOL->getStringValue_json(options, P_FontName,"微软雅黑")); + bool tsw = DICTOOL->checkObjectExist_json(options, P_TouchSizeWidth); bool tsh = DICTOOL->checkObjectExist_json(options, P_TouchSizeHeight); if (tsw && tsh) @@ -125,14 +121,14 @@ namespace cocostudio if (maxLengthEnable) { - int maxLength = DICTOOL->getIntValue_json(options, P_MaxLength); + int maxLength = DICTOOL->getIntValue_json(options, P_MaxLength,10); textField->setMaxLength(maxLength); } bool passwordEnable = DICTOOL->getBooleanValue_json(options, P_PasswordEnable); textField->setPasswordEnabled(passwordEnable); if (passwordEnable) { - textField->setPasswordStyleText(DICTOOL->getStringValue_json(options, P_PasswordStyleText)); + textField->setPasswordStyleText(DICTOOL->getStringValue_json(options, P_PasswordStyleText,"*")); } diff --git a/cocos/editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp index 808ab2002a..48c3d7dbfb 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp @@ -45,7 +45,7 @@ namespace cocostudio { this->beginSetBasicProperties(widget); - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); Text* label = static_cast(widget); @@ -54,7 +54,7 @@ namespace cocostudio for (int i = 0; i < cocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); //read all basic properties of widget CC_BASIC_PROPERTY_BINARY_READER //read all color related properties of widget @@ -69,7 +69,12 @@ namespace cocostudio }else if(key == P_FontSize){ label->setFontSize(valueToInt(value)); }else if(key == P_FontName){ - std::string fontFilePath = jsonPath.append(value); + std::string fontFilePath; + if(FileUtils::getInstance()->isFileExist(value)){ + fontFilePath = jsonPath.append(value); + }else{ + fontFilePath = value; + } label->setFontName(fontFilePath); }else if(key == P_AreaWidth){ label->setTextAreaSize(Size(valueToFloat(value), label->getTextAreaSize().height)); @@ -95,20 +100,15 @@ namespace cocostudio Text* label = static_cast(widget); bool touchScaleChangeAble = DICTOOL->getBooleanValue_json(options, P_TouchScaleEnable); label->setTouchScaleChangeEnabled(touchScaleChangeAble); - const char* text = DICTOOL->getStringValue_json(options, P_Text); + const char* text = DICTOOL->getStringValue_json(options, P_Text,"Text Label"); label->setString(text); - bool fs = DICTOOL->checkObjectExist_json(options, P_FontSize); - if (fs) - { - label->setFontSize(DICTOOL->getIntValue_json(options, P_FontSize)); - } - bool fn = DICTOOL->checkObjectExist_json(options, P_FontName); - if (fn) - { - std::string fontName = DICTOOL->getStringValue_json(options, P_FontName); - std::string fontFilePath = jsonPath.append(fontName); - label->setFontName(fontFilePath); - } + + label->setFontSize(DICTOOL->getIntValue_json(options, P_FontSize,20)); + + std::string fontName = DICTOOL->getStringValue_json(options, P_FontName, "微软雅黑"); + std::string fontFilePath = jsonPath.append(fontName); + label->setFontName(fontFilePath); + bool aw = DICTOOL->checkObjectExist_json(options, P_AreaWidth); bool ah = DICTOOL->checkObjectExist_json(options, P_AreaHeight); if (aw && ah) diff --git a/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.cpp index aac6338629..06478699ae 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.cpp @@ -113,11 +113,9 @@ namespace cocostudio void WidgetReader::setPropsFromJsonDictionary(Widget *widget, const rapidjson::Value &options) { - bool ignoreSizeExsit = DICTOOL->checkObjectExist_json(options, P_IgnoreSize); - if (ignoreSizeExsit) - { - widget->ignoreContentAdaptWithSize(DICTOOL->getBooleanValue_json(options, P_IgnoreSize)); - } + + widget->ignoreContentAdaptWithSize(DICTOOL->getBooleanValue_json(options, P_IgnoreSize,false)); + widget->setSizeType((Widget::SizeType)DICTOOL->getIntValue_json(options, P_SizeType)); widget->setPositionType((Widget::PositionType)DICTOOL->getIntValue_json(options, P_PositionType)); @@ -151,21 +149,15 @@ namespace cocostudio float x = DICTOOL->getFloatValue_json(options, P_X); float y = DICTOOL->getFloatValue_json(options, P_Y); widget->setPosition(Vec2(x,y)); - bool sx = DICTOOL->checkObjectExist_json(options, P_ScaleX); - if (sx) - { - widget->setScaleX(DICTOOL->getFloatValue_json(options, P_ScaleX)); - } - bool sy = DICTOOL->checkObjectExist_json(options, P_ScaleY); - if (sy) - { - widget->setScaleY(DICTOOL->getFloatValue_json(options, P_ScaleY)); - } - bool rt = DICTOOL->checkObjectExist_json(options, P_Rotation); - if (rt) - { - widget->setRotation(DICTOOL->getFloatValue_json(options, P_Rotation)); - } + + widget->setScaleX(DICTOOL->getFloatValue_json(options, P_ScaleX,1.0)); + + + widget->setScaleY(DICTOOL->getFloatValue_json(options, P_ScaleY,1.0)); + + + widget->setRotation(DICTOOL->getFloatValue_json(options, P_Rotation,0)); + bool vb = DICTOOL->checkObjectExist_json(options, P_Visbile); if (vb) { @@ -295,8 +287,8 @@ namespace cocostudio std::string WidgetReader::getResourcePath(CocoLoader *cocoLoader, stExpCocoNode *cocoNode, cocos2d::ui::Widget::TextureResType texType) { - stExpCocoNode *backGroundChildren = cocoNode->GetChildArray(); - std::string backgroundValue = backGroundChildren[0].GetValue(); + stExpCocoNode *backGroundChildren = cocoNode->GetChildArray(cocoLoader); + std::string backgroundValue = backGroundChildren[0].GetValue(cocoLoader); if (backgroundValue.size() < 3) { return ""; @@ -346,13 +338,13 @@ namespace cocostudio void WidgetReader::setPropsFromBinary(cocos2d::ui::Widget *widget, cocostudio::CocoLoader *cocoLoader, cocostudio::stExpCocoNode *cocoNode) { - stExpCocoNode *stChildArray = cocoNode->GetChildArray(); + stExpCocoNode *stChildArray = cocoNode->GetChildArray(cocoLoader); this->beginSetBasicProperties(widget); for (int i = 0; i < cocoNode->GetChildNum(); ++i) { std::string key = stChildArray[i].GetName(cocoLoader); - std::string value = stChildArray[i].GetValue(); + std::string value = stChildArray[i].GetValue(cocoLoader); CC_BASIC_PROPERTY_BINARY_READER } diff --git a/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.h b/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.h index 25c5dbbe97..319b525190 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.h +++ b/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.h @@ -176,14 +176,14 @@ namespace cocostudio }else if(key == P_ZOrder){ \ widget->setZOrder(valueToInt(value)); \ }else if(key == P_LayoutParameter){ \ - stExpCocoNode *layoutCocosNode = stChildArray[i].GetChildArray(); \ + stExpCocoNode *layoutCocosNode = stChildArray[i].GetChildArray(cocoLoader); \ ui::LinearLayoutParameter *linearParameter = ui::LinearLayoutParameter::create(); \ ui::RelativeLayoutParameter *relativeParameter = ui::RelativeLayoutParameter::create(); \ ui::Margin mg; \ int paramType = -1; \ for (int j = 0; j < stChildArray[i].GetChildNum(); ++j) { \ std::string innerKey = layoutCocosNode[j].GetName(cocoLoader); \ - std::string innerValue = layoutCocosNode[j].GetValue(); \ + std::string innerValue = layoutCocosNode[j].GetValue(cocoLoader); \ if (innerKey == P_Type) { \ paramType = valueToInt(innerValue); \ }else if(innerKey == P_Gravity){ \ diff --git a/cocos/editor-support/cocostudio/proj.win32/libCocosStudio.vcxproj b/cocos/editor-support/cocostudio/proj.win32/libCocosStudio.vcxproj index 272c82c41d..684f848d8d 100644 --- a/cocos/editor-support/cocostudio/proj.win32/libCocosStudio.vcxproj +++ b/cocos/editor-support/cocostudio/proj.win32/libCocosStudio.vcxproj @@ -188,7 +188,7 @@ Disabled - $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)external;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) + $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)external;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;$(EngineRoot)external\win32-specific\zlib\include;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true 4267;4251;4244;%(DisableSpecificWarnings) @@ -208,7 +208,7 @@ WIN32;_WINDOWS;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)external;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) + $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)external;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;$(EngineRoot)external\win32-specific\zlib\include;%(AdditionalIncludeDirectories) None false diff --git a/cocos/editor-support/cocostudio/proj.wp8/libCocosStudio.vcxproj b/cocos/editor-support/cocostudio/proj.wp8/libCocosStudio.vcxproj index 8002859cb3..f235f18d40 100644 --- a/cocos/editor-support/cocostudio/proj.wp8/libCocosStudio.vcxproj +++ b/cocos/editor-support/cocostudio/proj.wp8/libCocosStudio.vcxproj @@ -77,7 +77,7 @@ Use pch.h $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories) - $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)external;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) + $(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\audio\include;$(EngineRoot)cocos\editor-support;$(EngineRoot)external;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)external\wp8-specific\zlib\include;$(EngineRoot)extensions;%(AdditionalIncludeDirectories) WP8;_DEBUG;_LIB;COCOS2DXWIN32_EXPORTS;GL_GLEXT_PROTOTYPES;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) 4267;4251;4244;%(DisableSpecificWarnings) /Zm200 %(AdditionalOptions) diff --git a/cocos/editor-support/spine/Android.mk b/cocos/editor-support/spine/Android.mk index 144623d03e..afdbad89a3 100644 --- a/cocos/editor-support/spine/Android.mk +++ b/cocos/editor-support/spine/Android.mk @@ -36,9 +36,6 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. LOCAL_C_INCLUDES := $(LOCAL_PATH)/../.. \ $(LOCAL_PATH)/.. -LOCAL_CFLAGS += -Wno-psabi -LOCAL_EXPORT_CFLAGS += -Wno-psabi - LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static include $(BUILD_STATIC_LIBRARY) diff --git a/cocos/network/Android.mk b/cocos/network/Android.mk index 1cdd0d5480..045a8d5eab 100644 --- a/cocos/network/Android.mk +++ b/cocos/network/Android.mk @@ -15,8 +15,6 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. LOCAL_C_INCLUDES := $(LOCAL_PATH)/../.. \ $(LOCAL_PATH)/.. -LOCAL_CFLAGS += -Wno-psabi -LOCAL_EXPORT_CFLAGS += -Wno-psabi LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_curl_static diff --git a/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerActivity.java b/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerActivity.java index caaaba23aa..1bad95bfa7 100644 --- a/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerActivity.java +++ b/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerActivity.java @@ -35,6 +35,7 @@ import android.view.InputDevice; import android.view.KeyEvent; import android.view.MotionEvent; import android.util.Log; +import android.util.SparseArray; public abstract class GameControllerActivity extends Cocos2dxActivity implements InputDeviceListener { // =========================================================== @@ -189,14 +190,16 @@ public abstract class GameControllerActivity extends Cocos2dxActivity implements if (mControllerNibiru != null) { handled |= mControllerNibiru.dispatchKeyEvent(event); } - if (mControllerMoga != null) { + if (handled == false && mControllerMoga != null) { handled |= mControllerMoga.dispatchKeyEvent(event); } - if (mControllerOuya != null) { + if (handled == false && mControllerOuya != null) { handled |= mControllerOuya.dispatchKeyEvent(event); } - handled |= mControllerHelper.dispatchKeyEvent(event); + if (handled == false) { + handled |= mControllerHelper.dispatchKeyEvent(event); + } return handled || super.dispatchKeyEvent(event); } @@ -207,31 +210,44 @@ public abstract class GameControllerActivity extends Cocos2dxActivity implements if (mControllerNibiru != null) { handled |= mControllerNibiru.dispatchGenericMotionEvent(event); } - if (mControllerMoga != null) { + if (handled == false && mControllerMoga != null) { handled |= mControllerMoga.dispatchGenericMotionEvent(event); } - if (mControllerOuya != null) { + if (handled == false && mControllerOuya != null) { handled |= mControllerOuya.dispatchGenericMotionEvent(event); } - handled |= mControllerHelper.dispatchGenericMotionEvent(event); + if (handled == false) { + handled |= mControllerHelper.dispatchGenericMotionEvent(event); + } return handled || super.dispatchGenericMotionEvent(event); } + protected SparseArray mGameController = null; + @Override - public void onInputDeviceAdded(int deviceId) { - + public void onInputDeviceAdded(int deviceId) { Log.d(TAG,"onInputDeviceAdded:" + deviceId); - InputDevice device = InputDevice.getDevice(deviceId); - int deviceSource = device.getSources(); - - if ( ((deviceSource & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) - || ((deviceSource & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK) ) - { - GameControllerAdapter.onConnected("Standard", deviceId); + try { + InputDevice device = InputDevice.getDevice(deviceId); + int deviceSource = device.getSources(); + + if ( ((deviceSource & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) + || ((deviceSource & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK) ) + { + if (mGameController == null) { + mGameController = new SparseArray(); + } + String deviceName = device.getName(); + mGameController.append(deviceId, deviceName); + GameControllerAdapter.onConnected(deviceName, deviceId); + } + } catch (Exception e) { + e.printStackTrace(); } + } /* * This is an unusual case. Input devices don't typically change, but they @@ -244,7 +260,7 @@ public abstract class GameControllerActivity extends Cocos2dxActivity implements */ @Override public void onInputDeviceChanged(int deviceId) { - Log.d(TAG,"onInputDeviceChanged:" + deviceId); + Log.w(TAG,"onInputDeviceChanged:" + deviceId); } /* @@ -258,13 +274,9 @@ public abstract class GameControllerActivity extends Cocos2dxActivity implements public void onInputDeviceRemoved(int deviceId) { Log.d(TAG,"onInputDeviceRemoved:" + deviceId); - InputDevice device = InputDevice.getDevice(deviceId); - int deviceSource = device.getSources(); - - if ( ((deviceSource & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) - || ((deviceSource & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK) ) - { - GameControllerAdapter.onDisconnected("Standard", deviceId); + if (mGameController != null && mGameController.get(deviceId) != null) { + GameControllerAdapter.onDisconnected(mGameController.get(deviceId), deviceId); + mGameController.delete(deviceId); } } diff --git a/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerHelper.java b/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerHelper.java index acf0d7f299..9d182a0482 100644 --- a/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerHelper.java +++ b/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerHelper.java @@ -77,86 +77,67 @@ public class GameControllerHelper { { if (event.getAction() == MotionEvent.ACTION_MOVE) { int devicedId = event.getDeviceId(); + String deviceName = event.getDevice().getName(); float newAXIS_LX = event.getAxisValue(AXIS_X); if (Float.compare(newAXIS_LX , mOldLeftThumbstickX) != 0) { - GameControllerAdapter.onAxisEvent(StandardControllerName, devicedId, GameControllerDelegate.THUMBSTICK_LEFT_X, newAXIS_LX, true); + GameControllerAdapter.onAxisEvent(deviceName, devicedId, GameControllerDelegate.THUMBSTICK_LEFT_X, newAXIS_LX, true); mOldLeftThumbstickX = newAXIS_LX; handled = true; } float newAXIS_LY = event.getAxisValue(AXIS_Y); if (Float.compare(newAXIS_LY , mOldLeftThumbstickY) != 0) { - GameControllerAdapter.onAxisEvent(StandardControllerName, devicedId, GameControllerDelegate.THUMBSTICK_LEFT_Y, newAXIS_LY, true); + GameControllerAdapter.onAxisEvent(deviceName, devicedId, GameControllerDelegate.THUMBSTICK_LEFT_Y, newAXIS_LY, true); mOldLeftThumbstickY = newAXIS_LY; handled = true; } float newAXIS_RX = event.getAxisValue(AXIS_Z); if (Float.compare(newAXIS_RX , mOldRightThumbstickX) != 0) { - GameControllerAdapter.onAxisEvent(StandardControllerName, devicedId, GameControllerDelegate.THUMBSTICK_RIGHT_X, newAXIS_RX, true); + GameControllerAdapter.onAxisEvent(deviceName, devicedId, GameControllerDelegate.THUMBSTICK_RIGHT_X, newAXIS_RX, true); mOldRightThumbstickX = newAXIS_RX; handled = true; } float newAXIS_RY = event.getAxisValue(AXIS_RZ); if (Float.compare(newAXIS_RY , mOldRightThumbstickY) != 0) { - GameControllerAdapter.onAxisEvent(StandardControllerName, devicedId, GameControllerDelegate.THUMBSTICK_RIGHT_Y, newAXIS_RY, true); + GameControllerAdapter.onAxisEvent(deviceName, devicedId, GameControllerDelegate.THUMBSTICK_RIGHT_Y, newAXIS_RY, true); mOldRightThumbstickY = newAXIS_RY; handled = true; } float newAXIS_LTRIGGER = event.getAxisValue(AXIS_LTRIGGER); if (Float.compare(newAXIS_LTRIGGER , mOldLeftTrigger) != 0) { - if (Float.compare(newAXIS_LTRIGGER, 0.0f) == 0) { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, false, 0.0f, true); - }else { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, true, newAXIS_LTRIGGER, true); - } + GameControllerAdapter.onAxisEvent(deviceName, devicedId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, newAXIS_LTRIGGER, true); mOldLeftTrigger = newAXIS_LTRIGGER; handled = true; } float newAXIS_RTRIGGER = event.getAxisValue(AXIS_RTRIGGER); if (Float.compare(newAXIS_RTRIGGER , mOldRightTrigger) != 0) { - if (Float.compare(newAXIS_RTRIGGER, 0.0f) == 0) { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, false, 0.0f, true); - }else { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, true, newAXIS_RTRIGGER, true); - } + GameControllerAdapter.onAxisEvent(deviceName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, newAXIS_RTRIGGER, true); mOldRightTrigger = newAXIS_RTRIGGER; handled = true; } float newAXIS_BRAKE = event.getAxisValue(AXIS_BRAKE); if (Float.compare(newAXIS_BRAKE , mOldBrake) != 0) { - if (Float.compare(newAXIS_BRAKE, 0.0f) == 0) { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, false, 0.0f, true); - }else { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, true, newAXIS_BRAKE, true); - } + GameControllerAdapter.onAxisEvent(deviceName, devicedId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, newAXIS_BRAKE, true); mOldBrake = newAXIS_BRAKE; handled = true; } float newAXIS_THROTTLE = event.getAxisValue(AXIS_THROTTLE); if (Float.compare(newAXIS_THROTTLE , mOldThrottle) != 0) { - if (Float.compare(newAXIS_THROTTLE, 0.0f) == 0) { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, false, 0.0f, true); - }else { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, true, newAXIS_THROTTLE, true); - } + GameControllerAdapter.onAxisEvent(deviceName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, newAXIS_THROTTLE, true); mOldThrottle = newAXIS_THROTTLE; handled = true; } float newAXIS_GAS = event.getAxisValue(AXIS_GAS); if (Float.compare(newAXIS_GAS , mOldGas) != 0) { - if (Float.compare(newAXIS_GAS, 0.0f) == 0) { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, false, 0.0f, true); - }else { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, true, newAXIS_GAS, true); - } + GameControllerAdapter.onAxisEvent(deviceName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, newAXIS_GAS, true); mOldGas = newAXIS_GAS; handled = true; } @@ -170,19 +151,19 @@ public class GameControllerHelper { boolean handled = false; int eventSource = event.getSource(); - int controllerKey = ControllerKeyMap.get(event.getKeyCode()); + int keyCode = event.getKeyCode(); + int controllerKey = ControllerKeyMap.get(keyCode); if (controllerKey != 0 && (((eventSource & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) - || ((eventSource & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK) - || ((eventSource & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD))) + || ((eventSource & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK) )) { int action = event.getAction(); if (action == KeyEvent.ACTION_DOWN) { handled = true; - GameControllerAdapter.onButtonEvent(StandardControllerName,event.getDeviceId(), controllerKey,true, 1.0f, false); + GameControllerAdapter.onButtonEvent(event.getDevice().getName(),event.getDeviceId(), controllerKey,true, 1.0f, false); }else if (action == KeyEvent.ACTION_UP) { handled = true; - GameControllerAdapter.onButtonEvent(StandardControllerName,event.getDeviceId(), controllerKey,false, 0.0f, false); + GameControllerAdapter.onButtonEvent(event.getDevice().getName(),event.getDeviceId(), controllerKey,false, 0.0f, false); } } diff --git a/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerMoga.java b/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerMoga.java index 0ebfc23a70..2fe73a642b 100644 --- a/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerMoga.java +++ b/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerMoga.java @@ -129,28 +129,18 @@ public class GameControllerMoga implements ControllerListener, GameControllerDel float newLeftTrigger = event.getAxisValue(MotionEvent.AXIS_LTRIGGER); if (newLeftTrigger != mOldLeftTrigger) { - boolean isPressed = true; - if (Float.compare(newLeftTrigger, 0.0f) == 0) { - isPressed = false; - } - mControllerEventListener.onButtonEvent(mVendorName, + mControllerEventListener.onAxisEvent(mVendorName, controllerId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, - isPressed, newLeftTrigger, true); mOldLeftTrigger = newLeftTrigger; } float newRightTrigger = event.getAxisValue(MotionEvent.AXIS_RTRIGGER); if (newRightTrigger != mOldRightTrigger) { - boolean isPressed = true; - if (Float.compare(newRightTrigger, 0.0f) == 0) { - isPressed = false; - } - mControllerEventListener.onButtonEvent(mVendorName, + mControllerEventListener.onAxisEvent(mVendorName, controllerId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, - isPressed, newRightTrigger, true); mOldRightTrigger = newRightTrigger; } diff --git a/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerOuya.java b/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerOuya.java index 30149f7761..903449cdd3 100644 --- a/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerOuya.java +++ b/cocos/platform/android/ControllerManualAdapter/src/org/cocos2dx/lib/GameControllerOuya.java @@ -66,21 +66,13 @@ public class GameControllerOuya implements GameControllerDelegate{ float newLeftTrigger = c.getAxisValue(OuyaController.AXIS_L2); if (Float.compare(newLeftTrigger, mOldLeftTrigger) != 0) { - if (Float.compare(newLeftTrigger, 0.0f) == 0) { - mControllerEventListener.onButtonEvent(sVendorName, controllerID, GameControllerDelegate.BUTTON_LEFT_TRIGGER, false, 0.0f, true); - }else { - mControllerEventListener.onButtonEvent(sVendorName, controllerID, GameControllerDelegate.BUTTON_LEFT_TRIGGER, true, newLeftTrigger, true); - } + mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.BUTTON_LEFT_TRIGGER, newLeftTrigger, true); mOldLeftTrigger = newLeftTrigger; } float newRightTrigger = c.getAxisValue(OuyaController.AXIS_R2); if (Float.compare(newRightTrigger, mOldRightTrigger) != 0) { - if (Float.compare(newRightTrigger, 0.0f) == 0) { - mControllerEventListener.onButtonEvent(sVendorName, controllerID, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, false, 0.0f, true); - }else { - mControllerEventListener.onButtonEvent(sVendorName, controllerID, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, true, newRightTrigger, true); - } + mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, newRightTrigger, true); mOldRightTrigger = newRightTrigger; } diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerDelegate.java b/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerDelegate.java index 68d486d3e6..9f90704dbe 100644 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerDelegate.java +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerDelegate.java @@ -6,34 +6,36 @@ import android.view.MotionEvent; public interface GameControllerDelegate { - public static final int THUMBSTICK_LEFT_X = 100; - public static final int THUMBSTICK_LEFT_Y = 101; - public static final int THUMBSTICK_RIGHT_X = 102; - public static final int THUMBSTICK_RIGHT_Y = 103; + static final int KEY_BASE = 1000; + + public static final int THUMBSTICK_LEFT_X = KEY_BASE; + public static final int THUMBSTICK_LEFT_Y = KEY_BASE + 1; + public static final int THUMBSTICK_RIGHT_X = KEY_BASE + 2; + public static final int THUMBSTICK_RIGHT_Y = KEY_BASE + 3; - public static final int BUTTON_A = 110; - public static final int BUTTON_B = 111; - public static final int BUTTON_C = 112; - public static final int BUTTON_X = 113; - public static final int BUTTON_Y = 114; - public static final int BUTTON_Z = 115; + public static final int BUTTON_A = KEY_BASE + 4; + public static final int BUTTON_B = KEY_BASE + 5; + public static final int BUTTON_C = KEY_BASE + 6; + public static final int BUTTON_X = KEY_BASE + 7; + public static final int BUTTON_Y = KEY_BASE + 8; + public static final int BUTTON_Z = KEY_BASE + 9; - public static final int BUTTON_LEFT_SHOULDER = 120; - public static final int BUTTON_RIGHT_SHOULDER = 121; - public static final int BUTTON_LEFT_TRIGGER = 122; - public static final int BUTTON_RIGHT_TRIGGER = 123; + public static final int BUTTON_DPAD_UP = KEY_BASE + 10; + public static final int BUTTON_DPAD_DOWN = KEY_BASE + 11; + public static final int BUTTON_DPAD_LEFT = KEY_BASE + 12; + public static final int BUTTON_DPAD_RIGHT = KEY_BASE + 13; + public static final int BUTTON_DPAD_CENTER = KEY_BASE + 14; - public static final int BUTTON_DPAD_UP = 130; - public static final int BUTTON_DPAD_DOWN = 131; - public static final int BUTTON_DPAD_LEFT = 132; - public static final int BUTTON_DPAD_RIGHT = 133; - public static final int BUTTON_DPAD_CENTER = 134; + public static final int BUTTON_LEFT_SHOULDER = KEY_BASE + 15; + public static final int BUTTON_RIGHT_SHOULDER = KEY_BASE + 16; + public static final int BUTTON_LEFT_TRIGGER = KEY_BASE + 17; + public static final int BUTTON_RIGHT_TRIGGER = KEY_BASE + 18; - public static final int BUTTON_LEFT_THUMBSTICK = 140; - public static final int BUTTON_RIGHT_THUMBSTICK = 141; + public static final int BUTTON_LEFT_THUMBSTICK = KEY_BASE + 19; + public static final int BUTTON_RIGHT_THUMBSTICK = KEY_BASE + 20; - public static final int BUTTON_START = 150; - public static final int BUTTON_SELECT = 151; + public static final int BUTTON_START = KEY_BASE + 21; + public static final int BUTTON_SELECT = KEY_BASE + 22; void onCreate(Context context); void onPause(); diff --git a/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp b/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp index ff19c31618..e9c0598539 100644 --- a/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp +++ b/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp @@ -160,6 +160,7 @@ bool LuaStack::init(void) register_all_cocos2dx_ui(_state); register_all_cocos2dx_studio(_state); register_all_cocos2dx_manual(_state); + register_all_cocos2dx_module_manual(_state); register_all_cocos2dx_extension_manual(_state); register_all_cocos2dx_coco_studio_manual(_state); register_all_cocos2dx_ui_manual(_state); diff --git a/cocos/scripting/lua-bindings/manual/lua_cocos2dx_manual.cpp b/cocos/scripting/lua-bindings/manual/lua_cocos2dx_manual.cpp index edee61b00e..518658a019 100644 --- a/cocos/scripting/lua-bindings/manual/lua_cocos2dx_manual.cpp +++ b/cocos/scripting/lua-bindings/manual/lua_cocos2dx_manual.cpp @@ -6429,3 +6429,90 @@ int register_all_cocos2dx_manual(lua_State* tolua_S) return 0; } + +static int tolua_cocos2d_utils_captureScreen(lua_State* tolua_S) +{ +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; + if (!tolua_istable(tolua_S,1,0, &tolua_err) || + !toluafix_isfunction(tolua_S,2,"LUA_FUNCTION",0,&tolua_err) || + !tolua_isstring(tolua_S, 3, 0, &tolua_err) + ) + goto tolua_lerror; + else +#endif + { + LUA_FUNCTION handler = toluafix_ref_function(tolua_S,2,0); + std::string fileName = tolua_tocppstring(tolua_S, 3, ""); + cocos2d::utils::captureScreen([=](bool succeed, const std::string& name ){ + + tolua_pushboolean(tolua_S, succeed); + tolua_pushstring(tolua_S, name.c_str()); + LuaEngine::getInstance()->getLuaStack()->executeFunctionByHandler(handler, 2); + LuaEngine::getInstance()->removeScriptHandler(handler); + }, fileName); + + return 0; + } +#if COCOS2D_DEBUG >= 1 +tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'captureScreen'.",&tolua_err); + return 0; +#endif +} + +static int tolua_cocos2d_utils_findChildren(lua_State* tolua_S) +{ +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; + if (!tolua_istable(tolua_S,1,0, &tolua_err) || + !tolua_isusertype(tolua_S, 2, "cc.Node", 0, &tolua_err) || + !tolua_isstring(tolua_S, 3, 0, &tolua_err) + ) + goto tolua_lerror; + else +#endif + { + cocos2d::Node* node = static_cast(tolua_tousertype(tolua_S, 2, nullptr)); + std::string name = tolua_tocppstring(tolua_S, 3, ""); + std::vector children = cocos2d::utils::findChildren(*node, name); + lua_newtable(tolua_S); + int index = 1; + for (const auto& obj : children) + { + if (nullptr == obj) + continue; + + lua_pushnumber(tolua_S, (lua_Number)index); + int ID = (obj) ? (int)obj->_ID : -1; + int* luaID = (obj) ? &obj->_luaID : NULL; + toluafix_pushusertype_ccobject(tolua_S, ID, luaID, (void*)obj, "cc.Node"); + lua_rawset(tolua_S, -3); + ++index; + } + return 1; + } +#if COCOS2D_DEBUG >= 1 +tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'findChildren'.",&tolua_err); + return 0; +#endif +} + +int register_all_cocos2dx_module_manual(lua_State* tolua_S) +{ + if (nullptr == tolua_S) + return 0; + + tolua_open(tolua_S); + tolua_module(tolua_S, "cc", 0); + tolua_beginmodule(tolua_S, "cc"); + tolua_module(tolua_S, "utils", 0); + tolua_beginmodule(tolua_S,"utils"); + tolua_function(tolua_S, "captureScreen", tolua_cocos2d_utils_captureScreen); + tolua_function(tolua_S, "findChildren", tolua_cocos2d_utils_findChildren); + tolua_endmodule(tolua_S); + tolua_endmodule(tolua_S); + + return 0; +} diff --git a/cocos/scripting/lua-bindings/manual/lua_cocos2dx_manual.hpp b/cocos/scripting/lua-bindings/manual/lua_cocos2dx_manual.hpp index d8dae90200..814b25578c 100644 --- a/cocos/scripting/lua-bindings/manual/lua_cocos2dx_manual.hpp +++ b/cocos/scripting/lua-bindings/manual/lua_cocos2dx_manual.hpp @@ -55,6 +55,8 @@ TOLUA_API int register_all_cocos2dx_manual(lua_State* tolua_S); TOLUA_API int register_cocos2dx_event_releated(lua_State* tolua_S); +TOLUA_API int register_all_cocos2dx_module_manual(lua_State* tolua_S); + struct LuaEventAccelerationData { void* acc; diff --git a/cocos/scripting/lua-bindings/manual/lua_debugger.c b/cocos/scripting/lua-bindings/manual/lua_debugger.c index 7499193e5a..e0acc689b0 100644 --- a/cocos/scripting/lua-bindings/manual/lua_debugger.c +++ b/cocos/scripting/lua-bindings/manual/lua_debugger.c @@ -354,7 +354,7 @@ static const char lua_m_ldt_debugger[] = { 0x08,0x01,0x00,0x29,0x09,0x02,0x00,0x3e,0x05,0x05,0x02,0x0e,0x00,0x05,0x00,0x54, 0x05,0x0b,0x80,0x2b,0x05,0x01,0x00,0x37,0x05,0x0a,0x05,0x37,0x06,0x0b,0x00,0x33, 0x07,0x0c,0x00,0x33,0x08,0x0d,0x00,0x37,0x09,0x0e,0x01,0x3a,0x09,0x0f,0x08,0x3a, - 0x08,0x10,0x07,0x3e,0x05,0x03,0x01,0x29,0x05,0x02,0x00,0x48,0x05,0x02,0x00,0x33, + 0x08,0x10,0x07,0x3e,0x05,0x03,0x01,0x29,0x05,0x00,0x00,0x48,0x05,0x02,0x00,0x33, 0x05,0x12,0x00,0x37,0x06,0x11,0x01,0x3a,0x06,0x13,0x05,0x37,0x06,0x14,0x01,0x0e, 0x00,0x06,0x00,0x54,0x07,0x01,0x80,0x25,0x06,0x15,0x00,0x3a,0x06,0x16,0x05,0x37, 0x06,0x17,0x01,0x06,0x06,0x18,0x00,0x54,0x06,0x02,0x80,0x29,0x06,0x01,0x00,0x54, @@ -465,2622 +465,2626 @@ static const char lua_m_ldt_debugger[] = { 0x06,0x6f,0x17,0x4e,0x6f,0x20,0x73,0x75,0x63,0x68,0x20,0x62,0x72,0x65,0x61,0x6b, 0x70,0x69,0x6e,0x74,0x20,0x0a,0x65,0x72,0x72,0x6f,0x72,0x06,0x64,0x0d,0x74,0x6f, 0x6e,0x75,0x6d,0x62,0x65,0x72,0x08,0x67,0x65,0x74,0x10,0x62,0x72,0x65,0x61,0x6b, - 0x70,0x6f,0x69,0x6e,0x74,0x73,0xfe,0x01,0x00,0x02,0x07,0x02,0x0d,0x00,0x1b,0x33, + 0x70,0x6f,0x69,0x6e,0x74,0x73,0x8a,0x02,0x00,0x02,0x07,0x02,0x0d,0x00,0x1e,0x33, 0x02,0x00,0x00,0x33,0x03,0x01,0x00,0x37,0x04,0x02,0x01,0x3a,0x04,0x03,0x03,0x3a, - 0x03,0x04,0x02,0x2b,0x03,0x00,0x00,0x37,0x03,0x05,0x03,0x37,0x03,0x06,0x03,0x34, - 0x04,0x07,0x00,0x37,0x05,0x08,0x01,0x3e,0x04,0x02,0x00,0x3d,0x03,0x00,0x02,0x0e, - 0x00,0x03,0x00,0x54,0x03,0x07,0x80,0x2b,0x03,0x01,0x00,0x37,0x03,0x09,0x03,0x27, - 0x04,0xcd,0x00,0x25,0x05,0x0a,0x00,0x37,0x06,0x08,0x01,0x24,0x05,0x06,0x05,0x3e, - 0x03,0x03,0x01,0x2b,0x03,0x01,0x00,0x37,0x03,0x0b,0x03,0x37,0x04,0x0c,0x00,0x10, - 0x05,0x02,0x00,0x3e,0x03,0x03,0x01,0x47,0x00,0x01,0x00,0x03,0xc0,0x04,0xc0,0x08, - 0x73,0x6b,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x17,0x4e,0x6f,0x20, - 0x73,0x75,0x63,0x68,0x20,0x62,0x72,0x65,0x61,0x6b,0x70,0x69,0x6e,0x74,0x20,0x0a, - 0x65,0x72,0x72,0x6f,0x72,0x06,0x64,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72, - 0x0b,0x72,0x65,0x6d,0x6f,0x76,0x65,0x10,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69, - 0x6e,0x74,0x73,0x09,0x61,0x74,0x74,0x72,0x13,0x74,0x72,0x61,0x6e,0x73,0x61,0x63, - 0x74,0x69,0x6f,0x6e,0x5f,0x69,0x64,0x06,0x69,0x01,0x00,0x01,0x0c,0x63,0x6f,0x6d, - 0x6d,0x61,0x6e,0x64,0x16,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x5f, - 0x72,0x65,0x6d,0x6f,0x76,0x65,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65, - 0x73,0x70,0x6f,0x6e,0x73,0x65,0xa4,0x02,0x00,0x02,0x0c,0x02,0x10,0x01,0x27,0x27, - 0x02,0x00,0x00,0x2b,0x03,0x00,0x00,0x10,0x04,0x00,0x00,0x37,0x05,0x00,0x01,0x3e, - 0x03,0x03,0x02,0x27,0x04,0x00,0x00,0x34,0x05,0x01,0x00,0x37,0x05,0x02,0x05,0x27, - 0x06,0x01,0x00,0x49,0x04,0x12,0x80,0x10,0x09,0x03,0x00,0x37,0x08,0x03,0x03,0x10, - 0x0a,0x07,0x00,0x25,0x0b,0x04,0x00,0x3e,0x08,0x04,0x02,0x0e,0x00,0x08,0x00,0x54, - 0x09,0x01,0x80,0x54,0x04,0x0a,0x80,0x14,0x02,0x00,0x02,0x37,0x09,0x05,0x08,0x0f, - 0x00,0x09,0x00,0x54,0x0a,0x01,0x80,0x14,0x02,0x00,0x02,0x37,0x09,0x06,0x08,0x07, - 0x09,0x07,0x00,0x54,0x09,0x01,0x80,0x54,0x04,0x01,0x80,0x4b,0x04,0xee,0x7f,0x2b, - 0x04,0x01,0x00,0x37,0x04,0x08,0x04,0x37,0x05,0x09,0x00,0x33,0x06,0x0a,0x00,0x33, - 0x07,0x0b,0x00,0x37,0x08,0x0c,0x01,0x3a,0x08,0x0d,0x07,0x3a,0x02,0x0e,0x07,0x3a, - 0x07,0x0f,0x06,0x3e,0x04,0x03,0x01,0x47,0x00,0x01,0x00,0x0b,0xc0,0x04,0xc0,0x09, - 0x61,0x74,0x74,0x72,0x0a,0x64,0x65,0x70,0x74,0x68,0x13,0x74,0x72,0x61,0x6e,0x73, - 0x61,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x64,0x06,0x69,0x01,0x00,0x01,0x0c,0x63, - 0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x10,0x73,0x74,0x61,0x63,0x6b,0x5f,0x64,0x65,0x70, - 0x74,0x68,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e, - 0x73,0x65,0x08,0x73,0x6b,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x09, - 0x6d,0x61,0x69,0x6e,0x09,0x77,0x68,0x61,0x74,0x0f,0x69,0x73,0x74,0x61,0x69,0x6c, - 0x63,0x61,0x6c,0x6c,0x07,0x53,0x74,0x0c,0x67,0x65,0x74,0x69,0x6e,0x66,0x6f,0x09, - 0x68,0x75,0x67,0x65,0x09,0x6d,0x61,0x74,0x68,0x06,0x6f,0x02,0xe9,0x01,0x00,0x02, - 0x06,0x02,0x0d,0x00,0x1d,0x33,0x02,0x00,0x00,0x3a,0x01,0x01,0x02,0x37,0x03,0x02, - 0x00,0x3a,0x03,0x03,0x02,0x2b,0x03,0x00,0x00,0x37,0x03,0x04,0x03,0x37,0x04,0x05, - 0x00,0x3e,0x03,0x02,0x02,0x0f,0x00,0x03,0x00,0x54,0x04,0x07,0x80,0x37,0x04,0x06, - 0x00,0x0f,0x00,0x04,0x00,0x54,0x05,0x04,0x80,0x3a,0x03,0x07,0x02,0x37,0x04,0x06, - 0x00,0x3a,0x04,0x08,0x02,0x54,0x04,0x09,0x80,0x2b,0x04,0x01,0x00,0x37,0x05,0x09, - 0x00,0x36,0x04,0x05,0x04,0x0e,0x00,0x04,0x00,0x54,0x05,0x01,0x80,0x25,0x04,0x0a, - 0x00,0x3a,0x04,0x07,0x02,0x27,0x04,0xff,0xff,0x3a,0x04,0x08,0x02,0x33,0x04,0x0b, - 0x00,0x3a,0x02,0x0c,0x04,0x48,0x04,0x02,0x00,0x00,0x00,0x02,0xc0,0x09,0x61,0x74, - 0x74,0x72,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0a,0x73,0x74,0x61,0x63,0x6b,0x0e, - 0x75,0x6e,0x6b,0x6e,0x6f,0x77,0x6e,0x3a,0x2f,0x09,0x77,0x68,0x61,0x74,0x0b,0x6c, - 0x69,0x6e,0x65,0x6e,0x6f,0x0d,0x66,0x69,0x6c,0x65,0x6e,0x61,0x6d,0x65,0x10,0x63, - 0x75,0x72,0x72,0x65,0x6e,0x74,0x6c,0x69,0x6e,0x65,0x0b,0x73,0x6f,0x75,0x72,0x63, - 0x65,0x0c,0x67,0x65,0x74,0x5f,0x75,0x72,0x69,0x0a,0x77,0x68,0x65,0x72,0x65,0x09, - 0x6e,0x61,0x6d,0x65,0x0a,0x6c,0x65,0x76,0x65,0x6c,0x01,0x00,0x01,0x09,0x74,0x79, - 0x70,0x65,0x09,0x66,0x69,0x6c,0x65,0x92,0x04,0x01,0x02,0x0f,0x03,0x17,0x01,0x47, - 0x33,0x02,0x00,0x00,0x31,0x03,0x01,0x00,0x33,0x04,0x02,0x00,0x33,0x05,0x03,0x00, - 0x37,0x06,0x04,0x01,0x3a,0x06,0x05,0x05,0x3a,0x05,0x06,0x04,0x2b,0x05,0x01,0x00, - 0x10,0x06,0x00,0x00,0x37,0x07,0x07,0x01,0x3e,0x05,0x03,0x02,0x37,0x06,0x08,0x01, - 0x0f,0x00,0x06,0x00,0x54,0x07,0x0f,0x80,0x34,0x06,0x09,0x00,0x37,0x07,0x08,0x01, - 0x3e,0x06,0x02,0x02,0x13,0x07,0x04,0x00,0x14,0x07,0x00,0x07,0x10,0x08,0x03,0x00, - 0x10,0x0a,0x05,0x00,0x37,0x09,0x0a,0x05,0x10,0x0b,0x06,0x00,0x25,0x0c,0x0b,0x00, - 0x3e,0x09,0x04,0x02,0x10,0x0a,0x06,0x00,0x3e,0x08,0x03,0x02,0x39,0x08,0x07,0x04, - 0x54,0x06,0x23,0x80,0x27,0x06,0x00,0x00,0x34,0x07,0x0c,0x00,0x37,0x07,0x0d,0x07, - 0x27,0x08,0x01,0x00,0x49,0x06,0x1e,0x80,0x10,0x0b,0x05,0x00,0x37,0x0a,0x0a,0x05, - 0x10,0x0c,0x09,0x00,0x25,0x0d,0x0e,0x00,0x3e,0x0a,0x04,0x02,0x0e,0x00,0x0a,0x00, - 0x54,0x0b,0x01,0x80,0x54,0x06,0x16,0x80,0x13,0x0b,0x04,0x00,0x14,0x0b,0x00,0x0b, - 0x10,0x0c,0x03,0x00,0x10,0x0d,0x0a,0x00,0x10,0x0e,0x09,0x00,0x3e,0x0c,0x03,0x02, - 0x39,0x0c,0x0b,0x04,0x37,0x0b,0x0f,0x0a,0x0f,0x00,0x0b,0x00,0x54,0x0c,0x07,0x80, - 0x13,0x0b,0x04,0x00,0x14,0x0b,0x00,0x0b,0x33,0x0c,0x10,0x00,0x33,0x0d,0x11,0x00, - 0x3a,0x09,0x12,0x0d,0x3a,0x0d,0x06,0x0c,0x39,0x0c,0x0b,0x04,0x37,0x0b,0x13,0x0a, - 0x07,0x0b,0x14,0x00,0x54,0x0b,0x01,0x80,0x54,0x06,0x01,0x80,0x4b,0x06,0xe2,0x7f, - 0x2b,0x06,0x02,0x00,0x37,0x06,0x15,0x06,0x37,0x07,0x16,0x00,0x10,0x08,0x04,0x00, - 0x3e,0x06,0x03,0x01,0x30,0x00,0x00,0x80,0x47,0x00,0x01,0x00,0x06,0xc0,0x0b,0xc0, - 0x04,0xc0,0x08,0x73,0x6b,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x09, - 0x6d,0x61,0x69,0x6e,0x09,0x77,0x68,0x61,0x74,0x0a,0x6c,0x65,0x76,0x65,0x6c,0x01, - 0x00,0x03,0x09,0x74,0x79,0x70,0x65,0x09,0x66,0x69,0x6c,0x65,0x0d,0x66,0x69,0x6c, - 0x65,0x6e,0x61,0x6d,0x65,0x11,0x74,0x61,0x69,0x6c,0x72,0x65,0x74,0x75,0x72,0x6e, - 0x3a,0x2f,0x0b,0x6c,0x69,0x6e,0x65,0x6e,0x6f,0x03,0xff,0xff,0xff,0xff,0x0f,0x01, - 0x00,0x01,0x08,0x74,0x61,0x67,0x0a,0x73,0x74,0x61,0x63,0x6b,0x0f,0x69,0x73,0x74, - 0x61,0x69,0x6c,0x63,0x61,0x6c,0x6c,0x09,0x6e,0x53,0x6c,0x74,0x09,0x68,0x75,0x67, - 0x65,0x09,0x6d,0x61,0x74,0x68,0x08,0x6e,0x53,0x6c,0x0c,0x67,0x65,0x74,0x69,0x6e, - 0x66,0x6f,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x06,0x64,0x06,0x6f,0x09, + 0x03,0x04,0x02,0x37,0x03,0x05,0x01,0x0f,0x00,0x03,0x00,0x54,0x04,0x10,0x80,0x2b, + 0x03,0x00,0x00,0x37,0x03,0x06,0x03,0x37,0x03,0x07,0x03,0x34,0x04,0x08,0x00,0x37, + 0x05,0x05,0x01,0x3e,0x04,0x02,0x00,0x3d,0x03,0x00,0x02,0x0e,0x00,0x03,0x00,0x54, + 0x03,0x07,0x80,0x2b,0x03,0x01,0x00,0x37,0x03,0x09,0x03,0x27,0x04,0xcd,0x00,0x25, + 0x05,0x0a,0x00,0x37,0x06,0x05,0x01,0x24,0x05,0x06,0x05,0x3e,0x03,0x03,0x01,0x2b, + 0x03,0x01,0x00,0x37,0x03,0x0b,0x03,0x37,0x04,0x0c,0x00,0x10,0x05,0x02,0x00,0x3e, + 0x03,0x03,0x01,0x47,0x00,0x01,0x00,0x03,0xc0,0x04,0xc0,0x08,0x73,0x6b,0x74,0x0d, + 0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x17,0x4e,0x6f,0x20,0x73,0x75,0x63,0x68, + 0x20,0x62,0x72,0x65,0x61,0x6b,0x70,0x69,0x6e,0x74,0x20,0x0a,0x65,0x72,0x72,0x6f, + 0x72,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x0b,0x72,0x65,0x6d,0x6f,0x76, + 0x65,0x10,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x73,0x06,0x64,0x09, 0x61,0x74,0x74,0x72,0x13,0x74,0x72,0x61,0x6e,0x73,0x61,0x63,0x74,0x69,0x6f,0x6e, 0x5f,0x69,0x64,0x06,0x69,0x01,0x00,0x01,0x0c,0x63,0x6f,0x6d,0x6d,0x61,0x6e,0x64, - 0x0e,0x73,0x74,0x61,0x63,0x6b,0x5f,0x67,0x65,0x74,0x01,0x00,0x01,0x08,0x74,0x61, - 0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x00,0x01,0x00,0x02,0x06,0x43, - 0x0c,0x63,0x63,0x6f,0x64,0x65,0x3a,0x2f,0x09,0x74,0x61,0x69,0x6c,0x11,0x74,0x61, - 0x69,0x6c,0x72,0x65,0x74,0x75,0x72,0x6e,0x3a,0x2f,0x02,0xd1,0x02,0x00,0x02,0x0e, - 0x02,0x14,0x01,0x28,0x37,0x02,0x00,0x00,0x38,0x02,0x01,0x02,0x33,0x03,0x01,0x00, - 0x33,0x04,0x02,0x00,0x37,0x05,0x03,0x01,0x3a,0x05,0x04,0x04,0x3a,0x04,0x05,0x03, - 0x34,0x04,0x06,0x00,0x2b,0x05,0x00,0x00,0x37,0x05,0x07,0x05,0x37,0x05,0x08,0x05, - 0x3e,0x04,0x02,0x04,0x44,0x07,0x13,0x80,0x06,0x07,0x09,0x00,0x54,0x09,0x11,0x80, - 0x13,0x09,0x03,0x00,0x14,0x09,0x00,0x09,0x33,0x0a,0x0a,0x00,0x33,0x0b,0x0b,0x00, - 0x3a,0x07,0x0c,0x0b,0x34,0x0c,0x0d,0x00,0x10,0x0d,0x08,0x00,0x3e,0x0c,0x02,0x02, - 0x3a,0x0c,0x0e,0x0b,0x05,0x08,0x02,0x00,0x54,0x0c,0x02,0x80,0x25,0x0c,0x0f,0x00, - 0x54,0x0d,0x01,0x80,0x25,0x0c,0x10,0x00,0x3a,0x0c,0x11,0x0b,0x3a,0x0b,0x05,0x0a, - 0x39,0x0a,0x09,0x03,0x42,0x07,0x03,0x03,0x4e,0x07,0xeb,0x7f,0x2b,0x04,0x01,0x00, - 0x37,0x04,0x12,0x04,0x37,0x05,0x13,0x00,0x10,0x06,0x03,0x00,0x3e,0x04,0x03,0x01, - 0x47,0x00,0x01,0x00,0x03,0xc0,0x04,0xc0,0x08,0x73,0x6b,0x74,0x0d,0x73,0x65,0x6e, - 0x64,0x5f,0x78,0x6d,0x6c,0x0c,0x72,0x75,0x6e,0x6e,0x69,0x6e,0x67,0x06,0x30,0x06, - 0x31,0x09,0x6e,0x61,0x6d,0x65,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x07, - 0x69,0x64,0x01,0x00,0x00,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0e,0x63,0x6f,0x72, - 0x6f,0x75,0x74,0x69,0x6e,0x65,0x06,0x6e,0x0c,0x66,0x72,0x6f,0x6d,0x5f,0x69,0x64, - 0x16,0x61,0x63,0x74,0x69,0x76,0x65,0x5f,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e, - 0x65,0x73,0x0a,0x70,0x61,0x69,0x72,0x73,0x09,0x61,0x74,0x74,0x72,0x13,0x74,0x72, - 0x61,0x6e,0x73,0x61,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x64,0x06,0x69,0x01,0x00, - 0x01,0x0c,0x63,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x13,0x63,0x6f,0x72,0x6f,0x75,0x74, - 0x69,0x6e,0x65,0x5f,0x6c,0x69,0x73,0x74,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0d, - 0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x09,0x63,0x6f,0x72,0x6f,0x02,0xbf,0x03, - 0x00,0x02,0x09,0x02,0x15,0x00,0x31,0x2b,0x02,0x00,0x00,0x10,0x03,0x00,0x00,0x37, - 0x04,0x00,0x01,0x3e,0x02,0x03,0x02,0x34,0x03,0x01,0x00,0x37,0x04,0x02,0x01,0x0e, - 0x00,0x04,0x00,0x54,0x05,0x01,0x80,0x27,0x04,0x00,0x00,0x3e,0x03,0x02,0x02,0x10, - 0x05,0x02,0x00,0x37,0x04,0x03,0x02,0x10,0x06,0x03,0x00,0x25,0x07,0x04,0x00,0x3e, - 0x04,0x04,0x02,0x0e,0x00,0x04,0x00,0x54,0x05,0x09,0x80,0x2b,0x04,0x01,0x00,0x37, - 0x04,0x05,0x04,0x27,0x05,0x2d,0x01,0x25,0x06,0x06,0x00,0x34,0x07,0x07,0x00,0x10, - 0x08,0x03,0x00,0x3e,0x07,0x02,0x02,0x24,0x06,0x07,0x06,0x3e,0x04,0x03,0x02,0x33, - 0x05,0x08,0x00,0x33,0x06,0x09,0x00,0x37,0x07,0x0a,0x01,0x3a,0x07,0x0b,0x06,0x3a, - 0x06,0x0c,0x05,0x33,0x06,0x0d,0x00,0x33,0x07,0x0e,0x00,0x3a,0x07,0x0c,0x06,0x3b, - 0x06,0x01,0x05,0x33,0x06,0x0f,0x00,0x33,0x07,0x10,0x00,0x3a,0x07,0x0c,0x06,0x3b, - 0x06,0x02,0x05,0x33,0x06,0x11,0x00,0x33,0x07,0x12,0x00,0x3a,0x07,0x0c,0x06,0x3b, - 0x06,0x03,0x05,0x2b,0x06,0x01,0x00,0x37,0x06,0x13,0x06,0x37,0x07,0x14,0x00,0x10, - 0x08,0x05,0x00,0x3e,0x06,0x03,0x01,0x47,0x00,0x01,0x00,0x0b,0xc0,0x04,0xc0,0x08, - 0x73,0x6b,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x01,0x00,0x02,0x07, - 0x69,0x64,0x03,0x01,0x09,0x6e,0x61,0x6d,0x65,0x0b,0x47,0x6c,0x6f,0x62,0x61,0x6c, - 0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0c,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x01, - 0x00,0x02,0x07,0x69,0x64,0x03,0x02,0x09,0x6e,0x61,0x6d,0x65,0x0c,0x55,0x70,0x76, - 0x61,0x6c,0x75,0x65,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0c,0x63,0x6f,0x6e,0x74, - 0x65,0x78,0x74,0x01,0x00,0x02,0x07,0x69,0x64,0x03,0x00,0x09,0x6e,0x61,0x6d,0x65, - 0x0a,0x4c,0x6f,0x63,0x61,0x6c,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0c,0x63,0x6f, - 0x6e,0x74,0x65,0x78,0x74,0x09,0x61,0x74,0x74,0x72,0x13,0x74,0x72,0x61,0x6e,0x73, - 0x61,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x64,0x06,0x69,0x01,0x00,0x01,0x0c,0x63, - 0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x12,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x5f,0x6e, - 0x61,0x6d,0x65,0x73,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70, - 0x6f,0x6e,0x73,0x65,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x19,0x4e,0x6f, - 0x20,0x73,0x75,0x63,0x68,0x20,0x73,0x74,0x61,0x63,0x6b,0x20,0x6c,0x65,0x76,0x65, - 0x6c,0x20,0x0a,0x65,0x72,0x72,0x6f,0x72,0x06,0x66,0x0c,0x67,0x65,0x74,0x69,0x6e, - 0x66,0x6f,0x06,0x64,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x06,0x6f,0xba, - 0x04,0x00,0x02,0x18,0x05,0x18,0x01,0x54,0x34,0x02,0x00,0x00,0x37,0x03,0x01,0x01, - 0x0e,0x00,0x03,0x00,0x54,0x04,0x01,0x80,0x27,0x03,0x00,0x00,0x3e,0x02,0x02,0x02, - 0x2b,0x03,0x00,0x00,0x37,0x03,0x02,0x03,0x36,0x03,0x02,0x03,0x0e,0x00,0x03,0x00, - 0x54,0x04,0x09,0x80,0x2b,0x03,0x01,0x00,0x37,0x03,0x03,0x03,0x27,0x04,0x2e,0x01, - 0x25,0x05,0x04,0x00,0x34,0x06,0x05,0x00,0x10,0x07,0x02,0x00,0x3e,0x06,0x02,0x02, - 0x24,0x05,0x06,0x05,0x3e,0x03,0x03,0x02,0x34,0x04,0x00,0x00,0x37,0x05,0x06,0x01, - 0x0e,0x00,0x05,0x00,0x54,0x06,0x01,0x80,0x27,0x05,0x00,0x00,0x3e,0x04,0x02,0x02, - 0x2b,0x05,0x02,0x00,0x10,0x06,0x00,0x00,0x37,0x07,0x07,0x01,0x3e,0x05,0x03,0x02, - 0x37,0x06,0x08,0x00,0x10,0x07,0x05,0x00,0x10,0x08,0x04,0x00,0x3e,0x06,0x03,0x02, - 0x33,0x07,0x09,0x00,0x33,0x08,0x0a,0x00,0x37,0x09,0x0b,0x01,0x3a,0x09,0x0c,0x08, - 0x2b,0x09,0x00,0x00,0x3a,0x09,0x0d,0x08,0x3a,0x08,0x0e,0x07,0x09,0x02,0x00,0x00, - 0x54,0x08,0x03,0x80,0x34,0x08,0x0f,0x00,0x0e,0x00,0x08,0x00,0x54,0x09,0x04,0x80, - 0x34,0x08,0x10,0x00,0x36,0x09,0x03,0x06,0x3e,0x08,0x02,0x02,0x37,0x08,0x11,0x08, - 0x36,0x09,0x03,0x06,0x29,0x0a,0x00,0x00,0x54,0x0b,0x17,0x80,0x13,0x0d,0x07,0x00, - 0x14,0x0d,0x00,0x0d,0x2b,0x0e,0x03,0x00,0x37,0x0e,0x12,0x0e,0x10,0x0f,0x02,0x00, - 0x10,0x10,0x0c,0x00,0x10,0x11,0x0b,0x00,0x29,0x12,0x00,0x00,0x27,0x13,0x00,0x00, - 0x2b,0x14,0x04,0x00,0x37,0x14,0x13,0x14,0x37,0x14,0x14,0x14,0x27,0x15,0x00,0x00, - 0x2b,0x16,0x04,0x00,0x37,0x16,0x13,0x16,0x37,0x16,0x15,0x16,0x09,0x02,0x00,0x00, - 0x54,0x17,0x02,0x80,0x29,0x17,0x01,0x00,0x54,0x18,0x01,0x80,0x29,0x17,0x02,0x00, - 0x3e,0x0e,0x0a,0x02,0x39,0x0e,0x0d,0x07,0x41,0x0b,0x03,0x03,0x4e,0x0b,0xe7,0x7f, - 0x2b,0x08,0x01,0x00,0x37,0x08,0x16,0x08,0x37,0x09,0x17,0x00,0x10,0x0a,0x07,0x00, - 0x3e,0x08,0x03,0x01,0x47,0x00,0x01,0x00,0x08,0xc0,0x04,0xc0,0x0b,0xc0,0x07,0xc0, - 0x05,0xc0,0x08,0x73,0x6b,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x0d, - 0x6d,0x61,0x78,0x5f,0x64,0x61,0x74,0x61,0x11,0x6d,0x61,0x78,0x5f,0x63,0x68,0x69, - 0x6c,0x64,0x72,0x65,0x6e,0x0d,0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73,0x12,0x6d, - 0x61,0x6b,0x65,0x5f,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x0d,0x69,0x74,0x65, - 0x72,0x61,0x74,0x6f,0x72,0x11,0x67,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62, - 0x6c,0x65,0x09,0x6e,0x65,0x78,0x74,0x09,0x61,0x74,0x74,0x72,0x0c,0x63,0x6f,0x6e, - 0x74,0x65,0x78,0x74,0x13,0x74,0x72,0x61,0x6e,0x73,0x61,0x63,0x74,0x69,0x6f,0x6e, - 0x5f,0x69,0x64,0x06,0x69,0x01,0x00,0x01,0x0c,0x63,0x6f,0x6d,0x6d,0x61,0x6e,0x64, - 0x10,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x5f,0x67,0x65,0x74,0x01,0x00,0x01,0x08, - 0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x0a,0x73,0x74,0x61, - 0x63,0x6b,0x06,0x6f,0x06,0x64,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x16, - 0x4e,0x6f,0x20,0x73,0x75,0x63,0x68,0x20,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x3a, - 0x20,0x0a,0x65,0x72,0x72,0x6f,0x72,0x0c,0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x06, - 0x63,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x02,0x20,0x00,0x02,0x04,0x00, - 0x01,0x00,0x03,0x34,0x02,0x00,0x00,0x10,0x03,0x01,0x00,0x40,0x02,0x02,0x00,0x11, - 0x67,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x24,0x00,0x03,0x06, - 0x00,0x01,0x00,0x04,0x34,0x03,0x00,0x00,0x10,0x04,0x01,0x00,0x10,0x05,0x02,0x00, - 0x40,0x03,0x03,0x00,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c, - 0x65,0xa8,0x06,0x00,0x02,0x15,0x06,0x24,0x00,0x7a,0x34,0x02,0x00,0x00,0x2b,0x03, - 0x00,0x00,0x37,0x03,0x01,0x03,0x37,0x04,0x02,0x01,0x3e,0x03,0x02,0x02,0x10,0x04, - 0x03,0x00,0x37,0x03,0x03,0x03,0x25,0x05,0x04,0x00,0x3e,0x03,0x03,0x00,0x3d,0x02, - 0x00,0x03,0x34,0x04,0x05,0x00,0x37,0x05,0x06,0x01,0x0e,0x00,0x05,0x00,0x54,0x06, - 0x01,0x80,0x10,0x05,0x02,0x00,0x3e,0x04,0x02,0x02,0x10,0x02,0x04,0x00,0x2b,0x04, - 0x01,0x00,0x37,0x04,0x07,0x04,0x36,0x04,0x02,0x04,0x0e,0x00,0x04,0x00,0x54,0x05, - 0x09,0x80,0x2b,0x04,0x02,0x00,0x37,0x04,0x08,0x04,0x27,0x05,0x2e,0x01,0x25,0x06, - 0x09,0x00,0x34,0x07,0x0a,0x00,0x10,0x08,0x02,0x00,0x3e,0x07,0x02,0x02,0x24,0x06, - 0x07,0x06,0x3e,0x04,0x03,0x02,0x34,0x05,0x05,0x00,0x37,0x06,0x0b,0x01,0x0e,0x00, - 0x06,0x00,0x54,0x07,0x01,0x80,0x27,0x06,0x00,0x00,0x3e,0x05,0x02,0x02,0x2b,0x06, - 0x03,0x00,0x10,0x07,0x00,0x00,0x37,0x08,0x0c,0x01,0x3e,0x06,0x03,0x02,0x34,0x07, - 0x05,0x00,0x37,0x08,0x0d,0x01,0x0e,0x00,0x08,0x00,0x54,0x09,0x03,0x80,0x2b,0x08, - 0x00,0x00,0x37,0x08,0x0e,0x08,0x37,0x08,0x0f,0x08,0x3e,0x07,0x02,0x02,0x27,0x08, - 0x00,0x00,0x01,0x07,0x08,0x00,0x54,0x08,0x01,0x80,0x29,0x07,0x00,0x00,0x34,0x08, - 0x05,0x00,0x37,0x09,0x10,0x01,0x0e,0x00,0x09,0x00,0x54,0x0a,0x01,0x80,0x27,0x09, - 0x00,0x00,0x3e,0x08,0x02,0x02,0x37,0x09,0x11,0x00,0x10,0x0a,0x06,0x00,0x10,0x0b, - 0x05,0x00,0x3e,0x09,0x03,0x02,0x2b,0x0a,0x02,0x00,0x37,0x0a,0x00,0x0a,0x27,0x0b, - 0xce,0x00,0x2b,0x0c,0x00,0x00,0x37,0x0c,0x12,0x0c,0x25,0x0d,0x13,0x00,0x10,0x0e, - 0x03,0x00,0x24,0x0d,0x0e,0x0d,0x2b,0x0e,0x04,0x00,0x3e,0x0c,0x03,0x00,0x3d,0x0a, - 0x01,0x02,0x34,0x0b,0x14,0x00,0x27,0x0c,0x02,0x00,0x2b,0x0d,0x02,0x00,0x37,0x0d, - 0x00,0x0d,0x27,0x0e,0x2c,0x01,0x34,0x0f,0x15,0x00,0x10,0x10,0x0a,0x00,0x36,0x11, - 0x04,0x09,0x3e,0x0f,0x03,0x00,0x3d,0x0d,0x01,0x00,0x3d,0x0b,0x01,0x02,0x2b,0x0c, - 0x05,0x00,0x37,0x0c,0x16,0x0c,0x10,0x0d,0x02,0x00,0x10,0x0e,0x0b,0x00,0x10,0x0f, - 0x03,0x00,0x10,0x10,0x03,0x00,0x2b,0x11,0x00,0x00,0x37,0x11,0x0e,0x11,0x37,0x11, - 0x17,0x11,0x2b,0x12,0x00,0x00,0x37,0x12,0x0e,0x12,0x37,0x12,0x18,0x12,0x10,0x13, - 0x08,0x00,0x10,0x14,0x07,0x00,0x3e,0x0c,0x09,0x02,0x10,0x0e,0x03,0x00,0x37,0x0d, - 0x03,0x03,0x25,0x0f,0x19,0x00,0x3e,0x0d,0x03,0x02,0x05,0x0d,0x03,0x00,0x54,0x0d, - 0x03,0x80,0x37,0x0d,0x1a,0x0c,0x25,0x0e,0x1c,0x00,0x3a,0x0e,0x1b,0x0d,0x2b,0x0d, - 0x02,0x00,0x37,0x0d,0x1d,0x0d,0x37,0x0e,0x1e,0x00,0x33,0x0f,0x1f,0x00,0x33,0x10, - 0x20,0x00,0x37,0x11,0x21,0x01,0x3a,0x11,0x22,0x10,0x2b,0x11,0x01,0x00,0x3a,0x11, - 0x23,0x10,0x3a,0x10,0x1a,0x0f,0x3b,0x0c,0x01,0x0f,0x3e,0x0d,0x03,0x01,0x47,0x00, - 0x01,0x00,0x05,0xc0,0x08,0xc0,0x04,0xc0,0x0b,0xc0,0x0c,0xc0,0x07,0xc0,0x0c,0x63, - 0x6f,0x6e,0x74,0x65,0x78,0x74,0x13,0x74,0x72,0x61,0x6e,0x73,0x61,0x63,0x74,0x69, + 0x16,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x5f,0x72,0x65,0x6d,0x6f, + 0x76,0x65,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e, + 0x73,0x65,0xa4,0x02,0x00,0x02,0x0c,0x02,0x10,0x01,0x27,0x27,0x02,0x00,0x00,0x2b, + 0x03,0x00,0x00,0x10,0x04,0x00,0x00,0x37,0x05,0x00,0x01,0x3e,0x03,0x03,0x02,0x27, + 0x04,0x00,0x00,0x34,0x05,0x01,0x00,0x37,0x05,0x02,0x05,0x27,0x06,0x01,0x00,0x49, + 0x04,0x12,0x80,0x10,0x09,0x03,0x00,0x37,0x08,0x03,0x03,0x10,0x0a,0x07,0x00,0x25, + 0x0b,0x04,0x00,0x3e,0x08,0x04,0x02,0x0e,0x00,0x08,0x00,0x54,0x09,0x01,0x80,0x54, + 0x04,0x0a,0x80,0x14,0x02,0x00,0x02,0x37,0x09,0x05,0x08,0x0f,0x00,0x09,0x00,0x54, + 0x0a,0x01,0x80,0x14,0x02,0x00,0x02,0x37,0x09,0x06,0x08,0x07,0x09,0x07,0x00,0x54, + 0x09,0x01,0x80,0x54,0x04,0x01,0x80,0x4b,0x04,0xee,0x7f,0x2b,0x04,0x01,0x00,0x37, + 0x04,0x08,0x04,0x37,0x05,0x09,0x00,0x33,0x06,0x0a,0x00,0x33,0x07,0x0b,0x00,0x37, + 0x08,0x0c,0x01,0x3a,0x08,0x0d,0x07,0x3a,0x02,0x0e,0x07,0x3a,0x07,0x0f,0x06,0x3e, + 0x04,0x03,0x01,0x47,0x00,0x01,0x00,0x0b,0xc0,0x04,0xc0,0x09,0x61,0x74,0x74,0x72, + 0x0a,0x64,0x65,0x70,0x74,0x68,0x13,0x74,0x72,0x61,0x6e,0x73,0x61,0x63,0x74,0x69, 0x6f,0x6e,0x5f,0x69,0x64,0x06,0x69,0x01,0x00,0x01,0x0c,0x63,0x6f,0x6d,0x6d,0x61, - 0x6e,0x64,0x11,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x5f,0x67,0x65,0x74,0x01, - 0x00,0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x08, - 0x73,0x6b,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x0c,0x73,0x70,0x65, - 0x63,0x69,0x61,0x6c,0x09,0x74,0x79,0x70,0x65,0x09,0x61,0x74,0x74,0x72,0x17,0x5e, - 0x5b,0x25,0x77,0x5f,0x5d,0x2b,0x25,0x5b,0x2e,0x2d,0x25,0x62,0x5b,0x5d,0x25,0x5d, - 0x24,0x11,0x6d,0x61,0x78,0x5f,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x0e,0x6d, - 0x61,0x78,0x5f,0x64,0x65,0x70,0x74,0x68,0x12,0x6d,0x61,0x6b,0x65,0x5f,0x70,0x72, - 0x6f,0x70,0x65,0x72,0x74,0x79,0x0a,0x70,0x63,0x61,0x6c,0x6c,0x0b,0x73,0x65,0x6c, - 0x65,0x63,0x74,0x0c,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x0b,0x6c,0x6f,0x61,0x64, - 0x69,0x6e,0x0a,0x73,0x74,0x61,0x63,0x6b,0x06,0x70,0x0d,0x6d,0x61,0x78,0x5f,0x64, - 0x61,0x74,0x61,0x0d,0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73,0x06,0x6d,0x06,0x6f, + 0x6e,0x64,0x10,0x73,0x74,0x61,0x63,0x6b,0x5f,0x64,0x65,0x70,0x74,0x68,0x01,0x00, + 0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x08,0x73, + 0x6b,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x09,0x6d,0x61,0x69,0x6e, + 0x09,0x77,0x68,0x61,0x74,0x0f,0x69,0x73,0x74,0x61,0x69,0x6c,0x63,0x61,0x6c,0x6c, + 0x07,0x53,0x74,0x0c,0x67,0x65,0x74,0x69,0x6e,0x66,0x6f,0x09,0x68,0x75,0x67,0x65, + 0x09,0x6d,0x61,0x74,0x68,0x06,0x6f,0x02,0xe9,0x01,0x00,0x02,0x06,0x02,0x0d,0x00, + 0x1d,0x33,0x02,0x00,0x00,0x3a,0x01,0x01,0x02,0x37,0x03,0x02,0x00,0x3a,0x03,0x03, + 0x02,0x2b,0x03,0x00,0x00,0x37,0x03,0x04,0x03,0x37,0x04,0x05,0x00,0x3e,0x03,0x02, + 0x02,0x0f,0x00,0x03,0x00,0x54,0x04,0x07,0x80,0x37,0x04,0x06,0x00,0x0f,0x00,0x04, + 0x00,0x54,0x05,0x04,0x80,0x3a,0x03,0x07,0x02,0x37,0x04,0x06,0x00,0x3a,0x04,0x08, + 0x02,0x54,0x04,0x09,0x80,0x2b,0x04,0x01,0x00,0x37,0x05,0x09,0x00,0x36,0x04,0x05, + 0x04,0x0e,0x00,0x04,0x00,0x54,0x05,0x01,0x80,0x25,0x04,0x0a,0x00,0x3a,0x04,0x07, + 0x02,0x27,0x04,0xff,0xff,0x3a,0x04,0x08,0x02,0x33,0x04,0x0b,0x00,0x3a,0x02,0x0c, + 0x04,0x48,0x04,0x02,0x00,0x00,0x00,0x02,0xc0,0x09,0x61,0x74,0x74,0x72,0x01,0x00, + 0x01,0x08,0x74,0x61,0x67,0x0a,0x73,0x74,0x61,0x63,0x6b,0x0e,0x75,0x6e,0x6b,0x6e, + 0x6f,0x77,0x6e,0x3a,0x2f,0x09,0x77,0x68,0x61,0x74,0x0b,0x6c,0x69,0x6e,0x65,0x6e, + 0x6f,0x0d,0x66,0x69,0x6c,0x65,0x6e,0x61,0x6d,0x65,0x10,0x63,0x75,0x72,0x72,0x65, + 0x6e,0x74,0x6c,0x69,0x6e,0x65,0x0b,0x73,0x6f,0x75,0x72,0x63,0x65,0x0c,0x67,0x65, + 0x74,0x5f,0x75,0x72,0x69,0x0a,0x77,0x68,0x65,0x72,0x65,0x09,0x6e,0x61,0x6d,0x65, + 0x0a,0x6c,0x65,0x76,0x65,0x6c,0x01,0x00,0x01,0x09,0x74,0x79,0x70,0x65,0x09,0x66, + 0x69,0x6c,0x65,0x92,0x04,0x01,0x02,0x0f,0x03,0x17,0x01,0x47,0x33,0x02,0x00,0x00, + 0x31,0x03,0x01,0x00,0x33,0x04,0x02,0x00,0x33,0x05,0x03,0x00,0x37,0x06,0x04,0x01, + 0x3a,0x06,0x05,0x05,0x3a,0x05,0x06,0x04,0x2b,0x05,0x01,0x00,0x10,0x06,0x00,0x00, + 0x37,0x07,0x07,0x01,0x3e,0x05,0x03,0x02,0x37,0x06,0x08,0x01,0x0f,0x00,0x06,0x00, + 0x54,0x07,0x0f,0x80,0x34,0x06,0x09,0x00,0x37,0x07,0x08,0x01,0x3e,0x06,0x02,0x02, + 0x13,0x07,0x04,0x00,0x14,0x07,0x00,0x07,0x10,0x08,0x03,0x00,0x10,0x0a,0x05,0x00, + 0x37,0x09,0x0a,0x05,0x10,0x0b,0x06,0x00,0x25,0x0c,0x0b,0x00,0x3e,0x09,0x04,0x02, + 0x10,0x0a,0x06,0x00,0x3e,0x08,0x03,0x02,0x39,0x08,0x07,0x04,0x54,0x06,0x23,0x80, + 0x27,0x06,0x00,0x00,0x34,0x07,0x0c,0x00,0x37,0x07,0x0d,0x07,0x27,0x08,0x01,0x00, + 0x49,0x06,0x1e,0x80,0x10,0x0b,0x05,0x00,0x37,0x0a,0x0a,0x05,0x10,0x0c,0x09,0x00, + 0x25,0x0d,0x0e,0x00,0x3e,0x0a,0x04,0x02,0x0e,0x00,0x0a,0x00,0x54,0x0b,0x01,0x80, + 0x54,0x06,0x16,0x80,0x13,0x0b,0x04,0x00,0x14,0x0b,0x00,0x0b,0x10,0x0c,0x03,0x00, + 0x10,0x0d,0x0a,0x00,0x10,0x0e,0x09,0x00,0x3e,0x0c,0x03,0x02,0x39,0x0c,0x0b,0x04, + 0x37,0x0b,0x0f,0x0a,0x0f,0x00,0x0b,0x00,0x54,0x0c,0x07,0x80,0x13,0x0b,0x04,0x00, + 0x14,0x0b,0x00,0x0b,0x33,0x0c,0x10,0x00,0x33,0x0d,0x11,0x00,0x3a,0x09,0x12,0x0d, + 0x3a,0x0d,0x06,0x0c,0x39,0x0c,0x0b,0x04,0x37,0x0b,0x13,0x0a,0x07,0x0b,0x14,0x00, + 0x54,0x0b,0x01,0x80,0x54,0x06,0x01,0x80,0x4b,0x06,0xe2,0x7f,0x2b,0x06,0x02,0x00, + 0x37,0x06,0x15,0x06,0x37,0x07,0x16,0x00,0x10,0x08,0x04,0x00,0x3e,0x06,0x03,0x01, + 0x30,0x00,0x00,0x80,0x47,0x00,0x01,0x00,0x06,0xc0,0x0b,0xc0,0x04,0xc0,0x08,0x73, + 0x6b,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x09,0x6d,0x61,0x69,0x6e, + 0x09,0x77,0x68,0x61,0x74,0x0a,0x6c,0x65,0x76,0x65,0x6c,0x01,0x00,0x03,0x09,0x74, + 0x79,0x70,0x65,0x09,0x66,0x69,0x6c,0x65,0x0d,0x66,0x69,0x6c,0x65,0x6e,0x61,0x6d, + 0x65,0x11,0x74,0x61,0x69,0x6c,0x72,0x65,0x74,0x75,0x72,0x6e,0x3a,0x2f,0x0b,0x6c, + 0x69,0x6e,0x65,0x6e,0x6f,0x03,0xff,0xff,0xff,0xff,0x0f,0x01,0x00,0x01,0x08,0x74, + 0x61,0x67,0x0a,0x73,0x74,0x61,0x63,0x6b,0x0f,0x69,0x73,0x74,0x61,0x69,0x6c,0x63, + 0x61,0x6c,0x6c,0x09,0x6e,0x53,0x6c,0x74,0x09,0x68,0x75,0x67,0x65,0x09,0x6d,0x61, + 0x74,0x68,0x08,0x6e,0x53,0x6c,0x0c,0x67,0x65,0x74,0x69,0x6e,0x66,0x6f,0x0d,0x74, + 0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x06,0x64,0x06,0x6f,0x09,0x61,0x74,0x74,0x72, + 0x13,0x74,0x72,0x61,0x6e,0x73,0x61,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x64,0x06, + 0x69,0x01,0x00,0x01,0x0c,0x63,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x0e,0x73,0x74,0x61, + 0x63,0x6b,0x5f,0x67,0x65,0x74,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65, + 0x73,0x70,0x6f,0x6e,0x73,0x65,0x00,0x01,0x00,0x02,0x06,0x43,0x0c,0x63,0x63,0x6f, + 0x64,0x65,0x3a,0x2f,0x09,0x74,0x61,0x69,0x6c,0x11,0x74,0x61,0x69,0x6c,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x3a,0x2f,0x02,0xd1,0x02,0x00,0x02,0x0e,0x02,0x14,0x01,0x28, + 0x37,0x02,0x00,0x00,0x38,0x02,0x01,0x02,0x33,0x03,0x01,0x00,0x33,0x04,0x02,0x00, + 0x37,0x05,0x03,0x01,0x3a,0x05,0x04,0x04,0x3a,0x04,0x05,0x03,0x34,0x04,0x06,0x00, + 0x2b,0x05,0x00,0x00,0x37,0x05,0x07,0x05,0x37,0x05,0x08,0x05,0x3e,0x04,0x02,0x04, + 0x44,0x07,0x13,0x80,0x06,0x07,0x09,0x00,0x54,0x09,0x11,0x80,0x13,0x09,0x03,0x00, + 0x14,0x09,0x00,0x09,0x33,0x0a,0x0a,0x00,0x33,0x0b,0x0b,0x00,0x3a,0x07,0x0c,0x0b, + 0x34,0x0c,0x0d,0x00,0x10,0x0d,0x08,0x00,0x3e,0x0c,0x02,0x02,0x3a,0x0c,0x0e,0x0b, + 0x05,0x08,0x02,0x00,0x54,0x0c,0x02,0x80,0x25,0x0c,0x0f,0x00,0x54,0x0d,0x01,0x80, + 0x25,0x0c,0x10,0x00,0x3a,0x0c,0x11,0x0b,0x3a,0x0b,0x05,0x0a,0x39,0x0a,0x09,0x03, + 0x42,0x07,0x03,0x03,0x4e,0x07,0xeb,0x7f,0x2b,0x04,0x01,0x00,0x37,0x04,0x12,0x04, + 0x37,0x05,0x13,0x00,0x10,0x06,0x03,0x00,0x3e,0x04,0x03,0x01,0x47,0x00,0x01,0x00, + 0x03,0xc0,0x04,0xc0,0x08,0x73,0x6b,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d, + 0x6c,0x0c,0x72,0x75,0x6e,0x6e,0x69,0x6e,0x67,0x06,0x30,0x06,0x31,0x09,0x6e,0x61, + 0x6d,0x65,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x07,0x69,0x64,0x01,0x00, + 0x00,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0e,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69, + 0x6e,0x65,0x06,0x6e,0x0c,0x66,0x72,0x6f,0x6d,0x5f,0x69,0x64,0x16,0x61,0x63,0x74, + 0x69,0x76,0x65,0x5f,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e,0x65,0x73,0x0a,0x70, + 0x61,0x69,0x72,0x73,0x09,0x61,0x74,0x74,0x72,0x13,0x74,0x72,0x61,0x6e,0x73,0x61, + 0x63,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x64,0x06,0x69,0x01,0x00,0x01,0x0c,0x63,0x6f, + 0x6d,0x6d,0x61,0x6e,0x64,0x13,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e,0x65,0x5f, + 0x6c,0x69,0x73,0x74,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70, + 0x6f,0x6e,0x73,0x65,0x09,0x63,0x6f,0x72,0x6f,0x02,0xbf,0x03,0x00,0x02,0x09,0x02, + 0x15,0x00,0x31,0x2b,0x02,0x00,0x00,0x10,0x03,0x00,0x00,0x37,0x04,0x00,0x01,0x3e, + 0x02,0x03,0x02,0x34,0x03,0x01,0x00,0x37,0x04,0x02,0x01,0x0e,0x00,0x04,0x00,0x54, + 0x05,0x01,0x80,0x27,0x04,0x00,0x00,0x3e,0x03,0x02,0x02,0x10,0x05,0x02,0x00,0x37, + 0x04,0x03,0x02,0x10,0x06,0x03,0x00,0x25,0x07,0x04,0x00,0x3e,0x04,0x04,0x02,0x0e, + 0x00,0x04,0x00,0x54,0x05,0x09,0x80,0x2b,0x04,0x01,0x00,0x37,0x04,0x05,0x04,0x27, + 0x05,0x2d,0x01,0x25,0x06,0x06,0x00,0x34,0x07,0x07,0x00,0x10,0x08,0x03,0x00,0x3e, + 0x07,0x02,0x02,0x24,0x06,0x07,0x06,0x3e,0x04,0x03,0x02,0x33,0x05,0x08,0x00,0x33, + 0x06,0x09,0x00,0x37,0x07,0x0a,0x01,0x3a,0x07,0x0b,0x06,0x3a,0x06,0x0c,0x05,0x33, + 0x06,0x0d,0x00,0x33,0x07,0x0e,0x00,0x3a,0x07,0x0c,0x06,0x3b,0x06,0x01,0x05,0x33, + 0x06,0x0f,0x00,0x33,0x07,0x10,0x00,0x3a,0x07,0x0c,0x06,0x3b,0x06,0x02,0x05,0x33, + 0x06,0x11,0x00,0x33,0x07,0x12,0x00,0x3a,0x07,0x0c,0x06,0x3b,0x06,0x03,0x05,0x2b, + 0x06,0x01,0x00,0x37,0x06,0x13,0x06,0x37,0x07,0x14,0x00,0x10,0x08,0x05,0x00,0x3e, + 0x06,0x03,0x01,0x47,0x00,0x01,0x00,0x0b,0xc0,0x04,0xc0,0x08,0x73,0x6b,0x74,0x0d, + 0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x01,0x00,0x02,0x07,0x69,0x64,0x03,0x01, + 0x09,0x6e,0x61,0x6d,0x65,0x0b,0x47,0x6c,0x6f,0x62,0x61,0x6c,0x01,0x00,0x01,0x08, + 0x74,0x61,0x67,0x0c,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x01,0x00,0x02,0x07,0x69, + 0x64,0x03,0x02,0x09,0x6e,0x61,0x6d,0x65,0x0c,0x55,0x70,0x76,0x61,0x6c,0x75,0x65, + 0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0c,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x01, + 0x00,0x02,0x07,0x69,0x64,0x03,0x00,0x09,0x6e,0x61,0x6d,0x65,0x0a,0x4c,0x6f,0x63, + 0x61,0x6c,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0c,0x63,0x6f,0x6e,0x74,0x65,0x78, + 0x74,0x09,0x61,0x74,0x74,0x72,0x13,0x74,0x72,0x61,0x6e,0x73,0x61,0x63,0x74,0x69, + 0x6f,0x6e,0x5f,0x69,0x64,0x06,0x69,0x01,0x00,0x01,0x0c,0x63,0x6f,0x6d,0x6d,0x61, + 0x6e,0x64,0x12,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x5f,0x6e,0x61,0x6d,0x65,0x73, + 0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65, + 0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x19,0x4e,0x6f,0x20,0x73,0x75,0x63, + 0x68,0x20,0x73,0x74,0x61,0x63,0x6b,0x20,0x6c,0x65,0x76,0x65,0x6c,0x20,0x0a,0x65, + 0x72,0x72,0x6f,0x72,0x06,0x66,0x0c,0x67,0x65,0x74,0x69,0x6e,0x66,0x6f,0x06,0x64, + 0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x06,0x6f,0xba,0x04,0x00,0x02,0x18, + 0x05,0x18,0x01,0x54,0x34,0x02,0x00,0x00,0x37,0x03,0x01,0x01,0x0e,0x00,0x03,0x00, + 0x54,0x04,0x01,0x80,0x27,0x03,0x00,0x00,0x3e,0x02,0x02,0x02,0x2b,0x03,0x00,0x00, + 0x37,0x03,0x02,0x03,0x36,0x03,0x02,0x03,0x0e,0x00,0x03,0x00,0x54,0x04,0x09,0x80, + 0x2b,0x03,0x01,0x00,0x37,0x03,0x03,0x03,0x27,0x04,0x2e,0x01,0x25,0x05,0x04,0x00, + 0x34,0x06,0x05,0x00,0x10,0x07,0x02,0x00,0x3e,0x06,0x02,0x02,0x24,0x05,0x06,0x05, + 0x3e,0x03,0x03,0x02,0x34,0x04,0x00,0x00,0x37,0x05,0x06,0x01,0x0e,0x00,0x05,0x00, + 0x54,0x06,0x01,0x80,0x27,0x05,0x00,0x00,0x3e,0x04,0x02,0x02,0x2b,0x05,0x02,0x00, + 0x10,0x06,0x00,0x00,0x37,0x07,0x07,0x01,0x3e,0x05,0x03,0x02,0x37,0x06,0x08,0x00, + 0x10,0x07,0x05,0x00,0x10,0x08,0x04,0x00,0x3e,0x06,0x03,0x02,0x33,0x07,0x09,0x00, + 0x33,0x08,0x0a,0x00,0x37,0x09,0x0b,0x01,0x3a,0x09,0x0c,0x08,0x2b,0x09,0x00,0x00, + 0x3a,0x09,0x0d,0x08,0x3a,0x08,0x0e,0x07,0x09,0x02,0x00,0x00,0x54,0x08,0x03,0x80, + 0x34,0x08,0x0f,0x00,0x0e,0x00,0x08,0x00,0x54,0x09,0x04,0x80,0x34,0x08,0x10,0x00, + 0x36,0x09,0x03,0x06,0x3e,0x08,0x02,0x02,0x37,0x08,0x11,0x08,0x36,0x09,0x03,0x06, + 0x29,0x0a,0x00,0x00,0x54,0x0b,0x17,0x80,0x13,0x0d,0x07,0x00,0x14,0x0d,0x00,0x0d, + 0x2b,0x0e,0x03,0x00,0x37,0x0e,0x12,0x0e,0x10,0x0f,0x02,0x00,0x10,0x10,0x0c,0x00, + 0x10,0x11,0x0b,0x00,0x29,0x12,0x00,0x00,0x27,0x13,0x00,0x00,0x2b,0x14,0x04,0x00, + 0x37,0x14,0x13,0x14,0x37,0x14,0x14,0x14,0x27,0x15,0x00,0x00,0x2b,0x16,0x04,0x00, + 0x37,0x16,0x13,0x16,0x37,0x16,0x15,0x16,0x09,0x02,0x00,0x00,0x54,0x17,0x02,0x80, + 0x29,0x17,0x01,0x00,0x54,0x18,0x01,0x80,0x29,0x17,0x02,0x00,0x3e,0x0e,0x0a,0x02, + 0x39,0x0e,0x0d,0x07,0x41,0x0b,0x03,0x03,0x4e,0x0b,0xe7,0x7f,0x2b,0x08,0x01,0x00, + 0x37,0x08,0x16,0x08,0x37,0x09,0x17,0x00,0x10,0x0a,0x07,0x00,0x3e,0x08,0x03,0x01, + 0x47,0x00,0x01,0x00,0x08,0xc0,0x04,0xc0,0x0b,0xc0,0x07,0xc0,0x05,0xc0,0x08,0x73, + 0x6b,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x0d,0x6d,0x61,0x78,0x5f, + 0x64,0x61,0x74,0x61,0x11,0x6d,0x61,0x78,0x5f,0x63,0x68,0x69,0x6c,0x64,0x72,0x65, + 0x6e,0x0d,0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73,0x12,0x6d,0x61,0x6b,0x65,0x5f, + 0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x0d,0x69,0x74,0x65,0x72,0x61,0x74,0x6f, + 0x72,0x11,0x67,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x09,0x6e, + 0x65,0x78,0x74,0x09,0x61,0x74,0x74,0x72,0x0c,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74, + 0x13,0x74,0x72,0x61,0x6e,0x73,0x61,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x64,0x06, + 0x69,0x01,0x00,0x01,0x0c,0x63,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x10,0x63,0x6f,0x6e, + 0x74,0x65,0x78,0x74,0x5f,0x67,0x65,0x74,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0d, + 0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x0a,0x73,0x74,0x61,0x63,0x6b,0x06,0x6f, 0x06,0x64,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x16,0x4e,0x6f,0x20,0x73, 0x75,0x63,0x68,0x20,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x3a,0x20,0x0a,0x65,0x72, 0x72,0x6f,0x72,0x0c,0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x06,0x63,0x0d,0x74,0x6f, - 0x6e,0x75,0x6d,0x62,0x65,0x72,0x14,0x5e,0x28,0x25,0x2d,0x3f,0x25,0x64,0x2b,0x29, - 0x7c,0x28,0x2e,0x2a,0x29,0x24,0x0a,0x6d,0x61,0x74,0x63,0x68,0x06,0x6e,0x0a,0x75, - 0x6e,0x62,0x36,0x34,0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0x38,0x00,0x02,0x05,0x01, - 0x02,0x00,0x08,0x27,0x02,0xff,0xff,0x3a,0x02,0x00,0x01,0x2b,0x02,0x00,0x00,0x37, - 0x02,0x01,0x02,0x10,0x03,0x00,0x00,0x10,0x04,0x01,0x00,0x3e,0x02,0x03,0x01,0x47, - 0x00,0x01,0x00,0x0a,0xc0,0x11,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x5f,0x67, - 0x65,0x74,0x06,0x6d,0xf7,0x04,0x00,0x03,0x13,0x05,0x1d,0x00,0x62,0x34,0x03,0x00, - 0x00,0x2b,0x04,0x00,0x00,0x37,0x04,0x01,0x04,0x37,0x05,0x02,0x01,0x3e,0x04,0x02, - 0x02,0x10,0x05,0x04,0x00,0x37,0x04,0x03,0x04,0x25,0x06,0x04,0x00,0x3e,0x04,0x03, - 0x00,0x3d,0x03,0x00,0x03,0x34,0x05,0x05,0x00,0x37,0x06,0x06,0x01,0x0e,0x00,0x06, - 0x00,0x54,0x07,0x01,0x80,0x10,0x06,0x03,0x00,0x3e,0x05,0x02,0x02,0x10,0x03,0x05, - 0x00,0x2b,0x05,0x01,0x00,0x37,0x05,0x07,0x05,0x36,0x05,0x03,0x05,0x0e,0x00,0x05, - 0x00,0x54,0x06,0x09,0x80,0x2b,0x05,0x02,0x00,0x37,0x05,0x08,0x05,0x27,0x06,0x2e, - 0x01,0x25,0x07,0x09,0x00,0x34,0x08,0x0a,0x00,0x10,0x09,0x03,0x00,0x3e,0x08,0x02, - 0x02,0x24,0x07,0x08,0x07,0x3e,0x05,0x03,0x02,0x34,0x06,0x05,0x00,0x37,0x07,0x0b, - 0x01,0x0e,0x00,0x07,0x00,0x54,0x08,0x01,0x80,0x27,0x07,0x00,0x00,0x3e,0x06,0x02, - 0x02,0x2b,0x07,0x03,0x00,0x10,0x08,0x00,0x00,0x37,0x09,0x0c,0x01,0x3e,0x07,0x03, - 0x02,0x37,0x08,0x0d,0x00,0x10,0x09,0x07,0x00,0x10,0x0a,0x06,0x00,0x3e,0x08,0x03, - 0x02,0x34,0x09,0x0e,0x00,0x27,0x0a,0x02,0x00,0x2b,0x0b,0x02,0x00,0x37,0x0b,0x00, - 0x0b,0x27,0x0c,0xce,0x00,0x34,0x0d,0x0f,0x00,0x2b,0x0e,0x02,0x00,0x37,0x0e,0x00, - 0x0e,0x27,0x0f,0xce,0x00,0x2b,0x10,0x00,0x00,0x37,0x10,0x10,0x10,0x25,0x11,0x11, - 0x00,0x10,0x12,0x02,0x00,0x24,0x11,0x12,0x11,0x10,0x12,0x08,0x00,0x3e,0x10,0x03, - 0x00,0x3d,0x0e,0x01,0x00,0x3d,0x0d,0x00,0x00,0x3d,0x0b,0x01,0x00,0x3d,0x09,0x01, - 0x02,0x2b,0x0a,0x02,0x00,0x37,0x0a,0x00,0x0a,0x27,0x0b,0xce,0x00,0x2b,0x0c,0x00, - 0x00,0x37,0x0c,0x10,0x0c,0x10,0x0d,0x04,0x00,0x25,0x0e,0x12,0x00,0x24,0x0d,0x0e, - 0x0d,0x34,0x0e,0x13,0x00,0x33,0x0f,0x14,0x00,0x3a,0x09,0x15,0x0f,0x2b,0x10,0x04, - 0x00,0x3e,0x0e,0x03,0x00,0x3d,0x0c,0x01,0x00,0x3d,0x0a,0x01,0x02,0x2b,0x0b,0x02, - 0x00,0x37,0x0b,0x00,0x0b,0x27,0x0c,0xce,0x00,0x34,0x0d,0x0f,0x00,0x10,0x0e,0x0a, - 0x00,0x36,0x0f,0x05,0x08,0x3e,0x0d,0x03,0x00,0x3d,0x0b,0x01,0x01,0x2b,0x0b,0x02, - 0x00,0x37,0x0b,0x16,0x0b,0x37,0x0c,0x17,0x00,0x33,0x0d,0x18,0x00,0x33,0x0e,0x19, - 0x00,0x37,0x0f,0x1a,0x01,0x3a,0x0f,0x1b,0x0e,0x3a,0x0e,0x1c,0x0d,0x3e,0x0b,0x03, - 0x01,0x47,0x00,0x01,0x00,0x05,0xc0,0x08,0xc0,0x04,0xc0,0x0b,0xc0,0x0c,0xc0,0x09, + 0x6e,0x75,0x6d,0x62,0x65,0x72,0x02,0x20,0x00,0x02,0x04,0x00,0x01,0x00,0x03,0x34, + 0x02,0x00,0x00,0x10,0x03,0x01,0x00,0x40,0x02,0x02,0x00,0x11,0x67,0x65,0x74,0x6d, + 0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x24,0x00,0x03,0x06,0x00,0x01,0x00,0x04, + 0x34,0x03,0x00,0x00,0x10,0x04,0x01,0x00,0x10,0x05,0x02,0x00,0x40,0x03,0x03,0x00, + 0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0xa8,0x06,0x00, + 0x02,0x15,0x06,0x24,0x00,0x7a,0x34,0x02,0x00,0x00,0x2b,0x03,0x00,0x00,0x37,0x03, + 0x01,0x03,0x37,0x04,0x02,0x01,0x3e,0x03,0x02,0x02,0x10,0x04,0x03,0x00,0x37,0x03, + 0x03,0x03,0x25,0x05,0x04,0x00,0x3e,0x03,0x03,0x00,0x3d,0x02,0x00,0x03,0x34,0x04, + 0x05,0x00,0x37,0x05,0x06,0x01,0x0e,0x00,0x05,0x00,0x54,0x06,0x01,0x80,0x10,0x05, + 0x02,0x00,0x3e,0x04,0x02,0x02,0x10,0x02,0x04,0x00,0x2b,0x04,0x01,0x00,0x37,0x04, + 0x07,0x04,0x36,0x04,0x02,0x04,0x0e,0x00,0x04,0x00,0x54,0x05,0x09,0x80,0x2b,0x04, + 0x02,0x00,0x37,0x04,0x08,0x04,0x27,0x05,0x2e,0x01,0x25,0x06,0x09,0x00,0x34,0x07, + 0x0a,0x00,0x10,0x08,0x02,0x00,0x3e,0x07,0x02,0x02,0x24,0x06,0x07,0x06,0x3e,0x04, + 0x03,0x02,0x34,0x05,0x05,0x00,0x37,0x06,0x0b,0x01,0x0e,0x00,0x06,0x00,0x54,0x07, + 0x01,0x80,0x27,0x06,0x00,0x00,0x3e,0x05,0x02,0x02,0x2b,0x06,0x03,0x00,0x10,0x07, + 0x00,0x00,0x37,0x08,0x0c,0x01,0x3e,0x06,0x03,0x02,0x34,0x07,0x05,0x00,0x37,0x08, + 0x0d,0x01,0x0e,0x00,0x08,0x00,0x54,0x09,0x03,0x80,0x2b,0x08,0x00,0x00,0x37,0x08, + 0x0e,0x08,0x37,0x08,0x0f,0x08,0x3e,0x07,0x02,0x02,0x27,0x08,0x00,0x00,0x01,0x07, + 0x08,0x00,0x54,0x08,0x01,0x80,0x29,0x07,0x00,0x00,0x34,0x08,0x05,0x00,0x37,0x09, + 0x10,0x01,0x0e,0x00,0x09,0x00,0x54,0x0a,0x01,0x80,0x27,0x09,0x00,0x00,0x3e,0x08, + 0x02,0x02,0x37,0x09,0x11,0x00,0x10,0x0a,0x06,0x00,0x10,0x0b,0x05,0x00,0x3e,0x09, + 0x03,0x02,0x2b,0x0a,0x02,0x00,0x37,0x0a,0x00,0x0a,0x27,0x0b,0xce,0x00,0x2b,0x0c, + 0x00,0x00,0x37,0x0c,0x12,0x0c,0x25,0x0d,0x13,0x00,0x10,0x0e,0x03,0x00,0x24,0x0d, + 0x0e,0x0d,0x2b,0x0e,0x04,0x00,0x3e,0x0c,0x03,0x00,0x3d,0x0a,0x01,0x02,0x34,0x0b, + 0x14,0x00,0x27,0x0c,0x02,0x00,0x2b,0x0d,0x02,0x00,0x37,0x0d,0x00,0x0d,0x27,0x0e, + 0x2c,0x01,0x34,0x0f,0x15,0x00,0x10,0x10,0x0a,0x00,0x36,0x11,0x04,0x09,0x3e,0x0f, + 0x03,0x00,0x3d,0x0d,0x01,0x00,0x3d,0x0b,0x01,0x02,0x2b,0x0c,0x05,0x00,0x37,0x0c, + 0x16,0x0c,0x10,0x0d,0x02,0x00,0x10,0x0e,0x0b,0x00,0x10,0x0f,0x03,0x00,0x10,0x10, + 0x03,0x00,0x2b,0x11,0x00,0x00,0x37,0x11,0x0e,0x11,0x37,0x11,0x17,0x11,0x2b,0x12, + 0x00,0x00,0x37,0x12,0x0e,0x12,0x37,0x12,0x18,0x12,0x10,0x13,0x08,0x00,0x10,0x14, + 0x07,0x00,0x3e,0x0c,0x09,0x02,0x10,0x0e,0x03,0x00,0x37,0x0d,0x03,0x03,0x25,0x0f, + 0x19,0x00,0x3e,0x0d,0x03,0x02,0x05,0x0d,0x03,0x00,0x54,0x0d,0x03,0x80,0x37,0x0d, + 0x1a,0x0c,0x25,0x0e,0x1c,0x00,0x3a,0x0e,0x1b,0x0d,0x2b,0x0d,0x02,0x00,0x37,0x0d, + 0x1d,0x0d,0x37,0x0e,0x1e,0x00,0x33,0x0f,0x1f,0x00,0x33,0x10,0x20,0x00,0x37,0x11, + 0x21,0x01,0x3a,0x11,0x22,0x10,0x2b,0x11,0x01,0x00,0x3a,0x11,0x23,0x10,0x3a,0x10, + 0x1a,0x0f,0x3b,0x0c,0x01,0x0f,0x3e,0x0d,0x03,0x01,0x47,0x00,0x01,0x00,0x05,0xc0, + 0x08,0xc0,0x04,0xc0,0x0b,0xc0,0x0c,0xc0,0x07,0xc0,0x0c,0x63,0x6f,0x6e,0x74,0x65, + 0x78,0x74,0x13,0x74,0x72,0x61,0x6e,0x73,0x61,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x69, + 0x64,0x06,0x69,0x01,0x00,0x01,0x0c,0x63,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x11,0x70, + 0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x5f,0x67,0x65,0x74,0x01,0x00,0x01,0x08,0x74, + 0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x08,0x73,0x6b,0x74,0x0d, + 0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x0c,0x73,0x70,0x65,0x63,0x69,0x61,0x6c, + 0x09,0x74,0x79,0x70,0x65,0x09,0x61,0x74,0x74,0x72,0x17,0x5e,0x5b,0x25,0x77,0x5f, + 0x5d,0x2b,0x25,0x5b,0x2e,0x2d,0x25,0x62,0x5b,0x5d,0x25,0x5d,0x24,0x11,0x6d,0x61, + 0x78,0x5f,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x0e,0x6d,0x61,0x78,0x5f,0x64, + 0x65,0x70,0x74,0x68,0x12,0x6d,0x61,0x6b,0x65,0x5f,0x70,0x72,0x6f,0x70,0x65,0x72, + 0x74,0x79,0x0a,0x70,0x63,0x61,0x6c,0x6c,0x0b,0x73,0x65,0x6c,0x65,0x63,0x74,0x0c, + 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x0b,0x6c,0x6f,0x61,0x64,0x69,0x6e,0x0a,0x73, + 0x74,0x61,0x63,0x6b,0x06,0x70,0x0d,0x6d,0x61,0x78,0x5f,0x64,0x61,0x74,0x61,0x0d, + 0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73,0x06,0x6d,0x06,0x6f,0x06,0x64,0x0d,0x74, + 0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x16,0x4e,0x6f,0x20,0x73,0x75,0x63,0x68,0x20, + 0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x3a,0x20,0x0a,0x65,0x72,0x72,0x6f,0x72,0x0c, + 0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x06,0x63,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62, + 0x65,0x72,0x14,0x5e,0x28,0x25,0x2d,0x3f,0x25,0x64,0x2b,0x29,0x7c,0x28,0x2e,0x2a, + 0x29,0x24,0x0a,0x6d,0x61,0x74,0x63,0x68,0x06,0x6e,0x0a,0x75,0x6e,0x62,0x36,0x34, + 0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0x38,0x00,0x02,0x05,0x01,0x02,0x00,0x08,0x27, + 0x02,0xff,0xff,0x3a,0x02,0x00,0x01,0x2b,0x02,0x00,0x00,0x37,0x02,0x01,0x02,0x10, + 0x03,0x00,0x00,0x10,0x04,0x01,0x00,0x3e,0x02,0x03,0x01,0x47,0x00,0x01,0x00,0x0a, + 0xc0,0x11,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x5f,0x67,0x65,0x74,0x06,0x6d, + 0xf7,0x04,0x00,0x03,0x13,0x05,0x1d,0x00,0x62,0x34,0x03,0x00,0x00,0x2b,0x04,0x00, + 0x00,0x37,0x04,0x01,0x04,0x37,0x05,0x02,0x01,0x3e,0x04,0x02,0x02,0x10,0x05,0x04, + 0x00,0x37,0x04,0x03,0x04,0x25,0x06,0x04,0x00,0x3e,0x04,0x03,0x00,0x3d,0x03,0x00, + 0x03,0x34,0x05,0x05,0x00,0x37,0x06,0x06,0x01,0x0e,0x00,0x06,0x00,0x54,0x07,0x01, + 0x80,0x10,0x06,0x03,0x00,0x3e,0x05,0x02,0x02,0x10,0x03,0x05,0x00,0x2b,0x05,0x01, + 0x00,0x37,0x05,0x07,0x05,0x36,0x05,0x03,0x05,0x0e,0x00,0x05,0x00,0x54,0x06,0x09, + 0x80,0x2b,0x05,0x02,0x00,0x37,0x05,0x08,0x05,0x27,0x06,0x2e,0x01,0x25,0x07,0x09, + 0x00,0x34,0x08,0x0a,0x00,0x10,0x09,0x03,0x00,0x3e,0x08,0x02,0x02,0x24,0x07,0x08, + 0x07,0x3e,0x05,0x03,0x02,0x34,0x06,0x05,0x00,0x37,0x07,0x0b,0x01,0x0e,0x00,0x07, + 0x00,0x54,0x08,0x01,0x80,0x27,0x07,0x00,0x00,0x3e,0x06,0x02,0x02,0x2b,0x07,0x03, + 0x00,0x10,0x08,0x00,0x00,0x37,0x09,0x0c,0x01,0x3e,0x07,0x03,0x02,0x37,0x08,0x0d, + 0x00,0x10,0x09,0x07,0x00,0x10,0x0a,0x06,0x00,0x3e,0x08,0x03,0x02,0x34,0x09,0x0e, + 0x00,0x27,0x0a,0x02,0x00,0x2b,0x0b,0x02,0x00,0x37,0x0b,0x00,0x0b,0x27,0x0c,0xce, + 0x00,0x34,0x0d,0x0f,0x00,0x2b,0x0e,0x02,0x00,0x37,0x0e,0x00,0x0e,0x27,0x0f,0xce, + 0x00,0x2b,0x10,0x00,0x00,0x37,0x10,0x10,0x10,0x25,0x11,0x11,0x00,0x10,0x12,0x02, + 0x00,0x24,0x11,0x12,0x11,0x10,0x12,0x08,0x00,0x3e,0x10,0x03,0x00,0x3d,0x0e,0x01, + 0x00,0x3d,0x0d,0x00,0x00,0x3d,0x0b,0x01,0x00,0x3d,0x09,0x01,0x02,0x2b,0x0a,0x02, + 0x00,0x37,0x0a,0x00,0x0a,0x27,0x0b,0xce,0x00,0x2b,0x0c,0x00,0x00,0x37,0x0c,0x10, + 0x0c,0x10,0x0d,0x04,0x00,0x25,0x0e,0x12,0x00,0x24,0x0d,0x0e,0x0d,0x34,0x0e,0x13, + 0x00,0x33,0x0f,0x14,0x00,0x3a,0x09,0x15,0x0f,0x2b,0x10,0x04,0x00,0x3e,0x0e,0x03, + 0x00,0x3d,0x0c,0x01,0x00,0x3d,0x0a,0x01,0x02,0x2b,0x0b,0x02,0x00,0x37,0x0b,0x00, + 0x0b,0x27,0x0c,0xce,0x00,0x34,0x0d,0x0f,0x00,0x10,0x0e,0x0a,0x00,0x36,0x0f,0x05, + 0x08,0x3e,0x0d,0x03,0x00,0x3d,0x0b,0x01,0x01,0x2b,0x0b,0x02,0x00,0x37,0x0b,0x16, + 0x0b,0x37,0x0c,0x17,0x00,0x33,0x0d,0x18,0x00,0x33,0x0e,0x19,0x00,0x37,0x0f,0x1a, + 0x01,0x3a,0x0f,0x1b,0x0e,0x3a,0x0e,0x1c,0x0d,0x3e,0x0b,0x03,0x01,0x47,0x00,0x01, + 0x00,0x05,0xc0,0x08,0xc0,0x04,0xc0,0x0b,0xc0,0x0c,0xc0,0x09,0x61,0x74,0x74,0x72, + 0x13,0x74,0x72,0x61,0x6e,0x73,0x61,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x64,0x06, + 0x69,0x01,0x00,0x01,0x0c,0x73,0x75,0x63,0x63,0x65,0x73,0x73,0x03,0x01,0x01,0x00, + 0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x08,0x73, + 0x6b,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x0a,0x76,0x61,0x6c,0x75, + 0x65,0x01,0x00,0x00,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c, + 0x65,0x0d,0x20,0x3d,0x20,0x76,0x61,0x6c,0x75,0x65,0x0c,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x20,0x0b,0x6c,0x6f,0x61,0x64,0x69,0x6e,0x0a,0x70,0x63,0x61,0x6c,0x6c,0x0b, + 0x73,0x65,0x6c,0x65,0x63,0x74,0x0a,0x73,0x74,0x61,0x63,0x6b,0x06,0x6f,0x06,0x64, + 0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x16,0x4e,0x6f,0x20,0x73,0x75,0x63, + 0x68,0x20,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x3a,0x20,0x0a,0x65,0x72,0x72,0x6f, + 0x72,0x0c,0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x06,0x63,0x0d,0x74,0x6f,0x6e,0x75, + 0x6d,0x62,0x65,0x72,0x14,0x5e,0x28,0x25,0x2d,0x3f,0x25,0x64,0x2b,0x29,0x7c,0x28, + 0x2e,0x2a,0x29,0x24,0x0a,0x6d,0x61,0x74,0x63,0x68,0x06,0x6e,0x0a,0x75,0x6e,0x62, + 0x36,0x34,0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0xfd,0x05,0x00,0x02,0x10,0x03,0x26, + 0x02,0x7c,0x29,0x02,0x00,0x00,0x37,0x03,0x00,0x01,0x0f,0x00,0x03,0x00,0x54,0x04, + 0x06,0x80,0x2b,0x03,0x00,0x00,0x37,0x03,0x01,0x03,0x37,0x04,0x00,0x01,0x3e,0x03, + 0x02,0x02,0x10,0x02,0x03,0x00,0x54,0x03,0x18,0x80,0x37,0x03,0x02,0x00,0x10,0x04, + 0x03,0x00,0x37,0x03,0x03,0x03,0x27,0x05,0x00,0x00,0x25,0x06,0x04,0x00,0x3e,0x03, + 0x04,0x02,0x37,0x02,0x05,0x03,0x34,0x03,0x06,0x00,0x10,0x05,0x02,0x00,0x37,0x04, + 0x07,0x02,0x27,0x06,0x01,0x00,0x27,0x07,0x01,0x00,0x3e,0x04,0x04,0x02,0x06,0x04, + 0x08,0x00,0x54,0x04,0x02,0x80,0x29,0x04,0x01,0x00,0x54,0x05,0x01,0x80,0x29,0x04, + 0x02,0x00,0x3e,0x03,0x02,0x01,0x10,0x04,0x02,0x00,0x37,0x03,0x07,0x02,0x27,0x05, + 0x02,0x00,0x3e,0x03,0x03,0x02,0x10,0x02,0x03,0x00,0x34,0x03,0x09,0x00,0x37,0x03, + 0x0a,0x03,0x10,0x04,0x02,0x00,0x3e,0x03,0x02,0x03,0x0e,0x00,0x03,0x00,0x54,0x05, + 0x06,0x80,0x2b,0x05,0x01,0x00,0x37,0x05,0x0b,0x05,0x27,0x06,0x64,0x00,0x10,0x07, + 0x04,0x00,0x33,0x08,0x0c,0x00,0x3e,0x05,0x04,0x01,0x10,0x06,0x03,0x00,0x37,0x05, + 0x0d,0x03,0x27,0x07,0x01,0x00,0x3e,0x05,0x03,0x02,0x07,0x05,0x0e,0x00,0x54,0x05, + 0x08,0x80,0x2b,0x05,0x01,0x00,0x37,0x05,0x0b,0x05,0x27,0x06,0x64,0x00,0x37,0x07, + 0x00,0x01,0x25,0x08,0x0f,0x00,0x24,0x07,0x08,0x07,0x33,0x08,0x10,0x00,0x3e,0x05, + 0x04,0x01,0x10,0x06,0x03,0x00,0x37,0x05,0x11,0x03,0x25,0x07,0x12,0x00,0x27,0x08, + 0x00,0x00,0x3e,0x05,0x04,0x01,0x32,0x05,0x00,0x00,0x34,0x06,0x13,0x00,0x37,0x07, + 0x14,0x01,0x0e,0x00,0x07,0x00,0x54,0x08,0x01,0x80,0x27,0x07,0x00,0x00,0x3e,0x06, + 0x02,0x02,0x34,0x07,0x13,0x00,0x37,0x08,0x15,0x01,0x0e,0x00,0x08,0x00,0x54,0x09, + 0x02,0x80,0x34,0x08,0x16,0x00,0x37,0x08,0x17,0x08,0x3e,0x07,0x02,0x02,0x27,0x08, + 0x00,0x00,0x10,0x0a,0x03,0x00,0x37,0x09,0x18,0x03,0x3e,0x09,0x02,0x04,0x54,0x0c, + 0x0c,0x80,0x14,0x08,0x00,0x08,0x03,0x06,0x08,0x00,0x54,0x0d,0x06,0x80,0x03,0x08, + 0x07,0x00,0x54,0x0d,0x04,0x80,0x13,0x0d,0x05,0x00,0x14,0x0d,0x00,0x0d,0x39,0x0c, + 0x0d,0x05,0x54,0x0d,0x03,0x80,0x03,0x07,0x08,0x00,0x54,0x0d,0x01,0x80,0x54,0x09, + 0x02,0x80,0x41,0x0c,0x03,0x02,0x4e,0x0c,0xf2,0x7f,0x10,0x0a,0x03,0x00,0x37,0x09, + 0x19,0x03,0x3e,0x09,0x02,0x01,0x13,0x09,0x05,0x00,0x14,0x09,0x00,0x09,0x25,0x0a, + 0x1a,0x00,0x39,0x0a,0x09,0x05,0x2b,0x09,0x01,0x00,0x37,0x09,0x1b,0x09,0x37,0x0a, + 0x1c,0x00,0x33,0x0b,0x1d,0x00,0x33,0x0c,0x1e,0x00,0x37,0x0d,0x1f,0x01,0x3a,0x0d, + 0x20,0x0c,0x3a,0x0c,0x21,0x0b,0x2b,0x0c,0x02,0x00,0x37,0x0c,0x22,0x0c,0x34,0x0d, + 0x23,0x00,0x37,0x0d,0x24,0x0d,0x10,0x0e,0x05,0x00,0x25,0x0f,0x25,0x00,0x3e,0x0d, + 0x03,0x00,0x3d,0x0c,0x00,0x00,0x3c,0x0c,0x01,0x00,0x3e,0x09,0x03,0x01,0x47,0x00, + 0x01,0x00,0x06,0xc0,0x04,0xc0,0x05,0xc0,0x06,0x0a,0x0b,0x63,0x6f,0x6e,0x63,0x61, + 0x74,0x0a,0x74,0x61,0x62,0x6c,0x65,0x08,0x62,0x36,0x34,0x09,0x61,0x74,0x74,0x72, + 0x13,0x74,0x72,0x61,0x6e,0x73,0x61,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x64,0x06, + 0x69,0x01,0x00,0x02,0x0c,0x73,0x75,0x63,0x63,0x65,0x73,0x73,0x03,0x01,0x0c,0x63, + 0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x0b,0x73,0x6f,0x75,0x72,0x63,0x65,0x01,0x00,0x01, + 0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x08,0x73,0x6b, + 0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x05,0x0a,0x63,0x6c,0x6f,0x73, + 0x65,0x0a,0x6c,0x69,0x6e,0x65,0x73,0x09,0x68,0x75,0x67,0x65,0x09,0x6d,0x61,0x74, + 0x68,0x06,0x65,0x06,0x62,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x08,0x73, + 0x65,0x74,0x09,0x73,0x65,0x65,0x6b,0x01,0x00,0x01,0x0c,0x73,0x75,0x63,0x63,0x65, + 0x73,0x73,0x03,0x00,0x11,0x20,0x69,0x73,0x20,0x62,0x79,0x74,0x65,0x63,0x6f,0x64, + 0x65,0x06,0x21,0x09,0x72,0x65,0x61,0x64,0x01,0x00,0x01,0x0c,0x73,0x75,0x63,0x63, + 0x65,0x73,0x73,0x03,0x00,0x0a,0x65,0x72,0x72,0x6f,0x72,0x09,0x6f,0x70,0x65,0x6e, + 0x07,0x69,0x6f,0x06,0x40,0x08,0x73,0x75,0x62,0x0b,0x61,0x73,0x73,0x65,0x72,0x74, + 0x0b,0x73,0x6f,0x75,0x72,0x63,0x65,0x06,0x53,0x0c,0x67,0x65,0x74,0x69,0x6e,0x66, + 0x6f,0x09,0x63,0x6f,0x72,0x6f,0x0d,0x67,0x65,0x74,0x5f,0x70,0x61,0x74,0x68,0x06, + 0x66,0x02,0x03,0x80,0x80,0xc0,0x99,0x04,0xbc,0x02,0x00,0x02,0x07,0x03,0x12,0x00, + 0x2a,0x37,0x02,0x00,0x01,0x07,0x02,0x01,0x00,0x54,0x02,0x08,0x80,0x34,0x02,0x02, + 0x00,0x2b,0x03,0x00,0x00,0x34,0x04,0x02,0x00,0x37,0x04,0x03,0x04,0x2b,0x05,0x00, + 0x00,0x36,0x04,0x05,0x04,0x39,0x04,0x03,0x02,0x54,0x02,0x13,0x80,0x34,0x02,0x02, + 0x00,0x2b,0x03,0x00,0x00,0x34,0x04,0x04,0x00,0x33,0x05,0x06,0x00,0x37,0x06,0x05, + 0x00,0x3a,0x06,0x05,0x05,0x2b,0x06,0x00,0x00,0x3a,0x06,0x07,0x05,0x37,0x06,0x00, + 0x01,0x07,0x06,0x08,0x00,0x54,0x06,0x04,0x80,0x2b,0x06,0x01,0x00,0x37,0x06,0x09, + 0x06,0x0e,0x00,0x06,0x00,0x54,0x07,0x02,0x80,0x2b,0x06,0x01,0x00,0x37,0x06,0x0a, + 0x06,0x3e,0x04,0x03,0x02,0x39,0x04,0x03,0x02,0x2b,0x02,0x02,0x00,0x37,0x02,0x0b, + 0x02,0x37,0x03,0x05,0x00,0x33,0x04,0x0c,0x00,0x33,0x05,0x0d,0x00,0x2b,0x06,0x00, + 0x00,0x3a,0x06,0x0e,0x05,0x37,0x06,0x0f,0x01,0x3a,0x06,0x10,0x05,0x3a,0x05,0x11, + 0x04,0x3e,0x02,0x03,0x01,0x47,0x00,0x01,0x00,0x00,0xc0,0x00,0x00,0x01,0x00,0x09, 0x61,0x74,0x74,0x72,0x13,0x74,0x72,0x61,0x6e,0x73,0x61,0x63,0x74,0x69,0x6f,0x6e, - 0x5f,0x69,0x64,0x06,0x69,0x01,0x00,0x01,0x0c,0x73,0x75,0x63,0x63,0x65,0x73,0x73, - 0x03,0x01,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e, - 0x73,0x65,0x08,0x73,0x6b,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x0a, - 0x76,0x61,0x6c,0x75,0x65,0x01,0x00,0x00,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61, - 0x74,0x61,0x62,0x6c,0x65,0x0d,0x20,0x3d,0x20,0x76,0x61,0x6c,0x75,0x65,0x0c,0x72, - 0x65,0x74,0x75,0x72,0x6e,0x20,0x0b,0x6c,0x6f,0x61,0x64,0x69,0x6e,0x0a,0x70,0x63, - 0x61,0x6c,0x6c,0x0b,0x73,0x65,0x6c,0x65,0x63,0x74,0x0a,0x73,0x74,0x61,0x63,0x6b, - 0x06,0x6f,0x06,0x64,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x16,0x4e,0x6f, - 0x20,0x73,0x75,0x63,0x68,0x20,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x3a,0x20,0x0a, - 0x65,0x72,0x72,0x6f,0x72,0x0c,0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x06,0x63,0x0d, - 0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x14,0x5e,0x28,0x25,0x2d,0x3f,0x25,0x64, - 0x2b,0x29,0x7c,0x28,0x2e,0x2a,0x29,0x24,0x0a,0x6d,0x61,0x74,0x63,0x68,0x06,0x6e, - 0x0a,0x75,0x6e,0x62,0x36,0x34,0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0xfd,0x05,0x00, - 0x02,0x10,0x03,0x26,0x02,0x7c,0x29,0x02,0x00,0x00,0x37,0x03,0x00,0x01,0x0f,0x00, - 0x03,0x00,0x54,0x04,0x06,0x80,0x2b,0x03,0x00,0x00,0x37,0x03,0x01,0x03,0x37,0x04, - 0x00,0x01,0x3e,0x03,0x02,0x02,0x10,0x02,0x03,0x00,0x54,0x03,0x18,0x80,0x37,0x03, - 0x02,0x00,0x10,0x04,0x03,0x00,0x37,0x03,0x03,0x03,0x27,0x05,0x00,0x00,0x25,0x06, - 0x04,0x00,0x3e,0x03,0x04,0x02,0x37,0x02,0x05,0x03,0x34,0x03,0x06,0x00,0x10,0x05, - 0x02,0x00,0x37,0x04,0x07,0x02,0x27,0x06,0x01,0x00,0x27,0x07,0x01,0x00,0x3e,0x04, - 0x04,0x02,0x06,0x04,0x08,0x00,0x54,0x04,0x02,0x80,0x29,0x04,0x01,0x00,0x54,0x05, - 0x01,0x80,0x29,0x04,0x02,0x00,0x3e,0x03,0x02,0x01,0x10,0x04,0x02,0x00,0x37,0x03, - 0x07,0x02,0x27,0x05,0x02,0x00,0x3e,0x03,0x03,0x02,0x10,0x02,0x03,0x00,0x34,0x03, - 0x09,0x00,0x37,0x03,0x0a,0x03,0x10,0x04,0x02,0x00,0x3e,0x03,0x02,0x03,0x0e,0x00, - 0x03,0x00,0x54,0x05,0x06,0x80,0x2b,0x05,0x01,0x00,0x37,0x05,0x0b,0x05,0x27,0x06, - 0x64,0x00,0x10,0x07,0x04,0x00,0x33,0x08,0x0c,0x00,0x3e,0x05,0x04,0x01,0x10,0x06, - 0x03,0x00,0x37,0x05,0x0d,0x03,0x27,0x07,0x01,0x00,0x3e,0x05,0x03,0x02,0x07,0x05, - 0x0e,0x00,0x54,0x05,0x08,0x80,0x2b,0x05,0x01,0x00,0x37,0x05,0x0b,0x05,0x27,0x06, - 0x64,0x00,0x37,0x07,0x00,0x01,0x25,0x08,0x0f,0x00,0x24,0x07,0x08,0x07,0x33,0x08, - 0x10,0x00,0x3e,0x05,0x04,0x01,0x10,0x06,0x03,0x00,0x37,0x05,0x11,0x03,0x25,0x07, - 0x12,0x00,0x27,0x08,0x00,0x00,0x3e,0x05,0x04,0x01,0x32,0x05,0x00,0x00,0x34,0x06, - 0x13,0x00,0x37,0x07,0x14,0x01,0x0e,0x00,0x07,0x00,0x54,0x08,0x01,0x80,0x27,0x07, - 0x00,0x00,0x3e,0x06,0x02,0x02,0x34,0x07,0x13,0x00,0x37,0x08,0x15,0x01,0x0e,0x00, - 0x08,0x00,0x54,0x09,0x02,0x80,0x34,0x08,0x16,0x00,0x37,0x08,0x17,0x08,0x3e,0x07, - 0x02,0x02,0x27,0x08,0x00,0x00,0x10,0x0a,0x03,0x00,0x37,0x09,0x18,0x03,0x3e,0x09, - 0x02,0x04,0x54,0x0c,0x0c,0x80,0x14,0x08,0x00,0x08,0x03,0x06,0x08,0x00,0x54,0x0d, - 0x06,0x80,0x03,0x08,0x07,0x00,0x54,0x0d,0x04,0x80,0x13,0x0d,0x05,0x00,0x14,0x0d, - 0x00,0x0d,0x39,0x0c,0x0d,0x05,0x54,0x0d,0x03,0x80,0x03,0x07,0x08,0x00,0x54,0x0d, - 0x01,0x80,0x54,0x09,0x02,0x80,0x41,0x0c,0x03,0x02,0x4e,0x0c,0xf2,0x7f,0x10,0x0a, - 0x03,0x00,0x37,0x09,0x19,0x03,0x3e,0x09,0x02,0x01,0x13,0x09,0x05,0x00,0x14,0x09, - 0x00,0x09,0x25,0x0a,0x1a,0x00,0x39,0x0a,0x09,0x05,0x2b,0x09,0x01,0x00,0x37,0x09, - 0x1b,0x09,0x37,0x0a,0x1c,0x00,0x33,0x0b,0x1d,0x00,0x33,0x0c,0x1e,0x00,0x37,0x0d, - 0x1f,0x01,0x3a,0x0d,0x20,0x0c,0x3a,0x0c,0x21,0x0b,0x2b,0x0c,0x02,0x00,0x37,0x0c, - 0x22,0x0c,0x34,0x0d,0x23,0x00,0x37,0x0d,0x24,0x0d,0x10,0x0e,0x05,0x00,0x25,0x0f, - 0x25,0x00,0x3e,0x0d,0x03,0x00,0x3d,0x0c,0x00,0x00,0x3c,0x0c,0x01,0x00,0x3e,0x09, - 0x03,0x01,0x47,0x00,0x01,0x00,0x06,0xc0,0x04,0xc0,0x05,0xc0,0x06,0x0a,0x0b,0x63, - 0x6f,0x6e,0x63,0x61,0x74,0x0a,0x74,0x61,0x62,0x6c,0x65,0x08,0x62,0x36,0x34,0x09, - 0x61,0x74,0x74,0x72,0x13,0x74,0x72,0x61,0x6e,0x73,0x61,0x63,0x74,0x69,0x6f,0x6e, - 0x5f,0x69,0x64,0x06,0x69,0x01,0x00,0x02,0x0c,0x73,0x75,0x63,0x63,0x65,0x73,0x73, - 0x03,0x01,0x0c,0x63,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x0b,0x73,0x6f,0x75,0x72,0x63, - 0x65,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73, - 0x65,0x08,0x73,0x6b,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x05,0x0a, - 0x63,0x6c,0x6f,0x73,0x65,0x0a,0x6c,0x69,0x6e,0x65,0x73,0x09,0x68,0x75,0x67,0x65, - 0x09,0x6d,0x61,0x74,0x68,0x06,0x65,0x06,0x62,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62, - 0x65,0x72,0x08,0x73,0x65,0x74,0x09,0x73,0x65,0x65,0x6b,0x01,0x00,0x01,0x0c,0x73, - 0x75,0x63,0x63,0x65,0x73,0x73,0x03,0x00,0x11,0x20,0x69,0x73,0x20,0x62,0x79,0x74, - 0x65,0x63,0x6f,0x64,0x65,0x06,0x21,0x09,0x72,0x65,0x61,0x64,0x01,0x00,0x01,0x0c, - 0x73,0x75,0x63,0x63,0x65,0x73,0x73,0x03,0x00,0x0a,0x65,0x72,0x72,0x6f,0x72,0x09, - 0x6f,0x70,0x65,0x6e,0x07,0x69,0x6f,0x06,0x40,0x08,0x73,0x75,0x62,0x0b,0x61,0x73, - 0x73,0x65,0x72,0x74,0x0b,0x73,0x6f,0x75,0x72,0x63,0x65,0x06,0x53,0x0c,0x67,0x65, - 0x74,0x69,0x6e,0x66,0x6f,0x09,0x63,0x6f,0x72,0x6f,0x0d,0x67,0x65,0x74,0x5f,0x70, - 0x61,0x74,0x68,0x06,0x66,0x02,0x03,0x80,0x80,0xc0,0x99,0x04,0xbc,0x02,0x00,0x02, - 0x07,0x03,0x12,0x00,0x2a,0x37,0x02,0x00,0x01,0x07,0x02,0x01,0x00,0x54,0x02,0x08, - 0x80,0x34,0x02,0x02,0x00,0x2b,0x03,0x00,0x00,0x34,0x04,0x02,0x00,0x37,0x04,0x03, - 0x04,0x2b,0x05,0x00,0x00,0x36,0x04,0x05,0x04,0x39,0x04,0x03,0x02,0x54,0x02,0x13, - 0x80,0x34,0x02,0x02,0x00,0x2b,0x03,0x00,0x00,0x34,0x04,0x04,0x00,0x33,0x05,0x06, - 0x00,0x37,0x06,0x05,0x00,0x3a,0x06,0x05,0x05,0x2b,0x06,0x00,0x00,0x3a,0x06,0x07, - 0x05,0x37,0x06,0x00,0x01,0x07,0x06,0x08,0x00,0x54,0x06,0x04,0x80,0x2b,0x06,0x01, - 0x00,0x37,0x06,0x09,0x06,0x0e,0x00,0x06,0x00,0x54,0x07,0x02,0x80,0x2b,0x06,0x01, - 0x00,0x37,0x06,0x0a,0x06,0x3e,0x04,0x03,0x02,0x39,0x04,0x03,0x02,0x2b,0x02,0x02, - 0x00,0x37,0x02,0x0b,0x02,0x37,0x03,0x05,0x00,0x33,0x04,0x0c,0x00,0x33,0x05,0x0d, - 0x00,0x2b,0x06,0x00,0x00,0x3a,0x06,0x0e,0x05,0x37,0x06,0x0f,0x01,0x3a,0x06,0x10, - 0x05,0x3a,0x05,0x11,0x04,0x3e,0x02,0x03,0x01,0x47,0x00,0x01,0x00,0x00,0xc0,0x00, - 0x00,0x01,0x00,0x09,0x61,0x74,0x74,0x72,0x13,0x74,0x72,0x61,0x6e,0x73,0x61,0x63, - 0x74,0x69,0x6f,0x6e,0x5f,0x69,0x64,0x06,0x69,0x0c,0x63,0x6f,0x6d,0x6d,0x61,0x6e, - 0x64,0x01,0x00,0x01,0x0c,0x73,0x75,0x63,0x63,0x65,0x73,0x73,0x06,0x31,0x01,0x00, - 0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x0d,0x73, - 0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x14,0x72,0x65,0x64,0x69,0x72,0x65,0x63,0x74, - 0x5f,0x6f,0x75,0x74,0x70,0x75,0x74,0x10,0x63,0x6f,0x70,0x79,0x5f,0x6f,0x75,0x74, - 0x70,0x75,0x74,0x06,0x31,0x09,0x6d,0x6f,0x64,0x65,0x01,0x00,0x00,0x08,0x73,0x6b, - 0x74,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x09,0x62, - 0x61,0x73,0x65,0x07,0x69,0x6f,0x06,0x30,0x06,0x63,0x18,0x01,0x01,0x02,0x02,0x01, - 0x00,0x03,0x31,0x01,0x00,0x00,0x30,0x00,0x00,0x80,0x48,0x01,0x02,0x00,0x03,0xc0, - 0x04,0xc0,0x00,0xc9,0x07,0x03,0x00,0x11,0x00,0x4d,0x00,0x68,0x34,0x00,0x00,0x00, - 0x37,0x00,0x01,0x00,0x34,0x01,0x00,0x00,0x37,0x01,0x02,0x01,0x34,0x02,0x03,0x00, - 0x25,0x03,0x04,0x00,0x3e,0x02,0x02,0x02,0x34,0x03,0x03,0x00,0x25,0x04,0x05,0x00, - 0x3e,0x03,0x02,0x02,0x34,0x04,0x03,0x00,0x25,0x05,0x06,0x00,0x3e,0x04,0x02,0x02, - 0x34,0x05,0x03,0x00,0x25,0x06,0x07,0x00,0x3e,0x05,0x02,0x02,0x34,0x06,0x03,0x00, - 0x25,0x07,0x08,0x00,0x3e,0x06,0x02,0x02,0x34,0x07,0x03,0x00,0x25,0x08,0x09,0x00, - 0x3e,0x07,0x02,0x02,0x34,0x08,0x03,0x00,0x25,0x09,0x0a,0x00,0x3e,0x08,0x02,0x02, - 0x37,0x09,0x0b,0x05,0x32,0x0a,0x00,0x00,0x31,0x0b,0x0c,0x00,0x31,0x0c,0x0e,0x00, - 0x3a,0x0c,0x0d,0x0a,0x31,0x0c,0x10,0x00,0x3a,0x0c,0x0f,0x0a,0x31,0x0c,0x12,0x00, - 0x3a,0x0c,0x11,0x0a,0x31,0x0c,0x14,0x00,0x3a,0x0c,0x13,0x0a,0x31,0x0c,0x16,0x00, - 0x3a,0x0c,0x15,0x0a,0x31,0x0c,0x18,0x00,0x3a,0x0c,0x17,0x0a,0x31,0x0c,0x1a,0x00, - 0x3a,0x0c,0x19,0x0a,0x31,0x0c,0x1c,0x00,0x3a,0x0c,0x1b,0x0a,0x31,0x0c,0x1e,0x00, - 0x3a,0x0c,0x1d,0x0a,0x31,0x0c,0x20,0x00,0x3a,0x0c,0x1f,0x0a,0x31,0x0c,0x22,0x00, - 0x3a,0x0c,0x21,0x0a,0x31,0x0c,0x24,0x00,0x3a,0x0c,0x23,0x0a,0x31,0x0c,0x26,0x00, - 0x3a,0x0c,0x25,0x0a,0x31,0x0c,0x28,0x00,0x3a,0x0c,0x27,0x0a,0x31,0x0c,0x2a,0x00, - 0x3a,0x0c,0x29,0x0a,0x31,0x0c,0x2c,0x00,0x3a,0x0c,0x2b,0x0a,0x31,0x0c,0x2e,0x00, - 0x3a,0x0c,0x2d,0x0a,0x31,0x0c,0x30,0x00,0x3a,0x0c,0x2f,0x0a,0x31,0x0c,0x32,0x00, - 0x3a,0x0c,0x31,0x0a,0x31,0x0c,0x34,0x00,0x3a,0x0c,0x33,0x0a,0x31,0x0c,0x36,0x00, - 0x3a,0x0c,0x35,0x0a,0x33,0x0c,0x38,0x00,0x37,0x0d,0x37,0x07,0x3a,0x0d,0x37,0x0c, - 0x34,0x0d,0x39,0x00,0x32,0x0e,0x00,0x00,0x33,0x0f,0x3b,0x00,0x31,0x10,0x3a,0x00, - 0x3a,0x10,0x3c,0x0f,0x31,0x10,0x3d,0x00,0x3a,0x10,0x3e,0x0f,0x3e,0x0d,0x03,0x02, - 0x3a,0x0d,0x3f,0x0c,0x37,0x0d,0x40,0x05,0x3a,0x0d,0x41,0x0c,0x3a,0x0c,0x3c,0x0c, - 0x31,0x0d,0x43,0x00,0x3a,0x0d,0x42,0x0a,0x31,0x0d,0x45,0x00,0x3a,0x0d,0x44,0x0a, - 0x31,0x0d,0x47,0x00,0x3a,0x0d,0x46,0x0a,0x31,0x0d,0x49,0x00,0x3a,0x0d,0x48,0x0a, - 0x31,0x0d,0x4a,0x00,0x10,0x0e,0x0d,0x00,0x25,0x0f,0x4b,0x00,0x3e,0x0e,0x02,0x02, - 0x3a,0x0e,0x4b,0x0a,0x10,0x0e,0x0d,0x00,0x25,0x0f,0x4c,0x00,0x3e,0x0e,0x02,0x02, - 0x3a,0x0e,0x4c,0x0a,0x30,0x00,0x00,0x80,0x48,0x0a,0x02,0x00,0x0b,0x73,0x74,0x64, - 0x65,0x72,0x72,0x0b,0x73,0x74,0x64,0x6f,0x75,0x74,0x00,0x00,0x0b,0x73,0x6f,0x75, - 0x72,0x63,0x65,0x00,0x11,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x5f,0x73,0x65, - 0x74,0x00,0x13,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x5f,0x76,0x61,0x6c,0x75, - 0x65,0x00,0x11,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x5f,0x67,0x65,0x74,0x10, - 0x65,0x6e,0x76,0x69,0x72,0x6f,0x6e,0x6d,0x65,0x6e,0x74,0x0d,0x65,0x76,0x61,0x6c, - 0x5f,0x65,0x6e,0x76,0x0e,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x0f,0x5f, - 0x5f,0x6e,0x65,0x77,0x69,0x6e,0x64,0x65,0x78,0x00,0x0c,0x5f,0x5f,0x69,0x6e,0x64, - 0x65,0x78,0x01,0x00,0x00,0x00,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61, - 0x62,0x6c,0x65,0x01,0x00,0x00,0x0e,0x6b,0x65,0x79,0x5f,0x63,0x61,0x63,0x68,0x65, - 0x00,0x10,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x5f,0x67,0x65,0x74,0x00,0x12,0x63, - 0x6f,0x6e,0x74,0x65,0x78,0x74,0x5f,0x6e,0x61,0x6d,0x65,0x73,0x00,0x13,0x63,0x6f, - 0x72,0x6f,0x75,0x74,0x69,0x6e,0x65,0x5f,0x6c,0x69,0x73,0x74,0x00,0x0e,0x73,0x74, - 0x61,0x63,0x6b,0x5f,0x67,0x65,0x74,0x00,0x10,0x73,0x74,0x61,0x63,0x6b,0x5f,0x64, - 0x65,0x70,0x74,0x68,0x00,0x16,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74, - 0x5f,0x72,0x65,0x6d,0x6f,0x76,0x65,0x00,0x16,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f, - 0x69,0x6e,0x74,0x5f,0x75,0x70,0x64,0x61,0x74,0x65,0x00,0x14,0x62,0x72,0x65,0x61, - 0x6b,0x70,0x6f,0x69,0x6e,0x74,0x5f,0x6c,0x69,0x73,0x74,0x00,0x13,0x62,0x72,0x65, - 0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x5f,0x67,0x65,0x74,0x00,0x13,0x62,0x72,0x65, - 0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x5f,0x73,0x65,0x74,0x00,0x09,0x65,0x76,0x61, - 0x6c,0x00,0x0e,0x73,0x74,0x65,0x70,0x5f,0x69,0x6e,0x74,0x6f,0x00,0x0d,0x73,0x74, - 0x65,0x70,0x5f,0x6f,0x75,0x74,0x00,0x0e,0x73,0x74,0x65,0x70,0x5f,0x6f,0x76,0x65, - 0x72,0x00,0x08,0x72,0x75,0x6e,0x00,0x10,0x74,0x79,0x70,0x65,0x6d,0x61,0x70,0x5f, - 0x67,0x65,0x74,0x00,0x10,0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x5f,0x73,0x65,0x74, - 0x00,0x10,0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x5f,0x67,0x65,0x74,0x00,0x09,0x73, - 0x74,0x6f,0x70,0x00,0x0b,0x73,0x74,0x61,0x74,0x75,0x73,0x00,0x0a,0x62,0x72,0x65, - 0x61,0x6b,0x00,0x08,0x6c,0x6f,0x67,0x15,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72, - 0x2e,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x1b,0x64,0x65,0x62,0x75,0x67,0x67,0x65, - 0x72,0x2e,0x69,0x6e,0x74,0x72,0x6f,0x73,0x70,0x65,0x63,0x74,0x69,0x6f,0x6e,0x16, - 0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x70,0x6c,0x61,0x74,0x66,0x6f,0x72, - 0x6d,0x12,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x75,0x74,0x69,0x6c,0x12, - 0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x64,0x62,0x67,0x70,0x12,0x64,0x65, - 0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x63,0x6f,0x72,0x65,0x0a,0x64,0x65,0x62,0x75, - 0x67,0x0c,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x0a,0x79,0x69,0x65,0x6c,0x64,0x09, - 0x77,0x72,0x61,0x70,0x0e,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e,0x65,0x1b,0x00, - 0x01,0x03,0x00,0x01,0x00,0x03,0x34,0x01,0x00,0x00,0x10,0x02,0x00,0x00,0x40,0x01, - 0x02,0x00,0x0c,0x67,0x65,0x74,0x66,0x65,0x6e,0x76,0x7e,0x00,0x02,0x04,0x03,0x01, - 0x00,0x1b,0x2b,0x02,0x00,0x00,0x36,0x02,0x02,0x01,0x2b,0x03,0x01,0x00,0x36,0x02, - 0x03,0x02,0x37,0x02,0x00,0x02,0x0f,0x00,0x02,0x00,0x54,0x03,0x05,0x80,0x2b,0x02, - 0x00,0x00,0x36,0x02,0x02,0x01,0x37,0x02,0x00,0x02,0x48,0x02,0x02,0x00,0x54,0x02, - 0x0e,0x80,0x2b,0x02,0x02,0x00,0x36,0x02,0x02,0x01,0x2b,0x03,0x01,0x00,0x36,0x02, - 0x03,0x02,0x37,0x02,0x00,0x02,0x0f,0x00,0x02,0x00,0x54,0x03,0x05,0x80,0x2b,0x02, - 0x02,0x00,0x36,0x02,0x02,0x01,0x37,0x02,0x00,0x02,0x48,0x02,0x02,0x00,0x54,0x02, - 0x02,0x80,0x32,0x02,0x00,0x00,0x48,0x02,0x02,0x00,0x47,0x00,0x01,0x00,0x03,0xc0, - 0x07,0xc0,0x04,0xc0,0x09,0x5f,0x45,0x4e,0x56,0x83,0x01,0x00,0x02,0x04,0x04,0x00, - 0x00,0x1d,0x2b,0x02,0x00,0x00,0x36,0x02,0x02,0x00,0x2b,0x03,0x01,0x00,0x36,0x02, - 0x03,0x02,0x36,0x02,0x01,0x02,0x0f,0x00,0x02,0x00,0x54,0x03,0x05,0x80,0x2b,0x02, - 0x00,0x00,0x36,0x02,0x02,0x00,0x36,0x02,0x01,0x02,0x48,0x02,0x02,0x00,0x54,0x02, - 0x10,0x80,0x2b,0x02,0x02,0x00,0x36,0x02,0x02,0x00,0x2b,0x03,0x01,0x00,0x36,0x02, - 0x03,0x02,0x36,0x02,0x01,0x02,0x0f,0x00,0x02,0x00,0x54,0x03,0x05,0x80,0x2b,0x02, - 0x02,0x00,0x36,0x02,0x02,0x00,0x36,0x02,0x01,0x02,0x48,0x02,0x02,0x00,0x54,0x02, - 0x04,0x80,0x2b,0x02,0x03,0x00,0x36,0x02,0x02,0x00,0x36,0x02,0x01,0x02,0x48,0x02, - 0x02,0x00,0x47,0x00,0x01,0x00,0x03,0xc0,0x07,0xc0,0x04,0xc0,0x05,0xc0,0x77,0x00, - 0x03,0x05,0x04,0x00,0x00,0x1a,0x2b,0x03,0x00,0x00,0x36,0x03,0x03,0x00,0x2b,0x04, - 0x01,0x00,0x36,0x03,0x04,0x03,0x36,0x03,0x01,0x03,0x0f,0x00,0x03,0x00,0x54,0x04, - 0x04,0x80,0x2b,0x03,0x00,0x00,0x36,0x03,0x03,0x00,0x39,0x02,0x01,0x03,0x54,0x03, - 0x0e,0x80,0x2b,0x03,0x02,0x00,0x36,0x03,0x03,0x00,0x2b,0x04,0x01,0x00,0x36,0x03, + 0x5f,0x69,0x64,0x06,0x69,0x0c,0x63,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x01,0x00,0x01, + 0x0c,0x73,0x75,0x63,0x63,0x65,0x73,0x73,0x06,0x31,0x01,0x00,0x01,0x08,0x74,0x61, + 0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x0d,0x73,0x65,0x6e,0x64,0x5f, + 0x78,0x6d,0x6c,0x14,0x72,0x65,0x64,0x69,0x72,0x65,0x63,0x74,0x5f,0x6f,0x75,0x74, + 0x70,0x75,0x74,0x10,0x63,0x6f,0x70,0x79,0x5f,0x6f,0x75,0x74,0x70,0x75,0x74,0x06, + 0x31,0x09,0x6d,0x6f,0x64,0x65,0x01,0x00,0x00,0x08,0x73,0x6b,0x74,0x11,0x73,0x65, + 0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x09,0x62,0x61,0x73,0x65,0x07, + 0x69,0x6f,0x06,0x30,0x06,0x63,0x18,0x01,0x01,0x02,0x02,0x01,0x00,0x03,0x31,0x01, + 0x00,0x00,0x30,0x00,0x00,0x80,0x48,0x01,0x02,0x00,0x03,0xc0,0x04,0xc0,0x00,0xc9, + 0x07,0x03,0x00,0x11,0x00,0x4d,0x00,0x68,0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00, + 0x34,0x01,0x00,0x00,0x37,0x01,0x02,0x01,0x34,0x02,0x03,0x00,0x25,0x03,0x04,0x00, + 0x3e,0x02,0x02,0x02,0x34,0x03,0x03,0x00,0x25,0x04,0x05,0x00,0x3e,0x03,0x02,0x02, + 0x34,0x04,0x03,0x00,0x25,0x05,0x06,0x00,0x3e,0x04,0x02,0x02,0x34,0x05,0x03,0x00, + 0x25,0x06,0x07,0x00,0x3e,0x05,0x02,0x02,0x34,0x06,0x03,0x00,0x25,0x07,0x08,0x00, + 0x3e,0x06,0x02,0x02,0x34,0x07,0x03,0x00,0x25,0x08,0x09,0x00,0x3e,0x07,0x02,0x02, + 0x34,0x08,0x03,0x00,0x25,0x09,0x0a,0x00,0x3e,0x08,0x02,0x02,0x37,0x09,0x0b,0x05, + 0x32,0x0a,0x00,0x00,0x31,0x0b,0x0c,0x00,0x31,0x0c,0x0e,0x00,0x3a,0x0c,0x0d,0x0a, + 0x31,0x0c,0x10,0x00,0x3a,0x0c,0x0f,0x0a,0x31,0x0c,0x12,0x00,0x3a,0x0c,0x11,0x0a, + 0x31,0x0c,0x14,0x00,0x3a,0x0c,0x13,0x0a,0x31,0x0c,0x16,0x00,0x3a,0x0c,0x15,0x0a, + 0x31,0x0c,0x18,0x00,0x3a,0x0c,0x17,0x0a,0x31,0x0c,0x1a,0x00,0x3a,0x0c,0x19,0x0a, + 0x31,0x0c,0x1c,0x00,0x3a,0x0c,0x1b,0x0a,0x31,0x0c,0x1e,0x00,0x3a,0x0c,0x1d,0x0a, + 0x31,0x0c,0x20,0x00,0x3a,0x0c,0x1f,0x0a,0x31,0x0c,0x22,0x00,0x3a,0x0c,0x21,0x0a, + 0x31,0x0c,0x24,0x00,0x3a,0x0c,0x23,0x0a,0x31,0x0c,0x26,0x00,0x3a,0x0c,0x25,0x0a, + 0x31,0x0c,0x28,0x00,0x3a,0x0c,0x27,0x0a,0x31,0x0c,0x2a,0x00,0x3a,0x0c,0x29,0x0a, + 0x31,0x0c,0x2c,0x00,0x3a,0x0c,0x2b,0x0a,0x31,0x0c,0x2e,0x00,0x3a,0x0c,0x2d,0x0a, + 0x31,0x0c,0x30,0x00,0x3a,0x0c,0x2f,0x0a,0x31,0x0c,0x32,0x00,0x3a,0x0c,0x31,0x0a, + 0x31,0x0c,0x34,0x00,0x3a,0x0c,0x33,0x0a,0x31,0x0c,0x36,0x00,0x3a,0x0c,0x35,0x0a, + 0x33,0x0c,0x38,0x00,0x37,0x0d,0x37,0x07,0x3a,0x0d,0x37,0x0c,0x34,0x0d,0x39,0x00, + 0x32,0x0e,0x00,0x00,0x33,0x0f,0x3b,0x00,0x31,0x10,0x3a,0x00,0x3a,0x10,0x3c,0x0f, + 0x31,0x10,0x3d,0x00,0x3a,0x10,0x3e,0x0f,0x3e,0x0d,0x03,0x02,0x3a,0x0d,0x3f,0x0c, + 0x37,0x0d,0x40,0x05,0x3a,0x0d,0x41,0x0c,0x3a,0x0c,0x3c,0x0c,0x31,0x0d,0x43,0x00, + 0x3a,0x0d,0x42,0x0a,0x31,0x0d,0x45,0x00,0x3a,0x0d,0x44,0x0a,0x31,0x0d,0x47,0x00, + 0x3a,0x0d,0x46,0x0a,0x31,0x0d,0x49,0x00,0x3a,0x0d,0x48,0x0a,0x31,0x0d,0x4a,0x00, + 0x10,0x0e,0x0d,0x00,0x25,0x0f,0x4b,0x00,0x3e,0x0e,0x02,0x02,0x3a,0x0e,0x4b,0x0a, + 0x10,0x0e,0x0d,0x00,0x25,0x0f,0x4c,0x00,0x3e,0x0e,0x02,0x02,0x3a,0x0e,0x4c,0x0a, + 0x30,0x00,0x00,0x80,0x48,0x0a,0x02,0x00,0x0b,0x73,0x74,0x64,0x65,0x72,0x72,0x0b, + 0x73,0x74,0x64,0x6f,0x75,0x74,0x00,0x00,0x0b,0x73,0x6f,0x75,0x72,0x63,0x65,0x00, + 0x11,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x5f,0x73,0x65,0x74,0x00,0x13,0x70, + 0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x5f,0x76,0x61,0x6c,0x75,0x65,0x00,0x11,0x70, + 0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x5f,0x67,0x65,0x74,0x10,0x65,0x6e,0x76,0x69, + 0x72,0x6f,0x6e,0x6d,0x65,0x6e,0x74,0x0d,0x65,0x76,0x61,0x6c,0x5f,0x65,0x6e,0x76, + 0x0e,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x0f,0x5f,0x5f,0x6e,0x65,0x77, + 0x69,0x6e,0x64,0x65,0x78,0x00,0x0c,0x5f,0x5f,0x69,0x6e,0x64,0x65,0x78,0x01,0x00, + 0x00,0x00,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x01, + 0x00,0x00,0x0e,0x6b,0x65,0x79,0x5f,0x63,0x61,0x63,0x68,0x65,0x00,0x10,0x63,0x6f, + 0x6e,0x74,0x65,0x78,0x74,0x5f,0x67,0x65,0x74,0x00,0x12,0x63,0x6f,0x6e,0x74,0x65, + 0x78,0x74,0x5f,0x6e,0x61,0x6d,0x65,0x73,0x00,0x13,0x63,0x6f,0x72,0x6f,0x75,0x74, + 0x69,0x6e,0x65,0x5f,0x6c,0x69,0x73,0x74,0x00,0x0e,0x73,0x74,0x61,0x63,0x6b,0x5f, + 0x67,0x65,0x74,0x00,0x10,0x73,0x74,0x61,0x63,0x6b,0x5f,0x64,0x65,0x70,0x74,0x68, + 0x00,0x16,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x5f,0x72,0x65,0x6d, + 0x6f,0x76,0x65,0x00,0x16,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x5f, + 0x75,0x70,0x64,0x61,0x74,0x65,0x00,0x14,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69, + 0x6e,0x74,0x5f,0x6c,0x69,0x73,0x74,0x00,0x13,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f, + 0x69,0x6e,0x74,0x5f,0x67,0x65,0x74,0x00,0x13,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f, + 0x69,0x6e,0x74,0x5f,0x73,0x65,0x74,0x00,0x09,0x65,0x76,0x61,0x6c,0x00,0x0e,0x73, + 0x74,0x65,0x70,0x5f,0x69,0x6e,0x74,0x6f,0x00,0x0d,0x73,0x74,0x65,0x70,0x5f,0x6f, + 0x75,0x74,0x00,0x0e,0x73,0x74,0x65,0x70,0x5f,0x6f,0x76,0x65,0x72,0x00,0x08,0x72, + 0x75,0x6e,0x00,0x10,0x74,0x79,0x70,0x65,0x6d,0x61,0x70,0x5f,0x67,0x65,0x74,0x00, + 0x10,0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x5f,0x73,0x65,0x74,0x00,0x10,0x66,0x65, + 0x61,0x74,0x75,0x72,0x65,0x5f,0x67,0x65,0x74,0x00,0x09,0x73,0x74,0x6f,0x70,0x00, + 0x0b,0x73,0x74,0x61,0x74,0x75,0x73,0x00,0x0a,0x62,0x72,0x65,0x61,0x6b,0x00,0x08, + 0x6c,0x6f,0x67,0x15,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x63,0x6f,0x6e, + 0x74,0x65,0x78,0x74,0x1b,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x69,0x6e, + 0x74,0x72,0x6f,0x73,0x70,0x65,0x63,0x74,0x69,0x6f,0x6e,0x16,0x64,0x65,0x62,0x75, + 0x67,0x67,0x65,0x72,0x2e,0x70,0x6c,0x61,0x74,0x66,0x6f,0x72,0x6d,0x12,0x64,0x65, + 0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x75,0x74,0x69,0x6c,0x12,0x64,0x65,0x62,0x75, + 0x67,0x67,0x65,0x72,0x2e,0x64,0x62,0x67,0x70,0x12,0x64,0x65,0x62,0x75,0x67,0x67, + 0x65,0x72,0x2e,0x63,0x6f,0x72,0x65,0x0a,0x64,0x65,0x62,0x75,0x67,0x0c,0x72,0x65, + 0x71,0x75,0x69,0x72,0x65,0x0a,0x79,0x69,0x65,0x6c,0x64,0x09,0x77,0x72,0x61,0x70, + 0x0e,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e,0x65,0x1b,0x00,0x01,0x03,0x00,0x01, + 0x00,0x03,0x34,0x01,0x00,0x00,0x10,0x02,0x00,0x00,0x40,0x01,0x02,0x00,0x0c,0x67, + 0x65,0x74,0x66,0x65,0x6e,0x76,0x7e,0x00,0x02,0x04,0x03,0x01,0x00,0x1b,0x2b,0x02, + 0x00,0x00,0x36,0x02,0x02,0x01,0x2b,0x03,0x01,0x00,0x36,0x02,0x03,0x02,0x37,0x02, + 0x00,0x02,0x0f,0x00,0x02,0x00,0x54,0x03,0x05,0x80,0x2b,0x02,0x00,0x00,0x36,0x02, + 0x02,0x01,0x37,0x02,0x00,0x02,0x48,0x02,0x02,0x00,0x54,0x02,0x0e,0x80,0x2b,0x02, + 0x02,0x00,0x36,0x02,0x02,0x01,0x2b,0x03,0x01,0x00,0x36,0x02,0x03,0x02,0x37,0x02, + 0x00,0x02,0x0f,0x00,0x02,0x00,0x54,0x03,0x05,0x80,0x2b,0x02,0x02,0x00,0x36,0x02, + 0x02,0x01,0x37,0x02,0x00,0x02,0x48,0x02,0x02,0x00,0x54,0x02,0x02,0x80,0x32,0x02, + 0x00,0x00,0x48,0x02,0x02,0x00,0x47,0x00,0x01,0x00,0x03,0xc0,0x07,0xc0,0x04,0xc0, + 0x09,0x5f,0x45,0x4e,0x56,0x83,0x01,0x00,0x02,0x04,0x04,0x00,0x00,0x1d,0x2b,0x02, + 0x00,0x00,0x36,0x02,0x02,0x00,0x2b,0x03,0x01,0x00,0x36,0x02,0x03,0x02,0x36,0x02, + 0x01,0x02,0x0f,0x00,0x02,0x00,0x54,0x03,0x05,0x80,0x2b,0x02,0x00,0x00,0x36,0x02, + 0x02,0x00,0x36,0x02,0x01,0x02,0x48,0x02,0x02,0x00,0x54,0x02,0x10,0x80,0x2b,0x02, + 0x02,0x00,0x36,0x02,0x02,0x00,0x2b,0x03,0x01,0x00,0x36,0x02,0x03,0x02,0x36,0x02, + 0x01,0x02,0x0f,0x00,0x02,0x00,0x54,0x03,0x05,0x80,0x2b,0x02,0x02,0x00,0x36,0x02, + 0x02,0x00,0x36,0x02,0x01,0x02,0x48,0x02,0x02,0x00,0x54,0x02,0x04,0x80,0x2b,0x02, + 0x03,0x00,0x36,0x02,0x02,0x00,0x36,0x02,0x01,0x02,0x48,0x02,0x02,0x00,0x47,0x00, + 0x01,0x00,0x03,0xc0,0x07,0xc0,0x04,0xc0,0x05,0xc0,0x77,0x00,0x03,0x05,0x04,0x00, + 0x00,0x1a,0x2b,0x03,0x00,0x00,0x36,0x03,0x03,0x00,0x2b,0x04,0x01,0x00,0x36,0x03, 0x04,0x03,0x36,0x03,0x01,0x03,0x0f,0x00,0x03,0x00,0x54,0x04,0x04,0x80,0x2b,0x03, - 0x02,0x00,0x36,0x03,0x03,0x00,0x39,0x02,0x01,0x03,0x54,0x03,0x03,0x80,0x2b,0x03, - 0x03,0x00,0x36,0x03,0x03,0x00,0x39,0x02,0x01,0x03,0x47,0x00,0x01,0x00,0x03,0xc0, - 0x07,0xc0,0x04,0xc0,0x05,0xc0,0xd1,0x02,0x00,0x01,0x0f,0x03,0x0a,0x01,0x41,0x33, - 0x01,0x00,0x00,0x34,0x02,0x01,0x00,0x2b,0x03,0x00,0x00,0x36,0x03,0x03,0x00,0x2b, - 0x04,0x01,0x00,0x36,0x03,0x04,0x03,0x3e,0x02,0x02,0x04,0x44,0x05,0x13,0x80,0x13, - 0x07,0x01,0x00,0x14,0x07,0x00,0x07,0x25,0x08,0x02,0x00,0x34,0x09,0x03,0x00,0x10, - 0x0a,0x05,0x00,0x3e,0x09,0x02,0x02,0x25,0x0a,0x04,0x00,0x34,0x0b,0x03,0x00,0x10, - 0x0c,0x06,0x00,0x3e,0x0b,0x02,0x02,0x25,0x0c,0x05,0x00,0x34,0x0d,0x03,0x00,0x2b, - 0x0e,0x00,0x00,0x36,0x0e,0x0e,0x00,0x36,0x0e,0x05,0x0e,0x3e,0x0d,0x02,0x02,0x25, - 0x0e,0x06,0x00,0x24,0x08,0x0e,0x08,0x39,0x08,0x07,0x01,0x42,0x05,0x03,0x03,0x4e, - 0x05,0xeb,0x7f,0x13,0x02,0x01,0x00,0x14,0x02,0x00,0x02,0x25,0x03,0x07,0x00,0x39, - 0x03,0x02,0x01,0x34,0x02,0x01,0x00,0x2b,0x03,0x02,0x00,0x36,0x03,0x03,0x00,0x2b, - 0x04,0x01,0x00,0x36,0x03,0x04,0x03,0x3e,0x02,0x02,0x04,0x44,0x05,0x13,0x80,0x13, - 0x07,0x01,0x00,0x14,0x07,0x00,0x07,0x25,0x08,0x02,0x00,0x34,0x09,0x03,0x00,0x10, - 0x0a,0x05,0x00,0x3e,0x09,0x02,0x02,0x25,0x0a,0x04,0x00,0x34,0x0b,0x03,0x00,0x10, - 0x0c,0x06,0x00,0x3e,0x0b,0x02,0x02,0x25,0x0c,0x05,0x00,0x34,0x0d,0x03,0x00,0x2b, - 0x0e,0x02,0x00,0x36,0x0e,0x0e,0x00,0x36,0x0e,0x05,0x0e,0x3e,0x0d,0x02,0x02,0x25, - 0x0e,0x06,0x00,0x24,0x08,0x0e,0x08,0x39,0x08,0x07,0x01,0x42,0x05,0x03,0x03,0x4e, - 0x05,0xeb,0x7f,0x34,0x02,0x08,0x00,0x37,0x02,0x09,0x02,0x10,0x03,0x01,0x00,0x40, - 0x02,0x02,0x00,0x03,0xc0,0x07,0xc0,0x04,0xc0,0x0b,0x63,0x6f,0x6e,0x63,0x61,0x74, - 0x0a,0x74,0x61,0x62,0x6c,0x65,0x10,0x55,0x70,0x76,0x61,0x6c,0x75,0x65,0x73,0x3a, - 0x20,0x0a,0x06,0x0a,0x07,0x29,0x3d,0x06,0x28,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69, - 0x6e,0x67,0x06,0x09,0x0a,0x70,0x61,0x69,0x72,0x73,0x01,0x02,0x00,0x00,0x0e,0x4c, - 0x6f,0x63,0x61,0x6c,0x73,0x3a,0x20,0x0a,0x02,0xb2,0x01,0x00,0x02,0x0a,0x02,0x08, - 0x00,0x18,0x2b,0x02,0x00,0x00,0x36,0x02,0x02,0x00,0x36,0x02,0x01,0x02,0x0e,0x00, - 0x02,0x00,0x54,0x03,0x08,0x80,0x34,0x03,0x00,0x00,0x25,0x04,0x01,0x00,0x34,0x05, - 0x02,0x00,0x10,0x06,0x01,0x00,0x3e,0x05,0x02,0x02,0x25,0x06,0x03,0x00,0x24,0x04, - 0x06,0x04,0x3e,0x03,0x02,0x01,0x2b,0x03,0x01,0x00,0x36,0x03,0x03,0x00,0x34,0x04, - 0x04,0x00,0x27,0x05,0x02,0x00,0x37,0x06,0x05,0x03,0x10,0x07,0x06,0x00,0x37,0x06, - 0x06,0x06,0x37,0x08,0x07,0x03,0x10,0x09,0x02,0x00,0x3e,0x06,0x04,0x00,0x3f,0x04, - 0x01,0x00,0x07,0xc0,0x08,0xc0,0x0a,0x6c,0x65,0x76,0x65,0x6c,0x0d,0x67,0x65,0x74, - 0x6c,0x6f,0x63,0x61,0x6c,0x09,0x63,0x6f,0x72,0x6f,0x0b,0x73,0x65,0x6c,0x65,0x63, - 0x74,0x16,0x20,0x64,0x6f,0x65,0x73,0x20,0x6e,0x6f,0x74,0x20,0x65,0x78,0x69,0x73, - 0x74,0x73,0x2e,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x0f,0x54,0x68,0x65, - 0x20,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x0a,0x65,0x72,0x72,0x6f,0x72,0x8b,0x01,0x00, - 0x03,0x0a,0x02,0x05,0x00,0x15,0x2b,0x03,0x00,0x00,0x36,0x03,0x03,0x00,0x36,0x03, - 0x01,0x03,0x0f,0x00,0x03,0x00,0x54,0x04,0x0a,0x80,0x2b,0x04,0x01,0x00,0x36,0x04, - 0x04,0x00,0x37,0x05,0x00,0x04,0x10,0x06,0x05,0x00,0x37,0x05,0x01,0x05,0x37,0x07, - 0x02,0x04,0x10,0x08,0x03,0x00,0x10,0x09,0x02,0x00,0x3e,0x05,0x05,0x01,0x54,0x04, - 0x05,0x80,0x34,0x04,0x03,0x00,0x25,0x05,0x04,0x00,0x10,0x06,0x01,0x00,0x24,0x05, - 0x06,0x05,0x3e,0x04,0x02,0x01,0x47,0x00,0x01,0x00,0x07,0xc0,0x08,0xc0,0x16,0x43, - 0x61,0x6e,0x6e,0x6f,0x74,0x20,0x73,0x65,0x74,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x20, - 0x0a,0x65,0x72,0x72,0x6f,0x72,0x0a,0x6c,0x65,0x76,0x65,0x6c,0x0d,0x73,0x65,0x74, - 0x6c,0x6f,0x63,0x61,0x6c,0x09,0x63,0x6f,0x72,0x6f,0x46,0x00,0x02,0x06,0x01,0x01, - 0x00,0x0e,0x34,0x02,0x00,0x00,0x2b,0x03,0x00,0x00,0x36,0x03,0x03,0x00,0x10,0x04, - 0x01,0x00,0x3e,0x02,0x03,0x03,0x0f,0x00,0x02,0x00,0x54,0x04,0x04,0x80,0x10,0x04, - 0x02,0x00,0x36,0x05,0x02,0x00,0x46,0x04,0x03,0x00,0x54,0x04,0x02,0x80,0x29,0x04, - 0x00,0x00,0x48,0x04,0x02,0x00,0x47,0x00,0x01,0x00,0x07,0xc0,0x09,0x6e,0x65,0x78, - 0x74,0xa8,0x01,0x00,0x02,0x08,0x02,0x07,0x00,0x16,0x2b,0x02,0x00,0x00,0x36,0x02, - 0x02,0x00,0x36,0x02,0x01,0x02,0x0e,0x00,0x02,0x00,0x54,0x03,0x08,0x80,0x34,0x03, - 0x00,0x00,0x25,0x04,0x01,0x00,0x34,0x05,0x02,0x00,0x10,0x06,0x01,0x00,0x3e,0x05, - 0x02,0x02,0x25,0x06,0x03,0x00,0x24,0x04,0x06,0x04,0x3e,0x03,0x02,0x01,0x34,0x03, - 0x04,0x00,0x27,0x04,0x02,0x00,0x34,0x05,0x05,0x00,0x37,0x05,0x06,0x05,0x2b,0x06, - 0x01,0x00,0x36,0x06,0x06,0x00,0x10,0x07,0x02,0x00,0x3e,0x05,0x03,0x00,0x3f,0x03, - 0x01,0x00,0x07,0xc0,0x08,0xc0,0x0f,0x67,0x65,0x74,0x75,0x70,0x76,0x61,0x6c,0x75, - 0x65,0x0a,0x64,0x65,0x62,0x75,0x67,0x0b,0x73,0x65,0x6c,0x65,0x63,0x74,0x17,0x20, - 0x64,0x6f,0x65,0x73,0x20,0x6e,0x6f,0x74,0x20,0x65,0x78,0x69,0x74,0x73,0x74,0x73, - 0x2e,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x0f,0x54,0x68,0x65,0x20,0x6c, - 0x6f,0x63,0x61,0x6c,0x20,0x0a,0x65,0x72,0x72,0x6f,0x72,0x82,0x01,0x00,0x03,0x08, - 0x02,0x04,0x00,0x13,0x2b,0x03,0x00,0x00,0x36,0x03,0x03,0x00,0x36,0x03,0x01,0x03, - 0x0f,0x00,0x03,0x00,0x54,0x04,0x08,0x80,0x34,0x04,0x00,0x00,0x37,0x04,0x01,0x04, - 0x2b,0x05,0x01,0x00,0x36,0x05,0x05,0x00,0x10,0x06,0x03,0x00,0x10,0x07,0x02,0x00, - 0x3e,0x04,0x04,0x01,0x54,0x04,0x05,0x80,0x34,0x04,0x02,0x00,0x25,0x05,0x03,0x00, - 0x10,0x06,0x01,0x00,0x24,0x05,0x06,0x05,0x3e,0x04,0x02,0x01,0x47,0x00,0x01,0x00, - 0x07,0xc0,0x08,0xc0,0x18,0x43,0x61,0x6e,0x6e,0x6f,0x74,0x20,0x73,0x65,0x74,0x20, - 0x75,0x70,0x76,0x61,0x6c,0x75,0x65,0x20,0x0a,0x65,0x72,0x72,0x6f,0x72,0x0f,0x73, - 0x65,0x74,0x75,0x70,0x76,0x61,0x6c,0x75,0x65,0x0a,0x64,0x65,0x62,0x75,0x67,0x46, - 0x00,0x02,0x06,0x01,0x01,0x00,0x0e,0x34,0x02,0x00,0x00,0x2b,0x03,0x00,0x00,0x36, - 0x03,0x03,0x00,0x10,0x04,0x01,0x00,0x3e,0x02,0x03,0x03,0x0f,0x00,0x02,0x00,0x54, - 0x04,0x04,0x80,0x10,0x04,0x02,0x00,0x36,0x05,0x02,0x00,0x46,0x04,0x03,0x00,0x54, - 0x04,0x02,0x80,0x29,0x04,0x00,0x00,0x48,0x04,0x02,0x00,0x47,0x00,0x01,0x00,0x07, - 0xc0,0x09,0x6e,0x65,0x78,0x74,0xe9,0x04,0x00,0x03,0x10,0x08,0x14,0x00,0x6e,0x32, - 0x03,0x00,0x00,0x32,0x04,0x00,0x00,0x27,0x05,0x00,0x00,0x01,0x02,0x05,0x00,0x54, - 0x05,0x09,0x80,0x2b,0x05,0x00,0x00,0x37,0x05,0x00,0x05,0x27,0x06,0x2d,0x01,0x25, - 0x07,0x01,0x00,0x34,0x08,0x02,0x00,0x10,0x09,0x02,0x00,0x3e,0x08,0x02,0x02,0x24, - 0x07,0x08,0x07,0x3e,0x05,0x03,0x01,0x10,0x06,0x01,0x00,0x37,0x05,0x03,0x01,0x10, - 0x07,0x02,0x00,0x25,0x08,0x04,0x00,0x3e,0x05,0x04,0x02,0x0e,0x00,0x05,0x00,0x54, - 0x06,0x09,0x80,0x2b,0x05,0x00,0x00,0x37,0x05,0x00,0x05,0x27,0x06,0x2d,0x01,0x25, - 0x07,0x01,0x00,0x34,0x08,0x02,0x00,0x10,0x09,0x02,0x00,0x3e,0x08,0x02,0x02,0x24, - 0x07,0x08,0x07,0x3e,0x05,0x03,0x02,0x37,0x05,0x05,0x05,0x27,0x06,0x01,0x00,0x34, - 0x07,0x06,0x00,0x37,0x07,0x07,0x07,0x27,0x08,0x01,0x00,0x49,0x06,0x12,0x80,0x10, - 0x0b,0x01,0x00,0x37,0x0a,0x08,0x01,0x10,0x0c,0x02,0x00,0x10,0x0d,0x09,0x00,0x3e, - 0x0a,0x04,0x03,0x0e,0x00,0x0a,0x00,0x54,0x0c,0x02,0x80,0x54,0x06,0x0a,0x80,0x54, - 0x0c,0x08,0x80,0x10,0x0d,0x0a,0x00,0x37,0x0c,0x09,0x0a,0x27,0x0e,0x01,0x00,0x27, - 0x0f,0x01,0x00,0x3e,0x0c,0x04,0x02,0x06,0x0c,0x0a,0x00,0x54,0x0c,0x01,0x80,0x39, - 0x09,0x0a,0x03,0x4b,0x06,0xee,0x7f,0x27,0x06,0x01,0x00,0x34,0x07,0x06,0x00,0x37, - 0x07,0x07,0x07,0x27,0x08,0x01,0x00,0x49,0x06,0x0a,0x80,0x34,0x0a,0x0b,0x00,0x37, - 0x0a,0x0c,0x0a,0x10,0x0b,0x05,0x00,0x10,0x0c,0x09,0x00,0x3e,0x0a,0x03,0x03,0x0e, - 0x00,0x0a,0x00,0x54,0x0c,0x01,0x80,0x54,0x06,0x02,0x80,0x39,0x09,0x0a,0x04,0x4b, - 0x06,0xf6,0x7f,0x34,0x06,0x0d,0x00,0x32,0x07,0x00,0x08,0x2b,0x08,0x01,0x00,0x39, - 0x03,0x08,0x07,0x2b,0x08,0x02,0x00,0x33,0x09,0x0e,0x00,0x3a,0x02,0x0f,0x09,0x3a, - 0x01,0x10,0x09,0x39,0x09,0x08,0x07,0x37,0x08,0x11,0x00,0x3e,0x06,0x03,0x02,0x10, - 0x03,0x06,0x00,0x34,0x06,0x0d,0x00,0x32,0x07,0x00,0x08,0x2b,0x08,0x01,0x00,0x39, - 0x04,0x08,0x07,0x2b,0x08,0x02,0x00,0x39,0x05,0x08,0x07,0x37,0x08,0x12,0x00,0x3e, - 0x06,0x03,0x02,0x10,0x04,0x06,0x00,0x34,0x06,0x0d,0x00,0x32,0x07,0x00,0x10,0x2b, - 0x08,0x03,0x00,0x39,0x03,0x08,0x07,0x2b,0x08,0x04,0x00,0x39,0x04,0x08,0x07,0x2b, - 0x08,0x05,0x00,0x32,0x09,0x00,0x00,0x39,0x09,0x08,0x07,0x10,0x08,0x00,0x00,0x3e, - 0x06,0x03,0x02,0x34,0x07,0x13,0x00,0x10,0x08,0x06,0x00,0x2b,0x09,0x06,0x00,0x2b, - 0x0a,0x07,0x00,0x10,0x0b,0x05,0x00,0x10,0x0c,0x06,0x00,0x3e,0x0a,0x03,0x00,0x3d, - 0x07,0x02,0x01,0x48,0x06,0x02,0x00,0x01,0xc0,0x07,0xc0,0x08,0xc0,0x03,0xc0,0x04, - 0xc0,0x06,0xc0,0x05,0xc0,0x09,0x80,0x0b,0x72,0x61,0x77,0x73,0x65,0x74,0x11,0x55, - 0x70,0x76,0x61,0x6c,0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x11,0x4c,0x6f,0x63,0x61, - 0x6c,0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x09,0x63,0x6f,0x72,0x6f,0x0a,0x6c,0x65, - 0x76,0x65,0x6c,0x01,0x00,0x00,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61, - 0x62,0x6c,0x65,0x0f,0x67,0x65,0x74,0x75,0x70,0x76,0x61,0x6c,0x75,0x65,0x0a,0x64, - 0x65,0x62,0x75,0x67,0x06,0x28,0x08,0x73,0x75,0x62,0x0d,0x67,0x65,0x74,0x6c,0x6f, - 0x63,0x61,0x6c,0x09,0x68,0x75,0x67,0x65,0x09,0x6d,0x61,0x74,0x68,0x09,0x66,0x75, - 0x6e,0x63,0x06,0x66,0x0c,0x67,0x65,0x74,0x69,0x6e,0x66,0x6f,0x0d,0x74,0x6f,0x73, - 0x74,0x72,0x69,0x6e,0x67,0x1a,0x4e,0x6f,0x20,0x73,0x75,0x63,0x68,0x20,0x73,0x74, - 0x61,0x63,0x6b,0x20,0x6c,0x65,0x76,0x65,0x6c,0x3a,0x20,0x0a,0x65,0x72,0x72,0x6f, - 0x72,0x77,0x00,0x02,0x09,0x02,0x02,0x00,0x18,0x38,0x02,0x01,0x00,0x0e,0x00,0x02, - 0x00,0x54,0x03,0x01,0x80,0x29,0x02,0x02,0x00,0x2b,0x03,0x00,0x00,0x36,0x03,0x02, - 0x03,0x0e,0x00,0x03,0x00,0x54,0x04,0x03,0x80,0x32,0x03,0x00,0x00,0x2b,0x04,0x00, - 0x00,0x39,0x03,0x02,0x04,0x36,0x04,0x01,0x03,0x0e,0x00,0x04,0x00,0x54,0x05,0x09, - 0x80,0x2b,0x05,0x01,0x00,0x37,0x05,0x00,0x05,0x10,0x06,0x05,0x00,0x37,0x05,0x01, - 0x05,0x10,0x07,0x00,0x00,0x10,0x08,0x01,0x00,0x3e,0x05,0x04,0x02,0x10,0x04,0x05, - 0x00,0x39,0x04,0x01,0x03,0x48,0x04,0x02,0x00,0x00,0xc0,0x00,0x00,0x08,0x6e,0x65, - 0x77,0x0c,0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x1a,0x01,0x00,0x02,0x01,0x01,0x00, - 0x04,0x32,0x00,0x00,0x00,0x31,0x01,0x00,0x00,0x30,0x00,0x00,0x80,0x48,0x01,0x02, - 0x00,0x00,0xc0,0x00,0xa8,0x03,0x03,0x00,0x0d,0x00,0x20,0x00,0x3b,0x32,0x00,0x00, - 0x00,0x34,0x01,0x00,0x00,0x25,0x02,0x01,0x00,0x3e,0x01,0x02,0x02,0x34,0x02,0x00, - 0x00,0x25,0x03,0x02,0x00,0x3e,0x02,0x02,0x02,0x32,0x03,0x00,0x00,0x32,0x04,0x00, - 0x00,0x32,0x05,0x00,0x00,0x32,0x06,0x00,0x00,0x32,0x07,0x00,0x00,0x32,0x08,0x00, - 0x00,0x29,0x09,0x00,0x00,0x34,0x0a,0x03,0x00,0x07,0x0a,0x04,0x00,0x54,0x0a,0x02, - 0x80,0x31,0x09,0x05,0x00,0x54,0x0a,0x04,0x80,0x34,0x0a,0x03,0x00,0x07,0x0a,0x06, - 0x00,0x54,0x0a,0x01,0x80,0x31,0x09,0x07,0x00,0x33,0x0a,0x09,0x00,0x3b,0x03,0x00, - 0x0a,0x3b,0x05,0x01,0x0a,0x3b,0x04,0x02,0x0a,0x27,0x0b,0xff,0xff,0x39,0x06,0x0b, - 0x0a,0x3a,0x07,0x0a,0x0a,0x31,0x0b,0x0b,0x00,0x3a,0x0b,0x0c,0x0a,0x31,0x0b,0x0d, - 0x00,0x3a,0x0b,0x0e,0x0a,0x31,0x0b,0x0f,0x00,0x3a,0x0b,0x10,0x0a,0x33,0x0b,0x12, - 0x00,0x31,0x0c,0x11,0x00,0x3a,0x0c,0x0c,0x0b,0x31,0x0c,0x13,0x00,0x3a,0x0c,0x0e, - 0x0b,0x31,0x0c,0x14,0x00,0x3a,0x0c,0x15,0x0b,0x3a,0x0b,0x16,0x0a,0x33,0x0b,0x18, - 0x00,0x31,0x0c,0x17,0x00,0x3a,0x0c,0x0c,0x0b,0x31,0x0c,0x19,0x00,0x3a,0x0c,0x0e, - 0x0b,0x31,0x0c,0x1a,0x00,0x3a,0x0c,0x15,0x0b,0x3a,0x0b,0x1b,0x0a,0x31,0x0b,0x1c, - 0x00,0x3a,0x0b,0x1d,0x0a,0x3a,0x0a,0x08,0x00,0x31,0x0a,0x1f,0x00,0x3a,0x0a,0x1e, - 0x00,0x30,0x00,0x00,0x80,0x48,0x00,0x02,0x00,0x00,0x13,0x43,0x6f,0x6e,0x74,0x65, - 0x78,0x74,0x4d,0x61,0x6e,0x61,0x67,0x65,0x72,0x08,0x6e,0x65,0x77,0x00,0x11,0x55, - 0x70,0x76,0x61,0x6c,0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x00,0x00,0x01,0x00,0x00, - 0x00,0x11,0x4c,0x6f,0x63,0x61,0x6c,0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x0d,0x69, - 0x74,0x65,0x72,0x61,0x74,0x6f,0x72,0x00,0x00,0x01,0x00,0x00,0x00,0x0f,0x5f,0x5f, - 0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x00,0x0f,0x5f,0x5f,0x6e,0x65,0x77,0x69, - 0x6e,0x64,0x65,0x78,0x00,0x0c,0x5f,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x0a,0x53, - 0x54,0x4f,0x52,0x45,0x01,0x00,0x00,0x0c,0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x00, - 0x0c,0x4c,0x75,0x61,0x20,0x35,0x2e,0x32,0x00,0x0c,0x4c,0x75,0x61,0x20,0x35,0x2e, - 0x31,0x0d,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x12,0x64,0x65,0x62,0x75,0x67, - 0x67,0x65,0x72,0x2e,0x75,0x74,0x69,0x6c,0x12,0x64,0x65,0x62,0x75,0x67,0x67,0x65, - 0x72,0x2e,0x64,0x62,0x67,0x70,0x0c,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x43,0x00, - 0x01,0x08,0x00,0x02,0x00,0x0a,0x32,0x01,0x00,0x00,0x10,0x03,0x00,0x00,0x37,0x02, - 0x00,0x00,0x25,0x04,0x01,0x00,0x3e,0x02,0x03,0x04,0x54,0x05,0x01,0x80,0x39,0x06, - 0x05,0x01,0x41,0x05,0x03,0x03,0x4e,0x05,0xfd,0x7f,0x48,0x01,0x02,0x00,0x11,0x25, - 0x2d,0x28,0x25,0x77,0x29,0x20,0x28,0x25,0x53,0x2b,0x29,0x0b,0x67,0x6d,0x61,0x74, - 0x63,0x68,0xe1,0x01,0x00,0x01,0x09,0x02,0x07,0x00,0x23,0x2a,0x01,0x03,0x00,0x10, - 0x05,0x00,0x00,0x37,0x04,0x00,0x00,0x25,0x06,0x01,0x00,0x27,0x07,0x01,0x00,0x29, - 0x08,0x02,0x00,0x3e,0x04,0x05,0x02,0x0f,0x00,0x04,0x00,0x54,0x05,0x0d,0x80,0x10, - 0x05,0x00,0x00,0x37,0x04,0x02,0x00,0x25,0x06,0x03,0x00,0x3e,0x04,0x03,0x04,0x10, - 0x03,0x06,0x00,0x10,0x02,0x05,0x00,0x10,0x01,0x04,0x00,0x2b,0x04,0x00,0x00,0x37, - 0x04,0x04,0x04,0x10,0x05,0x03,0x00,0x3e,0x04,0x02,0x02,0x10,0x03,0x04,0x00,0x54, - 0x04,0x06,0x80,0x10,0x05,0x00,0x00,0x37,0x04,0x02,0x00,0x25,0x06,0x05,0x00,0x3e, - 0x04,0x03,0x03,0x10,0x02,0x05,0x00,0x10,0x01,0x04,0x00,0x10,0x04,0x01,0x00,0x2b, - 0x05,0x01,0x00,0x37,0x05,0x06,0x05,0x10,0x06,0x02,0x00,0x3e,0x05,0x02,0x02,0x10, - 0x06,0x03,0x00,0x46,0x04,0x04,0x00,0x00,0xc0,0x08,0xc0,0x0e,0x61,0x72,0x67,0x5f, - 0x70,0x61,0x72,0x73,0x65,0x13,0x5e,0x28,0x25,0x53,0x2b,0x29,0x25,0x73,0x2b,0x28, - 0x2e,0x2a,0x29,0x24,0x0a,0x75,0x6e,0x62,0x36,0x34,0x21,0x5e,0x28,0x25,0x53,0x2b, - 0x29,0x25,0x73,0x2b,0x28,0x2e,0x2a,0x29,0x25,0x73,0x2b,0x25,0x2d,0x25,0x2d,0x25, - 0x73,0x2a,0x28,0x2e,0x2a,0x29,0x24,0x0a,0x6d,0x61,0x74,0x63,0x68,0x07,0x2d,0x2d, - 0x09,0x66,0x69,0x6e,0x64,0x68,0x00,0x01,0x06,0x01,0x02,0x01,0x15,0x32,0x01,0x00, - 0x00,0x51,0x02,0x10,0x80,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x27,0x04,0x01, - 0x00,0x3e,0x02,0x03,0x03,0x0e,0x00,0x02,0x00,0x54,0x04,0x03,0x80,0x29,0x04,0x00, - 0x00,0x10,0x05,0x03,0x00,0x46,0x04,0x03,0x00,0x07,0x02,0x01,0x00,0x54,0x04,0x01, - 0x80,0x54,0x02,0x04,0x80,0x13,0x04,0x01,0x00,0x14,0x04,0x00,0x04,0x39,0x02,0x04, - 0x01,0x54,0x02,0xef,0x7f,0x2b,0x02,0x00,0x00,0x10,0x03,0x01,0x00,0x40,0x02,0x02, - 0x00,0x07,0xc0,0x06,0x00,0x0c,0x72,0x65,0x63,0x65,0x69,0x76,0x65,0x02,0x71,0x00, - 0x03,0x07,0x03,0x05,0x00,0x0f,0x2b,0x03,0x00,0x00,0x2b,0x04,0x01,0x00,0x33,0x05, - 0x00,0x00,0x3a,0x00,0x01,0x05,0x3a,0x01,0x02,0x05,0x0c,0x06,0x02,0x00,0x54,0x06, - 0x01,0x80,0x32,0x06,0x00,0x00,0x3a,0x06,0x03,0x05,0x2b,0x06,0x02,0x00,0x37,0x06, - 0x04,0x06,0x3e,0x04,0x03,0x02,0x27,0x05,0x02,0x00,0x3e,0x03,0x03,0x01,0x47,0x00, - 0x01,0x00,0x01,0xc0,0x02,0xc0,0x08,0xc0,0x17,0x44,0x42,0x47,0x50,0x5f,0x45,0x52, - 0x52,0x5f,0x4d,0x45,0x54,0x41,0x54,0x41,0x42,0x4c,0x45,0x09,0x61,0x74,0x74,0x72, - 0x0c,0x6d,0x65,0x73,0x73,0x61,0x67,0x65,0x09,0x63,0x6f,0x64,0x65,0x01,0x00,0x00, - 0x37,0x02,0x02,0x05,0x01,0x01,0x00,0x0a,0x0e,0x00,0x01,0x00,0x54,0x02,0x05,0x80, - 0x2b,0x02,0x00,0x00,0x37,0x02,0x00,0x02,0x10,0x03,0x00,0x00,0x43,0x04,0x02,0x02, - 0x3e,0x02,0x03,0x01,0x10,0x02,0x01,0x00,0x43,0x03,0x02,0x00,0x45,0x02,0x01,0x00, - 0x08,0xc0,0x0a,0x65,0x72,0x72,0x6f,0x72,0x86,0x04,0x00,0x01,0x0e,0x07,0x0f,0x01, - 0x6c,0x2b,0x01,0x00,0x00,0x2b,0x02,0x00,0x00,0x13,0x02,0x02,0x00,0x14,0x02,0x00, - 0x02,0x25,0x03,0x00,0x00,0x37,0x04,0x01,0x00,0x24,0x03,0x04,0x03,0x39,0x03,0x02, - 0x01,0x2b,0x01,0x00,0x00,0x2b,0x02,0x00,0x00,0x13,0x02,0x02,0x00,0x14,0x02,0x00, - 0x02,0x25,0x03,0x02,0x00,0x39,0x03,0x02,0x01,0x2b,0x01,0x01,0x00,0x37,0x02,0x03, - 0x00,0x0e,0x00,0x02,0x00,0x54,0x03,0x01,0x80,0x32,0x02,0x00,0x00,0x3e,0x01,0x02, - 0x04,0x44,0x04,0x1c,0x80,0x2b,0x06,0x02,0x00,0x10,0x07,0x04,0x00,0x3e,0x06,0x02, - 0x02,0x07,0x06,0x04,0x00,0x54,0x06,0x17,0x80,0x2b,0x06,0x00,0x00,0x2b,0x07,0x00, - 0x00,0x13,0x07,0x07,0x00,0x14,0x07,0x00,0x07,0x10,0x08,0x04,0x00,0x25,0x09,0x05, - 0x00,0x2b,0x0a,0x03,0x00,0x10,0x0b,0x05,0x00,0x3e,0x0a,0x02,0x02,0x10,0x0b,0x0a, - 0x00,0x37,0x0a,0x06,0x0a,0x25,0x0c,0x07,0x00,0x2b,0x0d,0x04,0x00,0x3e,0x0a,0x04, - 0x02,0x25,0x0b,0x08,0x00,0x24,0x08,0x0b,0x08,0x39,0x08,0x07,0x06,0x2b,0x06,0x00, - 0x00,0x2b,0x07,0x00,0x00,0x13,0x07,0x07,0x00,0x14,0x07,0x00,0x07,0x25,0x08,0x02, - 0x00,0x39,0x08,0x07,0x06,0x42,0x04,0x03,0x03,0x4e,0x04,0xe2,0x7f,0x2b,0x01,0x00, - 0x00,0x2b,0x02,0x00,0x00,0x13,0x02,0x02,0x00,0x29,0x03,0x00,0x00,0x39,0x03,0x02, - 0x01,0x38,0x01,0x01,0x00,0x0f,0x00,0x01,0x00,0x54,0x02,0x2a,0x80,0x2b,0x01,0x00, - 0x00,0x2b,0x02,0x00,0x00,0x13,0x02,0x02,0x00,0x14,0x02,0x00,0x02,0x25,0x03,0x09, - 0x00,0x39,0x03,0x02,0x01,0x2b,0x01,0x05,0x00,0x10,0x02,0x00,0x00,0x3e,0x01,0x02, - 0x04,0x54,0x04,0x14,0x80,0x2b,0x06,0x02,0x00,0x10,0x07,0x05,0x00,0x3e,0x06,0x02, - 0x02,0x07,0x06,0x0a,0x00,0x54,0x06,0x04,0x80,0x2b,0x06,0x06,0x00,0x10,0x07,0x05, - 0x00,0x3e,0x06,0x02,0x01,0x54,0x06,0x0b,0x80,0x2b,0x06,0x00,0x00,0x2b,0x07,0x00, - 0x00,0x13,0x07,0x07,0x00,0x14,0x07,0x00,0x07,0x25,0x08,0x0b,0x00,0x2b,0x09,0x03, - 0x00,0x10,0x0a,0x05,0x00,0x3e,0x09,0x02,0x02,0x25,0x0a,0x0c,0x00,0x24,0x08,0x0a, - 0x08,0x39,0x08,0x07,0x06,0x41,0x04,0x03,0x03,0x4e,0x04,0xea,0x7f,0x2b,0x01,0x00, - 0x00,0x2b,0x02,0x00,0x00,0x13,0x02,0x02,0x00,0x14,0x02,0x00,0x02,0x25,0x03,0x0d, - 0x00,0x37,0x04,0x01,0x00,0x25,0x05,0x09,0x00,0x24,0x03,0x05,0x03,0x39,0x03,0x02, - 0x01,0x54,0x01,0x06,0x80,0x2b,0x01,0x00,0x00,0x2b,0x02,0x00,0x00,0x13,0x02,0x02, - 0x00,0x14,0x02,0x00,0x02,0x25,0x03,0x0e,0x00,0x39,0x03,0x02,0x01,0x47,0x00,0x01, - 0x00,0x01,0xc0,0x00,0x00,0x01,0x00,0x02,0x00,0x03,0x00,0x04,0x00,0x02,0xc0,0x07, - 0x2f,0x3e,0x07,0x3c,0x2f,0x08,0x5d,0x5d,0x3e,0x0e,0x3c,0x21,0x5b,0x43,0x44,0x41, - 0x54,0x41,0x5b,0x0a,0x74,0x61,0x62,0x6c,0x65,0x06,0x3e,0x06,0x22,0x0a,0x5b,0x22, - 0x26,0x3c,0x5d,0x09,0x67,0x73,0x75,0x62,0x07,0x3d,0x22,0x0b,0x73,0x74,0x72,0x69, - 0x6e,0x67,0x09,0x61,0x74,0x74,0x72,0x06,0x20,0x08,0x74,0x61,0x67,0x06,0x3c,0x02, - 0x38,0x01,0x01,0x05,0x06,0x01,0x00,0x09,0x32,0x01,0x00,0x00,0x31,0x02,0x00,0x00, - 0x10,0x03,0x02,0x00,0x10,0x04,0x00,0x00,0x3e,0x03,0x02,0x01,0x2b,0x03,0x05,0x00, - 0x10,0x04,0x01,0x00,0x30,0x00,0x00,0x80,0x40,0x03,0x02,0x00,0x04,0xc0,0x03,0xc0, - 0x06,0xc0,0x09,0xc0,0x05,0xc0,0x07,0xc0,0x00,0xf9,0x01,0x00,0x02,0x09,0x03,0x0a, - 0x00,0x20,0x37,0x02,0x00,0x01,0x0e,0x00,0x02,0x00,0x54,0x02,0x02,0x80,0x32,0x02, - 0x00,0x00,0x3a,0x02,0x00,0x01,0x37,0x02,0x00,0x01,0x25,0x03,0x02,0x00,0x3a,0x03, - 0x01,0x02,0x25,0x02,0x03,0x00,0x2b,0x03,0x00,0x00,0x37,0x03,0x04,0x03,0x10,0x04, - 0x01,0x00,0x3e,0x03,0x02,0x02,0x24,0x02,0x03,0x02,0x2b,0x03,0x01,0x00,0x37,0x03, - 0x05,0x03,0x25,0x04,0x06,0x00,0x25,0x05,0x07,0x00,0x10,0x06,0x02,0x00,0x24,0x05, - 0x06,0x05,0x3e,0x03,0x03,0x01,0x10,0x04,0x00,0x00,0x37,0x03,0x08,0x00,0x2b,0x05, - 0x02,0x00,0x13,0x06,0x02,0x00,0x3e,0x05,0x02,0x02,0x25,0x06,0x09,0x00,0x10,0x07, - 0x02,0x00,0x25,0x08,0x09,0x00,0x24,0x05,0x08,0x05,0x3e,0x03,0x03,0x01,0x47,0x00, - 0x01,0x00,0x08,0xc0,0x00,0xc0,0x06,0xc0,0x06,0x00,0x09,0x73,0x65,0x6e,0x64,0x0a, - 0x53,0x65,0x6e,0x64,0x20,0x0a,0x44,0x45,0x42,0x55,0x47,0x08,0x6c,0x6f,0x67,0x0c, - 0x6c,0x6f,0x6d,0x32,0x73,0x74,0x72,0x2d,0x3c,0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65, - 0x72,0x73,0x69,0x6f,0x6e,0x3d,0x22,0x31,0x2e,0x30,0x22,0x20,0x65,0x6e,0x63,0x6f, - 0x64,0x69,0x6e,0x67,0x3d,0x22,0x55,0x54,0x46,0x2d,0x38,0x22,0x20,0x3f,0x3e,0x0a, - 0x1d,0x75,0x72,0x6e,0x3a,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x5f,0x70,0x72, - 0x6f,0x74,0x6f,0x63,0x6f,0x6c,0x5f,0x76,0x31,0x0a,0x78,0x6d,0x6c,0x6e,0x73,0x09, - 0x61,0x74,0x74,0x72,0x66,0x00,0x02,0x06,0x01,0x05,0x00,0x0d,0x33,0x02,0x00,0x00, - 0x33,0x03,0x01,0x00,0x3a,0x00,0x02,0x03,0x3a,0x03,0x03,0x02,0x0f,0x00,0x01,0x00, - 0x54,0x03,0x06,0x80,0x33,0x03,0x04,0x00,0x2b,0x04,0x00,0x00,0x10,0x05,0x01,0x00, - 0x3e,0x04,0x02,0x02,0x3b,0x04,0x01,0x03,0x3b,0x03,0x01,0x02,0x48,0x02,0x02,0x00, - 0x06,0xc0,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0c,0x6d,0x65,0x73,0x73,0x61,0x67, - 0x65,0x09,0x61,0x74,0x74,0x72,0x09,0x63,0x6f,0x64,0x65,0x01,0x00,0x00,0x01,0x00, - 0x01,0x08,0x74,0x61,0x67,0x0a,0x65,0x72,0x72,0x6f,0x72,0xd5,0x02,0x03,0x00,0x0b, - 0x00,0x1b,0x00,0x21,0x34,0x00,0x00,0x00,0x25,0x01,0x01,0x00,0x3e,0x00,0x02,0x02, - 0x34,0x01,0x02,0x00,0x34,0x02,0x03,0x00,0x34,0x03,0x04,0x00,0x34,0x04,0x05,0x00, - 0x34,0x05,0x06,0x00,0x34,0x06,0x07,0x00,0x34,0x07,0x08,0x00,0x37,0x07,0x09,0x07, - 0x32,0x08,0x00,0x00,0x31,0x09,0x0b,0x00,0x3a,0x09,0x0a,0x08,0x31,0x09,0x0d,0x00, - 0x3a,0x09,0x0c,0x08,0x31,0x09,0x0f,0x00,0x3a,0x09,0x0e,0x08,0x32,0x09,0x00,0x00, - 0x3a,0x09,0x10,0x08,0x31,0x09,0x11,0x00,0x3a,0x09,0x02,0x08,0x31,0x09,0x13,0x00, - 0x3a,0x09,0x12,0x08,0x33,0x09,0x14,0x00,0x31,0x0a,0x16,0x00,0x3a,0x0a,0x15,0x08, - 0x31,0x0a,0x18,0x00,0x3a,0x0a,0x17,0x08,0x31,0x0a,0x1a,0x00,0x3a,0x0a,0x19,0x08, - 0x30,0x00,0x00,0x80,0x48,0x08,0x02,0x00,0x00,0x0f,0x6d,0x61,0x6b,0x65,0x5f,0x65, - 0x72,0x72,0x6f,0x72,0x00,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x00,0x0c, - 0x6c,0x6f,0x6d,0x32,0x73,0x74,0x72,0x01,0x00,0x03,0x06,0x3c,0x09,0x26,0x6c,0x74, - 0x3b,0x06,0x26,0x0a,0x26,0x61,0x6d,0x70,0x3b,0x06,0x22,0x0b,0x26,0x71,0x75,0x6f, - 0x74,0x3b,0x00,0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0x00,0x17,0x44,0x42,0x47,0x50, - 0x5f,0x45,0x52,0x52,0x5f,0x4d,0x45,0x54,0x41,0x54,0x41,0x42,0x4c,0x45,0x00,0x10, - 0x72,0x65,0x61,0x64,0x5f,0x70,0x61,0x63,0x6b,0x65,0x74,0x00,0x0e,0x63,0x6d,0x64, - 0x5f,0x70,0x61,0x72,0x73,0x65,0x00,0x0e,0x61,0x72,0x67,0x5f,0x70,0x61,0x72,0x73, - 0x65,0x0b,0x63,0x6f,0x6e,0x63,0x61,0x74,0x0a,0x74,0x61,0x62,0x6c,0x65,0x0d,0x74, - 0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x0b,0x69,0x70,0x61,0x69,0x72,0x73,0x0a,0x70, - 0x61,0x69,0x72,0x73,0x09,0x74,0x79,0x70,0x65,0x11,0x73,0x65,0x74,0x6d,0x65,0x74, - 0x61,0x74,0x61,0x62,0x6c,0x65,0x0a,0x65,0x72,0x72,0x6f,0x72,0x12,0x64,0x65,0x62, - 0x75,0x67,0x67,0x65,0x72,0x2e,0x75,0x74,0x69,0x6c,0x0c,0x72,0x65,0x71,0x75,0x69, - 0x72,0x65,0x10,0x00,0x00,0x01,0x00,0x01,0x00,0x02,0x25,0x00,0x00,0x00,0x48,0x00, - 0x02,0x00,0x05,0x22,0x00,0x01,0x03,0x01,0x00,0x01,0x06,0x2b,0x01,0x00,0x00,0x2b, - 0x02,0x00,0x00,0x13,0x02,0x02,0x00,0x14,0x02,0x00,0x02,0x39,0x00,0x02,0x01,0x47, - 0x00,0x01,0x00,0x13,0xc0,0x02,0x5e,0x00,0x04,0x09,0x02,0x02,0x00,0x10,0x2b,0x04, - 0x00,0x00,0x37,0x04,0x00,0x04,0x2b,0x05,0x01,0x00,0x10,0x06,0x01,0x00,0x3e,0x05, - 0x02,0x02,0x36,0x04,0x05,0x04,0x0e,0x00,0x04,0x00,0x54,0x05,0x03,0x80,0x2b,0x04, - 0x00,0x00,0x37,0x04,0x00,0x04,0x37,0x04,0x01,0x04,0x10,0x05,0x00,0x00,0x10,0x06, - 0x01,0x00,0x10,0x07,0x02,0x00,0x10,0x08,0x03,0x00,0x40,0x04,0x05,0x00,0x14,0xc0, - 0x04,0xc0,0x0c,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x0f,0x69,0x6e,0x73,0x70,0x65, - 0x63,0x74,0x6f,0x72,0x73,0x46,0x00,0x04,0x0a,0x03,0x01,0x00,0x0c,0x2b,0x04,0x00, - 0x00,0x37,0x04,0x00,0x04,0x10,0x05,0x00,0x00,0x2b,0x06,0x01,0x00,0x10,0x07,0x01, - 0x00,0x3e,0x06,0x02,0x02,0x2b,0x07,0x02,0x00,0x10,0x08,0x01,0x00,0x3e,0x07,0x02, - 0x02,0x10,0x08,0x02,0x00,0x10,0x09,0x03,0x00,0x40,0x04,0x06,0x00,0x14,0xc0,0x04, - 0xc0,0x03,0xc0,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0xd0,0x02,0x00,0x04, - 0x0f,0x04,0x09,0x00,0x3f,0x2b,0x04,0x00,0x00,0x10,0x05,0x01,0x00,0x3e,0x04,0x02, - 0x02,0x2b,0x05,0x01,0x00,0x37,0x05,0x00,0x05,0x36,0x05,0x04,0x05,0x0f,0x00,0x05, - 0x00,0x54,0x06,0x08,0x80,0x10,0x06,0x05,0x00,0x10,0x07,0x00,0x00,0x10,0x08,0x01, - 0x00,0x10,0x09,0x02,0x00,0x10,0x0a,0x03,0x00,0x3e,0x06,0x05,0x02,0x29,0x07,0x02, - 0x00,0x46,0x06,0x03,0x00,0x27,0x06,0x01,0x00,0x2b,0x07,0x02,0x00,0x13,0x07,0x07, - 0x00,0x27,0x08,0x01,0x00,0x49,0x06,0x0d,0x80,0x2b,0x0a,0x02,0x00,0x36,0x0a,0x09, - 0x0a,0x10,0x0b,0x00,0x00,0x10,0x0c,0x01,0x00,0x10,0x0d,0x02,0x00,0x10,0x0e,0x03, - 0x00,0x3e,0x0a,0x05,0x02,0x0f,0x00,0x0a,0x00,0x54,0x0b,0x03,0x80,0x10,0x0b,0x0a, - 0x00,0x29,0x0c,0x02,0x00,0x46,0x0b,0x03,0x00,0x4b,0x06,0xf3,0x7f,0x2b,0x05,0x03, - 0x00,0x10,0x06,0x00,0x00,0x10,0x07,0x01,0x00,0x10,0x08,0x02,0x00,0x10,0x09,0x03, - 0x00,0x3e,0x05,0x05,0x02,0x0f,0x00,0x04,0x00,0x54,0x06,0x12,0x80,0x0f,0x00,0x05, - 0x00,0x54,0x06,0x10,0x80,0x2b,0x06,0x01,0x00,0x37,0x06,0x01,0x06,0x25,0x07,0x02, - 0x00,0x10,0x08,0x04,0x00,0x10,0x09,0x05,0x00,0x25,0x0a,0x03,0x00,0x37,0x0b,0x04, - 0x05,0x37,0x0b,0x05,0x0b,0x25,0x0c,0x06,0x00,0x24,0x0a,0x0c,0x0a,0x3e,0x06,0x05, - 0x02,0x0f,0x00,0x06,0x00,0x54,0x07,0x03,0x80,0x37,0x07,0x04,0x06,0x25,0x08,0x08, - 0x00,0x3a,0x08,0x07,0x07,0x10,0x06,0x05,0x00,0x29,0x07,0x01,0x00,0x46,0x06,0x03, - 0x00,0x08,0xc0,0x14,0xc0,0x13,0xc0,0x15,0xc0,0x0c,0x73,0x70,0x65,0x63,0x69,0x61, - 0x6c,0x09,0x74,0x79,0x70,0x65,0x06,0x5d,0x0d,0x66,0x75,0x6c,0x6c,0x6e,0x61,0x6d, - 0x65,0x09,0x61,0x74,0x74,0x72,0x0f,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65, - 0x5b,0x0e,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x0c,0x69,0x6e,0x73,0x70, - 0x65,0x63,0x74,0x0f,0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x6f,0x72,0x73,0xa5,0x01, - 0x00,0x02,0x0a,0x02,0x07,0x01,0x1b,0x32,0x02,0x00,0x00,0x27,0x03,0x01,0x00,0x37, - 0x04,0x00,0x01,0x27,0x05,0x01,0x00,0x49,0x03,0x07,0x80,0x2b,0x07,0x00,0x00,0x37, - 0x07,0x01,0x07,0x10,0x08,0x00,0x00,0x10,0x09,0x06,0x00,0x3e,0x07,0x03,0x02,0x39, - 0x07,0x06,0x02,0x4b,0x03,0xf9,0x7f,0x37,0x03,0x02,0x01,0x0f,0x00,0x03,0x00,0x54, - 0x04,0x04,0x80,0x13,0x03,0x02,0x00,0x14,0x03,0x00,0x03,0x25,0x04,0x03,0x00,0x39, - 0x04,0x03,0x02,0x25,0x03,0x04,0x00,0x2b,0x04,0x01,0x00,0x10,0x05,0x02,0x00,0x25, - 0x06,0x05,0x00,0x3e,0x04,0x03,0x02,0x25,0x05,0x06,0x00,0x24,0x03,0x05,0x03,0x48, - 0x03,0x02,0x00,0x00,0xc0,0x11,0xc0,0x06,0x29,0x07,0x2c,0x20,0x0e,0x66,0x75,0x6e, - 0x63,0x74,0x69,0x6f,0x6e,0x28,0x08,0x2e,0x2e,0x2e,0x0d,0x69,0x73,0x76,0x61,0x72, - 0x61,0x72,0x67,0x0d,0x67,0x65,0x74,0x6c,0x6f,0x63,0x61,0x6c,0x0c,0x6e,0x70,0x61, - 0x72,0x61,0x6d,0x73,0x02,0x63,0x00,0x01,0x05,0x03,0x04,0x00,0x12,0x25,0x01,0x00, - 0x00,0x2b,0x02,0x00,0x00,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x02,0x07,0x02,0x01, - 0x00,0x54,0x02,0x06,0x80,0x2b,0x02,0x01,0x00,0x25,0x03,0x02,0x00,0x10,0x04,0x00, - 0x00,0x3e,0x02,0x03,0x02,0x0e,0x00,0x02,0x00,0x54,0x03,0x03,0x80,0x2b,0x02,0x02, - 0x00,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x02,0x25,0x03,0x03,0x00,0x24,0x01,0x03, - 0x01,0x48,0x01,0x02,0x00,0x04,0xc0,0x10,0xc0,0x03,0xc0,0x06,0x5d,0x07,0x25,0x71, - 0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x06,0x5b,0xd2,0x01,0x00,0x01,0x06,0x04,0x08, - 0x01,0x24,0x2b,0x01,0x00,0x00,0x10,0x02,0x00,0x00,0x3e,0x01,0x02,0x02,0x07,0x01, - 0x00,0x00,0x54,0x02,0x05,0x80,0x2b,0x02,0x01,0x00,0x25,0x03,0x01,0x00,0x10,0x04, - 0x00,0x00,0x40,0x02,0x03,0x00,0x54,0x02,0x19,0x80,0x06,0x01,0x02,0x00,0x54,0x02, - 0x02,0x80,0x07,0x01,0x03,0x00,0x54,0x02,0x04,0x80,0x2b,0x02,0x02,0x00,0x10,0x03, - 0x00,0x00,0x40,0x02,0x02,0x00,0x54,0x02,0x11,0x80,0x2b,0x02,0x03,0x00,0x37,0x02, - 0x04,0x02,0x37,0x02,0x05,0x02,0x2b,0x03,0x03,0x00,0x37,0x03,0x04,0x03,0x39,0x00, - 0x02,0x03,0x2b,0x03,0x03,0x00,0x37,0x03,0x04,0x03,0x14,0x04,0x00,0x02,0x3a,0x04, - 0x05,0x03,0x25,0x03,0x06,0x00,0x2b,0x04,0x02,0x00,0x10,0x05,0x02,0x00,0x3e,0x04, - 0x02,0x02,0x25,0x05,0x07,0x00,0x24,0x03,0x05,0x03,0x48,0x03,0x02,0x00,0x47,0x00, - 0x01,0x00,0x04,0xc0,0x10,0xc0,0x03,0xc0,0x14,0xc0,0x06,0x5d,0x0f,0x6b,0x65,0x79, - 0x5f,0x63,0x61,0x63,0x68,0x65,0x5b,0x06,0x6e,0x0e,0x6b,0x65,0x79,0x5f,0x63,0x61, - 0x63,0x68,0x65,0x0c,0x62,0x6f,0x6f,0x6c,0x65,0x61,0x6e,0x0b,0x6e,0x75,0x6d,0x62, - 0x65,0x72,0x07,0x25,0x71,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x02,0x2d,0x00,0x02, - 0x06,0x01,0x02,0x00,0x08,0x10,0x02,0x00,0x00,0x25,0x03,0x00,0x00,0x2b,0x04,0x00, - 0x00,0x10,0x05,0x01,0x00,0x3e,0x04,0x02,0x02,0x25,0x05,0x01,0x00,0x24,0x02,0x05, - 0x02,0x48,0x02,0x02,0x00,0x19,0xc0,0x06,0x5d,0x06,0x5b,0x25,0x00,0x04,0x09,0x01, - 0x00,0x00,0x07,0x2b,0x04,0x00,0x00,0x10,0x05,0x00,0x00,0x10,0x06,0x01,0x00,0x10, - 0x07,0x02,0x00,0x10,0x08,0x03,0x00,0x3e,0x04,0x05,0x02,0x48,0x04,0x02,0x00,0x16, - 0xc0,0x69,0x00,0x04,0x0b,0x02,0x06,0x00,0x10,0x2b,0x04,0x00,0x00,0x37,0x04,0x00, - 0x04,0x10,0x05,0x00,0x00,0x25,0x06,0x01,0x00,0x2b,0x07,0x01,0x00,0x25,0x08,0x02, - 0x00,0x10,0x09,0x01,0x00,0x3e,0x07,0x03,0x02,0x10,0x08,0x07,0x00,0x37,0x07,0x03, - 0x07,0x25,0x09,0x04,0x00,0x25,0x0a,0x05,0x00,0x3e,0x07,0x04,0x02,0x10,0x08,0x02, - 0x00,0x10,0x09,0x03,0x00,0x40,0x04,0x06,0x00,0x14,0xc0,0x10,0xc0,0x07,0x5c,0x6e, - 0x07,0x5c,0x0a,0x09,0x67,0x73,0x75,0x62,0x07,0x25,0x71,0x0b,0x73,0x74,0x72,0x69, - 0x6e,0x67,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0xb6,0x04,0x00,0x04,0x0e, - 0x06,0x16,0x00,0x61,0x2b,0x04,0x00,0x00,0x37,0x04,0x00,0x04,0x10,0x05,0x01,0x00, - 0x25,0x06,0x01,0x00,0x3e,0x04,0x03,0x02,0x29,0x05,0x00,0x00,0x37,0x06,0x02,0x04, - 0x06,0x06,0x03,0x00,0x54,0x06,0x2b,0x80,0x37,0x06,0x04,0x04,0x0f,0x00,0x06,0x00, - 0x54,0x07,0x06,0x80,0x2b,0x06,0x01,0x00,0x10,0x07,0x01,0x00,0x10,0x08,0x04,0x00, - 0x3e,0x06,0x03,0x02,0x0e,0x00,0x06,0x00,0x54,0x07,0x03,0x80,0x2b,0x06,0x02,0x00, - 0x10,0x07,0x01,0x00,0x3e,0x06,0x02,0x02,0x37,0x07,0x05,0x04,0x10,0x08,0x07,0x00, - 0x37,0x07,0x06,0x07,0x27,0x09,0x01,0x00,0x27,0x0a,0x01,0x00,0x3e,0x07,0x04,0x02, - 0x07,0x07,0x07,0x00,0x54,0x07,0x0d,0x80,0x10,0x07,0x06,0x00,0x25,0x08,0x08,0x00, - 0x2b,0x09,0x03,0x00,0x37,0x09,0x09,0x09,0x25,0x0a,0x07,0x00,0x37,0x0b,0x05,0x04, - 0x24,0x0a,0x0b,0x0a,0x3e,0x09,0x02,0x02,0x25,0x0a,0x08,0x00,0x2b,0x0b,0x02,0x00, - 0x37,0x0c,0x0a,0x04,0x3e,0x0b,0x02,0x02,0x24,0x06,0x0b,0x07,0x2b,0x07,0x04,0x00, - 0x37,0x07,0x0b,0x07,0x10,0x08,0x00,0x00,0x25,0x09,0x0c,0x00,0x10,0x0a,0x06,0x00, - 0x10,0x0b,0x02,0x00,0x10,0x0c,0x03,0x00,0x3e,0x07,0x06,0x02,0x10,0x05,0x07,0x00, - 0x54,0x06,0x0b,0x80,0x2b,0x06,0x04,0x00,0x37,0x06,0x0b,0x06,0x10,0x07,0x00,0x00, - 0x25,0x08,0x0d,0x00,0x2b,0x09,0x02,0x00,0x10,0x0a,0x01,0x00,0x3e,0x09,0x02,0x02, - 0x10,0x0a,0x02,0x00,0x10,0x0b,0x03,0x00,0x3e,0x06,0x06,0x02,0x10,0x05,0x06,0x00, - 0x0e,0x00,0x05,0x00,0x54,0x06,0x02,0x80,0x29,0x06,0x00,0x00,0x48,0x06,0x02,0x00, - 0x2b,0x06,0x05,0x00,0x0f,0x00,0x06,0x00,0x54,0x07,0x03,0x80,0x2b,0x06,0x05,0x00, - 0x10,0x07,0x01,0x00,0x3e,0x06,0x02,0x02,0x0f,0x00,0x06,0x00,0x54,0x07,0x15,0x80, - 0x2b,0x07,0x05,0x00,0x27,0x08,0x00,0x00,0x3e,0x07,0x02,0x02,0x04,0x06,0x07,0x00, - 0x54,0x07,0x10,0x80,0x2b,0x07,0x04,0x00,0x37,0x07,0x0e,0x07,0x25,0x08,0x0f,0x00, - 0x10,0x09,0x06,0x00,0x10,0x0a,0x05,0x00,0x25,0x0b,0x10,0x00,0x37,0x0c,0x11,0x05, - 0x37,0x0c,0x12,0x0c,0x25,0x0d,0x13,0x00,0x24,0x0b,0x0d,0x0b,0x3e,0x07,0x05,0x02, - 0x0f,0x00,0x07,0x00,0x54,0x08,0x03,0x80,0x37,0x08,0x11,0x07,0x25,0x09,0x15,0x00, - 0x3a,0x09,0x14,0x08,0x48,0x05,0x02,0x00,0x00,0xc0,0x17,0xc0,0x03,0xc0,0x01,0xc0, - 0x14,0xc0,0x0a,0xc0,0x0c,0x73,0x70,0x65,0x63,0x69,0x61,0x6c,0x09,0x74,0x79,0x70, - 0x65,0x06,0x5d,0x0d,0x66,0x75,0x6c,0x6c,0x6e,0x61,0x6d,0x65,0x09,0x61,0x74,0x74, - 0x72,0x11,0x65,0x6e,0x76,0x69,0x72,0x6f,0x6e,0x6d,0x65,0x6e,0x74,0x5b,0x10,0x65, - 0x6e,0x76,0x69,0x72,0x6f,0x6e,0x6d,0x65,0x6e,0x74,0x0c,0x69,0x6e,0x73,0x70,0x65, - 0x63,0x74,0x0d,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x13,0x66,0x75,0x6e,0x63, - 0x74,0x69,0x6f,0x6e,0x20,0x28,0x4c,0x75,0x61,0x29,0x0d,0x70,0x72,0x6f,0x70,0x65, - 0x72,0x74,0x79,0x10,0x6c,0x69,0x6e,0x65,0x64,0x65,0x66,0x69,0x6e,0x65,0x64,0x0c, - 0x67,0x65,0x74,0x5f,0x75,0x72,0x69,0x06,0x0a,0x06,0x40,0x08,0x73,0x75,0x62,0x0b, - 0x73,0x6f,0x75,0x72,0x63,0x65,0x0c,0x6e,0x70,0x61,0x72,0x61,0x6d,0x73,0x06,0x43, - 0x09,0x77,0x68,0x61,0x74,0x0a,0x6e,0x53,0x66,0x6c,0x75,0x0c,0x67,0x65,0x74,0x69, - 0x6e,0x66,0x6f,0xff,0x01,0x00,0x04,0x14,0x06,0x04,0x01,0x34,0x2b,0x04,0x00,0x00, - 0x10,0x05,0x00,0x00,0x10,0x06,0x01,0x00,0x10,0x07,0x02,0x00,0x10,0x08,0x03,0x00, - 0x3e,0x04,0x05,0x03,0x0f,0x00,0x04,0x00,0x54,0x06,0x02,0x80,0x0f,0x00,0x05,0x00, - 0x54,0x06,0x01,0x80,0x48,0x04,0x02,0x00,0x29,0x06,0x02,0x00,0x27,0x07,0x01,0x00, - 0x2b,0x08,0x01,0x00,0x10,0x09,0x01,0x00,0x29,0x0a,0x00,0x00,0x44,0x0b,0x18,0x80, - 0x2b,0x0d,0x02,0x00,0x37,0x0d,0x00,0x0d,0x2b,0x0e,0x03,0x00,0x10,0x0f,0x0b,0x00, - 0x3e,0x0e,0x02,0x02,0x10,0x0f,0x0c,0x00,0x10,0x10,0x04,0x00,0x2b,0x11,0x04,0x00, - 0x10,0x12,0x03,0x00,0x10,0x13,0x0b,0x00,0x3e,0x11,0x03,0x00,0x3d,0x0d,0x03,0x01, - 0x0f,0x00,0x06,0x00,0x54,0x0d,0x09,0x80,0x2b,0x0d,0x05,0x00,0x10,0x0e,0x01,0x00, - 0x10,0x0f,0x07,0x00,0x3e,0x0d,0x03,0x02,0x0b,0x0d,0x00,0x00,0x54,0x0d,0x02,0x80, - 0x29,0x06,0x01,0x00,0x54,0x0d,0x01,0x80,0x29,0x06,0x02,0x00,0x14,0x07,0x00,0x07, - 0x42,0x0b,0x03,0x03,0x4e,0x0b,0xe6,0x7f,0x0f,0x00,0x06,0x00,0x54,0x08,0x06,0x80, - 0x27,0x08,0x01,0x00,0x01,0x08,0x07,0x00,0x54,0x08,0x03,0x80,0x37,0x08,0x01,0x04, - 0x25,0x09,0x03,0x00,0x3a,0x09,0x02,0x08,0x48,0x04,0x02,0x00,0x16,0xc0,0x06,0xc0, - 0x14,0xc0,0x18,0xc0,0x1a,0xc0,0x07,0xc0,0x0d,0x73,0x65,0x71,0x75,0x65,0x6e,0x63, - 0x65,0x09,0x74,0x79,0x70,0x65,0x09,0x61,0x74,0x74,0x72,0x0c,0x69,0x6e,0x73,0x70, - 0x65,0x63,0x74,0x02,0xd9,0x01,0x00,0x04,0x11,0x02,0x07,0x01,0x2b,0x37,0x04,0x00, - 0x01,0x09,0x04,0x00,0x00,0x54,0x04,0x08,0x80,0x2b,0x04,0x00,0x00,0x37,0x04,0x01, - 0x04,0x10,0x05,0x00,0x00,0x38,0x06,0x01,0x01,0x10,0x07,0x02,0x00,0x10,0x08,0x03, - 0x00,0x40,0x04,0x05,0x00,0x54,0x04,0x1f,0x80,0x2b,0x04,0x00,0x00,0x37,0x04,0x02, - 0x04,0x10,0x05,0x00,0x00,0x25,0x06,0x03,0x00,0x25,0x07,0x04,0x00,0x10,0x08,0x02, - 0x00,0x10,0x09,0x03,0x00,0x3e,0x04,0x06,0x02,0x0e,0x00,0x04,0x00,0x54,0x05,0x02, - 0x80,0x29,0x05,0x00,0x00,0x48,0x05,0x02,0x00,0x27,0x05,0x01,0x00,0x37,0x06,0x00, - 0x01,0x27,0x07,0x01,0x00,0x49,0x05,0x0e,0x80,0x2b,0x09,0x00,0x00,0x37,0x09,0x01, - 0x09,0x2b,0x0a,0x01,0x00,0x10,0x0b,0x08,0x00,0x3e,0x0a,0x02,0x02,0x36,0x0b,0x08, - 0x01,0x10,0x0c,0x04,0x00,0x10,0x0d,0x03,0x00,0x25,0x0e,0x05,0x00,0x10,0x0f,0x08, - 0x00,0x25,0x10,0x06,0x00,0x24,0x0d,0x10,0x0d,0x3e,0x09,0x05,0x01,0x4b,0x05,0xf2, - 0x7f,0x48,0x04,0x02,0x00,0x47,0x00,0x01,0x00,0x14,0xc0,0x18,0xc0,0x06,0x5d,0x06, - 0x5b,0x05,0x0d,0x6d,0x75,0x6c,0x74,0x69,0x76,0x61,0x6c,0x0d,0x70,0x72,0x6f,0x70, - 0x65,0x72,0x74,0x79,0x0c,0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x06,0x6e,0x02,0x46, - 0x02,0x00,0x05,0x03,0x03,0x01,0x0b,0x2b,0x00,0x00,0x00,0x33,0x01,0x01,0x00,0x2b, - 0x02,0x01,0x00,0x25,0x03,0x00,0x00,0x43,0x04,0x00,0x00,0x3d,0x02,0x01,0x02,0x3a, - 0x02,0x02,0x01,0x43,0x02,0x00,0x00,0x3c,0x02,0x00,0x00,0x2b,0x02,0x02,0x00,0x40, - 0x00,0x03,0x00,0x09,0xc0,0x0b,0xc0,0x12,0xc0,0x06,0x6e,0x01,0x00,0x00,0x06,0x23, - 0x03,0x80,0x80,0xc0,0x99,0x04,0x33,0x00,0x00,0x05,0x04,0x01,0x00,0x07,0x2b,0x00, - 0x00,0x00,0x37,0x00,0x00,0x00,0x2b,0x01,0x01,0x00,0x2b,0x02,0x02,0x00,0x29,0x03, - 0x00,0x00,0x2b,0x04,0x03,0x00,0x40,0x00,0x05,0x00,0x03,0x00,0x02,0x80,0x01,0xc0, - 0x03,0x80,0x0c,0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0xef,0x05,0x01,0x09,0x1b,0x09, - 0x13,0x02,0x90,0x01,0x0e,0x00,0x03,0x00,0x54,0x09,0x06,0x80,0x25,0x09,0x00,0x00, - 0x2b,0x0a,0x00,0x00,0x10,0x0b,0x02,0x00,0x3e,0x0a,0x02,0x02,0x25,0x0b,0x01,0x00, - 0x24,0x03,0x0b,0x09,0x0e,0x00,0x08,0x00,0x54,0x09,0x04,0x80,0x2b,0x09,0x01,0x00, - 0x10,0x0a,0x02,0x00,0x3e,0x09,0x02,0x02,0x10,0x02,0x09,0x00,0x2b,0x09,0x02,0x00, - 0x31,0x0a,0x02,0x00,0x3e,0x09,0x02,0x02,0x32,0x0a,0x00,0x00,0x29,0x0b,0x00,0x00, - 0x29,0x0c,0x02,0x00,0x20,0x0d,0x05,0x06,0x2b,0x0e,0x04,0x00,0x10,0x0f,0x00,0x00, - 0x3e,0x0e,0x02,0x02,0x25,0x0f,0x03,0x00,0x24,0x0e,0x0f,0x0e,0x51,0x0f,0x73,0x80, - 0x2b,0x0f,0x05,0x00,0x2b,0x10,0x06,0x00,0x10,0x11,0x09,0x00,0x0f,0x00,0x0c,0x00, - 0x54,0x12,0x04,0x80,0x13,0x12,0x0a,0x00,0x36,0x12,0x12,0x0a,0x0e,0x00,0x12,0x00, - 0x54,0x13,0x01,0x80,0x29,0x12,0x00,0x00,0x3e,0x10,0x03,0x00,0x3d,0x0f,0x00,0x07, - 0x13,0x15,0x0a,0x00,0x36,0x15,0x15,0x0a,0x04,0x15,0x13,0x00,0x54,0x15,0x10,0x80, - 0x51,0x15,0x0f,0x80,0x13,0x15,0x0a,0x00,0x36,0x15,0x15,0x0a,0x37,0x16,0x04,0x15, - 0x2b,0x17,0x07,0x00,0x37,0x17,0x06,0x17,0x10,0x18,0x0e,0x00,0x37,0x19,0x04,0x15, - 0x37,0x19,0x05,0x19,0x24,0x18,0x19,0x18,0x3e,0x17,0x02,0x02,0x3a,0x17,0x05,0x16, - 0x13,0x16,0x0a,0x00,0x29,0x17,0x00,0x00,0x39,0x17,0x16,0x0a,0x54,0x15,0xec,0x7f, - 0x2b,0x15,0x08,0x00,0x10,0x16,0x09,0x00,0x3e,0x15,0x02,0x02,0x07,0x15,0x07,0x00, - 0x54,0x15,0x01,0x80,0x54,0x0f,0x4d,0x80,0x33,0x15,0x08,0x00,0x33,0x16,0x09,0x00, - 0x3a,0x05,0x0a,0x16,0x0f,0x00,0x13,0x00,0x54,0x17,0x02,0x80,0x27,0x17,0x00,0x00, - 0x54,0x18,0x01,0x80,0x10,0x17,0x06,0x00,0x3a,0x17,0x0b,0x16,0x3a,0x11,0x0c,0x16, - 0x3a,0x10,0x0d,0x16,0x3a,0x14,0x05,0x16,0x13,0x17,0x12,0x00,0x3a,0x17,0x0e,0x16, - 0x3a,0x16,0x04,0x15,0x2b,0x16,0x07,0x00,0x37,0x16,0x0f,0x16,0x0f,0x00,0x07,0x00, - 0x54,0x17,0x07,0x80,0x10,0x18,0x12,0x00,0x37,0x17,0x10,0x12,0x27,0x19,0x01,0x00, - 0x10,0x1a,0x07,0x00,0x3e,0x17,0x04,0x02,0x0e,0x00,0x17,0x00,0x54,0x18,0x01,0x80, - 0x10,0x17,0x12,0x00,0x3e,0x16,0x02,0x00,0x3c,0x16,0x00,0x00,0x0f,0x00,0x13,0x00, - 0x54,0x16,0x28,0x80,0x37,0x16,0x04,0x13,0x27,0x17,0x01,0x00,0x3a,0x17,0x11,0x16, - 0x37,0x16,0x04,0x13,0x37,0x17,0x04,0x13,0x37,0x17,0x12,0x17,0x0e,0x00,0x17,0x00, - 0x54,0x18,0x01,0x80,0x27,0x17,0x00,0x00,0x14,0x17,0x01,0x17,0x3a,0x17,0x12,0x16, - 0x13,0x16,0x13,0x00,0x03,0x16,0x05,0x00,0x54,0x16,0x03,0x80,0x13,0x16,0x0a,0x00, - 0x02,0x16,0x04,0x00,0x54,0x16,0x02,0x80,0x29,0x0c,0x01,0x00,0x54,0x16,0x01,0x80, - 0x29,0x0c,0x02,0x00,0x05,0x13,0x0b,0x00,0x54,0x16,0x09,0x80,0x0f,0x00,0x0c,0x00, - 0x54,0x16,0x06,0x80,0x27,0x16,0x00,0x00,0x02,0x0d,0x16,0x00,0x54,0x16,0x02,0x80, - 0x29,0x0c,0x01,0x00,0x54,0x16,0x01,0x80,0x29,0x0c,0x02,0x00,0x15,0x0d,0x01,0x0d, - 0x0f,0x00,0x0c,0x00,0x54,0x16,0x99,0x7f,0x13,0x16,0x13,0x00,0x14,0x16,0x01,0x16, - 0x39,0x15,0x16,0x13,0x13,0x16,0x0a,0x00,0x14,0x16,0x01,0x16,0x39,0x15,0x16,0x0a, - 0x54,0x16,0x92,0x7f,0x10,0x0b,0x15,0x00,0x29,0x0c,0x02,0x00,0x13,0x16,0x0a,0x00, - 0x14,0x16,0x01,0x16,0x39,0x15,0x16,0x0a,0x54,0x0f,0x8c,0x7f,0x30,0x00,0x00,0x80, - 0x48,0x0b,0x02,0x00,0x19,0xc0,0x18,0xc0,0x0d,0xc0,0x14,0xc0,0x03,0xc0,0x05,0xc0, - 0x0f,0xc0,0x02,0xc0,0x0e,0xc0,0x10,0x6e,0x75,0x6d,0x63,0x68,0x69,0x6c,0x64,0x72, - 0x65,0x6e,0x0d,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x08,0x73,0x75,0x62,0x08, - 0x62,0x36,0x34,0x09,0x73,0x69,0x7a,0x65,0x09,0x6e,0x61,0x6d,0x65,0x09,0x74,0x79, - 0x70,0x65,0x09,0x70,0x61,0x67,0x65,0x0d,0x70,0x61,0x67,0x65,0x73,0x69,0x7a,0x65, - 0x01,0x00,0x02,0x0d,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x03,0x00,0x0d,0x65, - 0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x0b,0x62,0x61,0x73,0x65,0x36,0x34,0x01,0x00, - 0x01,0x08,0x74,0x61,0x67,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x09,0x64, - 0x65,0x61,0x64,0x0b,0x72,0x61,0x77,0x62,0x36,0x34,0x0d,0x66,0x75,0x6c,0x6c,0x6e, - 0x61,0x6d,0x65,0x09,0x61,0x74,0x74,0x72,0x06,0x7c,0x00,0x06,0x5d,0x0b,0x28,0x2e, - 0x2e,0x2e,0x29,0x5b,0x03,0x80,0x80,0xc0,0x99,0x04,0x02,0xf0,0x05,0x03,0x00,0x1d, - 0x00,0x3a,0x00,0x58,0x34,0x00,0x00,0x00,0x25,0x01,0x01,0x00,0x3e,0x00,0x02,0x02, - 0x34,0x01,0x00,0x00,0x25,0x02,0x02,0x00,0x3e,0x01,0x02,0x02,0x34,0x02,0x00,0x00, - 0x25,0x03,0x03,0x00,0x3e,0x02,0x02,0x02,0x34,0x03,0x04,0x00,0x34,0x04,0x05,0x00, - 0x34,0x05,0x06,0x00,0x34,0x06,0x07,0x00,0x34,0x07,0x08,0x00,0x34,0x08,0x09,0x00, - 0x34,0x09,0x0a,0x00,0x34,0x0a,0x0b,0x00,0x34,0x0b,0x0c,0x00,0x34,0x0c,0x0d,0x00, - 0x37,0x0c,0x0e,0x0c,0x34,0x0d,0x0d,0x00,0x37,0x0d,0x0f,0x0d,0x34,0x0e,0x0d,0x00, - 0x37,0x0e,0x10,0x0e,0x34,0x0f,0x0d,0x00,0x37,0x0f,0x11,0x0f,0x34,0x10,0x12,0x00, - 0x37,0x10,0x13,0x10,0x34,0x11,0x14,0x00,0x37,0x11,0x15,0x11,0x33,0x12,0x17,0x00, - 0x31,0x13,0x16,0x00,0x3a,0x13,0x18,0x12,0x32,0x13,0x00,0x00,0x32,0x14,0x00,0x00, - 0x32,0x15,0x00,0x00,0x3a,0x15,0x19,0x14,0x3a,0x0c,0x1a,0x14,0x31,0x15,0x1c,0x00, - 0x3a,0x15,0x1b,0x14,0x31,0x15,0x1e,0x00,0x3a,0x15,0x1d,0x14,0x31,0x15,0x1f,0x00, - 0x31,0x16,0x20,0x00,0x31,0x17,0x21,0x00,0x31,0x18,0x22,0x00,0x3a,0x18,0x23,0x14, - 0x10,0x19,0x09,0x00,0x33,0x1a,0x25,0x00,0x33,0x1b,0x26,0x00,0x3e,0x19,0x03,0x02, - 0x3a,0x19,0x24,0x14,0x31,0x19,0x27,0x00,0x31,0x1a,0x28,0x00,0x3a,0x1a,0x29,0x14, - 0x37,0x1b,0x19,0x14,0x3a,0x15,0x2a,0x1b,0x37,0x1b,0x19,0x14,0x3a,0x15,0x2b,0x1b, - 0x37,0x1b,0x19,0x14,0x3a,0x15,0x2c,0x1b,0x37,0x1b,0x19,0x14,0x3a,0x15,0x2d,0x1b, - 0x37,0x1b,0x19,0x14,0x3a,0x15,0x2e,0x1b,0x37,0x1b,0x19,0x14,0x3a,0x15,0x2f,0x1b, - 0x37,0x1b,0x19,0x14,0x31,0x1c,0x30,0x00,0x3a,0x1c,0x2d,0x1b,0x37,0x1b,0x19,0x14, - 0x31,0x1c,0x31,0x00,0x3a,0x1c,0x12,0x1b,0x37,0x1b,0x19,0x14,0x31,0x1c,0x33,0x00, - 0x3a,0x1c,0x32,0x1b,0x37,0x1b,0x19,0x14,0x31,0x1c,0x34,0x00,0x3a,0x1c,0x14,0x1b, - 0x37,0x1b,0x19,0x14,0x31,0x1c,0x35,0x00,0x39,0x1c,0x12,0x1b,0x31,0x1b,0x37,0x00, - 0x3a,0x1b,0x36,0x14,0x31,0x1b,0x39,0x00,0x3a,0x1b,0x38,0x14,0x30,0x00,0x00,0x80, - 0x48,0x14,0x02,0x00,0x00,0x12,0x6d,0x61,0x6b,0x65,0x5f,0x70,0x72,0x6f,0x70,0x65, - 0x72,0x74,0x79,0x00,0x0d,0x4d,0x75,0x6c,0x74,0x69,0x76,0x61,0x6c,0x00,0x00,0x00, - 0x0d,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x00,0x00,0x0c,0x64,0x65,0x66,0x61, - 0x75,0x6c,0x74,0x0b,0x74,0x68,0x72,0x65,0x61,0x64,0x0d,0x75,0x73,0x65,0x72,0x64, - 0x61,0x74,0x61,0x08,0x6e,0x69,0x6c,0x0c,0x62,0x6f,0x6f,0x6c,0x65,0x61,0x6e,0x0b, - 0x6e,0x75,0x6d,0x62,0x65,0x72,0x12,0x6d,0x61,0x6b,0x65,0x5f,0x66,0x75,0x6c,0x6c, - 0x6e,0x61,0x6d,0x65,0x00,0x00,0x01,0x00,0x01,0x0b,0x5f,0x5f,0x6d,0x6f,0x64,0x65, - 0x06,0x76,0x01,0x00,0x01,0x06,0x6e,0x03,0x00,0x0e,0x6b,0x65,0x79,0x5f,0x63,0x61, - 0x63,0x68,0x65,0x1b,0x67,0x65,0x6e,0x65,0x72,0x61,0x74,0x65,0x5f,0x70,0x72,0x69, - 0x6e,0x74,0x61,0x62,0x6c,0x65,0x5f,0x6b,0x65,0x79,0x00,0x00,0x00,0x00,0x00,0x0c, - 0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x00,0x0e,0x61,0x64,0x64,0x5f,0x70,0x72,0x6f, - 0x62,0x65,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x0f,0x69,0x6e,0x73,0x70, - 0x65,0x63,0x74,0x6f,0x72,0x73,0x0f,0x5f,0x5f,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e, - 0x67,0x01,0x00,0x00,0x00,0x0b,0x63,0x6f,0x6e,0x63,0x61,0x74,0x0a,0x74,0x61,0x62, - 0x6c,0x65,0x0b,0x66,0x6f,0x72,0x6d,0x61,0x74,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67, - 0x0b,0x72,0x65,0x73,0x75,0x6d,0x65,0x0b,0x73,0x74,0x61,0x74,0x75,0x73,0x0b,0x63, - 0x72,0x65,0x61,0x74,0x65,0x0a,0x79,0x69,0x65,0x6c,0x64,0x0e,0x63,0x6f,0x72,0x6f, - 0x75,0x74,0x69,0x6e,0x65,0x0b,0x73,0x65,0x6c,0x65,0x63,0x74,0x0c,0x67,0x65,0x74, - 0x66,0x65,0x6e,0x76,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c, - 0x65,0x11,0x67,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x0b,0x72, - 0x61,0x77,0x67,0x65,0x74,0x09,0x6e,0x65,0x78,0x74,0x0b,0x61,0x73,0x73,0x65,0x72, - 0x74,0x09,0x74,0x79,0x70,0x65,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x12, - 0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x75,0x74,0x69,0x6c,0x16,0x64,0x65, - 0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x70,0x6c,0x61,0x74,0x66,0x6f,0x72,0x6d,0x0a, - 0x64,0x65,0x62,0x75,0x67,0x0c,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x84,0x05,0x00, - 0x01,0x06,0x02,0x20,0x02,0x6b,0x37,0x01,0x00,0x00,0x07,0x01,0x01,0x00,0x54,0x02, - 0x12,0x80,0x37,0x02,0x02,0x00,0x0f,0x00,0x02,0x00,0x54,0x03,0x02,0x80,0x25,0x01, - 0x02,0x00,0x54,0x02,0x56,0x80,0x37,0x02,0x03,0x00,0x0f,0x00,0x02,0x00,0x54,0x03, - 0x02,0x80,0x25,0x02,0x04,0x00,0x54,0x03,0x01,0x80,0x25,0x02,0x01,0x00,0x2b,0x03, - 0x00,0x00,0x37,0x04,0x05,0x00,0x16,0x04,0x00,0x04,0x3e,0x03,0x02,0x02,0x25,0x04, - 0x06,0x00,0x24,0x01,0x04,0x02,0x54,0x02,0x49,0x80,0x07,0x01,0x07,0x00,0x54,0x02, - 0x0a,0x80,0x37,0x02,0x05,0x00,0x09,0x02,0x00,0x00,0x54,0x02,0x02,0x80,0x25,0x01, - 0x08,0x00,0x54,0x02,0x42,0x80,0x37,0x02,0x05,0x00,0x09,0x02,0x01,0x00,0x54,0x02, - 0x3f,0x80,0x25,0x01,0x09,0x00,0x54,0x02,0x3d,0x80,0x06,0x01,0x0a,0x00,0x54,0x02, - 0x04,0x80,0x06,0x01,0x0b,0x00,0x54,0x02,0x02,0x80,0x07,0x01,0x0c,0x00,0x54,0x02, - 0x0d,0x80,0x37,0x02,0x0d,0x00,0x0f,0x00,0x02,0x00,0x54,0x03,0x06,0x80,0x10,0x02, - 0x01,0x00,0x25,0x03,0x0e,0x00,0x37,0x04,0x0d,0x00,0x24,0x02,0x04,0x02,0x0c,0x01, - 0x02,0x00,0x54,0x03,0x03,0x80,0x25,0x02,0x0f,0x00,0x10,0x03,0x01,0x00,0x24,0x01, - 0x03,0x02,0x54,0x02,0x2a,0x80,0x07,0x01,0x10,0x00,0x54,0x02,0x02,0x80,0x25,0x01, - 0x11,0x00,0x54,0x02,0x26,0x80,0x07,0x01,0x12,0x00,0x54,0x02,0x06,0x80,0x2b,0x02, - 0x01,0x00,0x37,0x03,0x13,0x00,0x3e,0x02,0x02,0x02,0x25,0x03,0x14,0x00,0x24,0x01, - 0x03,0x02,0x54,0x02,0x1e,0x80,0x07,0x01,0x15,0x00,0x54,0x02,0x06,0x80,0x2b,0x02, - 0x01,0x00,0x37,0x03,0x13,0x00,0x3e,0x02,0x02,0x02,0x25,0x03,0x16,0x00,0x24,0x01, - 0x03,0x02,0x54,0x02,0x16,0x80,0x07,0x01,0x17,0x00,0x54,0x02,0x04,0x80,0x2b,0x02, - 0x01,0x00,0x37,0x03,0x18,0x00,0x40,0x02,0x02,0x00,0x54,0x02,0x10,0x80,0x07,0x01, - 0x19,0x00,0x54,0x02,0x0e,0x80,0x37,0x02,0x18,0x00,0x37,0x02,0x03,0x02,0x0f,0x00, - 0x02,0x00,0x54,0x03,0x02,0x80,0x25,0x02,0x03,0x00,0x54,0x03,0x01,0x80,0x25,0x02, - 0x1a,0x00,0x25,0x03,0x1b,0x00,0x2b,0x04,0x00,0x00,0x37,0x05,0x05,0x00,0x16,0x05, - 0x00,0x05,0x3e,0x04,0x02,0x02,0x24,0x01,0x04,0x02,0x37,0x00,0x18,0x00,0x37,0x02, - 0x1c,0x00,0x0f,0x00,0x02,0x00,0x54,0x03,0x03,0x80,0x25,0x02,0x1d,0x00,0x10,0x03, - 0x01,0x00,0x24,0x01,0x03,0x02,0x37,0x02,0x1e,0x00,0x0f,0x00,0x02,0x00,0x54,0x03, - 0x03,0x80,0x25,0x02,0x1f,0x00,0x10,0x03,0x01,0x00,0x24,0x01,0x03,0x02,0x48,0x01, - 0x02,0x00,0x03,0xc0,0x0a,0xc0,0x0e,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x20, - 0x0d,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x0b,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x06,0x3a,0x0b,0x73,0x69,0x67,0x6e,0x65,0x64,0x0d, - 0x62,0x69,0x74,0x66,0x69,0x65,0x6c,0x64,0x09,0x74,0x79,0x70,0x65,0x0a,0x66,0x69, - 0x65,0x6c,0x64,0x06,0x26,0x08,0x72,0x65,0x66,0x06,0x2a,0x11,0x65,0x6c,0x65,0x6d, - 0x65,0x6e,0x74,0x5f,0x74,0x79,0x70,0x65,0x08,0x70,0x74,0x72,0x13,0x66,0x75,0x6e, - 0x63,0x74,0x69,0x6f,0x6e,0x20,0x28,0x46,0x46,0x49,0x29,0x09,0x66,0x75,0x6e,0x63, - 0x0f,0x61,0x6e,0x6f,0x6e,0x79,0x6d,0x6f,0x75,0x73,0x20,0x06,0x20,0x09,0x6e,0x61, - 0x6d,0x65,0x0a,0x75,0x6e,0x69,0x6f,0x6e,0x09,0x65,0x6e,0x75,0x6d,0x0b,0x73,0x74, - 0x72,0x75,0x63,0x74,0x10,0x6c,0x6f,0x6e,0x67,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65, - 0x0b,0x64,0x6f,0x75,0x62,0x6c,0x65,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x07,0x5f,0x74, - 0x09,0x73,0x69,0x7a,0x65,0x09,0x75,0x69,0x6e,0x74,0x0d,0x75,0x6e,0x73,0x69,0x67, - 0x6e,0x65,0x64,0x09,0x62,0x6f,0x6f,0x6c,0x08,0x69,0x6e,0x74,0x09,0x77,0x68,0x61, - 0x74,0x10,0x20,0x9b,0x01,0x00,0x05,0x0b,0x04,0x04,0x00,0x1d,0x2b,0x05,0x00,0x00, - 0x10,0x06,0x01,0x00,0x3e,0x05,0x02,0x02,0x07,0x05,0x00,0x00,0x54,0x05,0x08,0x80, - 0x2b,0x05,0x01,0x00,0x10,0x06,0x00,0x00,0x10,0x07,0x01,0x00,0x10,0x08,0x02,0x00, - 0x10,0x09,0x03,0x00,0x10,0x0a,0x04,0x00,0x40,0x05,0x06,0x00,0x54,0x05,0x0f,0x80, - 0x2b,0x05,0x02,0x00,0x37,0x05,0x01,0x05,0x10,0x06,0x00,0x00,0x10,0x07,0x01,0x00, - 0x10,0x08,0x02,0x00,0x10,0x09,0x03,0x00,0x3e,0x05,0x05,0x02,0x0f,0x00,0x05,0x00, - 0x54,0x06,0x05,0x80,0x37,0x06,0x02,0x05,0x2b,0x07,0x03,0x00,0x10,0x08,0x04,0x00, - 0x3e,0x07,0x02,0x02,0x3a,0x07,0x03,0x06,0x48,0x05,0x02,0x00,0x47,0x00,0x01,0x00, - 0x05,0xc0,0x0c,0x80,0x00,0xc0,0x0a,0xc0,0x09,0x74,0x79,0x70,0x65,0x09,0x61,0x74, - 0x74,0x72,0x0c,0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x0a,0x63,0x64,0x61,0x74,0x61, - 0xb4,0x01,0x00,0x05,0x13,0x05,0x04,0x00,0x22,0x2b,0x05,0x00,0x00,0x37,0x05,0x00, - 0x05,0x10,0x06,0x00,0x00,0x2b,0x07,0x01,0x00,0x10,0x08,0x04,0x00,0x3e,0x07,0x02, - 0x02,0x2b,0x08,0x02,0x00,0x10,0x09,0x01,0x00,0x3e,0x08,0x02,0x02,0x10,0x09,0x02, - 0x00,0x10,0x0a,0x03,0x00,0x3e,0x05,0x06,0x02,0x0f,0x00,0x05,0x00,0x54,0x06,0x13, - 0x80,0x10,0x07,0x04,0x00,0x37,0x06,0x01,0x04,0x3e,0x06,0x02,0x04,0x54,0x09,0x0d, - 0x80,0x37,0x0a,0x02,0x09,0x2b,0x0b,0x03,0x00,0x10,0x0c,0x0a,0x00,0x36,0x0d,0x0a, - 0x01,0x10,0x0e,0x05,0x00,0x10,0x0f,0x03,0x00,0x2b,0x10,0x04,0x00,0x25,0x11,0x03, - 0x00,0x10,0x12,0x0a,0x00,0x3e,0x10,0x03,0x02,0x24,0x0f,0x10,0x0f,0x10,0x10,0x09, - 0x00,0x3e,0x0b,0x06,0x01,0x41,0x09,0x03,0x02,0x4e,0x09,0xf1,0x7f,0x48,0x05,0x02, - 0x00,0x00,0xc0,0x0a,0xc0,0x03,0xc0,0x0d,0xc0,0x07,0xc0,0x09,0x5b,0x25,0x71,0x5d, - 0x09,0x6e,0x61,0x6d,0x65,0x0c,0x6d,0x65,0x6d,0x62,0x65,0x72,0x73,0x0d,0x70,0x72, - 0x6f,0x70,0x65,0x72,0x74,0x79,0xb6,0x02,0x00,0x05,0x14,0x05,0x08,0x01,0x3e,0x37, - 0x05,0x00,0x04,0x37,0x06,0x01,0x04,0x06,0x06,0x02,0x00,0x54,0x06,0x03,0x80,0x37, - 0x06,0x01,0x04,0x0e,0x00,0x06,0x00,0x54,0x07,0x04,0x80,0x2b,0x06,0x00,0x00,0x37, - 0x06,0x03,0x06,0x10,0x07,0x01,0x00,0x3e,0x06,0x02,0x02,0x0f,0x00,0x06,0x00,0x54, - 0x07,0x02,0x80,0x37,0x07,0x01,0x05,0x21,0x06,0x07,0x06,0x2b,0x07,0x01,0x00,0x10, - 0x08,0x05,0x00,0x3e,0x07,0x02,0x02,0x2b,0x08,0x02,0x00,0x37,0x08,0x04,0x08,0x10, - 0x09,0x00,0x00,0x10,0x0a,0x07,0x00,0x25,0x0b,0x05,0x00,0x2b,0x0c,0x03,0x00,0x10, - 0x0d,0x06,0x00,0x3e,0x0c,0x02,0x02,0x0e,0x00,0x0c,0x00,0x54,0x0d,0x01,0x80,0x25, - 0x0c,0x06,0x00,0x25,0x0d,0x07,0x00,0x24,0x0a,0x0d,0x0a,0x2b,0x0b,0x03,0x00,0x10, - 0x0c,0x01,0x00,0x3e,0x0b,0x02,0x02,0x10,0x0c,0x02,0x00,0x10,0x0d,0x03,0x00,0x3e, - 0x08,0x06,0x02,0x0f,0x00,0x08,0x00,0x54,0x09,0x16,0x80,0x0f,0x00,0x06,0x00,0x54, - 0x09,0x14,0x80,0x27,0x09,0x00,0x00,0x15,0x0a,0x00,0x06,0x27,0x0b,0x01,0x00,0x49, - 0x09,0x10,0x80,0x25,0x0d,0x05,0x00,0x2b,0x0e,0x03,0x00,0x10,0x0f,0x0c,0x00,0x3e, - 0x0e,0x02,0x02,0x25,0x0f,0x07,0x00,0x24,0x0d,0x0f,0x0d,0x2b,0x0e,0x04,0x00,0x10, - 0x0f,0x0d,0x00,0x36,0x10,0x0c,0x01,0x10,0x11,0x08,0x00,0x10,0x12,0x03,0x00,0x10, - 0x13,0x0d,0x00,0x24,0x12,0x13,0x12,0x10,0x13,0x05,0x00,0x3e,0x0e,0x06,0x01,0x4b, - 0x09,0xf0,0x7f,0x48,0x08,0x02,0x00,0x02,0xc0,0x0a,0xc0,0x00,0xc0,0x03,0xc0,0x0d, - 0xc0,0x06,0x5d,0x05,0x06,0x5b,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x0b, - 0x73,0x69,0x7a,0x65,0x6f,0x66,0x09,0x6e,0x6f,0x6e,0x65,0x09,0x73,0x69,0x7a,0x65, - 0x11,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x5f,0x74,0x79,0x70,0x65,0x02,0xff,0x01, - 0x00,0x05,0x0e,0x03,0x0b,0x01,0x2d,0x32,0x05,0x00,0x00,0x10,0x07,0x04,0x00,0x37, - 0x06,0x00,0x04,0x3e,0x06,0x02,0x04,0x54,0x09,0x09,0x80,0x13,0x0a,0x05,0x00,0x14, - 0x0a,0x00,0x0a,0x2b,0x0b,0x00,0x00,0x37,0x0c,0x01,0x09,0x3e,0x0b,0x02,0x02,0x25, - 0x0c,0x02,0x00,0x37,0x0d,0x03,0x09,0x24,0x0b,0x0d,0x0b,0x39,0x0b,0x0a,0x05,0x41, - 0x09,0x03,0x02,0x4e,0x09,0xf5,0x7f,0x37,0x06,0x04,0x04,0x0f,0x00,0x06,0x00,0x54, - 0x07,0x04,0x80,0x13,0x06,0x05,0x00,0x14,0x06,0x00,0x06,0x25,0x07,0x05,0x00,0x39, - 0x07,0x06,0x05,0x2b,0x06,0x00,0x00,0x37,0x07,0x06,0x04,0x3e,0x06,0x02,0x02,0x25, - 0x07,0x02,0x00,0x37,0x08,0x03,0x04,0x25,0x09,0x07,0x00,0x2b,0x0a,0x01,0x00,0x10, - 0x0b,0x05,0x00,0x25,0x0c,0x08,0x00,0x3e,0x0a,0x03,0x02,0x25,0x0b,0x09,0x00,0x24, - 0x06,0x0b,0x06,0x2b,0x07,0x02,0x00,0x37,0x07,0x0a,0x07,0x10,0x08,0x00,0x00,0x2b, - 0x09,0x00,0x00,0x10,0x0a,0x04,0x00,0x3e,0x09,0x02,0x02,0x10,0x0a,0x06,0x00,0x10, - 0x0b,0x02,0x00,0x10,0x0c,0x03,0x00,0x40,0x07,0x06,0x00,0x0a,0xc0,0x08,0xc0,0x00, - 0xc0,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x06,0x29,0x07,0x2c,0x20,0x06, - 0x28,0x10,0x72,0x65,0x74,0x75,0x72,0x6e,0x5f,0x74,0x79,0x70,0x65,0x08,0x2e,0x2e, - 0x2e,0x0b,0x76,0x61,0x72,0x61,0x72,0x67,0x09,0x6e,0x61,0x6d,0x65,0x06,0x20,0x09, - 0x74,0x79,0x70,0x65,0x0e,0x61,0x72,0x67,0x75,0x6d,0x65,0x6e,0x74,0x73,0x02,0x92, - 0x01,0x00,0x05,0x0c,0x04,0x04,0x00,0x1a,0x2b,0x05,0x00,0x00,0x10,0x06,0x01,0x00, - 0x3e,0x05,0x02,0x02,0x10,0x07,0x04,0x00,0x37,0x06,0x00,0x04,0x3e,0x06,0x02,0x04, - 0x54,0x09,0x05,0x80,0x37,0x0a,0x01,0x09,0x05,0x0a,0x05,0x00,0x54,0x0a,0x02,0x80, - 0x37,0x05,0x02,0x09,0x54,0x06,0x02,0x80,0x41,0x09,0x03,0x02,0x4e,0x09,0xf9,0x7f, - 0x2b,0x06,0x01,0x00,0x37,0x06,0x03,0x06,0x10,0x07,0x00,0x00,0x2b,0x08,0x02,0x00, - 0x10,0x09,0x04,0x00,0x3e,0x08,0x02,0x02,0x2b,0x09,0x03,0x00,0x10,0x0a,0x05,0x00, - 0x3e,0x09,0x02,0x02,0x10,0x0a,0x02,0x00,0x10,0x0b,0x03,0x00,0x40,0x06,0x06,0x00, - 0x04,0xc0,0x00,0xc0,0x0a,0xc0,0x03,0xc0,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74, - 0x79,0x09,0x6e,0x61,0x6d,0x65,0x0a,0x76,0x61,0x6c,0x75,0x65,0x0b,0x76,0x61,0x6c, - 0x75,0x65,0x73,0xb8,0x01,0x00,0x05,0x0c,0x05,0x05,0x00,0x1d,0x2b,0x05,0x00,0x00, - 0x10,0x06,0x04,0x00,0x3e,0x05,0x02,0x02,0x2b,0x06,0x01,0x00,0x37,0x06,0x00,0x06, - 0x0e,0x00,0x06,0x00,0x54,0x06,0x0a,0x80,0x2b,0x06,0x02,0x00,0x37,0x06,0x01,0x06, - 0x10,0x07,0x00,0x00,0x10,0x08,0x05,0x00,0x2b,0x09,0x03,0x00,0x10,0x0a,0x01,0x00, - 0x3e,0x09,0x02,0x02,0x10,0x0a,0x02,0x00,0x10,0x0b,0x03,0x00,0x40,0x06,0x06,0x00, - 0x2b,0x06,0x04,0x00,0x10,0x07,0x00,0x00,0x10,0x08,0x01,0x00,0x10,0x09,0x02,0x00, - 0x10,0x0a,0x03,0x00,0x37,0x0b,0x02,0x04,0x3e,0x06,0x06,0x02,0x0f,0x00,0x06,0x00, - 0x54,0x07,0x02,0x80,0x37,0x07,0x03,0x06,0x3a,0x05,0x04,0x07,0x48,0x06,0x02,0x00, - 0x0a,0xc0,0x09,0xc0,0x00,0xc0,0x03,0xc0,0x0d,0xc0,0x09,0x74,0x79,0x70,0x65,0x09, - 0x61,0x74,0x74,0x72,0x11,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x5f,0x74,0x79,0x70, - 0x65,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x17,0x69,0x6e,0x73,0x70,0x65, - 0x63,0x74,0x5f,0x72,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x73,0x50,0x00,0x05, - 0x0b,0x04,0x01,0x00,0x0e,0x2b,0x05,0x00,0x00,0x37,0x05,0x00,0x05,0x10,0x06,0x00, + 0x00,0x00,0x36,0x03,0x03,0x00,0x39,0x02,0x01,0x03,0x54,0x03,0x0e,0x80,0x2b,0x03, + 0x02,0x00,0x36,0x03,0x03,0x00,0x2b,0x04,0x01,0x00,0x36,0x03,0x04,0x03,0x36,0x03, + 0x01,0x03,0x0f,0x00,0x03,0x00,0x54,0x04,0x04,0x80,0x2b,0x03,0x02,0x00,0x36,0x03, + 0x03,0x00,0x39,0x02,0x01,0x03,0x54,0x03,0x03,0x80,0x2b,0x03,0x03,0x00,0x36,0x03, + 0x03,0x00,0x39,0x02,0x01,0x03,0x47,0x00,0x01,0x00,0x03,0xc0,0x07,0xc0,0x04,0xc0, + 0x05,0xc0,0xd1,0x02,0x00,0x01,0x0f,0x03,0x0a,0x01,0x41,0x33,0x01,0x00,0x00,0x34, + 0x02,0x01,0x00,0x2b,0x03,0x00,0x00,0x36,0x03,0x03,0x00,0x2b,0x04,0x01,0x00,0x36, + 0x03,0x04,0x03,0x3e,0x02,0x02,0x04,0x44,0x05,0x13,0x80,0x13,0x07,0x01,0x00,0x14, + 0x07,0x00,0x07,0x25,0x08,0x02,0x00,0x34,0x09,0x03,0x00,0x10,0x0a,0x05,0x00,0x3e, + 0x09,0x02,0x02,0x25,0x0a,0x04,0x00,0x34,0x0b,0x03,0x00,0x10,0x0c,0x06,0x00,0x3e, + 0x0b,0x02,0x02,0x25,0x0c,0x05,0x00,0x34,0x0d,0x03,0x00,0x2b,0x0e,0x00,0x00,0x36, + 0x0e,0x0e,0x00,0x36,0x0e,0x05,0x0e,0x3e,0x0d,0x02,0x02,0x25,0x0e,0x06,0x00,0x24, + 0x08,0x0e,0x08,0x39,0x08,0x07,0x01,0x42,0x05,0x03,0x03,0x4e,0x05,0xeb,0x7f,0x13, + 0x02,0x01,0x00,0x14,0x02,0x00,0x02,0x25,0x03,0x07,0x00,0x39,0x03,0x02,0x01,0x34, + 0x02,0x01,0x00,0x2b,0x03,0x02,0x00,0x36,0x03,0x03,0x00,0x2b,0x04,0x01,0x00,0x36, + 0x03,0x04,0x03,0x3e,0x02,0x02,0x04,0x44,0x05,0x13,0x80,0x13,0x07,0x01,0x00,0x14, + 0x07,0x00,0x07,0x25,0x08,0x02,0x00,0x34,0x09,0x03,0x00,0x10,0x0a,0x05,0x00,0x3e, + 0x09,0x02,0x02,0x25,0x0a,0x04,0x00,0x34,0x0b,0x03,0x00,0x10,0x0c,0x06,0x00,0x3e, + 0x0b,0x02,0x02,0x25,0x0c,0x05,0x00,0x34,0x0d,0x03,0x00,0x2b,0x0e,0x02,0x00,0x36, + 0x0e,0x0e,0x00,0x36,0x0e,0x05,0x0e,0x3e,0x0d,0x02,0x02,0x25,0x0e,0x06,0x00,0x24, + 0x08,0x0e,0x08,0x39,0x08,0x07,0x01,0x42,0x05,0x03,0x03,0x4e,0x05,0xeb,0x7f,0x34, + 0x02,0x08,0x00,0x37,0x02,0x09,0x02,0x10,0x03,0x01,0x00,0x40,0x02,0x02,0x00,0x03, + 0xc0,0x07,0xc0,0x04,0xc0,0x0b,0x63,0x6f,0x6e,0x63,0x61,0x74,0x0a,0x74,0x61,0x62, + 0x6c,0x65,0x10,0x55,0x70,0x76,0x61,0x6c,0x75,0x65,0x73,0x3a,0x20,0x0a,0x06,0x0a, + 0x07,0x29,0x3d,0x06,0x28,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x06,0x09, + 0x0a,0x70,0x61,0x69,0x72,0x73,0x01,0x02,0x00,0x00,0x0e,0x4c,0x6f,0x63,0x61,0x6c, + 0x73,0x3a,0x20,0x0a,0x02,0xb2,0x01,0x00,0x02,0x0a,0x02,0x08,0x00,0x18,0x2b,0x02, + 0x00,0x00,0x36,0x02,0x02,0x00,0x36,0x02,0x01,0x02,0x0e,0x00,0x02,0x00,0x54,0x03, + 0x08,0x80,0x34,0x03,0x00,0x00,0x25,0x04,0x01,0x00,0x34,0x05,0x02,0x00,0x10,0x06, + 0x01,0x00,0x3e,0x05,0x02,0x02,0x25,0x06,0x03,0x00,0x24,0x04,0x06,0x04,0x3e,0x03, + 0x02,0x01,0x2b,0x03,0x01,0x00,0x36,0x03,0x03,0x00,0x34,0x04,0x04,0x00,0x27,0x05, + 0x02,0x00,0x37,0x06,0x05,0x03,0x10,0x07,0x06,0x00,0x37,0x06,0x06,0x06,0x37,0x08, + 0x07,0x03,0x10,0x09,0x02,0x00,0x3e,0x06,0x04,0x00,0x3f,0x04,0x01,0x00,0x07,0xc0, + 0x08,0xc0,0x0a,0x6c,0x65,0x76,0x65,0x6c,0x0d,0x67,0x65,0x74,0x6c,0x6f,0x63,0x61, + 0x6c,0x09,0x63,0x6f,0x72,0x6f,0x0b,0x73,0x65,0x6c,0x65,0x63,0x74,0x16,0x20,0x64, + 0x6f,0x65,0x73,0x20,0x6e,0x6f,0x74,0x20,0x65,0x78,0x69,0x73,0x74,0x73,0x2e,0x0d, + 0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x0f,0x54,0x68,0x65,0x20,0x6c,0x6f,0x63, + 0x61,0x6c,0x20,0x0a,0x65,0x72,0x72,0x6f,0x72,0x8b,0x01,0x00,0x03,0x0a,0x02,0x05, + 0x00,0x15,0x2b,0x03,0x00,0x00,0x36,0x03,0x03,0x00,0x36,0x03,0x01,0x03,0x0f,0x00, + 0x03,0x00,0x54,0x04,0x0a,0x80,0x2b,0x04,0x01,0x00,0x36,0x04,0x04,0x00,0x37,0x05, + 0x00,0x04,0x10,0x06,0x05,0x00,0x37,0x05,0x01,0x05,0x37,0x07,0x02,0x04,0x10,0x08, + 0x03,0x00,0x10,0x09,0x02,0x00,0x3e,0x05,0x05,0x01,0x54,0x04,0x05,0x80,0x34,0x04, + 0x03,0x00,0x25,0x05,0x04,0x00,0x10,0x06,0x01,0x00,0x24,0x05,0x06,0x05,0x3e,0x04, + 0x02,0x01,0x47,0x00,0x01,0x00,0x07,0xc0,0x08,0xc0,0x16,0x43,0x61,0x6e,0x6e,0x6f, + 0x74,0x20,0x73,0x65,0x74,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x0a,0x65,0x72,0x72, + 0x6f,0x72,0x0a,0x6c,0x65,0x76,0x65,0x6c,0x0d,0x73,0x65,0x74,0x6c,0x6f,0x63,0x61, + 0x6c,0x09,0x63,0x6f,0x72,0x6f,0x46,0x00,0x02,0x06,0x01,0x01,0x00,0x0e,0x34,0x02, + 0x00,0x00,0x2b,0x03,0x00,0x00,0x36,0x03,0x03,0x00,0x10,0x04,0x01,0x00,0x3e,0x02, + 0x03,0x03,0x0f,0x00,0x02,0x00,0x54,0x04,0x04,0x80,0x10,0x04,0x02,0x00,0x36,0x05, + 0x02,0x00,0x46,0x04,0x03,0x00,0x54,0x04,0x02,0x80,0x29,0x04,0x00,0x00,0x48,0x04, + 0x02,0x00,0x47,0x00,0x01,0x00,0x07,0xc0,0x09,0x6e,0x65,0x78,0x74,0xa8,0x01,0x00, + 0x02,0x08,0x02,0x07,0x00,0x16,0x2b,0x02,0x00,0x00,0x36,0x02,0x02,0x00,0x36,0x02, + 0x01,0x02,0x0e,0x00,0x02,0x00,0x54,0x03,0x08,0x80,0x34,0x03,0x00,0x00,0x25,0x04, + 0x01,0x00,0x34,0x05,0x02,0x00,0x10,0x06,0x01,0x00,0x3e,0x05,0x02,0x02,0x25,0x06, + 0x03,0x00,0x24,0x04,0x06,0x04,0x3e,0x03,0x02,0x01,0x34,0x03,0x04,0x00,0x27,0x04, + 0x02,0x00,0x34,0x05,0x05,0x00,0x37,0x05,0x06,0x05,0x2b,0x06,0x01,0x00,0x36,0x06, + 0x06,0x00,0x10,0x07,0x02,0x00,0x3e,0x05,0x03,0x00,0x3f,0x03,0x01,0x00,0x07,0xc0, + 0x08,0xc0,0x0f,0x67,0x65,0x74,0x75,0x70,0x76,0x61,0x6c,0x75,0x65,0x0a,0x64,0x65, + 0x62,0x75,0x67,0x0b,0x73,0x65,0x6c,0x65,0x63,0x74,0x17,0x20,0x64,0x6f,0x65,0x73, + 0x20,0x6e,0x6f,0x74,0x20,0x65,0x78,0x69,0x74,0x73,0x74,0x73,0x2e,0x0d,0x74,0x6f, + 0x73,0x74,0x72,0x69,0x6e,0x67,0x0f,0x54,0x68,0x65,0x20,0x6c,0x6f,0x63,0x61,0x6c, + 0x20,0x0a,0x65,0x72,0x72,0x6f,0x72,0x82,0x01,0x00,0x03,0x08,0x02,0x04,0x00,0x13, + 0x2b,0x03,0x00,0x00,0x36,0x03,0x03,0x00,0x36,0x03,0x01,0x03,0x0f,0x00,0x03,0x00, + 0x54,0x04,0x08,0x80,0x34,0x04,0x00,0x00,0x37,0x04,0x01,0x04,0x2b,0x05,0x01,0x00, + 0x36,0x05,0x05,0x00,0x10,0x06,0x03,0x00,0x10,0x07,0x02,0x00,0x3e,0x04,0x04,0x01, + 0x54,0x04,0x05,0x80,0x34,0x04,0x02,0x00,0x25,0x05,0x03,0x00,0x10,0x06,0x01,0x00, + 0x24,0x05,0x06,0x05,0x3e,0x04,0x02,0x01,0x47,0x00,0x01,0x00,0x07,0xc0,0x08,0xc0, + 0x18,0x43,0x61,0x6e,0x6e,0x6f,0x74,0x20,0x73,0x65,0x74,0x20,0x75,0x70,0x76,0x61, + 0x6c,0x75,0x65,0x20,0x0a,0x65,0x72,0x72,0x6f,0x72,0x0f,0x73,0x65,0x74,0x75,0x70, + 0x76,0x61,0x6c,0x75,0x65,0x0a,0x64,0x65,0x62,0x75,0x67,0x46,0x00,0x02,0x06,0x01, + 0x01,0x00,0x0e,0x34,0x02,0x00,0x00,0x2b,0x03,0x00,0x00,0x36,0x03,0x03,0x00,0x10, + 0x04,0x01,0x00,0x3e,0x02,0x03,0x03,0x0f,0x00,0x02,0x00,0x54,0x04,0x04,0x80,0x10, + 0x04,0x02,0x00,0x36,0x05,0x02,0x00,0x46,0x04,0x03,0x00,0x54,0x04,0x02,0x80,0x29, + 0x04,0x00,0x00,0x48,0x04,0x02,0x00,0x47,0x00,0x01,0x00,0x07,0xc0,0x09,0x6e,0x65, + 0x78,0x74,0xe9,0x04,0x00,0x03,0x10,0x08,0x14,0x00,0x6e,0x32,0x03,0x00,0x00,0x32, + 0x04,0x00,0x00,0x27,0x05,0x00,0x00,0x01,0x02,0x05,0x00,0x54,0x05,0x09,0x80,0x2b, + 0x05,0x00,0x00,0x37,0x05,0x00,0x05,0x27,0x06,0x2d,0x01,0x25,0x07,0x01,0x00,0x34, + 0x08,0x02,0x00,0x10,0x09,0x02,0x00,0x3e,0x08,0x02,0x02,0x24,0x07,0x08,0x07,0x3e, + 0x05,0x03,0x01,0x10,0x06,0x01,0x00,0x37,0x05,0x03,0x01,0x10,0x07,0x02,0x00,0x25, + 0x08,0x04,0x00,0x3e,0x05,0x04,0x02,0x0e,0x00,0x05,0x00,0x54,0x06,0x09,0x80,0x2b, + 0x05,0x00,0x00,0x37,0x05,0x00,0x05,0x27,0x06,0x2d,0x01,0x25,0x07,0x01,0x00,0x34, + 0x08,0x02,0x00,0x10,0x09,0x02,0x00,0x3e,0x08,0x02,0x02,0x24,0x07,0x08,0x07,0x3e, + 0x05,0x03,0x02,0x37,0x05,0x05,0x05,0x27,0x06,0x01,0x00,0x34,0x07,0x06,0x00,0x37, + 0x07,0x07,0x07,0x27,0x08,0x01,0x00,0x49,0x06,0x12,0x80,0x10,0x0b,0x01,0x00,0x37, + 0x0a,0x08,0x01,0x10,0x0c,0x02,0x00,0x10,0x0d,0x09,0x00,0x3e,0x0a,0x04,0x03,0x0e, + 0x00,0x0a,0x00,0x54,0x0c,0x02,0x80,0x54,0x06,0x0a,0x80,0x54,0x0c,0x08,0x80,0x10, + 0x0d,0x0a,0x00,0x37,0x0c,0x09,0x0a,0x27,0x0e,0x01,0x00,0x27,0x0f,0x01,0x00,0x3e, + 0x0c,0x04,0x02,0x06,0x0c,0x0a,0x00,0x54,0x0c,0x01,0x80,0x39,0x09,0x0a,0x03,0x4b, + 0x06,0xee,0x7f,0x27,0x06,0x01,0x00,0x34,0x07,0x06,0x00,0x37,0x07,0x07,0x07,0x27, + 0x08,0x01,0x00,0x49,0x06,0x0a,0x80,0x34,0x0a,0x0b,0x00,0x37,0x0a,0x0c,0x0a,0x10, + 0x0b,0x05,0x00,0x10,0x0c,0x09,0x00,0x3e,0x0a,0x03,0x03,0x0e,0x00,0x0a,0x00,0x54, + 0x0c,0x01,0x80,0x54,0x06,0x02,0x80,0x39,0x09,0x0a,0x04,0x4b,0x06,0xf6,0x7f,0x34, + 0x06,0x0d,0x00,0x32,0x07,0x00,0x08,0x2b,0x08,0x01,0x00,0x39,0x03,0x08,0x07,0x2b, + 0x08,0x02,0x00,0x33,0x09,0x0e,0x00,0x3a,0x02,0x0f,0x09,0x3a,0x01,0x10,0x09,0x39, + 0x09,0x08,0x07,0x37,0x08,0x11,0x00,0x3e,0x06,0x03,0x02,0x10,0x03,0x06,0x00,0x34, + 0x06,0x0d,0x00,0x32,0x07,0x00,0x08,0x2b,0x08,0x01,0x00,0x39,0x04,0x08,0x07,0x2b, + 0x08,0x02,0x00,0x39,0x05,0x08,0x07,0x37,0x08,0x12,0x00,0x3e,0x06,0x03,0x02,0x10, + 0x04,0x06,0x00,0x34,0x06,0x0d,0x00,0x32,0x07,0x00,0x10,0x2b,0x08,0x03,0x00,0x39, + 0x03,0x08,0x07,0x2b,0x08,0x04,0x00,0x39,0x04,0x08,0x07,0x2b,0x08,0x05,0x00,0x32, + 0x09,0x00,0x00,0x39,0x09,0x08,0x07,0x10,0x08,0x00,0x00,0x3e,0x06,0x03,0x02,0x34, + 0x07,0x13,0x00,0x10,0x08,0x06,0x00,0x2b,0x09,0x06,0x00,0x2b,0x0a,0x07,0x00,0x10, + 0x0b,0x05,0x00,0x10,0x0c,0x06,0x00,0x3e,0x0a,0x03,0x00,0x3d,0x07,0x02,0x01,0x48, + 0x06,0x02,0x00,0x01,0xc0,0x07,0xc0,0x08,0xc0,0x03,0xc0,0x04,0xc0,0x06,0xc0,0x05, + 0xc0,0x09,0x80,0x0b,0x72,0x61,0x77,0x73,0x65,0x74,0x11,0x55,0x70,0x76,0x61,0x6c, + 0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x11,0x4c,0x6f,0x63,0x61,0x6c,0x43,0x6f,0x6e, + 0x74,0x65,0x78,0x74,0x09,0x63,0x6f,0x72,0x6f,0x0a,0x6c,0x65,0x76,0x65,0x6c,0x01, + 0x00,0x00,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x0f, + 0x67,0x65,0x74,0x75,0x70,0x76,0x61,0x6c,0x75,0x65,0x0a,0x64,0x65,0x62,0x75,0x67, + 0x06,0x28,0x08,0x73,0x75,0x62,0x0d,0x67,0x65,0x74,0x6c,0x6f,0x63,0x61,0x6c,0x09, + 0x68,0x75,0x67,0x65,0x09,0x6d,0x61,0x74,0x68,0x09,0x66,0x75,0x6e,0x63,0x06,0x66, + 0x0c,0x67,0x65,0x74,0x69,0x6e,0x66,0x6f,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e, + 0x67,0x1a,0x4e,0x6f,0x20,0x73,0x75,0x63,0x68,0x20,0x73,0x74,0x61,0x63,0x6b,0x20, + 0x6c,0x65,0x76,0x65,0x6c,0x3a,0x20,0x0a,0x65,0x72,0x72,0x6f,0x72,0x77,0x00,0x02, + 0x09,0x02,0x02,0x00,0x18,0x38,0x02,0x01,0x00,0x0e,0x00,0x02,0x00,0x54,0x03,0x01, + 0x80,0x29,0x02,0x02,0x00,0x2b,0x03,0x00,0x00,0x36,0x03,0x02,0x03,0x0e,0x00,0x03, + 0x00,0x54,0x04,0x03,0x80,0x32,0x03,0x00,0x00,0x2b,0x04,0x00,0x00,0x39,0x03,0x02, + 0x04,0x36,0x04,0x01,0x03,0x0e,0x00,0x04,0x00,0x54,0x05,0x09,0x80,0x2b,0x05,0x01, + 0x00,0x37,0x05,0x00,0x05,0x10,0x06,0x05,0x00,0x37,0x05,0x01,0x05,0x10,0x07,0x00, + 0x00,0x10,0x08,0x01,0x00,0x3e,0x05,0x04,0x02,0x10,0x04,0x05,0x00,0x39,0x04,0x01, + 0x03,0x48,0x04,0x02,0x00,0x00,0xc0,0x00,0x00,0x08,0x6e,0x65,0x77,0x0c,0x43,0x6f, + 0x6e,0x74,0x65,0x78,0x74,0x1a,0x01,0x00,0x02,0x01,0x01,0x00,0x04,0x32,0x00,0x00, + 0x00,0x31,0x01,0x00,0x00,0x30,0x00,0x00,0x80,0x48,0x01,0x02,0x00,0x00,0xc0,0x00, + 0xa8,0x03,0x03,0x00,0x0d,0x00,0x20,0x00,0x3b,0x32,0x00,0x00,0x00,0x34,0x01,0x00, + 0x00,0x25,0x02,0x01,0x00,0x3e,0x01,0x02,0x02,0x34,0x02,0x00,0x00,0x25,0x03,0x02, + 0x00,0x3e,0x02,0x02,0x02,0x32,0x03,0x00,0x00,0x32,0x04,0x00,0x00,0x32,0x05,0x00, + 0x00,0x32,0x06,0x00,0x00,0x32,0x07,0x00,0x00,0x32,0x08,0x00,0x00,0x29,0x09,0x00, + 0x00,0x34,0x0a,0x03,0x00,0x07,0x0a,0x04,0x00,0x54,0x0a,0x02,0x80,0x31,0x09,0x05, + 0x00,0x54,0x0a,0x04,0x80,0x34,0x0a,0x03,0x00,0x07,0x0a,0x06,0x00,0x54,0x0a,0x01, + 0x80,0x31,0x09,0x07,0x00,0x33,0x0a,0x09,0x00,0x3b,0x03,0x00,0x0a,0x3b,0x05,0x01, + 0x0a,0x3b,0x04,0x02,0x0a,0x27,0x0b,0xff,0xff,0x39,0x06,0x0b,0x0a,0x3a,0x07,0x0a, + 0x0a,0x31,0x0b,0x0b,0x00,0x3a,0x0b,0x0c,0x0a,0x31,0x0b,0x0d,0x00,0x3a,0x0b,0x0e, + 0x0a,0x31,0x0b,0x0f,0x00,0x3a,0x0b,0x10,0x0a,0x33,0x0b,0x12,0x00,0x31,0x0c,0x11, + 0x00,0x3a,0x0c,0x0c,0x0b,0x31,0x0c,0x13,0x00,0x3a,0x0c,0x0e,0x0b,0x31,0x0c,0x14, + 0x00,0x3a,0x0c,0x15,0x0b,0x3a,0x0b,0x16,0x0a,0x33,0x0b,0x18,0x00,0x31,0x0c,0x17, + 0x00,0x3a,0x0c,0x0c,0x0b,0x31,0x0c,0x19,0x00,0x3a,0x0c,0x0e,0x0b,0x31,0x0c,0x1a, + 0x00,0x3a,0x0c,0x15,0x0b,0x3a,0x0b,0x1b,0x0a,0x31,0x0b,0x1c,0x00,0x3a,0x0b,0x1d, + 0x0a,0x3a,0x0a,0x08,0x00,0x31,0x0a,0x1f,0x00,0x3a,0x0a,0x1e,0x00,0x30,0x00,0x00, + 0x80,0x48,0x00,0x02,0x00,0x00,0x13,0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x4d,0x61, + 0x6e,0x61,0x67,0x65,0x72,0x08,0x6e,0x65,0x77,0x00,0x11,0x55,0x70,0x76,0x61,0x6c, + 0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x00,0x00,0x01,0x00,0x00,0x00,0x11,0x4c,0x6f, + 0x63,0x61,0x6c,0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x0d,0x69,0x74,0x65,0x72,0x61, + 0x74,0x6f,0x72,0x00,0x00,0x01,0x00,0x00,0x00,0x0f,0x5f,0x5f,0x74,0x6f,0x73,0x74, + 0x72,0x69,0x6e,0x67,0x00,0x0f,0x5f,0x5f,0x6e,0x65,0x77,0x69,0x6e,0x64,0x65,0x78, + 0x00,0x0c,0x5f,0x5f,0x69,0x6e,0x64,0x65,0x78,0x00,0x0a,0x53,0x54,0x4f,0x52,0x45, + 0x01,0x00,0x00,0x0c,0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x00,0x0c,0x4c,0x75,0x61, + 0x20,0x35,0x2e,0x32,0x00,0x0c,0x4c,0x75,0x61,0x20,0x35,0x2e,0x31,0x0d,0x5f,0x56, + 0x45,0x52,0x53,0x49,0x4f,0x4e,0x12,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e, + 0x75,0x74,0x69,0x6c,0x12,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x64,0x62, + 0x67,0x70,0x0c,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x43,0x00,0x01,0x08,0x00,0x02, + 0x00,0x0a,0x32,0x01,0x00,0x00,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x25,0x04, + 0x01,0x00,0x3e,0x02,0x03,0x04,0x54,0x05,0x01,0x80,0x39,0x06,0x05,0x01,0x41,0x05, + 0x03,0x03,0x4e,0x05,0xfd,0x7f,0x48,0x01,0x02,0x00,0x11,0x25,0x2d,0x28,0x25,0x77, + 0x29,0x20,0x28,0x25,0x53,0x2b,0x29,0x0b,0x67,0x6d,0x61,0x74,0x63,0x68,0xe1,0x01, + 0x00,0x01,0x09,0x02,0x07,0x00,0x23,0x2a,0x01,0x03,0x00,0x10,0x05,0x00,0x00,0x37, + 0x04,0x00,0x00,0x25,0x06,0x01,0x00,0x27,0x07,0x01,0x00,0x29,0x08,0x02,0x00,0x3e, + 0x04,0x05,0x02,0x0f,0x00,0x04,0x00,0x54,0x05,0x0d,0x80,0x10,0x05,0x00,0x00,0x37, + 0x04,0x02,0x00,0x25,0x06,0x03,0x00,0x3e,0x04,0x03,0x04,0x10,0x03,0x06,0x00,0x10, + 0x02,0x05,0x00,0x10,0x01,0x04,0x00,0x2b,0x04,0x00,0x00,0x37,0x04,0x04,0x04,0x10, + 0x05,0x03,0x00,0x3e,0x04,0x02,0x02,0x10,0x03,0x04,0x00,0x54,0x04,0x06,0x80,0x10, + 0x05,0x00,0x00,0x37,0x04,0x02,0x00,0x25,0x06,0x05,0x00,0x3e,0x04,0x03,0x03,0x10, + 0x02,0x05,0x00,0x10,0x01,0x04,0x00,0x10,0x04,0x01,0x00,0x2b,0x05,0x01,0x00,0x37, + 0x05,0x06,0x05,0x10,0x06,0x02,0x00,0x3e,0x05,0x02,0x02,0x10,0x06,0x03,0x00,0x46, + 0x04,0x04,0x00,0x00,0xc0,0x08,0xc0,0x0e,0x61,0x72,0x67,0x5f,0x70,0x61,0x72,0x73, + 0x65,0x13,0x5e,0x28,0x25,0x53,0x2b,0x29,0x25,0x73,0x2b,0x28,0x2e,0x2a,0x29,0x24, + 0x0a,0x75,0x6e,0x62,0x36,0x34,0x21,0x5e,0x28,0x25,0x53,0x2b,0x29,0x25,0x73,0x2b, + 0x28,0x2e,0x2a,0x29,0x25,0x73,0x2b,0x25,0x2d,0x25,0x2d,0x25,0x73,0x2a,0x28,0x2e, + 0x2a,0x29,0x24,0x0a,0x6d,0x61,0x74,0x63,0x68,0x07,0x2d,0x2d,0x09,0x66,0x69,0x6e, + 0x64,0x68,0x00,0x01,0x06,0x01,0x02,0x01,0x15,0x32,0x01,0x00,0x00,0x51,0x02,0x10, + 0x80,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x27,0x04,0x01,0x00,0x3e,0x02,0x03, + 0x03,0x0e,0x00,0x02,0x00,0x54,0x04,0x03,0x80,0x29,0x04,0x00,0x00,0x10,0x05,0x03, + 0x00,0x46,0x04,0x03,0x00,0x07,0x02,0x01,0x00,0x54,0x04,0x01,0x80,0x54,0x02,0x04, + 0x80,0x13,0x04,0x01,0x00,0x14,0x04,0x00,0x04,0x39,0x02,0x04,0x01,0x54,0x02,0xef, + 0x7f,0x2b,0x02,0x00,0x00,0x10,0x03,0x01,0x00,0x40,0x02,0x02,0x00,0x07,0xc0,0x06, + 0x00,0x0c,0x72,0x65,0x63,0x65,0x69,0x76,0x65,0x02,0x71,0x00,0x03,0x07,0x03,0x05, + 0x00,0x0f,0x2b,0x03,0x00,0x00,0x2b,0x04,0x01,0x00,0x33,0x05,0x00,0x00,0x3a,0x00, + 0x01,0x05,0x3a,0x01,0x02,0x05,0x0c,0x06,0x02,0x00,0x54,0x06,0x01,0x80,0x32,0x06, + 0x00,0x00,0x3a,0x06,0x03,0x05,0x2b,0x06,0x02,0x00,0x37,0x06,0x04,0x06,0x3e,0x04, + 0x03,0x02,0x27,0x05,0x02,0x00,0x3e,0x03,0x03,0x01,0x47,0x00,0x01,0x00,0x01,0xc0, + 0x02,0xc0,0x08,0xc0,0x17,0x44,0x42,0x47,0x50,0x5f,0x45,0x52,0x52,0x5f,0x4d,0x45, + 0x54,0x41,0x54,0x41,0x42,0x4c,0x45,0x09,0x61,0x74,0x74,0x72,0x0c,0x6d,0x65,0x73, + 0x73,0x61,0x67,0x65,0x09,0x63,0x6f,0x64,0x65,0x01,0x00,0x00,0x37,0x02,0x02,0x05, + 0x01,0x01,0x00,0x0a,0x0e,0x00,0x01,0x00,0x54,0x02,0x05,0x80,0x2b,0x02,0x00,0x00, + 0x37,0x02,0x00,0x02,0x10,0x03,0x00,0x00,0x43,0x04,0x02,0x02,0x3e,0x02,0x03,0x01, + 0x10,0x02,0x01,0x00,0x43,0x03,0x02,0x00,0x45,0x02,0x01,0x00,0x08,0xc0,0x0a,0x65, + 0x72,0x72,0x6f,0x72,0x86,0x04,0x00,0x01,0x0e,0x07,0x0f,0x01,0x6c,0x2b,0x01,0x00, + 0x00,0x2b,0x02,0x00,0x00,0x13,0x02,0x02,0x00,0x14,0x02,0x00,0x02,0x25,0x03,0x00, + 0x00,0x37,0x04,0x01,0x00,0x24,0x03,0x04,0x03,0x39,0x03,0x02,0x01,0x2b,0x01,0x00, + 0x00,0x2b,0x02,0x00,0x00,0x13,0x02,0x02,0x00,0x14,0x02,0x00,0x02,0x25,0x03,0x02, + 0x00,0x39,0x03,0x02,0x01,0x2b,0x01,0x01,0x00,0x37,0x02,0x03,0x00,0x0e,0x00,0x02, + 0x00,0x54,0x03,0x01,0x80,0x32,0x02,0x00,0x00,0x3e,0x01,0x02,0x04,0x44,0x04,0x1c, + 0x80,0x2b,0x06,0x02,0x00,0x10,0x07,0x04,0x00,0x3e,0x06,0x02,0x02,0x07,0x06,0x04, + 0x00,0x54,0x06,0x17,0x80,0x2b,0x06,0x00,0x00,0x2b,0x07,0x00,0x00,0x13,0x07,0x07, + 0x00,0x14,0x07,0x00,0x07,0x10,0x08,0x04,0x00,0x25,0x09,0x05,0x00,0x2b,0x0a,0x03, + 0x00,0x10,0x0b,0x05,0x00,0x3e,0x0a,0x02,0x02,0x10,0x0b,0x0a,0x00,0x37,0x0a,0x06, + 0x0a,0x25,0x0c,0x07,0x00,0x2b,0x0d,0x04,0x00,0x3e,0x0a,0x04,0x02,0x25,0x0b,0x08, + 0x00,0x24,0x08,0x0b,0x08,0x39,0x08,0x07,0x06,0x2b,0x06,0x00,0x00,0x2b,0x07,0x00, + 0x00,0x13,0x07,0x07,0x00,0x14,0x07,0x00,0x07,0x25,0x08,0x02,0x00,0x39,0x08,0x07, + 0x06,0x42,0x04,0x03,0x03,0x4e,0x04,0xe2,0x7f,0x2b,0x01,0x00,0x00,0x2b,0x02,0x00, + 0x00,0x13,0x02,0x02,0x00,0x29,0x03,0x00,0x00,0x39,0x03,0x02,0x01,0x38,0x01,0x01, + 0x00,0x0f,0x00,0x01,0x00,0x54,0x02,0x2a,0x80,0x2b,0x01,0x00,0x00,0x2b,0x02,0x00, + 0x00,0x13,0x02,0x02,0x00,0x14,0x02,0x00,0x02,0x25,0x03,0x09,0x00,0x39,0x03,0x02, + 0x01,0x2b,0x01,0x05,0x00,0x10,0x02,0x00,0x00,0x3e,0x01,0x02,0x04,0x54,0x04,0x14, + 0x80,0x2b,0x06,0x02,0x00,0x10,0x07,0x05,0x00,0x3e,0x06,0x02,0x02,0x07,0x06,0x0a, + 0x00,0x54,0x06,0x04,0x80,0x2b,0x06,0x06,0x00,0x10,0x07,0x05,0x00,0x3e,0x06,0x02, + 0x01,0x54,0x06,0x0b,0x80,0x2b,0x06,0x00,0x00,0x2b,0x07,0x00,0x00,0x13,0x07,0x07, + 0x00,0x14,0x07,0x00,0x07,0x25,0x08,0x0b,0x00,0x2b,0x09,0x03,0x00,0x10,0x0a,0x05, + 0x00,0x3e,0x09,0x02,0x02,0x25,0x0a,0x0c,0x00,0x24,0x08,0x0a,0x08,0x39,0x08,0x07, + 0x06,0x41,0x04,0x03,0x03,0x4e,0x04,0xea,0x7f,0x2b,0x01,0x00,0x00,0x2b,0x02,0x00, + 0x00,0x13,0x02,0x02,0x00,0x14,0x02,0x00,0x02,0x25,0x03,0x0d,0x00,0x37,0x04,0x01, + 0x00,0x25,0x05,0x09,0x00,0x24,0x03,0x05,0x03,0x39,0x03,0x02,0x01,0x54,0x01,0x06, + 0x80,0x2b,0x01,0x00,0x00,0x2b,0x02,0x00,0x00,0x13,0x02,0x02,0x00,0x14,0x02,0x00, + 0x02,0x25,0x03,0x0e,0x00,0x39,0x03,0x02,0x01,0x47,0x00,0x01,0x00,0x01,0xc0,0x00, + 0x00,0x01,0x00,0x02,0x00,0x03,0x00,0x04,0x00,0x02,0xc0,0x07,0x2f,0x3e,0x07,0x3c, + 0x2f,0x08,0x5d,0x5d,0x3e,0x0e,0x3c,0x21,0x5b,0x43,0x44,0x41,0x54,0x41,0x5b,0x0a, + 0x74,0x61,0x62,0x6c,0x65,0x06,0x3e,0x06,0x22,0x0a,0x5b,0x22,0x26,0x3c,0x5d,0x09, + 0x67,0x73,0x75,0x62,0x07,0x3d,0x22,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x09,0x61, + 0x74,0x74,0x72,0x06,0x20,0x08,0x74,0x61,0x67,0x06,0x3c,0x02,0x38,0x01,0x01,0x05, + 0x06,0x01,0x00,0x09,0x32,0x01,0x00,0x00,0x31,0x02,0x00,0x00,0x10,0x03,0x02,0x00, + 0x10,0x04,0x00,0x00,0x3e,0x03,0x02,0x01,0x2b,0x03,0x05,0x00,0x10,0x04,0x01,0x00, + 0x30,0x00,0x00,0x80,0x40,0x03,0x02,0x00,0x04,0xc0,0x03,0xc0,0x06,0xc0,0x09,0xc0, + 0x05,0xc0,0x07,0xc0,0x00,0xf9,0x01,0x00,0x02,0x09,0x03,0x0a,0x00,0x20,0x37,0x02, + 0x00,0x01,0x0e,0x00,0x02,0x00,0x54,0x02,0x02,0x80,0x32,0x02,0x00,0x00,0x3a,0x02, + 0x00,0x01,0x37,0x02,0x00,0x01,0x25,0x03,0x02,0x00,0x3a,0x03,0x01,0x02,0x25,0x02, + 0x03,0x00,0x2b,0x03,0x00,0x00,0x37,0x03,0x04,0x03,0x10,0x04,0x01,0x00,0x3e,0x03, + 0x02,0x02,0x24,0x02,0x03,0x02,0x2b,0x03,0x01,0x00,0x37,0x03,0x05,0x03,0x25,0x04, + 0x06,0x00,0x25,0x05,0x07,0x00,0x10,0x06,0x02,0x00,0x24,0x05,0x06,0x05,0x3e,0x03, + 0x03,0x01,0x10,0x04,0x00,0x00,0x37,0x03,0x08,0x00,0x2b,0x05,0x02,0x00,0x13,0x06, + 0x02,0x00,0x3e,0x05,0x02,0x02,0x25,0x06,0x09,0x00,0x10,0x07,0x02,0x00,0x25,0x08, + 0x09,0x00,0x24,0x05,0x08,0x05,0x3e,0x03,0x03,0x01,0x47,0x00,0x01,0x00,0x08,0xc0, + 0x00,0xc0,0x06,0xc0,0x06,0x00,0x09,0x73,0x65,0x6e,0x64,0x0a,0x53,0x65,0x6e,0x64, + 0x20,0x0a,0x44,0x45,0x42,0x55,0x47,0x08,0x6c,0x6f,0x67,0x0c,0x6c,0x6f,0x6d,0x32, + 0x73,0x74,0x72,0x2d,0x3c,0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f, + 0x6e,0x3d,0x22,0x31,0x2e,0x30,0x22,0x20,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67, + 0x3d,0x22,0x55,0x54,0x46,0x2d,0x38,0x22,0x20,0x3f,0x3e,0x0a,0x1d,0x75,0x72,0x6e, + 0x3a,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x5f,0x70,0x72,0x6f,0x74,0x6f,0x63, + 0x6f,0x6c,0x5f,0x76,0x31,0x0a,0x78,0x6d,0x6c,0x6e,0x73,0x09,0x61,0x74,0x74,0x72, + 0x66,0x00,0x02,0x06,0x01,0x05,0x00,0x0d,0x33,0x02,0x00,0x00,0x33,0x03,0x01,0x00, + 0x3a,0x00,0x02,0x03,0x3a,0x03,0x03,0x02,0x0f,0x00,0x01,0x00,0x54,0x03,0x06,0x80, + 0x33,0x03,0x04,0x00,0x2b,0x04,0x00,0x00,0x10,0x05,0x01,0x00,0x3e,0x04,0x02,0x02, + 0x3b,0x04,0x01,0x03,0x3b,0x03,0x01,0x02,0x48,0x02,0x02,0x00,0x06,0xc0,0x01,0x00, + 0x01,0x08,0x74,0x61,0x67,0x0c,0x6d,0x65,0x73,0x73,0x61,0x67,0x65,0x09,0x61,0x74, + 0x74,0x72,0x09,0x63,0x6f,0x64,0x65,0x01,0x00,0x00,0x01,0x00,0x01,0x08,0x74,0x61, + 0x67,0x0a,0x65,0x72,0x72,0x6f,0x72,0xd5,0x02,0x03,0x00,0x0b,0x00,0x1b,0x00,0x21, + 0x34,0x00,0x00,0x00,0x25,0x01,0x01,0x00,0x3e,0x00,0x02,0x02,0x34,0x01,0x02,0x00, + 0x34,0x02,0x03,0x00,0x34,0x03,0x04,0x00,0x34,0x04,0x05,0x00,0x34,0x05,0x06,0x00, + 0x34,0x06,0x07,0x00,0x34,0x07,0x08,0x00,0x37,0x07,0x09,0x07,0x32,0x08,0x00,0x00, + 0x31,0x09,0x0b,0x00,0x3a,0x09,0x0a,0x08,0x31,0x09,0x0d,0x00,0x3a,0x09,0x0c,0x08, + 0x31,0x09,0x0f,0x00,0x3a,0x09,0x0e,0x08,0x32,0x09,0x00,0x00,0x3a,0x09,0x10,0x08, + 0x31,0x09,0x11,0x00,0x3a,0x09,0x02,0x08,0x31,0x09,0x13,0x00,0x3a,0x09,0x12,0x08, + 0x33,0x09,0x14,0x00,0x31,0x0a,0x16,0x00,0x3a,0x0a,0x15,0x08,0x31,0x0a,0x18,0x00, + 0x3a,0x0a,0x17,0x08,0x31,0x0a,0x1a,0x00,0x3a,0x0a,0x19,0x08,0x30,0x00,0x00,0x80, + 0x48,0x08,0x02,0x00,0x00,0x0f,0x6d,0x61,0x6b,0x65,0x5f,0x65,0x72,0x72,0x6f,0x72, + 0x00,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x00,0x0c,0x6c,0x6f,0x6d,0x32, + 0x73,0x74,0x72,0x01,0x00,0x03,0x06,0x3c,0x09,0x26,0x6c,0x74,0x3b,0x06,0x26,0x0a, + 0x26,0x61,0x6d,0x70,0x3b,0x06,0x22,0x0b,0x26,0x71,0x75,0x6f,0x74,0x3b,0x00,0x0b, + 0x61,0x73,0x73,0x65,0x72,0x74,0x00,0x17,0x44,0x42,0x47,0x50,0x5f,0x45,0x52,0x52, + 0x5f,0x4d,0x45,0x54,0x41,0x54,0x41,0x42,0x4c,0x45,0x00,0x10,0x72,0x65,0x61,0x64, + 0x5f,0x70,0x61,0x63,0x6b,0x65,0x74,0x00,0x0e,0x63,0x6d,0x64,0x5f,0x70,0x61,0x72, + 0x73,0x65,0x00,0x0e,0x61,0x72,0x67,0x5f,0x70,0x61,0x72,0x73,0x65,0x0b,0x63,0x6f, + 0x6e,0x63,0x61,0x74,0x0a,0x74,0x61,0x62,0x6c,0x65,0x0d,0x74,0x6f,0x73,0x74,0x72, + 0x69,0x6e,0x67,0x0b,0x69,0x70,0x61,0x69,0x72,0x73,0x0a,0x70,0x61,0x69,0x72,0x73, + 0x09,0x74,0x79,0x70,0x65,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62, + 0x6c,0x65,0x0a,0x65,0x72,0x72,0x6f,0x72,0x12,0x64,0x65,0x62,0x75,0x67,0x67,0x65, + 0x72,0x2e,0x75,0x74,0x69,0x6c,0x0c,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x10,0x00, + 0x00,0x01,0x00,0x01,0x00,0x02,0x25,0x00,0x00,0x00,0x48,0x00,0x02,0x00,0x05,0x22, + 0x00,0x01,0x03,0x01,0x00,0x01,0x06,0x2b,0x01,0x00,0x00,0x2b,0x02,0x00,0x00,0x13, + 0x02,0x02,0x00,0x14,0x02,0x00,0x02,0x39,0x00,0x02,0x01,0x47,0x00,0x01,0x00,0x13, + 0xc0,0x02,0x5e,0x00,0x04,0x09,0x02,0x02,0x00,0x10,0x2b,0x04,0x00,0x00,0x37,0x04, + 0x00,0x04,0x2b,0x05,0x01,0x00,0x10,0x06,0x01,0x00,0x3e,0x05,0x02,0x02,0x36,0x04, + 0x05,0x04,0x0e,0x00,0x04,0x00,0x54,0x05,0x03,0x80,0x2b,0x04,0x00,0x00,0x37,0x04, + 0x00,0x04,0x37,0x04,0x01,0x04,0x10,0x05,0x00,0x00,0x10,0x06,0x01,0x00,0x10,0x07, + 0x02,0x00,0x10,0x08,0x03,0x00,0x40,0x04,0x05,0x00,0x14,0xc0,0x04,0xc0,0x0c,0x64, + 0x65,0x66,0x61,0x75,0x6c,0x74,0x0f,0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x6f,0x72, + 0x73,0x46,0x00,0x04,0x0a,0x03,0x01,0x00,0x0c,0x2b,0x04,0x00,0x00,0x37,0x04,0x00, + 0x04,0x10,0x05,0x00,0x00,0x2b,0x06,0x01,0x00,0x10,0x07,0x01,0x00,0x3e,0x06,0x02, + 0x02,0x2b,0x07,0x02,0x00,0x10,0x08,0x01,0x00,0x3e,0x07,0x02,0x02,0x10,0x08,0x02, + 0x00,0x10,0x09,0x03,0x00,0x40,0x04,0x06,0x00,0x14,0xc0,0x04,0xc0,0x03,0xc0,0x0d, + 0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0xd0,0x02,0x00,0x04,0x0f,0x04,0x09,0x00, + 0x3f,0x2b,0x04,0x00,0x00,0x10,0x05,0x01,0x00,0x3e,0x04,0x02,0x02,0x2b,0x05,0x01, + 0x00,0x37,0x05,0x00,0x05,0x36,0x05,0x04,0x05,0x0f,0x00,0x05,0x00,0x54,0x06,0x08, + 0x80,0x10,0x06,0x05,0x00,0x10,0x07,0x00,0x00,0x10,0x08,0x01,0x00,0x10,0x09,0x02, + 0x00,0x10,0x0a,0x03,0x00,0x3e,0x06,0x05,0x02,0x29,0x07,0x02,0x00,0x46,0x06,0x03, + 0x00,0x27,0x06,0x01,0x00,0x2b,0x07,0x02,0x00,0x13,0x07,0x07,0x00,0x27,0x08,0x01, + 0x00,0x49,0x06,0x0d,0x80,0x2b,0x0a,0x02,0x00,0x36,0x0a,0x09,0x0a,0x10,0x0b,0x00, + 0x00,0x10,0x0c,0x01,0x00,0x10,0x0d,0x02,0x00,0x10,0x0e,0x03,0x00,0x3e,0x0a,0x05, + 0x02,0x0f,0x00,0x0a,0x00,0x54,0x0b,0x03,0x80,0x10,0x0b,0x0a,0x00,0x29,0x0c,0x02, + 0x00,0x46,0x0b,0x03,0x00,0x4b,0x06,0xf3,0x7f,0x2b,0x05,0x03,0x00,0x10,0x06,0x00, + 0x00,0x10,0x07,0x01,0x00,0x10,0x08,0x02,0x00,0x10,0x09,0x03,0x00,0x3e,0x05,0x05, + 0x02,0x0f,0x00,0x04,0x00,0x54,0x06,0x12,0x80,0x0f,0x00,0x05,0x00,0x54,0x06,0x10, + 0x80,0x2b,0x06,0x01,0x00,0x37,0x06,0x01,0x06,0x25,0x07,0x02,0x00,0x10,0x08,0x04, + 0x00,0x10,0x09,0x05,0x00,0x25,0x0a,0x03,0x00,0x37,0x0b,0x04,0x05,0x37,0x0b,0x05, + 0x0b,0x25,0x0c,0x06,0x00,0x24,0x0a,0x0c,0x0a,0x3e,0x06,0x05,0x02,0x0f,0x00,0x06, + 0x00,0x54,0x07,0x03,0x80,0x37,0x07,0x04,0x06,0x25,0x08,0x08,0x00,0x3a,0x08,0x07, + 0x07,0x10,0x06,0x05,0x00,0x29,0x07,0x01,0x00,0x46,0x06,0x03,0x00,0x08,0xc0,0x14, + 0xc0,0x13,0xc0,0x15,0xc0,0x0c,0x73,0x70,0x65,0x63,0x69,0x61,0x6c,0x09,0x74,0x79, + 0x70,0x65,0x06,0x5d,0x0d,0x66,0x75,0x6c,0x6c,0x6e,0x61,0x6d,0x65,0x09,0x61,0x74, + 0x74,0x72,0x0f,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x5b,0x0e,0x6d,0x65, + 0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x0c,0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x0f, + 0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x6f,0x72,0x73,0xa5,0x01,0x00,0x02,0x0a,0x02, + 0x07,0x01,0x1b,0x32,0x02,0x00,0x00,0x27,0x03,0x01,0x00,0x37,0x04,0x00,0x01,0x27, + 0x05,0x01,0x00,0x49,0x03,0x07,0x80,0x2b,0x07,0x00,0x00,0x37,0x07,0x01,0x07,0x10, + 0x08,0x00,0x00,0x10,0x09,0x06,0x00,0x3e,0x07,0x03,0x02,0x39,0x07,0x06,0x02,0x4b, + 0x03,0xf9,0x7f,0x37,0x03,0x02,0x01,0x0f,0x00,0x03,0x00,0x54,0x04,0x04,0x80,0x13, + 0x03,0x02,0x00,0x14,0x03,0x00,0x03,0x25,0x04,0x03,0x00,0x39,0x04,0x03,0x02,0x25, + 0x03,0x04,0x00,0x2b,0x04,0x01,0x00,0x10,0x05,0x02,0x00,0x25,0x06,0x05,0x00,0x3e, + 0x04,0x03,0x02,0x25,0x05,0x06,0x00,0x24,0x03,0x05,0x03,0x48,0x03,0x02,0x00,0x00, + 0xc0,0x11,0xc0,0x06,0x29,0x07,0x2c,0x20,0x0e,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f, + 0x6e,0x28,0x08,0x2e,0x2e,0x2e,0x0d,0x69,0x73,0x76,0x61,0x72,0x61,0x72,0x67,0x0d, + 0x67,0x65,0x74,0x6c,0x6f,0x63,0x61,0x6c,0x0c,0x6e,0x70,0x61,0x72,0x61,0x6d,0x73, + 0x02,0x63,0x00,0x01,0x05,0x03,0x04,0x00,0x12,0x25,0x01,0x00,0x00,0x2b,0x02,0x00, + 0x00,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x02,0x07,0x02,0x01,0x00,0x54,0x02,0x06, + 0x80,0x2b,0x02,0x01,0x00,0x25,0x03,0x02,0x00,0x10,0x04,0x00,0x00,0x3e,0x02,0x03, + 0x02,0x0e,0x00,0x02,0x00,0x54,0x03,0x03,0x80,0x2b,0x02,0x02,0x00,0x10,0x03,0x00, + 0x00,0x3e,0x02,0x02,0x02,0x25,0x03,0x03,0x00,0x24,0x01,0x03,0x01,0x48,0x01,0x02, + 0x00,0x04,0xc0,0x10,0xc0,0x03,0xc0,0x06,0x5d,0x07,0x25,0x71,0x0b,0x73,0x74,0x72, + 0x69,0x6e,0x67,0x06,0x5b,0xd2,0x01,0x00,0x01,0x06,0x04,0x08,0x01,0x24,0x2b,0x01, + 0x00,0x00,0x10,0x02,0x00,0x00,0x3e,0x01,0x02,0x02,0x07,0x01,0x00,0x00,0x54,0x02, + 0x05,0x80,0x2b,0x02,0x01,0x00,0x25,0x03,0x01,0x00,0x10,0x04,0x00,0x00,0x40,0x02, + 0x03,0x00,0x54,0x02,0x19,0x80,0x06,0x01,0x02,0x00,0x54,0x02,0x02,0x80,0x07,0x01, + 0x03,0x00,0x54,0x02,0x04,0x80,0x2b,0x02,0x02,0x00,0x10,0x03,0x00,0x00,0x40,0x02, + 0x02,0x00,0x54,0x02,0x11,0x80,0x2b,0x02,0x03,0x00,0x37,0x02,0x04,0x02,0x37,0x02, + 0x05,0x02,0x2b,0x03,0x03,0x00,0x37,0x03,0x04,0x03,0x39,0x00,0x02,0x03,0x2b,0x03, + 0x03,0x00,0x37,0x03,0x04,0x03,0x14,0x04,0x00,0x02,0x3a,0x04,0x05,0x03,0x25,0x03, + 0x06,0x00,0x2b,0x04,0x02,0x00,0x10,0x05,0x02,0x00,0x3e,0x04,0x02,0x02,0x25,0x05, + 0x07,0x00,0x24,0x03,0x05,0x03,0x48,0x03,0x02,0x00,0x47,0x00,0x01,0x00,0x04,0xc0, + 0x10,0xc0,0x03,0xc0,0x14,0xc0,0x06,0x5d,0x0f,0x6b,0x65,0x79,0x5f,0x63,0x61,0x63, + 0x68,0x65,0x5b,0x06,0x6e,0x0e,0x6b,0x65,0x79,0x5f,0x63,0x61,0x63,0x68,0x65,0x0c, + 0x62,0x6f,0x6f,0x6c,0x65,0x61,0x6e,0x0b,0x6e,0x75,0x6d,0x62,0x65,0x72,0x07,0x25, + 0x71,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x02,0x2d,0x00,0x02,0x06,0x01,0x02,0x00, + 0x08,0x10,0x02,0x00,0x00,0x25,0x03,0x00,0x00,0x2b,0x04,0x00,0x00,0x10,0x05,0x01, + 0x00,0x3e,0x04,0x02,0x02,0x25,0x05,0x01,0x00,0x24,0x02,0x05,0x02,0x48,0x02,0x02, + 0x00,0x19,0xc0,0x06,0x5d,0x06,0x5b,0x25,0x00,0x04,0x09,0x01,0x00,0x00,0x07,0x2b, + 0x04,0x00,0x00,0x10,0x05,0x00,0x00,0x10,0x06,0x01,0x00,0x10,0x07,0x02,0x00,0x10, + 0x08,0x03,0x00,0x3e,0x04,0x05,0x02,0x48,0x04,0x02,0x00,0x16,0xc0,0x69,0x00,0x04, + 0x0b,0x02,0x06,0x00,0x10,0x2b,0x04,0x00,0x00,0x37,0x04,0x00,0x04,0x10,0x05,0x00, + 0x00,0x25,0x06,0x01,0x00,0x2b,0x07,0x01,0x00,0x25,0x08,0x02,0x00,0x10,0x09,0x01, + 0x00,0x3e,0x07,0x03,0x02,0x10,0x08,0x07,0x00,0x37,0x07,0x03,0x07,0x25,0x09,0x04, + 0x00,0x25,0x0a,0x05,0x00,0x3e,0x07,0x04,0x02,0x10,0x08,0x02,0x00,0x10,0x09,0x03, + 0x00,0x40,0x04,0x06,0x00,0x14,0xc0,0x10,0xc0,0x07,0x5c,0x6e,0x07,0x5c,0x0a,0x09, + 0x67,0x73,0x75,0x62,0x07,0x25,0x71,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x0d,0x70, + 0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0xb6,0x04,0x00,0x04,0x0e,0x06,0x16,0x00,0x61, + 0x2b,0x04,0x00,0x00,0x37,0x04,0x00,0x04,0x10,0x05,0x01,0x00,0x25,0x06,0x01,0x00, + 0x3e,0x04,0x03,0x02,0x29,0x05,0x00,0x00,0x37,0x06,0x02,0x04,0x06,0x06,0x03,0x00, + 0x54,0x06,0x2b,0x80,0x37,0x06,0x04,0x04,0x0f,0x00,0x06,0x00,0x54,0x07,0x06,0x80, + 0x2b,0x06,0x01,0x00,0x10,0x07,0x01,0x00,0x10,0x08,0x04,0x00,0x3e,0x06,0x03,0x02, + 0x0e,0x00,0x06,0x00,0x54,0x07,0x03,0x80,0x2b,0x06,0x02,0x00,0x10,0x07,0x01,0x00, + 0x3e,0x06,0x02,0x02,0x37,0x07,0x05,0x04,0x10,0x08,0x07,0x00,0x37,0x07,0x06,0x07, + 0x27,0x09,0x01,0x00,0x27,0x0a,0x01,0x00,0x3e,0x07,0x04,0x02,0x07,0x07,0x07,0x00, + 0x54,0x07,0x0d,0x80,0x10,0x07,0x06,0x00,0x25,0x08,0x08,0x00,0x2b,0x09,0x03,0x00, + 0x37,0x09,0x09,0x09,0x25,0x0a,0x07,0x00,0x37,0x0b,0x05,0x04,0x24,0x0a,0x0b,0x0a, + 0x3e,0x09,0x02,0x02,0x25,0x0a,0x08,0x00,0x2b,0x0b,0x02,0x00,0x37,0x0c,0x0a,0x04, + 0x3e,0x0b,0x02,0x02,0x24,0x06,0x0b,0x07,0x2b,0x07,0x04,0x00,0x37,0x07,0x0b,0x07, + 0x10,0x08,0x00,0x00,0x25,0x09,0x0c,0x00,0x10,0x0a,0x06,0x00,0x10,0x0b,0x02,0x00, + 0x10,0x0c,0x03,0x00,0x3e,0x07,0x06,0x02,0x10,0x05,0x07,0x00,0x54,0x06,0x0b,0x80, + 0x2b,0x06,0x04,0x00,0x37,0x06,0x0b,0x06,0x10,0x07,0x00,0x00,0x25,0x08,0x0d,0x00, + 0x2b,0x09,0x02,0x00,0x10,0x0a,0x01,0x00,0x3e,0x09,0x02,0x02,0x10,0x0a,0x02,0x00, + 0x10,0x0b,0x03,0x00,0x3e,0x06,0x06,0x02,0x10,0x05,0x06,0x00,0x0e,0x00,0x05,0x00, + 0x54,0x06,0x02,0x80,0x29,0x06,0x00,0x00,0x48,0x06,0x02,0x00,0x2b,0x06,0x05,0x00, + 0x0f,0x00,0x06,0x00,0x54,0x07,0x03,0x80,0x2b,0x06,0x05,0x00,0x10,0x07,0x01,0x00, + 0x3e,0x06,0x02,0x02,0x0f,0x00,0x06,0x00,0x54,0x07,0x15,0x80,0x2b,0x07,0x05,0x00, + 0x27,0x08,0x00,0x00,0x3e,0x07,0x02,0x02,0x04,0x06,0x07,0x00,0x54,0x07,0x10,0x80, + 0x2b,0x07,0x04,0x00,0x37,0x07,0x0e,0x07,0x25,0x08,0x0f,0x00,0x10,0x09,0x06,0x00, + 0x10,0x0a,0x05,0x00,0x25,0x0b,0x10,0x00,0x37,0x0c,0x11,0x05,0x37,0x0c,0x12,0x0c, + 0x25,0x0d,0x13,0x00,0x24,0x0b,0x0d,0x0b,0x3e,0x07,0x05,0x02,0x0f,0x00,0x07,0x00, + 0x54,0x08,0x03,0x80,0x37,0x08,0x11,0x07,0x25,0x09,0x15,0x00,0x3a,0x09,0x14,0x08, + 0x48,0x05,0x02,0x00,0x00,0xc0,0x17,0xc0,0x03,0xc0,0x01,0xc0,0x14,0xc0,0x0a,0xc0, + 0x0c,0x73,0x70,0x65,0x63,0x69,0x61,0x6c,0x09,0x74,0x79,0x70,0x65,0x06,0x5d,0x0d, + 0x66,0x75,0x6c,0x6c,0x6e,0x61,0x6d,0x65,0x09,0x61,0x74,0x74,0x72,0x11,0x65,0x6e, + 0x76,0x69,0x72,0x6f,0x6e,0x6d,0x65,0x6e,0x74,0x5b,0x10,0x65,0x6e,0x76,0x69,0x72, + 0x6f,0x6e,0x6d,0x65,0x6e,0x74,0x0c,0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x0d,0x66, + 0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e,0x13,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e, + 0x20,0x28,0x4c,0x75,0x61,0x29,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x10, + 0x6c,0x69,0x6e,0x65,0x64,0x65,0x66,0x69,0x6e,0x65,0x64,0x0c,0x67,0x65,0x74,0x5f, + 0x75,0x72,0x69,0x06,0x0a,0x06,0x40,0x08,0x73,0x75,0x62,0x0b,0x73,0x6f,0x75,0x72, + 0x63,0x65,0x0c,0x6e,0x70,0x61,0x72,0x61,0x6d,0x73,0x06,0x43,0x09,0x77,0x68,0x61, + 0x74,0x0a,0x6e,0x53,0x66,0x6c,0x75,0x0c,0x67,0x65,0x74,0x69,0x6e,0x66,0x6f,0xff, + 0x01,0x00,0x04,0x14,0x06,0x04,0x01,0x34,0x2b,0x04,0x00,0x00,0x10,0x05,0x00,0x00, + 0x10,0x06,0x01,0x00,0x10,0x07,0x02,0x00,0x10,0x08,0x03,0x00,0x3e,0x04,0x05,0x03, + 0x0f,0x00,0x04,0x00,0x54,0x06,0x02,0x80,0x0f,0x00,0x05,0x00,0x54,0x06,0x01,0x80, + 0x48,0x04,0x02,0x00,0x29,0x06,0x02,0x00,0x27,0x07,0x01,0x00,0x2b,0x08,0x01,0x00, + 0x10,0x09,0x01,0x00,0x29,0x0a,0x00,0x00,0x44,0x0b,0x18,0x80,0x2b,0x0d,0x02,0x00, + 0x37,0x0d,0x00,0x0d,0x2b,0x0e,0x03,0x00,0x10,0x0f,0x0b,0x00,0x3e,0x0e,0x02,0x02, + 0x10,0x0f,0x0c,0x00,0x10,0x10,0x04,0x00,0x2b,0x11,0x04,0x00,0x10,0x12,0x03,0x00, + 0x10,0x13,0x0b,0x00,0x3e,0x11,0x03,0x00,0x3d,0x0d,0x03,0x01,0x0f,0x00,0x06,0x00, + 0x54,0x0d,0x09,0x80,0x2b,0x0d,0x05,0x00,0x10,0x0e,0x01,0x00,0x10,0x0f,0x07,0x00, + 0x3e,0x0d,0x03,0x02,0x0b,0x0d,0x00,0x00,0x54,0x0d,0x02,0x80,0x29,0x06,0x01,0x00, + 0x54,0x0d,0x01,0x80,0x29,0x06,0x02,0x00,0x14,0x07,0x00,0x07,0x42,0x0b,0x03,0x03, + 0x4e,0x0b,0xe6,0x7f,0x0f,0x00,0x06,0x00,0x54,0x08,0x06,0x80,0x27,0x08,0x01,0x00, + 0x01,0x08,0x07,0x00,0x54,0x08,0x03,0x80,0x37,0x08,0x01,0x04,0x25,0x09,0x03,0x00, + 0x3a,0x09,0x02,0x08,0x48,0x04,0x02,0x00,0x16,0xc0,0x06,0xc0,0x14,0xc0,0x18,0xc0, + 0x1a,0xc0,0x07,0xc0,0x0d,0x73,0x65,0x71,0x75,0x65,0x6e,0x63,0x65,0x09,0x74,0x79, + 0x70,0x65,0x09,0x61,0x74,0x74,0x72,0x0c,0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x02, + 0xd9,0x01,0x00,0x04,0x11,0x02,0x07,0x01,0x2b,0x37,0x04,0x00,0x01,0x09,0x04,0x00, + 0x00,0x54,0x04,0x08,0x80,0x2b,0x04,0x00,0x00,0x37,0x04,0x01,0x04,0x10,0x05,0x00, + 0x00,0x38,0x06,0x01,0x01,0x10,0x07,0x02,0x00,0x10,0x08,0x03,0x00,0x40,0x04,0x05, + 0x00,0x54,0x04,0x1f,0x80,0x2b,0x04,0x00,0x00,0x37,0x04,0x02,0x04,0x10,0x05,0x00, + 0x00,0x25,0x06,0x03,0x00,0x25,0x07,0x04,0x00,0x10,0x08,0x02,0x00,0x10,0x09,0x03, + 0x00,0x3e,0x04,0x06,0x02,0x0e,0x00,0x04,0x00,0x54,0x05,0x02,0x80,0x29,0x05,0x00, + 0x00,0x48,0x05,0x02,0x00,0x27,0x05,0x01,0x00,0x37,0x06,0x00,0x01,0x27,0x07,0x01, + 0x00,0x49,0x05,0x0e,0x80,0x2b,0x09,0x00,0x00,0x37,0x09,0x01,0x09,0x2b,0x0a,0x01, + 0x00,0x10,0x0b,0x08,0x00,0x3e,0x0a,0x02,0x02,0x36,0x0b,0x08,0x01,0x10,0x0c,0x04, + 0x00,0x10,0x0d,0x03,0x00,0x25,0x0e,0x05,0x00,0x10,0x0f,0x08,0x00,0x25,0x10,0x06, + 0x00,0x24,0x0d,0x10,0x0d,0x3e,0x09,0x05,0x01,0x4b,0x05,0xf2,0x7f,0x48,0x04,0x02, + 0x00,0x47,0x00,0x01,0x00,0x14,0xc0,0x18,0xc0,0x06,0x5d,0x06,0x5b,0x05,0x0d,0x6d, + 0x75,0x6c,0x74,0x69,0x76,0x61,0x6c,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79, + 0x0c,0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x06,0x6e,0x02,0x46,0x02,0x00,0x05,0x03, + 0x03,0x01,0x0b,0x2b,0x00,0x00,0x00,0x33,0x01,0x01,0x00,0x2b,0x02,0x01,0x00,0x25, + 0x03,0x00,0x00,0x43,0x04,0x00,0x00,0x3d,0x02,0x01,0x02,0x3a,0x02,0x02,0x01,0x43, + 0x02,0x00,0x00,0x3c,0x02,0x00,0x00,0x2b,0x02,0x02,0x00,0x40,0x00,0x03,0x00,0x09, + 0xc0,0x0b,0xc0,0x12,0xc0,0x06,0x6e,0x01,0x00,0x00,0x06,0x23,0x03,0x80,0x80,0xc0, + 0x99,0x04,0x33,0x00,0x00,0x05,0x04,0x01,0x00,0x07,0x2b,0x00,0x00,0x00,0x37,0x00, + 0x00,0x00,0x2b,0x01,0x01,0x00,0x2b,0x02,0x02,0x00,0x29,0x03,0x00,0x00,0x2b,0x04, + 0x03,0x00,0x40,0x00,0x05,0x00,0x03,0x00,0x02,0x80,0x01,0xc0,0x03,0x80,0x0c,0x69, + 0x6e,0x73,0x70,0x65,0x63,0x74,0xef,0x05,0x01,0x09,0x1b,0x09,0x13,0x02,0x90,0x01, + 0x0e,0x00,0x03,0x00,0x54,0x09,0x06,0x80,0x25,0x09,0x00,0x00,0x2b,0x0a,0x00,0x00, + 0x10,0x0b,0x02,0x00,0x3e,0x0a,0x02,0x02,0x25,0x0b,0x01,0x00,0x24,0x03,0x0b,0x09, + 0x0e,0x00,0x08,0x00,0x54,0x09,0x04,0x80,0x2b,0x09,0x01,0x00,0x10,0x0a,0x02,0x00, + 0x3e,0x09,0x02,0x02,0x10,0x02,0x09,0x00,0x2b,0x09,0x02,0x00,0x31,0x0a,0x02,0x00, + 0x3e,0x09,0x02,0x02,0x32,0x0a,0x00,0x00,0x29,0x0b,0x00,0x00,0x29,0x0c,0x02,0x00, + 0x20,0x0d,0x05,0x06,0x2b,0x0e,0x04,0x00,0x10,0x0f,0x00,0x00,0x3e,0x0e,0x02,0x02, + 0x25,0x0f,0x03,0x00,0x24,0x0e,0x0f,0x0e,0x51,0x0f,0x73,0x80,0x2b,0x0f,0x05,0x00, + 0x2b,0x10,0x06,0x00,0x10,0x11,0x09,0x00,0x0f,0x00,0x0c,0x00,0x54,0x12,0x04,0x80, + 0x13,0x12,0x0a,0x00,0x36,0x12,0x12,0x0a,0x0e,0x00,0x12,0x00,0x54,0x13,0x01,0x80, + 0x29,0x12,0x00,0x00,0x3e,0x10,0x03,0x00,0x3d,0x0f,0x00,0x07,0x13,0x15,0x0a,0x00, + 0x36,0x15,0x15,0x0a,0x04,0x15,0x13,0x00,0x54,0x15,0x10,0x80,0x51,0x15,0x0f,0x80, + 0x13,0x15,0x0a,0x00,0x36,0x15,0x15,0x0a,0x37,0x16,0x04,0x15,0x2b,0x17,0x07,0x00, + 0x37,0x17,0x06,0x17,0x10,0x18,0x0e,0x00,0x37,0x19,0x04,0x15,0x37,0x19,0x05,0x19, + 0x24,0x18,0x19,0x18,0x3e,0x17,0x02,0x02,0x3a,0x17,0x05,0x16,0x13,0x16,0x0a,0x00, + 0x29,0x17,0x00,0x00,0x39,0x17,0x16,0x0a,0x54,0x15,0xec,0x7f,0x2b,0x15,0x08,0x00, + 0x10,0x16,0x09,0x00,0x3e,0x15,0x02,0x02,0x07,0x15,0x07,0x00,0x54,0x15,0x01,0x80, + 0x54,0x0f,0x4d,0x80,0x33,0x15,0x08,0x00,0x33,0x16,0x09,0x00,0x3a,0x05,0x0a,0x16, + 0x0f,0x00,0x13,0x00,0x54,0x17,0x02,0x80,0x27,0x17,0x00,0x00,0x54,0x18,0x01,0x80, + 0x10,0x17,0x06,0x00,0x3a,0x17,0x0b,0x16,0x3a,0x11,0x0c,0x16,0x3a,0x10,0x0d,0x16, + 0x3a,0x14,0x05,0x16,0x13,0x17,0x12,0x00,0x3a,0x17,0x0e,0x16,0x3a,0x16,0x04,0x15, + 0x2b,0x16,0x07,0x00,0x37,0x16,0x0f,0x16,0x0f,0x00,0x07,0x00,0x54,0x17,0x07,0x80, + 0x10,0x18,0x12,0x00,0x37,0x17,0x10,0x12,0x27,0x19,0x01,0x00,0x10,0x1a,0x07,0x00, + 0x3e,0x17,0x04,0x02,0x0e,0x00,0x17,0x00,0x54,0x18,0x01,0x80,0x10,0x17,0x12,0x00, + 0x3e,0x16,0x02,0x00,0x3c,0x16,0x00,0x00,0x0f,0x00,0x13,0x00,0x54,0x16,0x28,0x80, + 0x37,0x16,0x04,0x13,0x27,0x17,0x01,0x00,0x3a,0x17,0x11,0x16,0x37,0x16,0x04,0x13, + 0x37,0x17,0x04,0x13,0x37,0x17,0x12,0x17,0x0e,0x00,0x17,0x00,0x54,0x18,0x01,0x80, + 0x27,0x17,0x00,0x00,0x14,0x17,0x01,0x17,0x3a,0x17,0x12,0x16,0x13,0x16,0x13,0x00, + 0x03,0x16,0x05,0x00,0x54,0x16,0x03,0x80,0x13,0x16,0x0a,0x00,0x02,0x16,0x04,0x00, + 0x54,0x16,0x02,0x80,0x29,0x0c,0x01,0x00,0x54,0x16,0x01,0x80,0x29,0x0c,0x02,0x00, + 0x05,0x13,0x0b,0x00,0x54,0x16,0x09,0x80,0x0f,0x00,0x0c,0x00,0x54,0x16,0x06,0x80, + 0x27,0x16,0x00,0x00,0x02,0x0d,0x16,0x00,0x54,0x16,0x02,0x80,0x29,0x0c,0x01,0x00, + 0x54,0x16,0x01,0x80,0x29,0x0c,0x02,0x00,0x15,0x0d,0x01,0x0d,0x0f,0x00,0x0c,0x00, + 0x54,0x16,0x99,0x7f,0x13,0x16,0x13,0x00,0x14,0x16,0x01,0x16,0x39,0x15,0x16,0x13, + 0x13,0x16,0x0a,0x00,0x14,0x16,0x01,0x16,0x39,0x15,0x16,0x0a,0x54,0x16,0x92,0x7f, + 0x10,0x0b,0x15,0x00,0x29,0x0c,0x02,0x00,0x13,0x16,0x0a,0x00,0x14,0x16,0x01,0x16, + 0x39,0x15,0x16,0x0a,0x54,0x0f,0x8c,0x7f,0x30,0x00,0x00,0x80,0x48,0x0b,0x02,0x00, + 0x19,0xc0,0x18,0xc0,0x0d,0xc0,0x14,0xc0,0x03,0xc0,0x05,0xc0,0x0f,0xc0,0x02,0xc0, + 0x0e,0xc0,0x10,0x6e,0x75,0x6d,0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x0d,0x63, + 0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x08,0x73,0x75,0x62,0x08,0x62,0x36,0x34,0x09, + 0x73,0x69,0x7a,0x65,0x09,0x6e,0x61,0x6d,0x65,0x09,0x74,0x79,0x70,0x65,0x09,0x70, + 0x61,0x67,0x65,0x0d,0x70,0x61,0x67,0x65,0x73,0x69,0x7a,0x65,0x01,0x00,0x02,0x0d, + 0x63,0x68,0x69,0x6c,0x64,0x72,0x65,0x6e,0x03,0x00,0x0d,0x65,0x6e,0x63,0x6f,0x64, + 0x69,0x6e,0x67,0x0b,0x62,0x61,0x73,0x65,0x36,0x34,0x01,0x00,0x01,0x08,0x74,0x61, + 0x67,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x09,0x64,0x65,0x61,0x64,0x0b, + 0x72,0x61,0x77,0x62,0x36,0x34,0x0d,0x66,0x75,0x6c,0x6c,0x6e,0x61,0x6d,0x65,0x09, + 0x61,0x74,0x74,0x72,0x06,0x7c,0x00,0x06,0x5d,0x0b,0x28,0x2e,0x2e,0x2e,0x29,0x5b, + 0x03,0x80,0x80,0xc0,0x99,0x04,0x02,0xf0,0x05,0x03,0x00,0x1d,0x00,0x3a,0x00,0x58, + 0x34,0x00,0x00,0x00,0x25,0x01,0x01,0x00,0x3e,0x00,0x02,0x02,0x34,0x01,0x00,0x00, + 0x25,0x02,0x02,0x00,0x3e,0x01,0x02,0x02,0x34,0x02,0x00,0x00,0x25,0x03,0x03,0x00, + 0x3e,0x02,0x02,0x02,0x34,0x03,0x04,0x00,0x34,0x04,0x05,0x00,0x34,0x05,0x06,0x00, + 0x34,0x06,0x07,0x00,0x34,0x07,0x08,0x00,0x34,0x08,0x09,0x00,0x34,0x09,0x0a,0x00, + 0x34,0x0a,0x0b,0x00,0x34,0x0b,0x0c,0x00,0x34,0x0c,0x0d,0x00,0x37,0x0c,0x0e,0x0c, + 0x34,0x0d,0x0d,0x00,0x37,0x0d,0x0f,0x0d,0x34,0x0e,0x0d,0x00,0x37,0x0e,0x10,0x0e, + 0x34,0x0f,0x0d,0x00,0x37,0x0f,0x11,0x0f,0x34,0x10,0x12,0x00,0x37,0x10,0x13,0x10, + 0x34,0x11,0x14,0x00,0x37,0x11,0x15,0x11,0x33,0x12,0x17,0x00,0x31,0x13,0x16,0x00, + 0x3a,0x13,0x18,0x12,0x32,0x13,0x00,0x00,0x32,0x14,0x00,0x00,0x32,0x15,0x00,0x00, + 0x3a,0x15,0x19,0x14,0x3a,0x0c,0x1a,0x14,0x31,0x15,0x1c,0x00,0x3a,0x15,0x1b,0x14, + 0x31,0x15,0x1e,0x00,0x3a,0x15,0x1d,0x14,0x31,0x15,0x1f,0x00,0x31,0x16,0x20,0x00, + 0x31,0x17,0x21,0x00,0x31,0x18,0x22,0x00,0x3a,0x18,0x23,0x14,0x10,0x19,0x09,0x00, + 0x33,0x1a,0x25,0x00,0x33,0x1b,0x26,0x00,0x3e,0x19,0x03,0x02,0x3a,0x19,0x24,0x14, + 0x31,0x19,0x27,0x00,0x31,0x1a,0x28,0x00,0x3a,0x1a,0x29,0x14,0x37,0x1b,0x19,0x14, + 0x3a,0x15,0x2a,0x1b,0x37,0x1b,0x19,0x14,0x3a,0x15,0x2b,0x1b,0x37,0x1b,0x19,0x14, + 0x3a,0x15,0x2c,0x1b,0x37,0x1b,0x19,0x14,0x3a,0x15,0x2d,0x1b,0x37,0x1b,0x19,0x14, + 0x3a,0x15,0x2e,0x1b,0x37,0x1b,0x19,0x14,0x3a,0x15,0x2f,0x1b,0x37,0x1b,0x19,0x14, + 0x31,0x1c,0x30,0x00,0x3a,0x1c,0x2d,0x1b,0x37,0x1b,0x19,0x14,0x31,0x1c,0x31,0x00, + 0x3a,0x1c,0x12,0x1b,0x37,0x1b,0x19,0x14,0x31,0x1c,0x33,0x00,0x3a,0x1c,0x32,0x1b, + 0x37,0x1b,0x19,0x14,0x31,0x1c,0x34,0x00,0x3a,0x1c,0x14,0x1b,0x37,0x1b,0x19,0x14, + 0x31,0x1c,0x35,0x00,0x39,0x1c,0x12,0x1b,0x31,0x1b,0x37,0x00,0x3a,0x1b,0x36,0x14, + 0x31,0x1b,0x39,0x00,0x3a,0x1b,0x38,0x14,0x30,0x00,0x00,0x80,0x48,0x14,0x02,0x00, + 0x00,0x12,0x6d,0x61,0x6b,0x65,0x5f,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x00, + 0x0d,0x4d,0x75,0x6c,0x74,0x69,0x76,0x61,0x6c,0x00,0x00,0x00,0x0d,0x66,0x75,0x6e, + 0x63,0x74,0x69,0x6f,0x6e,0x00,0x00,0x0c,0x64,0x65,0x66,0x61,0x75,0x6c,0x74,0x0b, + 0x74,0x68,0x72,0x65,0x61,0x64,0x0d,0x75,0x73,0x65,0x72,0x64,0x61,0x74,0x61,0x08, + 0x6e,0x69,0x6c,0x0c,0x62,0x6f,0x6f,0x6c,0x65,0x61,0x6e,0x0b,0x6e,0x75,0x6d,0x62, + 0x65,0x72,0x12,0x6d,0x61,0x6b,0x65,0x5f,0x66,0x75,0x6c,0x6c,0x6e,0x61,0x6d,0x65, + 0x00,0x00,0x01,0x00,0x01,0x0b,0x5f,0x5f,0x6d,0x6f,0x64,0x65,0x06,0x76,0x01,0x00, + 0x01,0x06,0x6e,0x03,0x00,0x0e,0x6b,0x65,0x79,0x5f,0x63,0x61,0x63,0x68,0x65,0x1b, + 0x67,0x65,0x6e,0x65,0x72,0x61,0x74,0x65,0x5f,0x70,0x72,0x69,0x6e,0x74,0x61,0x62, + 0x6c,0x65,0x5f,0x6b,0x65,0x79,0x00,0x00,0x00,0x00,0x00,0x0c,0x69,0x6e,0x73,0x70, + 0x65,0x63,0x74,0x00,0x0e,0x61,0x64,0x64,0x5f,0x70,0x72,0x6f,0x62,0x65,0x0d,0x70, + 0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x0f,0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x6f, + 0x72,0x73,0x0f,0x5f,0x5f,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x01,0x00,0x00, + 0x00,0x0b,0x63,0x6f,0x6e,0x63,0x61,0x74,0x0a,0x74,0x61,0x62,0x6c,0x65,0x0b,0x66, + 0x6f,0x72,0x6d,0x61,0x74,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x0b,0x72,0x65,0x73, + 0x75,0x6d,0x65,0x0b,0x73,0x74,0x61,0x74,0x75,0x73,0x0b,0x63,0x72,0x65,0x61,0x74, + 0x65,0x0a,0x79,0x69,0x65,0x6c,0x64,0x0e,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e, + 0x65,0x0b,0x73,0x65,0x6c,0x65,0x63,0x74,0x0c,0x67,0x65,0x74,0x66,0x65,0x6e,0x76, + 0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x11,0x67,0x65, + 0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x0b,0x72,0x61,0x77,0x67,0x65, + 0x74,0x09,0x6e,0x65,0x78,0x74,0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0x09,0x74,0x79, + 0x70,0x65,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x12,0x64,0x65,0x62,0x75, + 0x67,0x67,0x65,0x72,0x2e,0x75,0x74,0x69,0x6c,0x16,0x64,0x65,0x62,0x75,0x67,0x67, + 0x65,0x72,0x2e,0x70,0x6c,0x61,0x74,0x66,0x6f,0x72,0x6d,0x0a,0x64,0x65,0x62,0x75, + 0x67,0x0c,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x84,0x05,0x00,0x01,0x06,0x02,0x20, + 0x02,0x6b,0x37,0x01,0x00,0x00,0x07,0x01,0x01,0x00,0x54,0x02,0x12,0x80,0x37,0x02, + 0x02,0x00,0x0f,0x00,0x02,0x00,0x54,0x03,0x02,0x80,0x25,0x01,0x02,0x00,0x54,0x02, + 0x56,0x80,0x37,0x02,0x03,0x00,0x0f,0x00,0x02,0x00,0x54,0x03,0x02,0x80,0x25,0x02, + 0x04,0x00,0x54,0x03,0x01,0x80,0x25,0x02,0x01,0x00,0x2b,0x03,0x00,0x00,0x37,0x04, + 0x05,0x00,0x16,0x04,0x00,0x04,0x3e,0x03,0x02,0x02,0x25,0x04,0x06,0x00,0x24,0x01, + 0x04,0x02,0x54,0x02,0x49,0x80,0x07,0x01,0x07,0x00,0x54,0x02,0x0a,0x80,0x37,0x02, + 0x05,0x00,0x09,0x02,0x00,0x00,0x54,0x02,0x02,0x80,0x25,0x01,0x08,0x00,0x54,0x02, + 0x42,0x80,0x37,0x02,0x05,0x00,0x09,0x02,0x01,0x00,0x54,0x02,0x3f,0x80,0x25,0x01, + 0x09,0x00,0x54,0x02,0x3d,0x80,0x06,0x01,0x0a,0x00,0x54,0x02,0x04,0x80,0x06,0x01, + 0x0b,0x00,0x54,0x02,0x02,0x80,0x07,0x01,0x0c,0x00,0x54,0x02,0x0d,0x80,0x37,0x02, + 0x0d,0x00,0x0f,0x00,0x02,0x00,0x54,0x03,0x06,0x80,0x10,0x02,0x01,0x00,0x25,0x03, + 0x0e,0x00,0x37,0x04,0x0d,0x00,0x24,0x02,0x04,0x02,0x0c,0x01,0x02,0x00,0x54,0x03, + 0x03,0x80,0x25,0x02,0x0f,0x00,0x10,0x03,0x01,0x00,0x24,0x01,0x03,0x02,0x54,0x02, + 0x2a,0x80,0x07,0x01,0x10,0x00,0x54,0x02,0x02,0x80,0x25,0x01,0x11,0x00,0x54,0x02, + 0x26,0x80,0x07,0x01,0x12,0x00,0x54,0x02,0x06,0x80,0x2b,0x02,0x01,0x00,0x37,0x03, + 0x13,0x00,0x3e,0x02,0x02,0x02,0x25,0x03,0x14,0x00,0x24,0x01,0x03,0x02,0x54,0x02, + 0x1e,0x80,0x07,0x01,0x15,0x00,0x54,0x02,0x06,0x80,0x2b,0x02,0x01,0x00,0x37,0x03, + 0x13,0x00,0x3e,0x02,0x02,0x02,0x25,0x03,0x16,0x00,0x24,0x01,0x03,0x02,0x54,0x02, + 0x16,0x80,0x07,0x01,0x17,0x00,0x54,0x02,0x04,0x80,0x2b,0x02,0x01,0x00,0x37,0x03, + 0x18,0x00,0x40,0x02,0x02,0x00,0x54,0x02,0x10,0x80,0x07,0x01,0x19,0x00,0x54,0x02, + 0x0e,0x80,0x37,0x02,0x18,0x00,0x37,0x02,0x03,0x02,0x0f,0x00,0x02,0x00,0x54,0x03, + 0x02,0x80,0x25,0x02,0x03,0x00,0x54,0x03,0x01,0x80,0x25,0x02,0x1a,0x00,0x25,0x03, + 0x1b,0x00,0x2b,0x04,0x00,0x00,0x37,0x05,0x05,0x00,0x16,0x05,0x00,0x05,0x3e,0x04, + 0x02,0x02,0x24,0x01,0x04,0x02,0x37,0x00,0x18,0x00,0x37,0x02,0x1c,0x00,0x0f,0x00, + 0x02,0x00,0x54,0x03,0x03,0x80,0x25,0x02,0x1d,0x00,0x10,0x03,0x01,0x00,0x24,0x01, + 0x03,0x02,0x37,0x02,0x1e,0x00,0x0f,0x00,0x02,0x00,0x54,0x03,0x03,0x80,0x25,0x02, + 0x1f,0x00,0x10,0x03,0x01,0x00,0x24,0x01,0x03,0x02,0x48,0x01,0x02,0x00,0x03,0xc0, + 0x0a,0xc0,0x0e,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x20,0x0d,0x76,0x6f,0x6c, + 0x61,0x74,0x69,0x6c,0x65,0x0b,0x63,0x6f,0x6e,0x73,0x74,0x20,0x0a,0x63,0x6f,0x6e, + 0x73,0x74,0x06,0x3a,0x0b,0x73,0x69,0x67,0x6e,0x65,0x64,0x0d,0x62,0x69,0x74,0x66, + 0x69,0x65,0x6c,0x64,0x09,0x74,0x79,0x70,0x65,0x0a,0x66,0x69,0x65,0x6c,0x64,0x06, + 0x26,0x08,0x72,0x65,0x66,0x06,0x2a,0x11,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x5f, + 0x74,0x79,0x70,0x65,0x08,0x70,0x74,0x72,0x13,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f, + 0x6e,0x20,0x28,0x46,0x46,0x49,0x29,0x09,0x66,0x75,0x6e,0x63,0x0f,0x61,0x6e,0x6f, + 0x6e,0x79,0x6d,0x6f,0x75,0x73,0x20,0x06,0x20,0x09,0x6e,0x61,0x6d,0x65,0x0a,0x75, + 0x6e,0x69,0x6f,0x6e,0x09,0x65,0x6e,0x75,0x6d,0x0b,0x73,0x74,0x72,0x75,0x63,0x74, + 0x10,0x6c,0x6f,0x6e,0x67,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x0b,0x64,0x6f,0x75, + 0x62,0x6c,0x65,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x07,0x5f,0x74,0x09,0x73,0x69,0x7a, + 0x65,0x09,0x75,0x69,0x6e,0x74,0x0d,0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64,0x09, + 0x62,0x6f,0x6f,0x6c,0x08,0x69,0x6e,0x74,0x09,0x77,0x68,0x61,0x74,0x10,0x20,0x9b, + 0x01,0x00,0x05,0x0b,0x04,0x04,0x00,0x1d,0x2b,0x05,0x00,0x00,0x10,0x06,0x01,0x00, + 0x3e,0x05,0x02,0x02,0x07,0x05,0x00,0x00,0x54,0x05,0x08,0x80,0x2b,0x05,0x01,0x00, + 0x10,0x06,0x00,0x00,0x10,0x07,0x01,0x00,0x10,0x08,0x02,0x00,0x10,0x09,0x03,0x00, + 0x10,0x0a,0x04,0x00,0x40,0x05,0x06,0x00,0x54,0x05,0x0f,0x80,0x2b,0x05,0x02,0x00, + 0x37,0x05,0x01,0x05,0x10,0x06,0x00,0x00,0x10,0x07,0x01,0x00,0x10,0x08,0x02,0x00, + 0x10,0x09,0x03,0x00,0x3e,0x05,0x05,0x02,0x0f,0x00,0x05,0x00,0x54,0x06,0x05,0x80, + 0x37,0x06,0x02,0x05,0x2b,0x07,0x03,0x00,0x10,0x08,0x04,0x00,0x3e,0x07,0x02,0x02, + 0x3a,0x07,0x03,0x06,0x48,0x05,0x02,0x00,0x47,0x00,0x01,0x00,0x05,0xc0,0x0c,0x80, + 0x00,0xc0,0x0a,0xc0,0x09,0x74,0x79,0x70,0x65,0x09,0x61,0x74,0x74,0x72,0x0c,0x69, + 0x6e,0x73,0x70,0x65,0x63,0x74,0x0a,0x63,0x64,0x61,0x74,0x61,0xb4,0x01,0x00,0x05, + 0x13,0x05,0x04,0x00,0x22,0x2b,0x05,0x00,0x00,0x37,0x05,0x00,0x05,0x10,0x06,0x00, 0x00,0x2b,0x07,0x01,0x00,0x10,0x08,0x04,0x00,0x3e,0x07,0x02,0x02,0x2b,0x08,0x02, - 0x00,0x2b,0x09,0x03,0x00,0x10,0x0a,0x01,0x00,0x3e,0x09,0x02,0x00,0x3d,0x08,0x00, - 0x02,0x10,0x09,0x02,0x00,0x10,0x0a,0x03,0x00,0x40,0x05,0x06,0x00,0x00,0xc0,0x0a, - 0xc0,0x03,0xc0,0x04,0xc0,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x46,0x00, - 0x05,0x0b,0x03,0x01,0x00,0x0c,0x2b,0x05,0x00,0x00,0x37,0x05,0x00,0x05,0x10,0x06, - 0x00,0x00,0x2b,0x07,0x01,0x00,0x10,0x08,0x04,0x00,0x3e,0x07,0x02,0x02,0x2b,0x08, - 0x02,0x00,0x10,0x09,0x01,0x00,0x3e,0x08,0x02,0x02,0x10,0x09,0x02,0x00,0x10,0x0a, - 0x03,0x00,0x40,0x05,0x06,0x00,0x00,0xc0,0x0a,0xc0,0x03,0xc0,0x0d,0x70,0x72,0x6f, - 0x70,0x65,0x72,0x74,0x79,0x2a,0x00,0x05,0x0b,0x01,0x01,0x00,0x07,0x2b,0x05,0x00, - 0x00,0x10,0x06,0x00,0x00,0x10,0x07,0x01,0x00,0x10,0x08,0x02,0x00,0x10,0x09,0x03, - 0x00,0x37,0x0a,0x00,0x04,0x40,0x05,0x06,0x00,0x0c,0x80,0x09,0x74,0x79,0x70,0x65, - 0xba,0x01,0x00,0x05,0x0b,0x06,0x04,0x00,0x23,0x2b,0x05,0x00,0x00,0x37,0x05,0x00, - 0x05,0x10,0x06,0x01,0x00,0x3e,0x05,0x02,0x02,0x04,0x05,0x01,0x00,0x54,0x05,0x13, - 0x80,0x0e,0x00,0x04,0x00,0x54,0x05,0x05,0x80,0x2b,0x05,0x01,0x00,0x37,0x05,0x00, - 0x05,0x10,0x06,0x01,0x00,0x3e,0x05,0x02,0x02,0x10,0x04,0x05,0x00,0x2b,0x05,0x02, - 0x00,0x37,0x06,0x01,0x04,0x36,0x05,0x06,0x05,0x0e,0x00,0x05,0x00,0x54,0x06,0x01, - 0x80,0x2b,0x05,0x03,0x00,0x10,0x06,0x00,0x00,0x10,0x07,0x01,0x00,0x10,0x08,0x02, - 0x00,0x10,0x09,0x03,0x00,0x10,0x0a,0x04,0x00,0x40,0x05,0x06,0x00,0x2b,0x05,0x04, - 0x00,0x37,0x05,0x02,0x05,0x10,0x06,0x00,0x00,0x25,0x07,0x03,0x00,0x2b,0x08,0x05, 0x00,0x10,0x09,0x01,0x00,0x3e,0x08,0x02,0x02,0x10,0x09,0x02,0x00,0x10,0x0a,0x03, - 0x00,0x40,0x05,0x06,0x00,0x02,0xc0,0x01,0xc0,0x0e,0xc0,0x0b,0xc0,0x00,0xc0,0x03, - 0xc0,0x0a,0x63,0x74,0x79,0x70,0x65,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79, - 0x09,0x77,0x68,0x61,0x74,0x0b,0x74,0x79,0x70,0x65,0x6f,0x66,0xcb,0x03,0x03,0x00, - 0x10,0x00,0x27,0x00,0x35,0x34,0x00,0x00,0x00,0x25,0x01,0x01,0x00,0x3e,0x00,0x02, - 0x02,0x34,0x01,0x00,0x00,0x25,0x02,0x02,0x00,0x3e,0x01,0x02,0x02,0x34,0x02,0x00, - 0x00,0x25,0x03,0x03,0x00,0x3e,0x02,0x02,0x02,0x34,0x03,0x04,0x00,0x34,0x04,0x05, - 0x00,0x34,0x05,0x06,0x00,0x34,0x06,0x07,0x00,0x34,0x07,0x08,0x00,0x37,0x07,0x09, - 0x07,0x34,0x08,0x0a,0x00,0x37,0x08,0x0b,0x08,0x32,0x09,0x00,0x00,0x29,0x0a,0x02, - 0x00,0x3a,0x0a,0x0c,0x09,0x31,0x0a,0x0d,0x00,0x37,0x0b,0x0e,0x00,0x37,0x0b,0x0f, - 0x0b,0x29,0x0c,0x00,0x00,0x31,0x0d,0x10,0x00,0x33,0x0e,0x12,0x00,0x31,0x0f,0x11, - 0x00,0x3a,0x0f,0x13,0x0e,0x31,0x0f,0x14,0x00,0x3a,0x0f,0x15,0x0e,0x31,0x0f,0x16, - 0x00,0x3a,0x0f,0x17,0x0e,0x31,0x0f,0x18,0x00,0x3a,0x0f,0x19,0x0e,0x31,0x0f,0x1a, - 0x00,0x3a,0x0f,0x1b,0x0e,0x31,0x0f,0x1c,0x00,0x3a,0x0f,0x1d,0x0e,0x31,0x0f,0x1e, - 0x00,0x3a,0x0f,0x1f,0x0e,0x37,0x0f,0x13,0x0e,0x3a,0x0f,0x20,0x0e,0x37,0x0f,0x1d, - 0x0e,0x3a,0x0f,0x21,0x0e,0x31,0x0f,0x23,0x00,0x3a,0x0f,0x22,0x0e,0x37,0x0f,0x22, - 0x0e,0x3a,0x0f,0x24,0x0e,0x31,0x0c,0x25,0x00,0x37,0x0f,0x0e,0x00,0x3a,0x0c,0x26, - 0x0f,0x30,0x00,0x00,0x80,0x48,0x09,0x02,0x00,0x0a,0x63,0x64,0x61,0x74,0x61,0x00, - 0x0d,0x62,0x69,0x74,0x66,0x69,0x65,0x6c,0x64,0x00,0x0a,0x66,0x69,0x65,0x6c,0x64, - 0x0a,0x66,0x6c,0x6f,0x61,0x74,0x0a,0x75,0x6e,0x69,0x6f,0x6e,0x08,0x70,0x74,0x72, - 0x00,0x08,0x69,0x6e,0x74,0x00,0x08,0x72,0x65,0x66,0x00,0x09,0x65,0x6e,0x75,0x6d, - 0x00,0x09,0x66,0x75,0x6e,0x63,0x00,0x0a,0x61,0x72,0x72,0x61,0x79,0x00,0x0b,0x73, - 0x74,0x72,0x75,0x63,0x74,0x01,0x00,0x00,0x00,0x00,0x0b,0x6e,0x75,0x6d,0x62,0x65, - 0x72,0x0f,0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x6f,0x72,0x73,0x00,0x17,0x69,0x6e, - 0x73,0x70,0x65,0x63,0x74,0x5f,0x72,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x73, - 0x0b,0x63,0x6f,0x6e,0x63,0x61,0x74,0x0a,0x74,0x61,0x62,0x6c,0x65,0x0b,0x66,0x6f, - 0x72,0x6d,0x61,0x74,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x0b,0x61,0x73,0x73,0x65, - 0x72,0x74,0x09,0x74,0x79,0x70,0x65,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72, - 0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x08,0x66,0x66,0x69,0x21,0x64,0x65, - 0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x70,0x6c,0x75,0x67,0x69,0x6e,0x73,0x2e,0x66, - 0x66,0x69,0x2e,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x1b,0x64,0x65,0x62,0x75,0x67, - 0x67,0x65,0x72,0x2e,0x69,0x6e,0x74,0x72,0x6f,0x73,0x70,0x65,0x63,0x74,0x69,0x6f, - 0x6e,0x0c,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x55,0x00,0x01,0x05,0x01,0x03,0x02, - 0x0d,0x08,0x00,0x00,0x00,0x54,0x01,0x0a,0x80,0x2b,0x01,0x00,0x00,0x37,0x01,0x00, - 0x01,0x25,0x02,0x01,0x00,0x10,0x03,0x00,0x00,0x3e,0x01,0x03,0x02,0x2b,0x02,0x00, - 0x00,0x37,0x02,0x02,0x02,0x14,0x03,0x01,0x01,0x38,0x04,0x03,0x01,0x40,0x02,0x03, - 0x00,0x47,0x00,0x01,0x00,0x00,0xc0,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x0e,0x75, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x09,0x63,0x61,0x73,0x74,0x00,0x08,0x4c, - 0x00,0x01,0x05,0x00,0x04,0x00,0x0a,0x34,0x01,0x00,0x00,0x34,0x02,0x01,0x00,0x10, - 0x03,0x00,0x00,0x3e,0x02,0x02,0x02,0x10,0x03,0x02,0x00,0x37,0x02,0x02,0x02,0x25, - 0x04,0x03,0x00,0x3e,0x02,0x03,0x02,0x27,0x03,0x10,0x00,0x40,0x01,0x03,0x00,0x09, - 0x25,0x78,0x2a,0x24,0x0a,0x6d,0x61,0x74,0x63,0x68,0x0d,0x74,0x6f,0x73,0x74,0x72, - 0x69,0x6e,0x67,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x0b,0x00,0x00,0x01, - 0x00,0x00,0x00,0x01,0x47,0x00,0x01,0x00,0x2c,0x00,0x02,0x04,0x00,0x02,0x00,0x04, - 0x34,0x02,0x00,0x00,0x25,0x03,0x01,0x00,0x3e,0x02,0x02,0x01,0x47,0x00,0x01,0x00, - 0x13,0x54,0x4f,0x44,0x4f,0x3a,0x20,0x43,0x54,0x41,0x5f,0x4e,0x4f,0x4e,0x45,0x0a, - 0x65,0x72,0x72,0x6f,0x72,0x2c,0x00,0x02,0x04,0x00,0x02,0x00,0x04,0x34,0x02,0x00, - 0x00,0x25,0x03,0x01,0x00,0x3e,0x02,0x02,0x01,0x47,0x00,0x01,0x00,0x13,0x54,0x4f, - 0x44,0x4f,0x3a,0x20,0x43,0x54,0x41,0x5f,0x51,0x55,0x41,0x4c,0x0a,0x65,0x72,0x72, - 0x6f,0x72,0x44,0x00,0x02,0x04,0x00,0x04,0x00,0x07,0x37,0x02,0x00,0x00,0x27,0x03, - 0x02,0x00,0x23,0x00,0x02,0x03,0x3a,0x00,0x01,0x01,0x37,0x02,0x02,0x01,0x3a,0x00, - 0x03,0x02,0x47,0x00,0x01,0x00,0x0a,0x61,0x6c,0x69,0x67,0x6e,0x0f,0x61,0x74,0x74, - 0x72,0x69,0x62,0x75,0x74,0x65,0x73,0x0e,0x61,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e, - 0x74,0x0a,0x76,0x61,0x6c,0x75,0x65,0x45,0x00,0x02,0x04,0x00,0x04,0x00,0x06,0x29, - 0x02,0x02,0x00,0x3a,0x02,0x00,0x01,0x37,0x02,0x01,0x01,0x37,0x03,0x03,0x01,0x3a, - 0x03,0x02,0x02,0x47,0x00,0x01,0x00,0x0b,0x74,0x79,0x70,0x65,0x69,0x64,0x0c,0x73, - 0x75,0x62,0x74,0x79,0x70,0x65,0x0f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65, - 0x73,0x10,0x74,0x72,0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x21,0x00,0x02, - 0x03,0x00,0x02,0x00,0x03,0x37,0x02,0x01,0x00,0x3a,0x02,0x00,0x01,0x47,0x00,0x01, - 0x00,0x09,0x6e,0x61,0x6d,0x65,0x0d,0x73,0x79,0x6d,0x5f,0x6e,0x61,0x6d,0x65,0x2b, - 0x00,0x02,0x04,0x00,0x02,0x00,0x04,0x34,0x02,0x00,0x00,0x25,0x03,0x01,0x00,0x3e, - 0x02,0x02,0x01,0x47,0x00,0x01,0x00,0x12,0x54,0x4f,0x44,0x4f,0x3a,0x20,0x43,0x54, - 0x41,0x5f,0x42,0x41,0x44,0x0a,0x65,0x72,0x72,0x6f,0x72,0x8a,0x09,0x00,0x01,0x0d, - 0x09,0x1e,0x03,0xe9,0x01,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x36,0x01,0x00, - 0x01,0x2b,0x02,0x01,0x00,0x37,0x02,0x01,0x02,0x37,0x03,0x02,0x01,0x27,0x04,0x1c, - 0x00,0x3e,0x02,0x03,0x02,0x2b,0x03,0x02,0x00,0x36,0x03,0x02,0x03,0x38,0x04,0x01, - 0x03,0x34,0x05,0x03,0x00,0x33,0x06,0x04,0x00,0x3a,0x04,0x05,0x06,0x3a,0x00,0x06, - 0x06,0x2b,0x07,0x03,0x00,0x37,0x08,0x07,0x01,0x3e,0x07,0x02,0x02,0x3a,0x07,0x07, - 0x06,0x2b,0x07,0x04,0x00,0x36,0x07,0x04,0x07,0x3e,0x05,0x03,0x02,0x27,0x06,0x05, - 0x00,0x13,0x07,0x03,0x00,0x27,0x08,0x01,0x00,0x49,0x06,0x15,0x80,0x2b,0x0a,0x01, - 0x00,0x37,0x0a,0x08,0x0a,0x37,0x0b,0x02,0x01,0x36,0x0c,0x09,0x03,0x38,0x0c,0x01, - 0x0c,0x3e,0x0a,0x03,0x02,0x08,0x0a,0x00,0x00,0x54,0x0a,0x0c,0x80,0x36,0x0a,0x09, - 0x03,0x38,0x0a,0x03,0x0a,0x07,0x0a,0x09,0x00,0x54,0x0a,0x04,0x80,0x36,0x0a,0x09, - 0x03,0x38,0x0a,0x02,0x0a,0x3a,0x0a,0x05,0x05,0x54,0x0a,0x04,0x80,0x36,0x0a,0x09, - 0x03,0x38,0x0a,0x02,0x0a,0x29,0x0b,0x02,0x00,0x39,0x0b,0x0a,0x05,0x4b,0x06,0xeb, - 0x7f,0x27,0x06,0x05,0x00,0x03,0x02,0x06,0x00,0x54,0x06,0x0f,0x80,0x2b,0x06,0x01, - 0x00,0x37,0x06,0x0b,0x06,0x27,0x07,0x01,0x00,0x2b,0x08,0x01,0x00,0x37,0x08,0x08, - 0x08,0x2b,0x09,0x01,0x00,0x37,0x09,0x01,0x09,0x37,0x0a,0x02,0x01,0x27,0x0b,0x10, - 0x00,0x3e,0x09,0x03,0x02,0x27,0x0a,0x0f,0x00,0x3e,0x08,0x03,0x00,0x3d,0x06,0x01, - 0x02,0x3a,0x06,0x0a,0x05,0x54,0x06,0x0e,0x80,0x07,0x04,0x0c,0x00,0x54,0x06,0x0c, - 0x80,0x2b,0x06,0x05,0x00,0x2b,0x07,0x01,0x00,0x37,0x07,0x08,0x07,0x2b,0x08,0x01, + 0x00,0x3e,0x05,0x06,0x02,0x0f,0x00,0x05,0x00,0x54,0x06,0x13,0x80,0x10,0x07,0x04, + 0x00,0x37,0x06,0x01,0x04,0x3e,0x06,0x02,0x04,0x54,0x09,0x0d,0x80,0x37,0x0a,0x02, + 0x09,0x2b,0x0b,0x03,0x00,0x10,0x0c,0x0a,0x00,0x36,0x0d,0x0a,0x01,0x10,0x0e,0x05, + 0x00,0x10,0x0f,0x03,0x00,0x2b,0x10,0x04,0x00,0x25,0x11,0x03,0x00,0x10,0x12,0x0a, + 0x00,0x3e,0x10,0x03,0x02,0x24,0x0f,0x10,0x0f,0x10,0x10,0x09,0x00,0x3e,0x0b,0x06, + 0x01,0x41,0x09,0x03,0x02,0x4e,0x09,0xf1,0x7f,0x48,0x05,0x02,0x00,0x00,0xc0,0x0a, + 0xc0,0x03,0xc0,0x0d,0xc0,0x07,0xc0,0x09,0x5b,0x25,0x71,0x5d,0x09,0x6e,0x61,0x6d, + 0x65,0x0c,0x6d,0x65,0x6d,0x62,0x65,0x72,0x73,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72, + 0x74,0x79,0xb6,0x02,0x00,0x05,0x14,0x05,0x08,0x01,0x3e,0x37,0x05,0x00,0x04,0x37, + 0x06,0x01,0x04,0x06,0x06,0x02,0x00,0x54,0x06,0x03,0x80,0x37,0x06,0x01,0x04,0x0e, + 0x00,0x06,0x00,0x54,0x07,0x04,0x80,0x2b,0x06,0x00,0x00,0x37,0x06,0x03,0x06,0x10, + 0x07,0x01,0x00,0x3e,0x06,0x02,0x02,0x0f,0x00,0x06,0x00,0x54,0x07,0x02,0x80,0x37, + 0x07,0x01,0x05,0x21,0x06,0x07,0x06,0x2b,0x07,0x01,0x00,0x10,0x08,0x05,0x00,0x3e, + 0x07,0x02,0x02,0x2b,0x08,0x02,0x00,0x37,0x08,0x04,0x08,0x10,0x09,0x00,0x00,0x10, + 0x0a,0x07,0x00,0x25,0x0b,0x05,0x00,0x2b,0x0c,0x03,0x00,0x10,0x0d,0x06,0x00,0x3e, + 0x0c,0x02,0x02,0x0e,0x00,0x0c,0x00,0x54,0x0d,0x01,0x80,0x25,0x0c,0x06,0x00,0x25, + 0x0d,0x07,0x00,0x24,0x0a,0x0d,0x0a,0x2b,0x0b,0x03,0x00,0x10,0x0c,0x01,0x00,0x3e, + 0x0b,0x02,0x02,0x10,0x0c,0x02,0x00,0x10,0x0d,0x03,0x00,0x3e,0x08,0x06,0x02,0x0f, + 0x00,0x08,0x00,0x54,0x09,0x16,0x80,0x0f,0x00,0x06,0x00,0x54,0x09,0x14,0x80,0x27, + 0x09,0x00,0x00,0x15,0x0a,0x00,0x06,0x27,0x0b,0x01,0x00,0x49,0x09,0x10,0x80,0x25, + 0x0d,0x05,0x00,0x2b,0x0e,0x03,0x00,0x10,0x0f,0x0c,0x00,0x3e,0x0e,0x02,0x02,0x25, + 0x0f,0x07,0x00,0x24,0x0d,0x0f,0x0d,0x2b,0x0e,0x04,0x00,0x10,0x0f,0x0d,0x00,0x36, + 0x10,0x0c,0x01,0x10,0x11,0x08,0x00,0x10,0x12,0x03,0x00,0x10,0x13,0x0d,0x00,0x24, + 0x12,0x13,0x12,0x10,0x13,0x05,0x00,0x3e,0x0e,0x06,0x01,0x4b,0x09,0xf0,0x7f,0x48, + 0x08,0x02,0x00,0x02,0xc0,0x0a,0xc0,0x00,0xc0,0x03,0xc0,0x0d,0xc0,0x06,0x5d,0x05, + 0x06,0x5b,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x0b,0x73,0x69,0x7a,0x65, + 0x6f,0x66,0x09,0x6e,0x6f,0x6e,0x65,0x09,0x73,0x69,0x7a,0x65,0x11,0x65,0x6c,0x65, + 0x6d,0x65,0x6e,0x74,0x5f,0x74,0x79,0x70,0x65,0x02,0xff,0x01,0x00,0x05,0x0e,0x03, + 0x0b,0x01,0x2d,0x32,0x05,0x00,0x00,0x10,0x07,0x04,0x00,0x37,0x06,0x00,0x04,0x3e, + 0x06,0x02,0x04,0x54,0x09,0x09,0x80,0x13,0x0a,0x05,0x00,0x14,0x0a,0x00,0x0a,0x2b, + 0x0b,0x00,0x00,0x37,0x0c,0x01,0x09,0x3e,0x0b,0x02,0x02,0x25,0x0c,0x02,0x00,0x37, + 0x0d,0x03,0x09,0x24,0x0b,0x0d,0x0b,0x39,0x0b,0x0a,0x05,0x41,0x09,0x03,0x02,0x4e, + 0x09,0xf5,0x7f,0x37,0x06,0x04,0x04,0x0f,0x00,0x06,0x00,0x54,0x07,0x04,0x80,0x13, + 0x06,0x05,0x00,0x14,0x06,0x00,0x06,0x25,0x07,0x05,0x00,0x39,0x07,0x06,0x05,0x2b, + 0x06,0x00,0x00,0x37,0x07,0x06,0x04,0x3e,0x06,0x02,0x02,0x25,0x07,0x02,0x00,0x37, + 0x08,0x03,0x04,0x25,0x09,0x07,0x00,0x2b,0x0a,0x01,0x00,0x10,0x0b,0x05,0x00,0x25, + 0x0c,0x08,0x00,0x3e,0x0a,0x03,0x02,0x25,0x0b,0x09,0x00,0x24,0x06,0x0b,0x06,0x2b, + 0x07,0x02,0x00,0x37,0x07,0x0a,0x07,0x10,0x08,0x00,0x00,0x2b,0x09,0x00,0x00,0x10, + 0x0a,0x04,0x00,0x3e,0x09,0x02,0x02,0x10,0x0a,0x06,0x00,0x10,0x0b,0x02,0x00,0x10, + 0x0c,0x03,0x00,0x40,0x07,0x06,0x00,0x0a,0xc0,0x08,0xc0,0x00,0xc0,0x0d,0x70,0x72, + 0x6f,0x70,0x65,0x72,0x74,0x79,0x06,0x29,0x07,0x2c,0x20,0x06,0x28,0x10,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x5f,0x74,0x79,0x70,0x65,0x08,0x2e,0x2e,0x2e,0x0b,0x76,0x61, + 0x72,0x61,0x72,0x67,0x09,0x6e,0x61,0x6d,0x65,0x06,0x20,0x09,0x74,0x79,0x70,0x65, + 0x0e,0x61,0x72,0x67,0x75,0x6d,0x65,0x6e,0x74,0x73,0x02,0x92,0x01,0x00,0x05,0x0c, + 0x04,0x04,0x00,0x1a,0x2b,0x05,0x00,0x00,0x10,0x06,0x01,0x00,0x3e,0x05,0x02,0x02, + 0x10,0x07,0x04,0x00,0x37,0x06,0x00,0x04,0x3e,0x06,0x02,0x04,0x54,0x09,0x05,0x80, + 0x37,0x0a,0x01,0x09,0x05,0x0a,0x05,0x00,0x54,0x0a,0x02,0x80,0x37,0x05,0x02,0x09, + 0x54,0x06,0x02,0x80,0x41,0x09,0x03,0x02,0x4e,0x09,0xf9,0x7f,0x2b,0x06,0x01,0x00, + 0x37,0x06,0x03,0x06,0x10,0x07,0x00,0x00,0x2b,0x08,0x02,0x00,0x10,0x09,0x04,0x00, + 0x3e,0x08,0x02,0x02,0x2b,0x09,0x03,0x00,0x10,0x0a,0x05,0x00,0x3e,0x09,0x02,0x02, + 0x10,0x0a,0x02,0x00,0x10,0x0b,0x03,0x00,0x40,0x06,0x06,0x00,0x04,0xc0,0x00,0xc0, + 0x0a,0xc0,0x03,0xc0,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x09,0x6e,0x61, + 0x6d,0x65,0x0a,0x76,0x61,0x6c,0x75,0x65,0x0b,0x76,0x61,0x6c,0x75,0x65,0x73,0xb8, + 0x01,0x00,0x05,0x0c,0x05,0x05,0x00,0x1d,0x2b,0x05,0x00,0x00,0x10,0x06,0x04,0x00, + 0x3e,0x05,0x02,0x02,0x2b,0x06,0x01,0x00,0x37,0x06,0x00,0x06,0x0e,0x00,0x06,0x00, + 0x54,0x06,0x0a,0x80,0x2b,0x06,0x02,0x00,0x37,0x06,0x01,0x06,0x10,0x07,0x00,0x00, + 0x10,0x08,0x05,0x00,0x2b,0x09,0x03,0x00,0x10,0x0a,0x01,0x00,0x3e,0x09,0x02,0x02, + 0x10,0x0a,0x02,0x00,0x10,0x0b,0x03,0x00,0x40,0x06,0x06,0x00,0x2b,0x06,0x04,0x00, + 0x10,0x07,0x00,0x00,0x10,0x08,0x01,0x00,0x10,0x09,0x02,0x00,0x10,0x0a,0x03,0x00, + 0x37,0x0b,0x02,0x04,0x3e,0x06,0x06,0x02,0x0f,0x00,0x06,0x00,0x54,0x07,0x02,0x80, + 0x37,0x07,0x03,0x06,0x3a,0x05,0x04,0x07,0x48,0x06,0x02,0x00,0x0a,0xc0,0x09,0xc0, + 0x00,0xc0,0x03,0xc0,0x0d,0xc0,0x09,0x74,0x79,0x70,0x65,0x09,0x61,0x74,0x74,0x72, + 0x11,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x5f,0x74,0x79,0x70,0x65,0x0d,0x70,0x72, + 0x6f,0x70,0x65,0x72,0x74,0x79,0x17,0x69,0x6e,0x73,0x70,0x65,0x63,0x74,0x5f,0x72, + 0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x73,0x50,0x00,0x05,0x0b,0x04,0x01,0x00, + 0x0e,0x2b,0x05,0x00,0x00,0x37,0x05,0x00,0x05,0x10,0x06,0x00,0x00,0x2b,0x07,0x01, + 0x00,0x10,0x08,0x04,0x00,0x3e,0x07,0x02,0x02,0x2b,0x08,0x02,0x00,0x2b,0x09,0x03, + 0x00,0x10,0x0a,0x01,0x00,0x3e,0x09,0x02,0x00,0x3d,0x08,0x00,0x02,0x10,0x09,0x02, + 0x00,0x10,0x0a,0x03,0x00,0x40,0x05,0x06,0x00,0x00,0xc0,0x0a,0xc0,0x03,0xc0,0x04, + 0xc0,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x46,0x00,0x05,0x0b,0x03,0x01, + 0x00,0x0c,0x2b,0x05,0x00,0x00,0x37,0x05,0x00,0x05,0x10,0x06,0x00,0x00,0x2b,0x07, + 0x01,0x00,0x10,0x08,0x04,0x00,0x3e,0x07,0x02,0x02,0x2b,0x08,0x02,0x00,0x10,0x09, + 0x01,0x00,0x3e,0x08,0x02,0x02,0x10,0x09,0x02,0x00,0x10,0x0a,0x03,0x00,0x40,0x05, + 0x06,0x00,0x00,0xc0,0x0a,0xc0,0x03,0xc0,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74, + 0x79,0x2a,0x00,0x05,0x0b,0x01,0x01,0x00,0x07,0x2b,0x05,0x00,0x00,0x10,0x06,0x00, + 0x00,0x10,0x07,0x01,0x00,0x10,0x08,0x02,0x00,0x10,0x09,0x03,0x00,0x37,0x0a,0x00, + 0x04,0x40,0x05,0x06,0x00,0x0c,0x80,0x09,0x74,0x79,0x70,0x65,0xba,0x01,0x00,0x05, + 0x0b,0x06,0x04,0x00,0x23,0x2b,0x05,0x00,0x00,0x37,0x05,0x00,0x05,0x10,0x06,0x01, + 0x00,0x3e,0x05,0x02,0x02,0x04,0x05,0x01,0x00,0x54,0x05,0x13,0x80,0x0e,0x00,0x04, + 0x00,0x54,0x05,0x05,0x80,0x2b,0x05,0x01,0x00,0x37,0x05,0x00,0x05,0x10,0x06,0x01, + 0x00,0x3e,0x05,0x02,0x02,0x10,0x04,0x05,0x00,0x2b,0x05,0x02,0x00,0x37,0x06,0x01, + 0x04,0x36,0x05,0x06,0x05,0x0e,0x00,0x05,0x00,0x54,0x06,0x01,0x80,0x2b,0x05,0x03, + 0x00,0x10,0x06,0x00,0x00,0x10,0x07,0x01,0x00,0x10,0x08,0x02,0x00,0x10,0x09,0x03, + 0x00,0x10,0x0a,0x04,0x00,0x40,0x05,0x06,0x00,0x2b,0x05,0x04,0x00,0x37,0x05,0x02, + 0x05,0x10,0x06,0x00,0x00,0x25,0x07,0x03,0x00,0x2b,0x08,0x05,0x00,0x10,0x09,0x01, + 0x00,0x3e,0x08,0x02,0x02,0x10,0x09,0x02,0x00,0x10,0x0a,0x03,0x00,0x40,0x05,0x06, + 0x00,0x02,0xc0,0x01,0xc0,0x0e,0xc0,0x0b,0xc0,0x00,0xc0,0x03,0xc0,0x0a,0x63,0x74, + 0x79,0x70,0x65,0x0d,0x70,0x72,0x6f,0x70,0x65,0x72,0x74,0x79,0x09,0x77,0x68,0x61, + 0x74,0x0b,0x74,0x79,0x70,0x65,0x6f,0x66,0xcb,0x03,0x03,0x00,0x10,0x00,0x27,0x00, + 0x35,0x34,0x00,0x00,0x00,0x25,0x01,0x01,0x00,0x3e,0x00,0x02,0x02,0x34,0x01,0x00, + 0x00,0x25,0x02,0x02,0x00,0x3e,0x01,0x02,0x02,0x34,0x02,0x00,0x00,0x25,0x03,0x03, + 0x00,0x3e,0x02,0x02,0x02,0x34,0x03,0x04,0x00,0x34,0x04,0x05,0x00,0x34,0x05,0x06, + 0x00,0x34,0x06,0x07,0x00,0x34,0x07,0x08,0x00,0x37,0x07,0x09,0x07,0x34,0x08,0x0a, + 0x00,0x37,0x08,0x0b,0x08,0x32,0x09,0x00,0x00,0x29,0x0a,0x02,0x00,0x3a,0x0a,0x0c, + 0x09,0x31,0x0a,0x0d,0x00,0x37,0x0b,0x0e,0x00,0x37,0x0b,0x0f,0x0b,0x29,0x0c,0x00, + 0x00,0x31,0x0d,0x10,0x00,0x33,0x0e,0x12,0x00,0x31,0x0f,0x11,0x00,0x3a,0x0f,0x13, + 0x0e,0x31,0x0f,0x14,0x00,0x3a,0x0f,0x15,0x0e,0x31,0x0f,0x16,0x00,0x3a,0x0f,0x17, + 0x0e,0x31,0x0f,0x18,0x00,0x3a,0x0f,0x19,0x0e,0x31,0x0f,0x1a,0x00,0x3a,0x0f,0x1b, + 0x0e,0x31,0x0f,0x1c,0x00,0x3a,0x0f,0x1d,0x0e,0x31,0x0f,0x1e,0x00,0x3a,0x0f,0x1f, + 0x0e,0x37,0x0f,0x13,0x0e,0x3a,0x0f,0x20,0x0e,0x37,0x0f,0x1d,0x0e,0x3a,0x0f,0x21, + 0x0e,0x31,0x0f,0x23,0x00,0x3a,0x0f,0x22,0x0e,0x37,0x0f,0x22,0x0e,0x3a,0x0f,0x24, + 0x0e,0x31,0x0c,0x25,0x00,0x37,0x0f,0x0e,0x00,0x3a,0x0c,0x26,0x0f,0x30,0x00,0x00, + 0x80,0x48,0x09,0x02,0x00,0x0a,0x63,0x64,0x61,0x74,0x61,0x00,0x0d,0x62,0x69,0x74, + 0x66,0x69,0x65,0x6c,0x64,0x00,0x0a,0x66,0x69,0x65,0x6c,0x64,0x0a,0x66,0x6c,0x6f, + 0x61,0x74,0x0a,0x75,0x6e,0x69,0x6f,0x6e,0x08,0x70,0x74,0x72,0x00,0x08,0x69,0x6e, + 0x74,0x00,0x08,0x72,0x65,0x66,0x00,0x09,0x65,0x6e,0x75,0x6d,0x00,0x09,0x66,0x75, + 0x6e,0x63,0x00,0x0a,0x61,0x72,0x72,0x61,0x79,0x00,0x0b,0x73,0x74,0x72,0x75,0x63, + 0x74,0x01,0x00,0x00,0x00,0x00,0x0b,0x6e,0x75,0x6d,0x62,0x65,0x72,0x0f,0x69,0x6e, + 0x73,0x70,0x65,0x63,0x74,0x6f,0x72,0x73,0x00,0x17,0x69,0x6e,0x73,0x70,0x65,0x63, + 0x74,0x5f,0x72,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x73,0x0b,0x63,0x6f,0x6e, + 0x63,0x61,0x74,0x0a,0x74,0x61,0x62,0x6c,0x65,0x0b,0x66,0x6f,0x72,0x6d,0x61,0x74, + 0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0x09,0x74, + 0x79,0x70,0x65,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x0d,0x74,0x6f,0x73, + 0x74,0x72,0x69,0x6e,0x67,0x08,0x66,0x66,0x69,0x21,0x64,0x65,0x62,0x75,0x67,0x67, + 0x65,0x72,0x2e,0x70,0x6c,0x75,0x67,0x69,0x6e,0x73,0x2e,0x66,0x66,0x69,0x2e,0x72, + 0x65,0x66,0x6c,0x65,0x63,0x74,0x1b,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e, + 0x69,0x6e,0x74,0x72,0x6f,0x73,0x70,0x65,0x63,0x74,0x69,0x6f,0x6e,0x0c,0x72,0x65, + 0x71,0x75,0x69,0x72,0x65,0x55,0x00,0x01,0x05,0x01,0x03,0x02,0x0d,0x08,0x00,0x00, + 0x00,0x54,0x01,0x0a,0x80,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x25,0x02,0x01, + 0x00,0x10,0x03,0x00,0x00,0x3e,0x01,0x03,0x02,0x2b,0x02,0x00,0x00,0x37,0x02,0x02, + 0x02,0x14,0x03,0x01,0x01,0x38,0x04,0x03,0x01,0x40,0x02,0x03,0x00,0x47,0x00,0x01, + 0x00,0x00,0xc0,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x0e,0x75,0x69,0x6e,0x74,0x33, + 0x32,0x5f,0x74,0x2a,0x09,0x63,0x61,0x73,0x74,0x00,0x08,0x4c,0x00,0x01,0x05,0x00, + 0x04,0x00,0x0a,0x34,0x01,0x00,0x00,0x34,0x02,0x01,0x00,0x10,0x03,0x00,0x00,0x3e, + 0x02,0x02,0x02,0x10,0x03,0x02,0x00,0x37,0x02,0x02,0x02,0x25,0x04,0x03,0x00,0x3e, + 0x02,0x03,0x02,0x27,0x03,0x10,0x00,0x40,0x01,0x03,0x00,0x09,0x25,0x78,0x2a,0x24, + 0x0a,0x6d,0x61,0x74,0x63,0x68,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x0d, + 0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x0b,0x00,0x00,0x01,0x00,0x00,0x00,0x01, + 0x47,0x00,0x01,0x00,0x2c,0x00,0x02,0x04,0x00,0x02,0x00,0x04,0x34,0x02,0x00,0x00, + 0x25,0x03,0x01,0x00,0x3e,0x02,0x02,0x01,0x47,0x00,0x01,0x00,0x13,0x54,0x4f,0x44, + 0x4f,0x3a,0x20,0x43,0x54,0x41,0x5f,0x4e,0x4f,0x4e,0x45,0x0a,0x65,0x72,0x72,0x6f, + 0x72,0x2c,0x00,0x02,0x04,0x00,0x02,0x00,0x04,0x34,0x02,0x00,0x00,0x25,0x03,0x01, + 0x00,0x3e,0x02,0x02,0x01,0x47,0x00,0x01,0x00,0x13,0x54,0x4f,0x44,0x4f,0x3a,0x20, + 0x43,0x54,0x41,0x5f,0x51,0x55,0x41,0x4c,0x0a,0x65,0x72,0x72,0x6f,0x72,0x44,0x00, + 0x02,0x04,0x00,0x04,0x00,0x07,0x37,0x02,0x00,0x00,0x27,0x03,0x02,0x00,0x23,0x00, + 0x02,0x03,0x3a,0x00,0x01,0x01,0x37,0x02,0x02,0x01,0x3a,0x00,0x03,0x02,0x47,0x00, + 0x01,0x00,0x0a,0x61,0x6c,0x69,0x67,0x6e,0x0f,0x61,0x74,0x74,0x72,0x69,0x62,0x75, + 0x74,0x65,0x73,0x0e,0x61,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74,0x0a,0x76,0x61, + 0x6c,0x75,0x65,0x45,0x00,0x02,0x04,0x00,0x04,0x00,0x06,0x29,0x02,0x02,0x00,0x3a, + 0x02,0x00,0x01,0x37,0x02,0x01,0x01,0x37,0x03,0x03,0x01,0x3a,0x03,0x02,0x02,0x47, + 0x00,0x01,0x00,0x0b,0x74,0x79,0x70,0x65,0x69,0x64,0x0c,0x73,0x75,0x62,0x74,0x79, + 0x70,0x65,0x0f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x73,0x10,0x74,0x72, + 0x61,0x6e,0x73,0x70,0x61,0x72,0x65,0x6e,0x74,0x21,0x00,0x02,0x03,0x00,0x02,0x00, + 0x03,0x37,0x02,0x01,0x00,0x3a,0x02,0x00,0x01,0x47,0x00,0x01,0x00,0x09,0x6e,0x61, + 0x6d,0x65,0x0d,0x73,0x79,0x6d,0x5f,0x6e,0x61,0x6d,0x65,0x2b,0x00,0x02,0x04,0x00, + 0x02,0x00,0x04,0x34,0x02,0x00,0x00,0x25,0x03,0x01,0x00,0x3e,0x02,0x02,0x01,0x47, + 0x00,0x01,0x00,0x12,0x54,0x4f,0x44,0x4f,0x3a,0x20,0x43,0x54,0x41,0x5f,0x42,0x41, + 0x44,0x0a,0x65,0x72,0x72,0x6f,0x72,0x8a,0x09,0x00,0x01,0x0d,0x09,0x1e,0x03,0xe9, + 0x01,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x36,0x01,0x00,0x01,0x2b,0x02,0x01, + 0x00,0x37,0x02,0x01,0x02,0x37,0x03,0x02,0x01,0x27,0x04,0x1c,0x00,0x3e,0x02,0x03, + 0x02,0x2b,0x03,0x02,0x00,0x36,0x03,0x02,0x03,0x38,0x04,0x01,0x03,0x34,0x05,0x03, + 0x00,0x33,0x06,0x04,0x00,0x3a,0x04,0x05,0x06,0x3a,0x00,0x06,0x06,0x2b,0x07,0x03, + 0x00,0x37,0x08,0x07,0x01,0x3e,0x07,0x02,0x02,0x3a,0x07,0x07,0x06,0x2b,0x07,0x04, + 0x00,0x36,0x07,0x04,0x07,0x3e,0x05,0x03,0x02,0x27,0x06,0x05,0x00,0x13,0x07,0x03, + 0x00,0x27,0x08,0x01,0x00,0x49,0x06,0x15,0x80,0x2b,0x0a,0x01,0x00,0x37,0x0a,0x08, + 0x0a,0x37,0x0b,0x02,0x01,0x36,0x0c,0x09,0x03,0x38,0x0c,0x01,0x0c,0x3e,0x0a,0x03, + 0x02,0x08,0x0a,0x00,0x00,0x54,0x0a,0x0c,0x80,0x36,0x0a,0x09,0x03,0x38,0x0a,0x03, + 0x0a,0x07,0x0a,0x09,0x00,0x54,0x0a,0x04,0x80,0x36,0x0a,0x09,0x03,0x38,0x0a,0x02, + 0x0a,0x3a,0x0a,0x05,0x05,0x54,0x0a,0x04,0x80,0x36,0x0a,0x09,0x03,0x38,0x0a,0x02, + 0x0a,0x29,0x0b,0x02,0x00,0x39,0x0b,0x0a,0x05,0x4b,0x06,0xeb,0x7f,0x27,0x06,0x05, + 0x00,0x03,0x02,0x06,0x00,0x54,0x06,0x0f,0x80,0x2b,0x06,0x01,0x00,0x37,0x06,0x0b, + 0x06,0x27,0x07,0x01,0x00,0x2b,0x08,0x01,0x00,0x37,0x08,0x08,0x08,0x2b,0x09,0x01, + 0x00,0x37,0x09,0x01,0x09,0x37,0x0a,0x02,0x01,0x27,0x0b,0x10,0x00,0x3e,0x09,0x03, + 0x02,0x27,0x0a,0x0f,0x00,0x3e,0x08,0x03,0x00,0x3d,0x06,0x01,0x02,0x3a,0x06,0x0a, + 0x05,0x54,0x06,0x0e,0x80,0x07,0x04,0x0c,0x00,0x54,0x06,0x0c,0x80,0x2b,0x06,0x05, + 0x00,0x2b,0x07,0x01,0x00,0x37,0x07,0x08,0x07,0x2b,0x08,0x01,0x00,0x37,0x08,0x01, + 0x08,0x37,0x09,0x02,0x01,0x27,0x0a,0x10,0x00,0x3e,0x08,0x03,0x02,0x27,0x09,0x03, + 0x00,0x3e,0x07,0x03,0x02,0x36,0x06,0x07,0x06,0x3a,0x06,0x0d,0x05,0x38,0x06,0x02, + 0x03,0x06,0x06,0x0e,0x00,0x54,0x06,0x13,0x80,0x38,0x06,0x02,0x03,0x2b,0x07,0x01, + 0x00,0x37,0x07,0x08,0x07,0x37,0x08,0x02,0x01,0x28,0x09,0x01,0x00,0x3e,0x07,0x03, + 0x02,0x2b,0x08,0x06,0x00,0x36,0x08,0x06,0x08,0x0f,0x00,0x08,0x00,0x54,0x09,0x08, + 0x80,0x09,0x07,0x00,0x00,0x54,0x08,0x02,0x80,0x29,0x07,0x00,0x00,0x54,0x08,0x04, + 0x80,0x2b,0x08,0x07,0x00,0x10,0x09,0x07,0x00,0x3e,0x08,0x02,0x02,0x10,0x07,0x08, + 0x00,0x39,0x07,0x06,0x05,0x38,0x06,0x03,0x03,0x06,0x06,0x0e,0x00,0x54,0x06,0x0d, + 0x80,0x38,0x06,0x03,0x03,0x37,0x07,0x0f,0x01,0x39,0x07,0x06,0x05,0x07,0x06,0x0f, + 0x00,0x54,0x07,0x08,0x80,0x2b,0x07,0x01,0x00,0x37,0x07,0x10,0x07,0x36,0x08,0x06, + 0x05,0x3e,0x07,0x02,0x02,0x09,0x07,0x00,0x00,0x54,0x07,0x02,0x80,0x25,0x07,0x11, + 0x00,0x39,0x07,0x06,0x05,0x07,0x04,0x12,0x00,0x54,0x06,0x1b,0x80,0x2b,0x06,0x08, + 0x00,0x2b,0x07,0x01,0x00,0x37,0x07,0x08,0x07,0x2b,0x08,0x01,0x00,0x37,0x08,0x01, + 0x08,0x37,0x09,0x02,0x01,0x27,0x0a,0x10,0x00,0x3e,0x08,0x03,0x02,0x27,0x09,0xff, + 0x00,0x3e,0x07,0x03,0x02,0x36,0x06,0x07,0x06,0x37,0x07,0x13,0x05,0x0f,0x00,0x07, + 0x00,0x54,0x08,0x0b,0x80,0x37,0x07,0x13,0x05,0x32,0x08,0x00,0x00,0x3a,0x08,0x14, + 0x07,0x10,0x08,0x06,0x00,0x10,0x09,0x05,0x00,0x10,0x0a,0x07,0x00,0x3e,0x08,0x03, + 0x01,0x37,0x08,0x06,0x05,0x3a,0x08,0x06,0x07,0x10,0x05,0x07,0x00,0x54,0x07,0x31, + 0x80,0x3a,0x06,0x15,0x05,0x54,0x06,0x2f,0x80,0x07,0x04,0x16,0x00,0x54,0x06,0x2d, + 0x80,0x37,0x06,0x17,0x05,0x2b,0x07,0x01,0x00,0x37,0x07,0x08,0x07,0x37,0x08,0x02, + 0x01,0x27,0x09,0x7f,0x00,0x3e,0x07,0x03,0x02,0x17,0x07,0x02,0x07,0x1e,0x06,0x07, + 0x06,0x3a,0x06,0x17,0x05,0x2b,0x06,0x01,0x00,0x37,0x06,0x08,0x06,0x2b,0x07,0x01, + 0x00,0x37,0x07,0x01,0x07,0x37,0x08,0x02,0x01,0x27,0x09,0x08,0x00,0x3e,0x07,0x03, + 0x02,0x27,0x08,0x7f,0x00,0x3e,0x06,0x03,0x02,0x17,0x06,0x02,0x06,0x3a,0x06,0x0f, + 0x05,0x33,0x06,0x18,0x00,0x37,0x07,0x19,0x05,0x3a,0x07,0x19,0x06,0x37,0x07,0x1a, + 0x05,0x3a,0x07,0x1a,0x06,0x37,0x07,0x1b,0x05,0x3a,0x07,0x1b,0x06,0x37,0x07,0x1c, + 0x05,0x3a,0x07,0x1c,0x06,0x2b,0x07,0x01,0x00,0x37,0x07,0x08,0x07,0x2b,0x08,0x01, 0x00,0x37,0x08,0x01,0x08,0x37,0x09,0x02,0x01,0x27,0x0a,0x10,0x00,0x3e,0x08,0x03, - 0x02,0x27,0x09,0x03,0x00,0x3e,0x07,0x03,0x02,0x36,0x06,0x07,0x06,0x3a,0x06,0x0d, - 0x05,0x38,0x06,0x02,0x03,0x06,0x06,0x0e,0x00,0x54,0x06,0x13,0x80,0x38,0x06,0x02, - 0x03,0x2b,0x07,0x01,0x00,0x37,0x07,0x08,0x07,0x37,0x08,0x02,0x01,0x28,0x09,0x01, - 0x00,0x3e,0x07,0x03,0x02,0x2b,0x08,0x06,0x00,0x36,0x08,0x06,0x08,0x0f,0x00,0x08, - 0x00,0x54,0x09,0x08,0x80,0x09,0x07,0x00,0x00,0x54,0x08,0x02,0x80,0x29,0x07,0x00, - 0x00,0x54,0x08,0x04,0x80,0x2b,0x08,0x07,0x00,0x10,0x09,0x07,0x00,0x3e,0x08,0x02, - 0x02,0x10,0x07,0x08,0x00,0x39,0x07,0x06,0x05,0x38,0x06,0x03,0x03,0x06,0x06,0x0e, - 0x00,0x54,0x06,0x0d,0x80,0x38,0x06,0x03,0x03,0x37,0x07,0x0f,0x01,0x39,0x07,0x06, - 0x05,0x07,0x06,0x0f,0x00,0x54,0x07,0x08,0x80,0x2b,0x07,0x01,0x00,0x37,0x07,0x10, - 0x07,0x36,0x08,0x06,0x05,0x3e,0x07,0x02,0x02,0x09,0x07,0x00,0x00,0x54,0x07,0x02, - 0x80,0x25,0x07,0x11,0x00,0x39,0x07,0x06,0x05,0x07,0x04,0x12,0x00,0x54,0x06,0x1b, - 0x80,0x2b,0x06,0x08,0x00,0x2b,0x07,0x01,0x00,0x37,0x07,0x08,0x07,0x2b,0x08,0x01, - 0x00,0x37,0x08,0x01,0x08,0x37,0x09,0x02,0x01,0x27,0x0a,0x10,0x00,0x3e,0x08,0x03, - 0x02,0x27,0x09,0xff,0x00,0x3e,0x07,0x03,0x02,0x36,0x06,0x07,0x06,0x37,0x07,0x13, - 0x05,0x0f,0x00,0x07,0x00,0x54,0x08,0x0b,0x80,0x37,0x07,0x13,0x05,0x32,0x08,0x00, - 0x00,0x3a,0x08,0x14,0x07,0x10,0x08,0x06,0x00,0x10,0x09,0x05,0x00,0x10,0x0a,0x07, - 0x00,0x3e,0x08,0x03,0x01,0x37,0x08,0x06,0x05,0x3a,0x08,0x06,0x07,0x10,0x05,0x07, - 0x00,0x54,0x07,0x31,0x80,0x3a,0x06,0x15,0x05,0x54,0x06,0x2f,0x80,0x07,0x04,0x16, - 0x00,0x54,0x06,0x2d,0x80,0x37,0x06,0x17,0x05,0x2b,0x07,0x01,0x00,0x37,0x07,0x08, - 0x07,0x37,0x08,0x02,0x01,0x27,0x09,0x7f,0x00,0x3e,0x07,0x03,0x02,0x17,0x07,0x02, - 0x07,0x1e,0x06,0x07,0x06,0x3a,0x06,0x17,0x05,0x2b,0x06,0x01,0x00,0x37,0x06,0x08, - 0x06,0x2b,0x07,0x01,0x00,0x37,0x07,0x01,0x07,0x37,0x08,0x02,0x01,0x27,0x09,0x08, - 0x00,0x3e,0x07,0x03,0x02,0x27,0x08,0x7f,0x00,0x3e,0x06,0x03,0x02,0x17,0x06,0x02, - 0x06,0x3a,0x06,0x0f,0x05,0x33,0x06,0x18,0x00,0x37,0x07,0x19,0x05,0x3a,0x07,0x19, - 0x06,0x37,0x07,0x1a,0x05,0x3a,0x07,0x1a,0x06,0x37,0x07,0x1b,0x05,0x3a,0x07,0x1b, - 0x06,0x37,0x07,0x1c,0x05,0x3a,0x07,0x1c,0x06,0x2b,0x07,0x01,0x00,0x37,0x07,0x08, - 0x07,0x2b,0x08,0x01,0x00,0x37,0x08,0x01,0x08,0x37,0x09,0x02,0x01,0x27,0x0a,0x10, - 0x00,0x3e,0x08,0x03,0x02,0x27,0x09,0x7f,0x00,0x3e,0x07,0x03,0x02,0x3a,0x07,0x0f, - 0x06,0x3a,0x06,0x13,0x05,0x2a,0x06,0x09,0x00,0x3a,0x09,0x1c,0x05,0x3a,0x08,0x1b, - 0x05,0x3a,0x07,0x1a,0x05,0x3a,0x06,0x19,0x05,0x38,0x06,0x04,0x03,0x0f,0x00,0x06, - 0x00,0x54,0x07,0x24,0x80,0x37,0x06,0x1d,0x01,0x08,0x06,0x00,0x00,0x54,0x06,0x21, - 0x80,0x51,0x06,0x20,0x80,0x2b,0x06,0x00,0x00,0x37,0x06,0x00,0x06,0x37,0x07,0x1d, - 0x01,0x36,0x06,0x07,0x06,0x2b,0x07,0x02,0x00,0x2b,0x08,0x01,0x00,0x37,0x08,0x01, - 0x08,0x37,0x09,0x02,0x06,0x27,0x0a,0x1c,0x00,0x3e,0x08,0x03,0x02,0x36,0x07,0x08, - 0x07,0x38,0x07,0x01,0x07,0x06,0x07,0x12,0x00,0x54,0x07,0x01,0x80,0x54,0x06,0x11, - 0x80,0x2b,0x07,0x01,0x00,0x37,0x07,0x08,0x07,0x37,0x08,0x02,0x06,0x28,0x09,0x01, - 0x00,0x3e,0x07,0x03,0x02,0x08,0x07,0x00,0x00,0x54,0x07,0x01,0x80,0x54,0x06,0x09, - 0x80,0x2b,0x07,0x07,0x00,0x37,0x08,0x1d,0x01,0x3e,0x07,0x02,0x02,0x10,0x09,0x07, - 0x00,0x37,0x08,0x15,0x07,0x10,0x0a,0x05,0x00,0x3e,0x08,0x03,0x01,0x10,0x01,0x06, - 0x00,0x54,0x06,0xdc,0x7f,0x48,0x05,0x02,0x00,0x05,0x80,0x01,0xc0,0x07,0xc0,0x03, - 0xc0,0x09,0xc0,0x0b,0xc0,0x08,0xc0,0x0c,0xc0,0x0a,0xc0,0x08,0x73,0x69,0x62,0x0d, - 0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64,0x0d,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c, - 0x65,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x09,0x62,0x6f,0x6f,0x6c,0x01,0x00,0x01,0x09, - 0x77,0x68,0x61,0x74,0x08,0x69,0x6e,0x74,0x0b,0x6f,0x66,0x66,0x73,0x65,0x74,0x0d, - 0x62,0x69,0x74,0x66,0x69,0x65,0x6c,0x64,0x08,0x43,0x54,0x41,0x0f,0x61,0x74,0x74, - 0x72,0x69,0x62,0x75,0x74,0x65,0x73,0x09,0x74,0x79,0x70,0x65,0x0b,0x61,0x74,0x74, - 0x72,0x69,0x62,0x09,0x6e,0x6f,0x6e,0x65,0x09,0x62,0x6e,0x6f,0x74,0x09,0x73,0x69, - 0x7a,0x65,0x05,0x0f,0x63,0x6f,0x6e,0x76,0x65,0x6e,0x74,0x69,0x6f,0x6e,0x09,0x66, - 0x75,0x6e,0x63,0x0b,0x6c,0x73,0x68,0x69,0x66,0x74,0x0e,0x61,0x6c,0x69,0x67,0x6e, - 0x6d,0x65,0x6e,0x74,0x0c,0x73,0x75,0x62,0x77,0x68,0x61,0x74,0x09,0x62,0x61,0x6e, - 0x64,0x09,0x6e,0x61,0x6d,0x65,0x0b,0x74,0x79,0x70,0x65,0x69,0x64,0x09,0x77,0x68, - 0x61,0x74,0x01,0x00,0x00,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62, - 0x6c,0x65,0x09,0x69,0x6e,0x66,0x6f,0x0b,0x72,0x73,0x68,0x69,0x66,0x74,0x08,0x74, - 0x61,0x62,0x00,0xfe,0xff,0x07,0x10,0x6b,0x00,0x02,0x05,0x02,0x05,0x01,0x11,0x51, - 0x02,0x0f,0x80,0x2b,0x02,0x00,0x00,0x37,0x02,0x00,0x02,0x37,0x03,0x01,0x01,0x36, - 0x02,0x03,0x02,0x37,0x03,0x02,0x02,0x09,0x03,0x00,0x00,0x54,0x03,0x01,0x80,0x47, - 0x00,0x01,0x00,0x2b,0x03,0x01,0x00,0x37,0x04,0x02,0x02,0x3e,0x03,0x02,0x02,0x10, - 0x01,0x03,0x00,0x37,0x03,0x03,0x01,0x06,0x03,0x04,0x00,0x54,0x03,0xf0,0x7f,0x48, - 0x01,0x02,0x00,0x05,0x80,0x0c,0xc0,0x0b,0x61,0x74,0x74,0x72,0x69,0x62,0x09,0x77, - 0x68,0x61,0x74,0x08,0x73,0x69,0x62,0x0b,0x74,0x79,0x70,0x65,0x69,0x64,0x08,0x74, - 0x61,0x62,0x00,0x83,0x01,0x00,0x01,0x04,0x03,0x05,0x00,0x15,0x37,0x01,0x00,0x00, - 0x0f,0x00,0x01,0x00,0x54,0x02,0x0e,0x80,0x51,0x01,0x0d,0x80,0x2b,0x01,0x00,0x00, - 0x37,0x02,0x00,0x00,0x37,0x02,0x01,0x02,0x0e,0x00,0x02,0x00,0x54,0x03,0x05,0x80, - 0x2b,0x02,0x01,0x00,0x37,0x02,0x02,0x02,0x37,0x03,0x03,0x00,0x36,0x02,0x03,0x02, - 0x37,0x02,0x04,0x02,0x3e,0x01,0x02,0x02,0x10,0x00,0x01,0x00,0x54,0x01,0xef,0x7f, - 0x2b,0x01,0x02,0x00,0x29,0x02,0x00,0x00,0x10,0x03,0x00,0x00,0x46,0x01,0x04,0x00, - 0x0c,0xc0,0x05,0x80,0x0d,0xc0,0x08,0x73,0x69,0x62,0x0b,0x74,0x79,0x70,0x65,0x69, - 0x64,0x08,0x74,0x61,0x62,0x0c,0x73,0x75,0x62,0x74,0x79,0x70,0x65,0x0f,0x61,0x74, - 0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x73,0x84,0x01,0x00,0x02,0x09,0x01,0x02,0x01, - 0x1b,0x34,0x02,0x00,0x00,0x10,0x03,0x01,0x00,0x3e,0x02,0x02,0x02,0x0f,0x00,0x02, - 0x00,0x54,0x03,0x0b,0x80,0x2b,0x03,0x00,0x00,0x10,0x04,0x00,0x00,0x3e,0x03,0x02, - 0x04,0x54,0x06,0x04,0x80,0x09,0x02,0x00,0x00,0x54,0x07,0x01,0x80,0x48,0x06,0x02, - 0x00,0x15,0x02,0x00,0x02,0x41,0x06,0x03,0x02,0x4e,0x06,0xfa,0x7f,0x54,0x03,0x0a, + 0x02,0x27,0x09,0x7f,0x00,0x3e,0x07,0x03,0x02,0x3a,0x07,0x0f,0x06,0x3a,0x06,0x13, + 0x05,0x2a,0x06,0x09,0x00,0x3a,0x09,0x1c,0x05,0x3a,0x08,0x1b,0x05,0x3a,0x07,0x1a, + 0x05,0x3a,0x06,0x19,0x05,0x38,0x06,0x04,0x03,0x0f,0x00,0x06,0x00,0x54,0x07,0x24, + 0x80,0x37,0x06,0x1d,0x01,0x08,0x06,0x00,0x00,0x54,0x06,0x21,0x80,0x51,0x06,0x20, + 0x80,0x2b,0x06,0x00,0x00,0x37,0x06,0x00,0x06,0x37,0x07,0x1d,0x01,0x36,0x06,0x07, + 0x06,0x2b,0x07,0x02,0x00,0x2b,0x08,0x01,0x00,0x37,0x08,0x01,0x08,0x37,0x09,0x02, + 0x06,0x27,0x0a,0x1c,0x00,0x3e,0x08,0x03,0x02,0x36,0x07,0x08,0x07,0x38,0x07,0x01, + 0x07,0x06,0x07,0x12,0x00,0x54,0x07,0x01,0x80,0x54,0x06,0x11,0x80,0x2b,0x07,0x01, + 0x00,0x37,0x07,0x08,0x07,0x37,0x08,0x02,0x06,0x28,0x09,0x01,0x00,0x3e,0x07,0x03, + 0x02,0x08,0x07,0x00,0x00,0x54,0x07,0x01,0x80,0x54,0x06,0x09,0x80,0x2b,0x07,0x07, + 0x00,0x37,0x08,0x1d,0x01,0x3e,0x07,0x02,0x02,0x10,0x09,0x07,0x00,0x37,0x08,0x15, + 0x07,0x10,0x0a,0x05,0x00,0x3e,0x08,0x03,0x01,0x10,0x01,0x06,0x00,0x54,0x06,0xdc, + 0x7f,0x48,0x05,0x02,0x00,0x05,0x80,0x01,0xc0,0x07,0xc0,0x03,0xc0,0x09,0xc0,0x0b, + 0xc0,0x08,0xc0,0x0c,0xc0,0x0a,0xc0,0x08,0x73,0x69,0x62,0x0d,0x75,0x6e,0x73,0x69, + 0x67,0x6e,0x65,0x64,0x0d,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x0a,0x63,0x6f, + 0x6e,0x73,0x74,0x09,0x62,0x6f,0x6f,0x6c,0x01,0x00,0x01,0x09,0x77,0x68,0x61,0x74, + 0x08,0x69,0x6e,0x74,0x0b,0x6f,0x66,0x66,0x73,0x65,0x74,0x0d,0x62,0x69,0x74,0x66, + 0x69,0x65,0x6c,0x64,0x08,0x43,0x54,0x41,0x0f,0x61,0x74,0x74,0x72,0x69,0x62,0x75, + 0x74,0x65,0x73,0x09,0x74,0x79,0x70,0x65,0x0b,0x61,0x74,0x74,0x72,0x69,0x62,0x09, + 0x6e,0x6f,0x6e,0x65,0x09,0x62,0x6e,0x6f,0x74,0x09,0x73,0x69,0x7a,0x65,0x05,0x0f, + 0x63,0x6f,0x6e,0x76,0x65,0x6e,0x74,0x69,0x6f,0x6e,0x09,0x66,0x75,0x6e,0x63,0x0b, + 0x6c,0x73,0x68,0x69,0x66,0x74,0x0e,0x61,0x6c,0x69,0x67,0x6e,0x6d,0x65,0x6e,0x74, + 0x0c,0x73,0x75,0x62,0x77,0x68,0x61,0x74,0x09,0x62,0x61,0x6e,0x64,0x09,0x6e,0x61, + 0x6d,0x65,0x0b,0x74,0x79,0x70,0x65,0x69,0x64,0x09,0x77,0x68,0x61,0x74,0x01,0x00, + 0x00,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x09,0x69, + 0x6e,0x66,0x6f,0x0b,0x72,0x73,0x68,0x69,0x66,0x74,0x08,0x74,0x61,0x62,0x00,0xfe, + 0xff,0x07,0x10,0x6b,0x00,0x02,0x05,0x02,0x05,0x01,0x11,0x51,0x02,0x0f,0x80,0x2b, + 0x02,0x00,0x00,0x37,0x02,0x00,0x02,0x37,0x03,0x01,0x01,0x36,0x02,0x03,0x02,0x37, + 0x03,0x02,0x02,0x09,0x03,0x00,0x00,0x54,0x03,0x01,0x80,0x47,0x00,0x01,0x00,0x2b, + 0x03,0x01,0x00,0x37,0x04,0x02,0x02,0x3e,0x03,0x02,0x02,0x10,0x01,0x03,0x00,0x37, + 0x03,0x03,0x01,0x06,0x03,0x04,0x00,0x54,0x03,0xf0,0x7f,0x48,0x01,0x02,0x00,0x05, + 0x80,0x0c,0xc0,0x0b,0x61,0x74,0x74,0x72,0x69,0x62,0x09,0x77,0x68,0x61,0x74,0x08, + 0x73,0x69,0x62,0x0b,0x74,0x79,0x70,0x65,0x69,0x64,0x08,0x74,0x61,0x62,0x00,0x83, + 0x01,0x00,0x01,0x04,0x03,0x05,0x00,0x15,0x37,0x01,0x00,0x00,0x0f,0x00,0x01,0x00, + 0x54,0x02,0x0e,0x80,0x51,0x01,0x0d,0x80,0x2b,0x01,0x00,0x00,0x37,0x02,0x00,0x00, + 0x37,0x02,0x01,0x02,0x0e,0x00,0x02,0x00,0x54,0x03,0x05,0x80,0x2b,0x02,0x01,0x00, + 0x37,0x02,0x02,0x02,0x37,0x03,0x03,0x00,0x36,0x02,0x03,0x02,0x37,0x02,0x04,0x02, + 0x3e,0x01,0x02,0x02,0x10,0x00,0x01,0x00,0x54,0x01,0xef,0x7f,0x2b,0x01,0x02,0x00, + 0x29,0x02,0x00,0x00,0x10,0x03,0x00,0x00,0x46,0x01,0x04,0x00,0x0c,0xc0,0x05,0x80, + 0x0d,0xc0,0x08,0x73,0x69,0x62,0x0b,0x74,0x79,0x70,0x65,0x69,0x64,0x08,0x74,0x61, + 0x62,0x0c,0x73,0x75,0x62,0x74,0x79,0x70,0x65,0x0f,0x61,0x74,0x74,0x72,0x69,0x62, + 0x75,0x74,0x65,0x73,0x84,0x01,0x00,0x02,0x09,0x01,0x02,0x01,0x1b,0x34,0x02,0x00, + 0x00,0x10,0x03,0x01,0x00,0x3e,0x02,0x02,0x02,0x0f,0x00,0x02,0x00,0x54,0x03,0x0b, 0x80,0x2b,0x03,0x00,0x00,0x10,0x04,0x00,0x00,0x3e,0x03,0x02,0x04,0x54,0x06,0x04, - 0x80,0x37,0x07,0x01,0x06,0x05,0x07,0x01,0x00,0x54,0x07,0x01,0x80,0x48,0x06,0x02, - 0x00,0x41,0x06,0x03,0x02,0x4e,0x06,0xfa,0x7f,0x47,0x00,0x01,0x00,0x0e,0xc0,0x09, - 0x6e,0x61,0x6d,0x65,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x02,0x3b,0x00, - 0x01,0x05,0x02,0x02,0x00,0x08,0x2b,0x01,0x00,0x00,0x34,0x02,0x00,0x00,0x2b,0x03, - 0x01,0x00,0x37,0x03,0x01,0x03,0x10,0x04,0x00,0x00,0x3e,0x03,0x02,0x00,0x3d,0x02, - 0x00,0x00,0x3f,0x01,0x00,0x00,0x0c,0xc0,0x00,0xc0,0x0b,0x74,0x79,0x70,0x65,0x6f, - 0x66,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x43,0x00,0x01,0x05,0x02,0x02, - 0x00,0x0a,0x2b,0x01,0x00,0x00,0x34,0x02,0x00,0x00,0x2b,0x03,0x01,0x00,0x37,0x03, - 0x01,0x03,0x10,0x04,0x00,0x00,0x3e,0x03,0x02,0x00,0x3d,0x02,0x00,0x02,0x12,0x02, - 0x02,0x00,0x36,0x01,0x02,0x01,0x48,0x01,0x02,0x00,0x06,0x80,0x00,0xc0,0x0b,0x74, - 0x79,0x70,0x65,0x6f,0x66,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x97,0x12, - 0x03,0x00,0x12,0x00,0x5c,0x01,0xe9,0x01,0x34,0x00,0x00,0x00,0x25,0x01,0x01,0x00, - 0x3e,0x00,0x02,0x02,0x34,0x01,0x00,0x00,0x25,0x02,0x02,0x00,0x3e,0x01,0x02,0x02, - 0x32,0x02,0x00,0x00,0x37,0x03,0x03,0x00,0x25,0x04,0x04,0x00,0x3e,0x03,0x02,0x01, - 0x31,0x03,0x05,0x00,0x31,0x04,0x06,0x00,0x29,0x05,0x00,0x00,0x34,0x06,0x07,0x00, - 0x37,0x06,0x08,0x06,0x31,0x07,0x09,0x00,0x3e,0x06,0x02,0x02,0x37,0x07,0x0a,0x00, - 0x25,0x08,0x0b,0x00,0x3e,0x07,0x02,0x02,0x37,0x08,0x0c,0x00,0x10,0x09,0x07,0x00, - 0x37,0x0a,0x0c,0x00,0x10,0x0b,0x07,0x00,0x10,0x0c,0x04,0x00,0x10,0x0d,0x06,0x00, - 0x3e,0x0c,0x02,0x00,0x3d,0x0a,0x01,0x02,0x38,0x0a,0x02,0x0a,0x3e,0x08,0x03,0x02, - 0x37,0x09,0x0c,0x00,0x25,0x0a,0x0d,0x00,0x37,0x0b,0x0c,0x00,0x25,0x0c,0x0e,0x00, - 0x25,0x0d,0x0f,0x00,0x3e,0x0b,0x03,0x00,0x3d,0x09,0x01,0x02,0x27,0x0a,0x00,0x00, - 0x34,0x0b,0x10,0x00,0x37,0x0b,0x11,0x0b,0x34,0x0c,0x12,0x00,0x36,0x0d,0x0a,0x08, - 0x1f,0x0d,0x09,0x0d,0x3e,0x0c,0x02,0x00,0x3d,0x0b,0x00,0x02,0x27,0x0c,0x40,0x00, - 0x01,0x0c,0x0b,0x00,0x54,0x0b,0x03,0x80,0x51,0x0b,0x02,0x80,0x14,0x0a,0x00,0x0a, - 0x54,0x0b,0xf3,0x7f,0x51,0x0b,0x0c,0x80,0x15,0x0a,0x00,0x0a,0x37,0x0b,0x0c,0x00, - 0x25,0x0c,0x13,0x00,0x36,0x0d,0x0a,0x08,0x3e,0x0b,0x03,0x02,0x10,0x05,0x0b,0x00, - 0x37,0x0b,0x0c,0x00,0x10,0x0c,0x07,0x00,0x37,0x0d,0x14,0x05,0x3e,0x0b,0x03,0x02, - 0x05,0x0b,0x08,0x00,0x54,0x0b,0xf3,0x7f,0x29,0x06,0x00,0x00,0x32,0x07,0x00,0x00, - 0x3b,0x07,0x00,0x07,0x37,0x08,0x0c,0x00,0x25,0x09,0x0b,0x00,0x10,0x0a,0x04,0x00, - 0x10,0x0b,0x07,0x00,0x3e,0x0a,0x02,0x00,0x3d,0x08,0x01,0x02,0x38,0x08,0x02,0x08, - 0x37,0x09,0x0c,0x00,0x25,0x0a,0x0b,0x00,0x10,0x0b,0x08,0x00,0x3e,0x09,0x03,0x02, - 0x37,0x0a,0x15,0x00,0x25,0x0b,0x16,0x00,0x3e,0x0a,0x02,0x02,0x0f,0x00,0x0a,0x00, - 0x54,0x0b,0x02,0x80,0x27,0x0a,0x00,0x00,0x54,0x0b,0x01,0x80,0x27,0x0a,0x01,0x00, - 0x37,0x0b,0x0c,0x00,0x25,0x0c,0x0d,0x00,0x37,0x0d,0x0c,0x00,0x25,0x0e,0x17,0x00, - 0x37,0x0f,0x18,0x05,0x3e,0x0d,0x03,0x00,0x3d,0x0b,0x01,0x02,0x39,0x0b,0x0a,0x09, - 0x38,0x06,0x00,0x07,0x32,0x07,0x0e,0x00,0x33,0x08,0x19,0x00,0x33,0x09,0x1a,0x00, - 0x3b,0x09,0x05,0x08,0x33,0x09,0x1b,0x00,0x3b,0x09,0x06,0x08,0x33,0x09,0x1c,0x00, - 0x3b,0x09,0x07,0x08,0x33,0x09,0x1d,0x00,0x3b,0x09,0x08,0x08,0x33,0x09,0x1e,0x00, - 0x3b,0x09,0x09,0x08,0x33,0x09,0x1f,0x00,0x3b,0x09,0x0a,0x08,0x3b,0x08,0x00,0x07, - 0x33,0x08,0x20,0x00,0x33,0x09,0x21,0x00,0x3b,0x09,0x05,0x08,0x33,0x09,0x22,0x00, - 0x3b,0x09,0x06,0x08,0x33,0x09,0x23,0x00,0x3b,0x09,0x07,0x08,0x33,0x09,0x24,0x00, - 0x3b,0x09,0x08,0x08,0x3b,0x08,0x01,0x07,0x33,0x08,0x25,0x00,0x33,0x09,0x26,0x00, - 0x3b,0x09,0x05,0x08,0x33,0x09,0x27,0x00,0x3b,0x09,0x06,0x08,0x33,0x09,0x28,0x00, - 0x3b,0x09,0x07,0x08,0x3b,0x08,0x02,0x07,0x33,0x08,0x29,0x00,0x33,0x09,0x2a,0x00, - 0x3b,0x09,0x05,0x08,0x33,0x09,0x2b,0x00,0x3b,0x09,0x06,0x08,0x33,0x09,0x2c,0x00, - 0x3b,0x09,0x07,0x08,0x33,0x09,0x2d,0x00,0x3b,0x09,0x08,0x08,0x33,0x09,0x2e,0x00, - 0x3b,0x09,0x09,0x08,0x3b,0x08,0x03,0x07,0x33,0x08,0x2f,0x00,0x33,0x09,0x30,0x00, - 0x3b,0x09,0x05,0x08,0x33,0x09,0x31,0x00,0x3b,0x09,0x06,0x08,0x3b,0x08,0x04,0x07, - 0x33,0x08,0x32,0x00,0x3b,0x08,0x05,0x07,0x33,0x08,0x33,0x00,0x33,0x09,0x34,0x00, - 0x3b,0x09,0x05,0x08,0x33,0x09,0x35,0x00,0x3b,0x09,0x06,0x08,0x3b,0x08,0x06,0x07, - 0x33,0x08,0x36,0x00,0x3b,0x08,0x07,0x07,0x33,0x08,0x37,0x00,0x3b,0x08,0x08,0x07, - 0x33,0x08,0x38,0x00,0x3b,0x08,0x09,0x07,0x33,0x08,0x39,0x00,0x33,0x09,0x3a,0x00, - 0x3b,0x09,0x05,0x08,0x33,0x09,0x3b,0x00,0x3b,0x09,0x06,0x08,0x33,0x09,0x3c,0x00, - 0x3b,0x09,0x07,0x08,0x33,0x09,0x3d,0x00,0x3b,0x09,0x08,0x08,0x3b,0x08,0x0a,0x07, - 0x33,0x08,0x3e,0x00,0x33,0x09,0x3f,0x00,0x3b,0x09,0x05,0x08,0x3b,0x08,0x0b,0x07, - 0x33,0x08,0x40,0x00,0x3b,0x08,0x0c,0x07,0x33,0x08,0x41,0x00,0x3b,0x08,0x0d,0x07, - 0x33,0x08,0x42,0x00,0x32,0x09,0x00,0x00,0x34,0x0a,0x43,0x00,0x10,0x0b,0x07,0x00, - 0x3e,0x0a,0x02,0x04,0x54,0x0d,0x05,0x80,0x38,0x0f,0x01,0x0e,0x33,0x10,0x44,0x00, - 0x32,0x11,0x00,0x00,0x3a,0x11,0x0f,0x10,0x39,0x10,0x0f,0x09,0x41,0x0d,0x03,0x03, - 0x4e,0x0d,0xf9,0x7f,0x32,0x0a,0x06,0x00,0x31,0x0b,0x45,0x00,0x3b,0x0b,0x00,0x0a, - 0x31,0x0b,0x46,0x00,0x3b,0x0b,0x01,0x0a,0x31,0x0b,0x47,0x00,0x3b,0x0b,0x02,0x0a, - 0x31,0x0b,0x48,0x00,0x3b,0x0b,0x03,0x0a,0x31,0x0b,0x49,0x00,0x3b,0x0b,0x04,0x0a, - 0x31,0x0b,0x4a,0x00,0x3b,0x0b,0x05,0x0a,0x33,0x0b,0x4b,0x00,0x31,0x0c,0x4c,0x00, - 0x31,0x0d,0x4d,0x00,0x31,0x0e,0x4e,0x00,0x37,0x0f,0x4f,0x09,0x37,0x0f,0x0f,0x0f, - 0x3a,0x0e,0x50,0x0f,0x37,0x0f,0x51,0x09,0x37,0x0f,0x0f,0x0f,0x3a,0x0e,0x52,0x0f, - 0x37,0x0f,0x53,0x09,0x37,0x0f,0x0f,0x0f,0x3a,0x0e,0x54,0x0f,0x31,0x0f,0x55,0x00, - 0x37,0x10,0x4f,0x09,0x37,0x10,0x0f,0x10,0x3a,0x0f,0x56,0x10,0x37,0x10,0x51,0x09, - 0x37,0x10,0x0f,0x10,0x3a,0x0f,0x57,0x10,0x37,0x10,0x53,0x09,0x37,0x10,0x0f,0x10, - 0x3a,0x0f,0x58,0x10,0x31,0x10,0x59,0x00,0x3a,0x10,0x0a,0x02,0x31,0x10,0x5b,0x00, - 0x3a,0x10,0x5a,0x02,0x30,0x00,0x00,0x80,0x48,0x02,0x02,0x00,0x00,0x11,0x67,0x65, - 0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x00,0x0a,0x76,0x61,0x6c,0x75, - 0x65,0x0d,0x61,0x72,0x67,0x75,0x6d,0x65,0x6e,0x74,0x0b,0x6d,0x65,0x6d,0x62,0x65, - 0x72,0x00,0x0b,0x76,0x61,0x6c,0x75,0x65,0x73,0x09,0x65,0x6e,0x75,0x6d,0x0e,0x61, - 0x72,0x67,0x75,0x6d,0x65,0x6e,0x74,0x73,0x09,0x66,0x75,0x6e,0x63,0x0c,0x6d,0x65, - 0x6d,0x62,0x65,0x72,0x73,0x0b,0x73,0x74,0x72,0x75,0x63,0x74,0x00,0x00,0x00,0x01, - 0x04,0x00,0x0a,0x63,0x64,0x65,0x63,0x6c,0x0d,0x74,0x68,0x69,0x73,0x63,0x61,0x6c, - 0x6c,0x0d,0x66,0x61,0x73,0x74,0x63,0x61,0x6c,0x6c,0x0c,0x73,0x74,0x64,0x63,0x61, - 0x6c,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x0b,0x69,0x70,0x61,0x69, - 0x72,0x73,0x01,0x00,0x04,0x11,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x5f,0x74,0x79, - 0x70,0x65,0x02,0x0f,0x76,0x61,0x6c,0x75,0x65,0x5f,0x74,0x79,0x70,0x65,0x02,0x09, - 0x74,0x79,0x70,0x65,0x02,0x10,0x72,0x65,0x74,0x75,0x72,0x6e,0x5f,0x74,0x79,0x70, - 0x65,0x02,0x01,0x04,0x00,0x00,0x07,0x6b,0x77,0x08,0x54,0x4f,0x4b,0x09,0x73,0x69, - 0x7a,0x65,0x01,0x05,0x00,0x00,0x0b,0x65,0x78,0x74,0x65,0x72,0x6e,0x08,0x43,0x49, - 0x44,0x05,0x02,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x10,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x01,0x05,0x00,0x00,0x0d,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x09, - 0x74,0x79,0x70,0x65,0x0a,0x76,0x61,0x6c,0x75,0x65,0x02,0x01,0x03,0x00,0x00,0x03, - 0x80,0x80,0x80,0x04,0x0d,0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64,0x01,0x03,0x00, - 0x00,0x03,0x80,0x80,0x80,0x08,0x0d,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x01, - 0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x10,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x01,0x03, - 0x00,0x00,0x03,0x80,0x80,0x80,0x40,0x09,0x62,0x6f,0x6f,0x6c,0x01,0x05,0x00,0x00, - 0x0d,0x62,0x69,0x74,0x66,0x69,0x65,0x6c,0x64,0x05,0x0b,0x6f,0x66,0x66,0x73,0x65, - 0x74,0x02,0x01,0x05,0x00,0x00,0x0a,0x66,0x69,0x65,0x6c,0x64,0x09,0x74,0x79,0x70, - 0x65,0x0b,0x6f,0x66,0x66,0x73,0x65,0x74,0x02,0x01,0x05,0x00,0x00,0x0b,0x61,0x74, - 0x74,0x72,0x69,0x62,0x09,0x74,0x79,0x70,0x65,0x0a,0x76,0x61,0x6c,0x75,0x65,0x02, - 0x01,0x05,0x00,0x00,0x0c,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x11,0x65,0x6c,0x65, - 0x6d,0x65,0x6e,0x74,0x5f,0x74,0x79,0x70,0x65,0x05,0x01,0x01,0x03,0x00,0x00,0x03, - 0x80,0x80,0x80,0x02,0x13,0x73,0x73,0x65,0x5f,0x72,0x65,0x67,0x5f,0x70,0x61,0x72, - 0x61,0x6d,0x73,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x04,0x0b,0x76,0x61,0x72, - 0x61,0x72,0x67,0x01,0x05,0x00,0x00,0x09,0x66,0x75,0x6e,0x63,0x10,0x72,0x65,0x74, - 0x75,0x72,0x6e,0x5f,0x74,0x79,0x70,0x65,0x0a,0x6e,0x61,0x72,0x67,0x73,0x02,0x01, - 0x05,0x00,0x00,0x09,0x65,0x6e,0x75,0x6d,0x09,0x74,0x79,0x70,0x65,0x09,0x73,0x69, - 0x7a,0x65,0x02,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x08,0x0d,0x76,0x6f,0x6c, - 0x61,0x74,0x69,0x6c,0x65,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x10,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x01,0x05,0x00,0x00,0x09,0x76,0x6f,0x69,0x64,0x05,0x09,0x73, - 0x69,0x7a,0x65,0x01,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x40,0x08,0x76,0x6c,0x61, + 0x80,0x09,0x02,0x00,0x00,0x54,0x07,0x01,0x80,0x48,0x06,0x02,0x00,0x15,0x02,0x00, + 0x02,0x41,0x06,0x03,0x02,0x4e,0x06,0xfa,0x7f,0x54,0x03,0x0a,0x80,0x2b,0x03,0x00, + 0x00,0x10,0x04,0x00,0x00,0x3e,0x03,0x02,0x04,0x54,0x06,0x04,0x80,0x37,0x07,0x01, + 0x06,0x05,0x07,0x01,0x00,0x54,0x07,0x01,0x80,0x48,0x06,0x02,0x00,0x41,0x06,0x03, + 0x02,0x4e,0x06,0xfa,0x7f,0x47,0x00,0x01,0x00,0x0e,0xc0,0x09,0x6e,0x61,0x6d,0x65, + 0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x02,0x3b,0x00,0x01,0x05,0x02,0x02, + 0x00,0x08,0x2b,0x01,0x00,0x00,0x34,0x02,0x00,0x00,0x2b,0x03,0x01,0x00,0x37,0x03, + 0x01,0x03,0x10,0x04,0x00,0x00,0x3e,0x03,0x02,0x00,0x3d,0x02,0x00,0x00,0x3f,0x01, + 0x00,0x00,0x0c,0xc0,0x00,0xc0,0x0b,0x74,0x79,0x70,0x65,0x6f,0x66,0x0d,0x74,0x6f, + 0x6e,0x75,0x6d,0x62,0x65,0x72,0x43,0x00,0x01,0x05,0x02,0x02,0x00,0x0a,0x2b,0x01, + 0x00,0x00,0x34,0x02,0x00,0x00,0x2b,0x03,0x01,0x00,0x37,0x03,0x01,0x03,0x10,0x04, + 0x00,0x00,0x3e,0x03,0x02,0x00,0x3d,0x02,0x00,0x02,0x12,0x02,0x02,0x00,0x36,0x01, + 0x02,0x01,0x48,0x01,0x02,0x00,0x06,0x80,0x00,0xc0,0x0b,0x74,0x79,0x70,0x65,0x6f, + 0x66,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x97,0x12,0x03,0x00,0x12,0x00, + 0x5c,0x01,0xe9,0x01,0x34,0x00,0x00,0x00,0x25,0x01,0x01,0x00,0x3e,0x00,0x02,0x02, + 0x34,0x01,0x00,0x00,0x25,0x02,0x02,0x00,0x3e,0x01,0x02,0x02,0x32,0x02,0x00,0x00, + 0x37,0x03,0x03,0x00,0x25,0x04,0x04,0x00,0x3e,0x03,0x02,0x01,0x31,0x03,0x05,0x00, + 0x31,0x04,0x06,0x00,0x29,0x05,0x00,0x00,0x34,0x06,0x07,0x00,0x37,0x06,0x08,0x06, + 0x31,0x07,0x09,0x00,0x3e,0x06,0x02,0x02,0x37,0x07,0x0a,0x00,0x25,0x08,0x0b,0x00, + 0x3e,0x07,0x02,0x02,0x37,0x08,0x0c,0x00,0x10,0x09,0x07,0x00,0x37,0x0a,0x0c,0x00, + 0x10,0x0b,0x07,0x00,0x10,0x0c,0x04,0x00,0x10,0x0d,0x06,0x00,0x3e,0x0c,0x02,0x00, + 0x3d,0x0a,0x01,0x02,0x38,0x0a,0x02,0x0a,0x3e,0x08,0x03,0x02,0x37,0x09,0x0c,0x00, + 0x25,0x0a,0x0d,0x00,0x37,0x0b,0x0c,0x00,0x25,0x0c,0x0e,0x00,0x25,0x0d,0x0f,0x00, + 0x3e,0x0b,0x03,0x00,0x3d,0x09,0x01,0x02,0x27,0x0a,0x00,0x00,0x34,0x0b,0x10,0x00, + 0x37,0x0b,0x11,0x0b,0x34,0x0c,0x12,0x00,0x36,0x0d,0x0a,0x08,0x1f,0x0d,0x09,0x0d, + 0x3e,0x0c,0x02,0x00,0x3d,0x0b,0x00,0x02,0x27,0x0c,0x40,0x00,0x01,0x0c,0x0b,0x00, + 0x54,0x0b,0x03,0x80,0x51,0x0b,0x02,0x80,0x14,0x0a,0x00,0x0a,0x54,0x0b,0xf3,0x7f, + 0x51,0x0b,0x0c,0x80,0x15,0x0a,0x00,0x0a,0x37,0x0b,0x0c,0x00,0x25,0x0c,0x13,0x00, + 0x36,0x0d,0x0a,0x08,0x3e,0x0b,0x03,0x02,0x10,0x05,0x0b,0x00,0x37,0x0b,0x0c,0x00, + 0x10,0x0c,0x07,0x00,0x37,0x0d,0x14,0x05,0x3e,0x0b,0x03,0x02,0x05,0x0b,0x08,0x00, + 0x54,0x0b,0xf3,0x7f,0x29,0x06,0x00,0x00,0x32,0x07,0x00,0x00,0x3b,0x07,0x00,0x07, + 0x37,0x08,0x0c,0x00,0x25,0x09,0x0b,0x00,0x10,0x0a,0x04,0x00,0x10,0x0b,0x07,0x00, + 0x3e,0x0a,0x02,0x00,0x3d,0x08,0x01,0x02,0x38,0x08,0x02,0x08,0x37,0x09,0x0c,0x00, + 0x25,0x0a,0x0b,0x00,0x10,0x0b,0x08,0x00,0x3e,0x09,0x03,0x02,0x37,0x0a,0x15,0x00, + 0x25,0x0b,0x16,0x00,0x3e,0x0a,0x02,0x02,0x0f,0x00,0x0a,0x00,0x54,0x0b,0x02,0x80, + 0x27,0x0a,0x00,0x00,0x54,0x0b,0x01,0x80,0x27,0x0a,0x01,0x00,0x37,0x0b,0x0c,0x00, + 0x25,0x0c,0x0d,0x00,0x37,0x0d,0x0c,0x00,0x25,0x0e,0x17,0x00,0x37,0x0f,0x18,0x05, + 0x3e,0x0d,0x03,0x00,0x3d,0x0b,0x01,0x02,0x39,0x0b,0x0a,0x09,0x38,0x06,0x00,0x07, + 0x32,0x07,0x0e,0x00,0x33,0x08,0x19,0x00,0x33,0x09,0x1a,0x00,0x3b,0x09,0x05,0x08, + 0x33,0x09,0x1b,0x00,0x3b,0x09,0x06,0x08,0x33,0x09,0x1c,0x00,0x3b,0x09,0x07,0x08, + 0x33,0x09,0x1d,0x00,0x3b,0x09,0x08,0x08,0x33,0x09,0x1e,0x00,0x3b,0x09,0x09,0x08, + 0x33,0x09,0x1f,0x00,0x3b,0x09,0x0a,0x08,0x3b,0x08,0x00,0x07,0x33,0x08,0x20,0x00, + 0x33,0x09,0x21,0x00,0x3b,0x09,0x05,0x08,0x33,0x09,0x22,0x00,0x3b,0x09,0x06,0x08, + 0x33,0x09,0x23,0x00,0x3b,0x09,0x07,0x08,0x33,0x09,0x24,0x00,0x3b,0x09,0x08,0x08, + 0x3b,0x08,0x01,0x07,0x33,0x08,0x25,0x00,0x33,0x09,0x26,0x00,0x3b,0x09,0x05,0x08, + 0x33,0x09,0x27,0x00,0x3b,0x09,0x06,0x08,0x33,0x09,0x28,0x00,0x3b,0x09,0x07,0x08, + 0x3b,0x08,0x02,0x07,0x33,0x08,0x29,0x00,0x33,0x09,0x2a,0x00,0x3b,0x09,0x05,0x08, + 0x33,0x09,0x2b,0x00,0x3b,0x09,0x06,0x08,0x33,0x09,0x2c,0x00,0x3b,0x09,0x07,0x08, + 0x33,0x09,0x2d,0x00,0x3b,0x09,0x08,0x08,0x33,0x09,0x2e,0x00,0x3b,0x09,0x09,0x08, + 0x3b,0x08,0x03,0x07,0x33,0x08,0x2f,0x00,0x33,0x09,0x30,0x00,0x3b,0x09,0x05,0x08, + 0x33,0x09,0x31,0x00,0x3b,0x09,0x06,0x08,0x3b,0x08,0x04,0x07,0x33,0x08,0x32,0x00, + 0x3b,0x08,0x05,0x07,0x33,0x08,0x33,0x00,0x33,0x09,0x34,0x00,0x3b,0x09,0x05,0x08, + 0x33,0x09,0x35,0x00,0x3b,0x09,0x06,0x08,0x3b,0x08,0x06,0x07,0x33,0x08,0x36,0x00, + 0x3b,0x08,0x07,0x07,0x33,0x08,0x37,0x00,0x3b,0x08,0x08,0x07,0x33,0x08,0x38,0x00, + 0x3b,0x08,0x09,0x07,0x33,0x08,0x39,0x00,0x33,0x09,0x3a,0x00,0x3b,0x09,0x05,0x08, + 0x33,0x09,0x3b,0x00,0x3b,0x09,0x06,0x08,0x33,0x09,0x3c,0x00,0x3b,0x09,0x07,0x08, + 0x33,0x09,0x3d,0x00,0x3b,0x09,0x08,0x08,0x3b,0x08,0x0a,0x07,0x33,0x08,0x3e,0x00, + 0x33,0x09,0x3f,0x00,0x3b,0x09,0x05,0x08,0x3b,0x08,0x0b,0x07,0x33,0x08,0x40,0x00, + 0x3b,0x08,0x0c,0x07,0x33,0x08,0x41,0x00,0x3b,0x08,0x0d,0x07,0x33,0x08,0x42,0x00, + 0x32,0x09,0x00,0x00,0x34,0x0a,0x43,0x00,0x10,0x0b,0x07,0x00,0x3e,0x0a,0x02,0x04, + 0x54,0x0d,0x05,0x80,0x38,0x0f,0x01,0x0e,0x33,0x10,0x44,0x00,0x32,0x11,0x00,0x00, + 0x3a,0x11,0x0f,0x10,0x39,0x10,0x0f,0x09,0x41,0x0d,0x03,0x03,0x4e,0x0d,0xf9,0x7f, + 0x32,0x0a,0x06,0x00,0x31,0x0b,0x45,0x00,0x3b,0x0b,0x00,0x0a,0x31,0x0b,0x46,0x00, + 0x3b,0x0b,0x01,0x0a,0x31,0x0b,0x47,0x00,0x3b,0x0b,0x02,0x0a,0x31,0x0b,0x48,0x00, + 0x3b,0x0b,0x03,0x0a,0x31,0x0b,0x49,0x00,0x3b,0x0b,0x04,0x0a,0x31,0x0b,0x4a,0x00, + 0x3b,0x0b,0x05,0x0a,0x33,0x0b,0x4b,0x00,0x31,0x0c,0x4c,0x00,0x31,0x0d,0x4d,0x00, + 0x31,0x0e,0x4e,0x00,0x37,0x0f,0x4f,0x09,0x37,0x0f,0x0f,0x0f,0x3a,0x0e,0x50,0x0f, + 0x37,0x0f,0x51,0x09,0x37,0x0f,0x0f,0x0f,0x3a,0x0e,0x52,0x0f,0x37,0x0f,0x53,0x09, + 0x37,0x0f,0x0f,0x0f,0x3a,0x0e,0x54,0x0f,0x31,0x0f,0x55,0x00,0x37,0x10,0x4f,0x09, + 0x37,0x10,0x0f,0x10,0x3a,0x0f,0x56,0x10,0x37,0x10,0x51,0x09,0x37,0x10,0x0f,0x10, + 0x3a,0x0f,0x57,0x10,0x37,0x10,0x53,0x09,0x37,0x10,0x0f,0x10,0x3a,0x0f,0x58,0x10, + 0x31,0x10,0x59,0x00,0x3a,0x10,0x0a,0x02,0x31,0x10,0x5b,0x00,0x3a,0x10,0x5a,0x02, + 0x30,0x00,0x00,0x80,0x48,0x02,0x02,0x00,0x00,0x11,0x67,0x65,0x74,0x6d,0x65,0x74, + 0x61,0x74,0x61,0x62,0x6c,0x65,0x00,0x0a,0x76,0x61,0x6c,0x75,0x65,0x0d,0x61,0x72, + 0x67,0x75,0x6d,0x65,0x6e,0x74,0x0b,0x6d,0x65,0x6d,0x62,0x65,0x72,0x00,0x0b,0x76, + 0x61,0x6c,0x75,0x65,0x73,0x09,0x65,0x6e,0x75,0x6d,0x0e,0x61,0x72,0x67,0x75,0x6d, + 0x65,0x6e,0x74,0x73,0x09,0x66,0x75,0x6e,0x63,0x0c,0x6d,0x65,0x6d,0x62,0x65,0x72, + 0x73,0x0b,0x73,0x74,0x72,0x75,0x63,0x74,0x00,0x00,0x00,0x01,0x04,0x00,0x0a,0x63, + 0x64,0x65,0x63,0x6c,0x0d,0x74,0x68,0x69,0x73,0x63,0x61,0x6c,0x6c,0x0d,0x66,0x61, + 0x73,0x74,0x63,0x61,0x6c,0x6c,0x0c,0x73,0x74,0x64,0x63,0x61,0x6c,0x6c,0x00,0x00, + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x0b,0x69,0x70,0x61,0x69,0x72,0x73,0x01,0x00, + 0x04,0x11,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74,0x5f,0x74,0x79,0x70,0x65,0x02,0x0f, + 0x76,0x61,0x6c,0x75,0x65,0x5f,0x74,0x79,0x70,0x65,0x02,0x09,0x74,0x79,0x70,0x65, + 0x02,0x10,0x72,0x65,0x74,0x75,0x72,0x6e,0x5f,0x74,0x79,0x70,0x65,0x02,0x01,0x04, + 0x00,0x00,0x07,0x6b,0x77,0x08,0x54,0x4f,0x4b,0x09,0x73,0x69,0x7a,0x65,0x01,0x05, + 0x00,0x00,0x0b,0x65,0x78,0x74,0x65,0x72,0x6e,0x08,0x43,0x49,0x44,0x05,0x02,0x01, + 0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x10,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x01,0x05, + 0x00,0x00,0x0d,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x09,0x74,0x79,0x70,0x65, + 0x0a,0x76,0x61,0x6c,0x75,0x65,0x02,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x04, + 0x0d,0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64,0x01,0x03,0x00,0x00,0x03,0x80,0x80, + 0x80,0x08,0x0d,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x01,0x03,0x00,0x00,0x03, + 0x80,0x80,0x80,0x10,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x01,0x03,0x00,0x00,0x03,0x80, + 0x80,0x80,0x40,0x09,0x62,0x6f,0x6f,0x6c,0x01,0x05,0x00,0x00,0x0d,0x62,0x69,0x74, + 0x66,0x69,0x65,0x6c,0x64,0x05,0x0b,0x6f,0x66,0x66,0x73,0x65,0x74,0x02,0x01,0x05, + 0x00,0x00,0x0a,0x66,0x69,0x65,0x6c,0x64,0x09,0x74,0x79,0x70,0x65,0x0b,0x6f,0x66, + 0x66,0x73,0x65,0x74,0x02,0x01,0x05,0x00,0x00,0x0b,0x61,0x74,0x74,0x72,0x69,0x62, + 0x09,0x74,0x79,0x70,0x65,0x0a,0x76,0x61,0x6c,0x75,0x65,0x02,0x01,0x05,0x00,0x00, + 0x0c,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x11,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74, + 0x5f,0x74,0x79,0x70,0x65,0x05,0x01,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x02, + 0x13,0x73,0x73,0x65,0x5f,0x72,0x65,0x67,0x5f,0x70,0x61,0x72,0x61,0x6d,0x73,0x01, + 0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x04,0x0b,0x76,0x61,0x72,0x61,0x72,0x67,0x01, + 0x05,0x00,0x00,0x09,0x66,0x75,0x6e,0x63,0x10,0x72,0x65,0x74,0x75,0x72,0x6e,0x5f, + 0x74,0x79,0x70,0x65,0x0a,0x6e,0x61,0x72,0x67,0x73,0x02,0x01,0x05,0x00,0x00,0x09, + 0x65,0x6e,0x75,0x6d,0x09,0x74,0x79,0x70,0x65,0x09,0x73,0x69,0x7a,0x65,0x02,0x01, + 0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x08,0x0d,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c, + 0x65,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x10,0x0a,0x63,0x6f,0x6e,0x73,0x74, + 0x01,0x05,0x00,0x00,0x09,0x76,0x6f,0x69,0x64,0x05,0x09,0x73,0x69,0x7a,0x65,0x01, + 0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x40,0x08,0x76,0x6c,0x61,0x01,0x03,0x00,0x00, + 0x03,0x80,0x80,0x80,0x08,0x0d,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x01,0x03, + 0x00,0x00,0x03,0x80,0x80,0x80,0x10,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x01,0x03,0x00, + 0x00,0x03,0x80,0x80,0x80,0x20,0x0c,0x63,0x6f,0x6d,0x70,0x6c,0x65,0x78,0x01,0x03, + 0x00,0x00,0x03,0x80,0x80,0x80,0x40,0x0b,0x76,0x65,0x63,0x74,0x6f,0x72,0x01,0x05, + 0x00,0x00,0x0a,0x61,0x72,0x72,0x61,0x79,0x11,0x65,0x6c,0x65,0x6d,0x65,0x6e,0x74, + 0x5f,0x74,0x79,0x70,0x65,0x09,0x73,0x69,0x7a,0x65,0x01,0x01,0x04,0x00,0x00,0x03, + 0x80,0x80,0x80,0x04,0x08,0x72,0x65,0x66,0x0c,0x73,0x75,0x62,0x77,0x68,0x61,0x74, 0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x08,0x0d,0x76,0x6f,0x6c,0x61,0x74,0x69, 0x6c,0x65,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x10,0x0a,0x63,0x6f,0x6e,0x73, - 0x74,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x20,0x0c,0x63,0x6f,0x6d,0x70,0x6c, - 0x65,0x78,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x40,0x0b,0x76,0x65,0x63,0x74, - 0x6f,0x72,0x01,0x05,0x00,0x00,0x0a,0x61,0x72,0x72,0x61,0x79,0x11,0x65,0x6c,0x65, - 0x6d,0x65,0x6e,0x74,0x5f,0x74,0x79,0x70,0x65,0x09,0x73,0x69,0x7a,0x65,0x01,0x01, - 0x04,0x00,0x00,0x03,0x80,0x80,0x80,0x04,0x08,0x72,0x65,0x66,0x0c,0x73,0x75,0x62, - 0x77,0x68,0x61,0x74,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x08,0x0d,0x76,0x6f, - 0x6c,0x61,0x74,0x69,0x6c,0x65,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x10,0x0a, - 0x63,0x6f,0x6e,0x73,0x74,0x01,0x05,0x00,0x00,0x08,0x70,0x74,0x72,0x11,0x65,0x6c, - 0x65,0x6d,0x65,0x6e,0x74,0x5f,0x74,0x79,0x70,0x65,0x09,0x73,0x69,0x7a,0x65,0x01, - 0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x40,0x08,0x76,0x6c,0x61,0x01,0x04,0x00,0x00, - 0x03,0x80,0x80,0x80,0x04,0x0a,0x75,0x6e,0x69,0x6f,0x6e,0x0c,0x73,0x75,0x62,0x77, - 0x68,0x61,0x74,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x08,0x0d,0x76,0x6f,0x6c, - 0x61,0x74,0x69,0x6c,0x65,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x10,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x01,0x05,0x00,0x00,0x0b,0x73,0x74,0x72,0x75,0x63,0x74,0x05, - 0x09,0x73,0x69,0x7a,0x65,0x02,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x02,0x09, - 0x6c,0x6f,0x6e,0x67,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x04,0x0d,0x75,0x6e, - 0x73,0x69,0x67,0x6e,0x65,0x64,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x08,0x0d, - 0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80, - 0x10,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x01,0x04,0x00,0x00,0x03,0x80,0x80,0x80,0x20, - 0x0a,0x66,0x6c,0x6f,0x61,0x74,0x0c,0x73,0x75,0x62,0x77,0x68,0x61,0x74,0x01,0x03, - 0x00,0x00,0x03,0x80,0x80,0x80,0x40,0x09,0x62,0x6f,0x6f,0x6c,0x01,0x05,0x00,0x00, - 0x08,0x69,0x6e,0x74,0x05,0x09,0x73,0x69,0x7a,0x65,0x01,0x0c,0x6d,0x69,0x73,0x63, - 0x6d,0x61,0x70,0x0e,0x75,0x69,0x6e,0x74,0x70,0x74,0x72,0x5f,0x74,0x07,0x6c,0x65, - 0x08,0x61,0x62,0x69,0x06,0x67,0x0d,0x43,0x54,0x53,0x74,0x61,0x74,0x65,0x2a,0x0d, - 0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x08,0x61,0x62,0x73,0x09,0x6d,0x61,0x74, - 0x68,0x0c,0x5f,0x5f,0x69,0x6e,0x64,0x65,0x78,0x10,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x63,0x68,0x61,0x72,0x2a,0x0d,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x09,0x63, - 0x61,0x73,0x74,0x0e,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x0b,0x74,0x79, - 0x70,0x65,0x6f,0x66,0x00,0x0b,0x63,0x72,0x65,0x61,0x74,0x65,0x0e,0x63,0x6f,0x72, - 0x6f,0x75,0x74,0x69,0x6e,0x65,0x00,0x00,0xac,0x02,0x20,0x20,0x74,0x79,0x70,0x65, - 0x64,0x65,0x66,0x20,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x43,0x54,0x79,0x70,0x65, - 0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, - 0x69,0x6e,0x66,0x6f,0x3b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69,0x6e,0x74,0x33,0x32, - 0x5f,0x74,0x20,0x73,0x69,0x7a,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69,0x6e, - 0x74,0x31,0x36,0x5f,0x74,0x20,0x73,0x69,0x62,0x3b,0x0a,0x20,0x20,0x20,0x20,0x75, - 0x69,0x6e,0x74,0x31,0x36,0x5f,0x74,0x20,0x6e,0x65,0x78,0x74,0x3b,0x0a,0x20,0x20, - 0x20,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x61,0x6d,0x65,0x3b, - 0x0a,0x20,0x20,0x7d,0x20,0x43,0x54,0x79,0x70,0x65,0x3b,0x0a,0x20,0x20,0x0a,0x20, - 0x20,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x73,0x74,0x72,0x75,0x63,0x74,0x20, - 0x43,0x54,0x53,0x74,0x61,0x74,0x65,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x43,0x54, - 0x79,0x70,0x65,0x20,0x2a,0x74,0x61,0x62,0x3b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69, - 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x6f,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x69,0x7a,0x65,0x74,0x61,0x62, - 0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x6f,0x69,0x64,0x20,0x2a,0x4c,0x3b,0x0a,0x20, - 0x20,0x20,0x20,0x76,0x6f,0x69,0x64,0x20,0x2a,0x67,0x3b,0x0a,0x20,0x20,0x20,0x20, - 0x76,0x6f,0x69,0x64,0x20,0x2a,0x66,0x69,0x6e,0x61,0x6c,0x69,0x7a,0x65,0x72,0x3b, - 0x0a,0x20,0x20,0x20,0x20,0x76,0x6f,0x69,0x64,0x20,0x2a,0x6d,0x69,0x73,0x63,0x6d, - 0x61,0x70,0x3b,0x0a,0x20,0x20,0x7d,0x20,0x43,0x54,0x53,0x74,0x61,0x74,0x65,0x3b, - 0x0a,0x09,0x63,0x64,0x65,0x66,0x08,0x62,0x69,0x74,0x08,0x66,0x66,0x69,0x0c,0x72, - 0x65,0x71,0x75,0x69,0x72,0x65,0x02,0x6f,0x00,0x02,0x0a,0x00,0x06,0x00,0x13,0x32, - 0x02,0x00,0x00,0x10,0x04,0x00,0x00,0x37,0x03,0x00,0x00,0x25,0x05,0x01,0x00,0x0c, - 0x06,0x01,0x00,0x54,0x06,0x01,0x80,0x25,0x06,0x02,0x00,0x25,0x07,0x03,0x00,0x24, - 0x05,0x07,0x05,0x3e,0x03,0x03,0x04,0x54,0x06,0x05,0x80,0x34,0x07,0x04,0x00,0x37, - 0x07,0x05,0x07,0x10,0x08,0x02,0x00,0x10,0x09,0x06,0x00,0x3e,0x07,0x03,0x01,0x41, - 0x06,0x03,0x02,0x4e,0x06,0xf9,0x7f,0x48,0x02,0x02,0x00,0x0b,0x69,0x6e,0x73,0x65, - 0x72,0x74,0x0a,0x74,0x61,0x62,0x6c,0x65,0x07,0x5d,0x2b,0x06,0x2f,0x07,0x5b,0x5e, - 0x0b,0x67,0x6d,0x61,0x74,0x63,0x68,0x40,0x00,0x01,0x08,0x00,0x02,0x00,0x0b,0x32, - 0x01,0x00,0x00,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x25,0x04,0x01,0x00,0x3e, - 0x02,0x03,0x04,0x54,0x05,0x02,0x80,0x29,0x06,0x02,0x00,0x39,0x06,0x05,0x01,0x41, - 0x05,0x03,0x02,0x4e,0x05,0xfc,0x7f,0x48,0x01,0x02,0x00,0x0a,0x5b,0x5e,0x3b,0x5d, - 0x2b,0x0b,0x67,0x6d,0x61,0x74,0x63,0x68,0xe0,0x01,0x00,0x01,0x0b,0x01,0x04,0x01, - 0x2e,0x10,0x02,0x00,0x00,0x37,0x01,0x00,0x00,0x27,0x03,0x01,0x00,0x27,0x04,0x06, - 0x00,0x3e,0x01,0x04,0x02,0x07,0x01,0x01,0x00,0x54,0x01,0x06,0x80,0x10,0x02,0x00, - 0x00,0x37,0x01,0x00,0x00,0x27,0x03,0x08,0x00,0x3e,0x01,0x03,0x02,0x10,0x00,0x01, - 0x00,0x54,0x01,0x20,0x80,0x2b,0x01,0x00,0x00,0x37,0x01,0x02,0x01,0x0f,0x00,0x01, - 0x00,0x54,0x02,0x1c,0x80,0x34,0x01,0x03,0x00,0x2b,0x02,0x00,0x00,0x37,0x02,0x02, - 0x02,0x3e,0x01,0x02,0x04,0x44,0x04,0x15,0x80,0x13,0x06,0x00,0x00,0x13,0x07,0x04, - 0x00,0x01,0x07,0x06,0x00,0x54,0x06,0x11,0x80,0x2b,0x06,0x00,0x00,0x37,0x06,0x02, - 0x06,0x10,0x08,0x00,0x00,0x37,0x07,0x00,0x00,0x27,0x09,0x01,0x00,0x13,0x0a,0x04, - 0x00,0x3e,0x07,0x04,0x02,0x36,0x06,0x07,0x06,0x0f,0x00,0x06,0x00,0x54,0x07,0x07, - 0x80,0x10,0x07,0x00,0x00,0x37,0x06,0x00,0x00,0x13,0x08,0x04,0x00,0x14,0x08,0x00, - 0x08,0x3e,0x06,0x03,0x02,0x10,0x00,0x06,0x00,0x54,0x01,0x02,0x80,0x42,0x04,0x03, - 0x03,0x4e,0x04,0xe9,0x7f,0x48,0x00,0x02,0x00,0x02,0xc0,0x0a,0x70,0x61,0x69,0x72, - 0x73,0x11,0x73,0x65,0x61,0x72,0x63,0x68,0x5f,0x70,0x61,0x74,0x68,0x73,0x0b,0x61, - 0x73,0x73,0x65,0x74,0x73,0x08,0x73,0x75,0x62,0x02,0xa5,0x01,0x00,0x01,0x0b,0x01, - 0x03,0x01,0x21,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x0f,0x00,0x01,0x00,0x54, - 0x02,0x1c,0x80,0x34,0x01,0x01,0x00,0x2b,0x02,0x00,0x00,0x37,0x02,0x00,0x02,0x3e, - 0x01,0x02,0x04,0x44,0x04,0x15,0x80,0x13,0x06,0x00,0x00,0x13,0x07,0x04,0x00,0x01, - 0x07,0x06,0x00,0x54,0x06,0x11,0x80,0x2b,0x06,0x00,0x00,0x37,0x06,0x00,0x06,0x10, - 0x08,0x00,0x00,0x37,0x07,0x02,0x00,0x27,0x09,0x01,0x00,0x13,0x0a,0x04,0x00,0x3e, - 0x07,0x04,0x02,0x36,0x06,0x07,0x06,0x0f,0x00,0x06,0x00,0x54,0x07,0x07,0x80,0x10, - 0x07,0x00,0x00,0x37,0x06,0x02,0x00,0x13,0x08,0x04,0x00,0x14,0x08,0x00,0x08,0x3e, - 0x06,0x03,0x02,0x10,0x00,0x06,0x00,0x54,0x01,0x02,0x80,0x42,0x04,0x03,0x03,0x4e, - 0x04,0xe9,0x7f,0x48,0x00,0x02,0x00,0x02,0xc0,0x08,0x73,0x75,0x62,0x0a,0x70,0x61, - 0x69,0x72,0x73,0x11,0x73,0x65,0x61,0x72,0x63,0x68,0x5f,0x70,0x61,0x74,0x68,0x73, - 0x02,0xa5,0x01,0x00,0x01,0x0b,0x01,0x03,0x01,0x21,0x2b,0x01,0x00,0x00,0x37,0x01, - 0x00,0x01,0x0f,0x00,0x01,0x00,0x54,0x02,0x1c,0x80,0x34,0x01,0x01,0x00,0x2b,0x02, - 0x00,0x00,0x37,0x02,0x00,0x02,0x3e,0x01,0x02,0x04,0x44,0x04,0x15,0x80,0x13,0x06, - 0x00,0x00,0x13,0x07,0x04,0x00,0x01,0x07,0x06,0x00,0x54,0x06,0x11,0x80,0x2b,0x06, - 0x00,0x00,0x37,0x06,0x00,0x06,0x10,0x08,0x00,0x00,0x37,0x07,0x02,0x00,0x27,0x09, - 0x01,0x00,0x13,0x0a,0x04,0x00,0x3e,0x07,0x04,0x02,0x36,0x06,0x07,0x06,0x0f,0x00, - 0x06,0x00,0x54,0x07,0x07,0x80,0x10,0x07,0x00,0x00,0x37,0x06,0x02,0x00,0x13,0x08, - 0x04,0x00,0x14,0x08,0x00,0x08,0x3e,0x06,0x03,0x02,0x10,0x00,0x06,0x00,0x54,0x01, - 0x02,0x80,0x42,0x04,0x03,0x03,0x4e,0x04,0xe9,0x7f,0x48,0x00,0x02,0x00,0x02,0xc0, - 0x08,0x73,0x75,0x62,0x0a,0x70,0x61,0x69,0x72,0x73,0x11,0x73,0x65,0x61,0x72,0x63, - 0x68,0x5f,0x70,0x61,0x74,0x68,0x73,0x02,0xda,0x02,0x00,0x01,0x06,0x05,0x09,0x01, - 0x43,0x29,0x01,0x00,0x00,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x27,0x04,0x01, - 0x00,0x27,0x05,0x01,0x00,0x3e,0x02,0x04,0x02,0x07,0x02,0x01,0x00,0x54,0x02,0x15, - 0x80,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x27,0x04,0x02,0x00,0x3e,0x02,0x03, - 0x02,0x2b,0x03,0x00,0x00,0x37,0x03,0x02,0x03,0x0f,0x00,0x03,0x00,0x54,0x04,0x04, - 0x80,0x2b,0x03,0x01,0x00,0x10,0x04,0x02,0x00,0x3e,0x03,0x02,0x02,0x10,0x02,0x03, - 0x00,0x2b,0x03,0x00,0x00,0x37,0x03,0x03,0x03,0x10,0x04,0x02,0x00,0x3e,0x03,0x02, - 0x02,0x2b,0x04,0x00,0x00,0x37,0x04,0x04,0x04,0x10,0x05,0x03,0x00,0x40,0x04,0x02, - 0x00,0x54,0x02,0x25,0x80,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x13,0x04,0x00, - 0x00,0x15,0x04,0x00,0x04,0x27,0x05,0xff,0xff,0x3e,0x02,0x04,0x02,0x10,0x03,0x02, - 0x00,0x37,0x02,0x05,0x02,0x3e,0x02,0x02,0x02,0x07,0x02,0x06,0x00,0x54,0x02,0x18, - 0x80,0x2b,0x02,0x02,0x00,0x07,0x02,0x07,0x00,0x54,0x02,0x05,0x80,0x2b,0x02,0x03, - 0x00,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x02,0x10,0x00,0x02,0x00,0x54,0x02,0x07, - 0x80,0x2b,0x02,0x02,0x00,0x07,0x02,0x08,0x00,0x54,0x02,0x04,0x80,0x2b,0x02,0x04, - 0x00,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x02,0x10,0x00,0x02,0x00,0x2b,0x02,0x00, - 0x00,0x37,0x02,0x03,0x02,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x02,0x2b,0x03,0x00, - 0x00,0x37,0x03,0x04,0x03,0x10,0x04,0x02,0x00,0x40,0x03,0x02,0x00,0x54,0x02,0x02, - 0x80,0x29,0x02,0x01,0x00,0x48,0x02,0x02,0x00,0x47,0x00,0x01,0x00,0x02,0xc0,0x09, - 0xc0,0x03,0x80,0x07,0xc0,0x08,0xc0,0x08,0x69,0x6f,0x73,0x0c,0x61,0x6e,0x64,0x72, - 0x6f,0x69,0x64,0x09,0x2e,0x6c,0x75,0x61,0x0a,0x6c,0x6f,0x77,0x65,0x72,0x10,0x74, - 0x6f,0x5f,0x66,0x69,0x6c,0x65,0x5f,0x75,0x72,0x69,0x0e,0x6e,0x6f,0x72,0x6d,0x61, - 0x6c,0x69,0x7a,0x65,0x0d,0x62,0x61,0x73,0x65,0x5f,0x64,0x69,0x72,0x06,0x40,0x08, - 0x73,0x75,0x62,0x06,0x19,0x00,0x01,0x03,0x00,0x01,0x00,0x04,0x25,0x01,0x00,0x00, - 0x10,0x02,0x00,0x00,0x24,0x01,0x02,0x01,0x48,0x01,0x02,0x00,0x06,0x25,0x98,0x04, - 0x01,0x01,0x12,0x02,0x16,0x00,0x5e,0x10,0x02,0x00,0x00,0x37,0x01,0x00,0x00,0x27, - 0x03,0x01,0x00,0x27,0x04,0x01,0x00,0x3e,0x01,0x04,0x02,0x07,0x01,0x01,0x00,0x54, - 0x01,0x54,0x80,0x29,0x01,0x00,0x00,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x27, - 0x04,0x02,0x00,0x3e,0x02,0x03,0x02,0x2b,0x03,0x00,0x00,0x37,0x03,0x02,0x03,0x10, - 0x04,0x02,0x00,0x3e,0x03,0x02,0x02,0x2b,0x04,0x01,0x00,0x34,0x05,0x03,0x00,0x37, - 0x05,0x04,0x05,0x25,0x06,0x05,0x00,0x3e,0x04,0x03,0x02,0x2b,0x05,0x00,0x00,0x37, - 0x05,0x06,0x05,0x10,0x06,0x02,0x00,0x3e,0x05,0x02,0x02,0x34,0x06,0x07,0x00,0x37, - 0x06,0x08,0x06,0x10,0x07,0x04,0x00,0x25,0x08,0x09,0x00,0x3e,0x06,0x03,0x01,0x34, - 0x06,0x0a,0x00,0x10,0x07,0x04,0x00,0x3e,0x06,0x02,0x04,0x54,0x09,0x30,0x80,0x2b, - 0x0b,0x00,0x00,0x37,0x0b,0x06,0x0b,0x10,0x0c,0x0a,0x00,0x3e,0x0b,0x02,0x02,0x05, - 0x0b,0x05,0x00,0x54,0x0b,0x2a,0x80,0x34,0x0b,0x0b,0x00,0x37,0x0b,0x0c,0x0b,0x2b, - 0x0c,0x00,0x00,0x37,0x0c,0x02,0x0c,0x10,0x0d,0x0a,0x00,0x3e,0x0c,0x02,0x02,0x25, - 0x0d,0x0d,0x00,0x31,0x0e,0x0e,0x00,0x3e,0x0b,0x04,0x02,0x34,0x0c,0x0b,0x00,0x37, - 0x0c,0x0c,0x0c,0x10,0x0d,0x0b,0x00,0x25,0x0e,0x0f,0x00,0x25,0x0f,0x10,0x00,0x3e, - 0x0c,0x04,0x02,0x34,0x0d,0x0b,0x00,0x37,0x0d,0x11,0x0d,0x10,0x0e,0x03,0x00,0x10, - 0x0f,0x0c,0x00,0x3e,0x0d,0x03,0x02,0x0f,0x00,0x0d,0x00,0x54,0x0e,0x14,0x80,0x34, - 0x0e,0x0b,0x00,0x37,0x0e,0x0c,0x0e,0x10,0x0f,0x0d,0x00,0x25,0x10,0x12,0x00,0x25, - 0x11,0x13,0x00,0x3e,0x0e,0x04,0x02,0x10,0x0d,0x0e,0x00,0x0f,0x00,0x01,0x00,0x54, - 0x0e,0x0a,0x80,0x34,0x0e,0x0b,0x00,0x37,0x0e,0x14,0x0e,0x10,0x0f,0x01,0x00,0x3e, - 0x0e,0x02,0x02,0x34,0x0f,0x0b,0x00,0x37,0x0f,0x14,0x0f,0x10,0x10,0x0d,0x00,0x3e, - 0x0f,0x02,0x02,0x01,0x0f,0x0e,0x00,0x54,0x0e,0x01,0x80,0x10,0x01,0x0d,0x00,0x41, - 0x09,0x03,0x03,0x4e,0x09,0xce,0x7f,0x0f,0x00,0x01,0x00,0x54,0x06,0x05,0x80,0x25, - 0x06,0x15,0x00,0x10,0x07,0x01,0x00,0x24,0x06,0x07,0x06,0x30,0x00,0x00,0x80,0x48, - 0x06,0x02,0x00,0x29,0x01,0x01,0x00,0x30,0x00,0x00,0x80,0x48,0x01,0x02,0x00,0x02, - 0xc0,0x05,0xc0,0x0f,0x6d,0x6f,0x64,0x75,0x6c,0x65,0x3a,0x2f,0x2f,0x2f,0x08,0x6c, - 0x65,0x6e,0x06,0x2e,0x06,0x2f,0x0a,0x6d,0x61,0x74,0x63,0x68,0x09,0x28,0x2e,0x2b, - 0x29,0x09,0x25,0x25,0x25,0x3f,0x00,0x1f,0x5b,0x25,0x5e,0x25,0x24,0x25,0x28,0x25, - 0x29,0x25,0x25,0x25,0x2e,0x25,0x5b,0x25,0x5d,0x25,0x2a,0x25,0x2b,0x25,0x2d,0x25, - 0x3f,0x5d,0x09,0x67,0x73,0x75,0x62,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x0b,0x69, - 0x70,0x61,0x69,0x72,0x73,0x0a,0x3f,0x2e,0x6c,0x75,0x61,0x0b,0x69,0x6e,0x73,0x65, - 0x72,0x74,0x0a,0x74,0x61,0x62,0x6c,0x65,0x15,0x69,0x73,0x5f,0x70,0x61,0x74,0x68, - 0x5f,0x61,0x62,0x73,0x6f,0x6c,0x75,0x74,0x65,0x06,0x3b,0x09,0x70,0x61,0x74,0x68, - 0x0c,0x70,0x61,0x63,0x6b,0x61,0x67,0x65,0x0e,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69, - 0x7a,0x65,0x06,0x40,0x08,0x73,0x75,0x62,0x93,0x01,0x00,0x01,0x04,0x04,0x03,0x00, - 0x1c,0x2b,0x01,0x00,0x00,0x36,0x01,0x00,0x01,0x0a,0x01,0x00,0x00,0x54,0x02,0x01, - 0x80,0x48,0x01,0x02,0x00,0x2b,0x02,0x01,0x00,0x37,0x02,0x00,0x02,0x37,0x02,0x01, - 0x02,0x07,0x02,0x02,0x00,0x54,0x02,0x0b,0x80,0x2b,0x02,0x02,0x00,0x10,0x03,0x00, - 0x00,0x3e,0x02,0x02,0x02,0x10,0x01,0x02,0x00,0x0e,0x00,0x01,0x00,0x54,0x02,0x09, + 0x74,0x01,0x05,0x00,0x00,0x08,0x70,0x74,0x72,0x11,0x65,0x6c,0x65,0x6d,0x65,0x6e, + 0x74,0x5f,0x74,0x79,0x70,0x65,0x09,0x73,0x69,0x7a,0x65,0x01,0x01,0x03,0x00,0x00, + 0x03,0x80,0x80,0x40,0x08,0x76,0x6c,0x61,0x01,0x04,0x00,0x00,0x03,0x80,0x80,0x80, + 0x04,0x0a,0x75,0x6e,0x69,0x6f,0x6e,0x0c,0x73,0x75,0x62,0x77,0x68,0x61,0x74,0x01, + 0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x08,0x0d,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c, + 0x65,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x10,0x0a,0x63,0x6f,0x6e,0x73,0x74, + 0x01,0x05,0x00,0x00,0x0b,0x73,0x74,0x72,0x75,0x63,0x74,0x05,0x09,0x73,0x69,0x7a, + 0x65,0x02,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x02,0x09,0x6c,0x6f,0x6e,0x67, + 0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x04,0x0d,0x75,0x6e,0x73,0x69,0x67,0x6e, + 0x65,0x64,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x08,0x0d,0x76,0x6f,0x6c,0x61, + 0x74,0x69,0x6c,0x65,0x01,0x03,0x00,0x00,0x03,0x80,0x80,0x80,0x10,0x0a,0x63,0x6f, + 0x6e,0x73,0x74,0x01,0x04,0x00,0x00,0x03,0x80,0x80,0x80,0x20,0x0a,0x66,0x6c,0x6f, + 0x61,0x74,0x0c,0x73,0x75,0x62,0x77,0x68,0x61,0x74,0x01,0x03,0x00,0x00,0x03,0x80, + 0x80,0x80,0x40,0x09,0x62,0x6f,0x6f,0x6c,0x01,0x05,0x00,0x00,0x08,0x69,0x6e,0x74, + 0x05,0x09,0x73,0x69,0x7a,0x65,0x01,0x0c,0x6d,0x69,0x73,0x63,0x6d,0x61,0x70,0x0e, + 0x75,0x69,0x6e,0x74,0x70,0x74,0x72,0x5f,0x74,0x07,0x6c,0x65,0x08,0x61,0x62,0x69, + 0x06,0x67,0x0d,0x43,0x54,0x53,0x74,0x61,0x74,0x65,0x2a,0x0d,0x74,0x6f,0x6e,0x75, + 0x6d,0x62,0x65,0x72,0x08,0x61,0x62,0x73,0x09,0x6d,0x61,0x74,0x68,0x0c,0x5f,0x5f, + 0x69,0x6e,0x64,0x65,0x78,0x10,0x63,0x6f,0x6e,0x73,0x74,0x20,0x63,0x68,0x61,0x72, + 0x2a,0x0d,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x09,0x63,0x61,0x73,0x74,0x0e, + 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x0b,0x74,0x79,0x70,0x65,0x6f,0x66, + 0x00,0x0b,0x63,0x72,0x65,0x61,0x74,0x65,0x0e,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69, + 0x6e,0x65,0x00,0x00,0xac,0x02,0x20,0x20,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20, + 0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x43,0x54,0x79,0x70,0x65,0x20,0x7b,0x0a,0x20, + 0x20,0x20,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x66,0x6f, + 0x3b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73, + 0x69,0x7a,0x65,0x3b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x5f, + 0x74,0x20,0x73,0x69,0x62,0x3b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69,0x6e,0x74,0x31, + 0x36,0x5f,0x74,0x20,0x6e,0x65,0x78,0x74,0x3b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69, + 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x61,0x6d,0x65,0x3b,0x0a,0x20,0x20,0x7d, + 0x20,0x43,0x54,0x79,0x70,0x65,0x3b,0x0a,0x20,0x20,0x0a,0x20,0x20,0x74,0x79,0x70, + 0x65,0x64,0x65,0x66,0x20,0x73,0x74,0x72,0x75,0x63,0x74,0x20,0x43,0x54,0x53,0x74, + 0x61,0x74,0x65,0x20,0x7b,0x0a,0x20,0x20,0x20,0x20,0x43,0x54,0x79,0x70,0x65,0x20, + 0x2a,0x74,0x61,0x62,0x3b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69,0x6e,0x74,0x33,0x32, + 0x5f,0x74,0x20,0x74,0x6f,0x70,0x3b,0x0a,0x20,0x20,0x20,0x20,0x75,0x69,0x6e,0x74, + 0x33,0x32,0x5f,0x74,0x20,0x73,0x69,0x7a,0x65,0x74,0x61,0x62,0x3b,0x0a,0x20,0x20, + 0x20,0x20,0x76,0x6f,0x69,0x64,0x20,0x2a,0x4c,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76, + 0x6f,0x69,0x64,0x20,0x2a,0x67,0x3b,0x0a,0x20,0x20,0x20,0x20,0x76,0x6f,0x69,0x64, + 0x20,0x2a,0x66,0x69,0x6e,0x61,0x6c,0x69,0x7a,0x65,0x72,0x3b,0x0a,0x20,0x20,0x20, + 0x20,0x76,0x6f,0x69,0x64,0x20,0x2a,0x6d,0x69,0x73,0x63,0x6d,0x61,0x70,0x3b,0x0a, + 0x20,0x20,0x7d,0x20,0x43,0x54,0x53,0x74,0x61,0x74,0x65,0x3b,0x0a,0x09,0x63,0x64, + 0x65,0x66,0x08,0x62,0x69,0x74,0x08,0x66,0x66,0x69,0x0c,0x72,0x65,0x71,0x75,0x69, + 0x72,0x65,0x02,0x6f,0x00,0x02,0x0a,0x00,0x06,0x00,0x13,0x32,0x02,0x00,0x00,0x10, + 0x04,0x00,0x00,0x37,0x03,0x00,0x00,0x25,0x05,0x01,0x00,0x0c,0x06,0x01,0x00,0x54, + 0x06,0x01,0x80,0x25,0x06,0x02,0x00,0x25,0x07,0x03,0x00,0x24,0x05,0x07,0x05,0x3e, + 0x03,0x03,0x04,0x54,0x06,0x05,0x80,0x34,0x07,0x04,0x00,0x37,0x07,0x05,0x07,0x10, + 0x08,0x02,0x00,0x10,0x09,0x06,0x00,0x3e,0x07,0x03,0x01,0x41,0x06,0x03,0x02,0x4e, + 0x06,0xf9,0x7f,0x48,0x02,0x02,0x00,0x0b,0x69,0x6e,0x73,0x65,0x72,0x74,0x0a,0x74, + 0x61,0x62,0x6c,0x65,0x07,0x5d,0x2b,0x06,0x2f,0x07,0x5b,0x5e,0x0b,0x67,0x6d,0x61, + 0x74,0x63,0x68,0x40,0x00,0x01,0x08,0x00,0x02,0x00,0x0b,0x32,0x01,0x00,0x00,0x10, + 0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x25,0x04,0x01,0x00,0x3e,0x02,0x03,0x04,0x54, + 0x05,0x02,0x80,0x29,0x06,0x02,0x00,0x39,0x06,0x05,0x01,0x41,0x05,0x03,0x02,0x4e, + 0x05,0xfc,0x7f,0x48,0x01,0x02,0x00,0x0a,0x5b,0x5e,0x3b,0x5d,0x2b,0x0b,0x67,0x6d, + 0x61,0x74,0x63,0x68,0xe0,0x01,0x00,0x01,0x0b,0x01,0x04,0x01,0x2e,0x10,0x02,0x00, + 0x00,0x37,0x01,0x00,0x00,0x27,0x03,0x01,0x00,0x27,0x04,0x06,0x00,0x3e,0x01,0x04, + 0x02,0x07,0x01,0x01,0x00,0x54,0x01,0x06,0x80,0x10,0x02,0x00,0x00,0x37,0x01,0x00, + 0x00,0x27,0x03,0x08,0x00,0x3e,0x01,0x03,0x02,0x10,0x00,0x01,0x00,0x54,0x01,0x20, + 0x80,0x2b,0x01,0x00,0x00,0x37,0x01,0x02,0x01,0x0f,0x00,0x01,0x00,0x54,0x02,0x1c, + 0x80,0x34,0x01,0x03,0x00,0x2b,0x02,0x00,0x00,0x37,0x02,0x02,0x02,0x3e,0x01,0x02, + 0x04,0x44,0x04,0x15,0x80,0x13,0x06,0x00,0x00,0x13,0x07,0x04,0x00,0x01,0x07,0x06, + 0x00,0x54,0x06,0x11,0x80,0x2b,0x06,0x00,0x00,0x37,0x06,0x02,0x06,0x10,0x08,0x00, + 0x00,0x37,0x07,0x00,0x00,0x27,0x09,0x01,0x00,0x13,0x0a,0x04,0x00,0x3e,0x07,0x04, + 0x02,0x36,0x06,0x07,0x06,0x0f,0x00,0x06,0x00,0x54,0x07,0x07,0x80,0x10,0x07,0x00, + 0x00,0x37,0x06,0x00,0x00,0x13,0x08,0x04,0x00,0x14,0x08,0x00,0x08,0x3e,0x06,0x03, + 0x02,0x10,0x00,0x06,0x00,0x54,0x01,0x02,0x80,0x42,0x04,0x03,0x03,0x4e,0x04,0xe9, + 0x7f,0x48,0x00,0x02,0x00,0x02,0xc0,0x0a,0x70,0x61,0x69,0x72,0x73,0x11,0x73,0x65, + 0x61,0x72,0x63,0x68,0x5f,0x70,0x61,0x74,0x68,0x73,0x0b,0x61,0x73,0x73,0x65,0x74, + 0x73,0x08,0x73,0x75,0x62,0x02,0xa5,0x01,0x00,0x01,0x0b,0x01,0x03,0x01,0x21,0x2b, + 0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x0f,0x00,0x01,0x00,0x54,0x02,0x1c,0x80,0x34, + 0x01,0x01,0x00,0x2b,0x02,0x00,0x00,0x37,0x02,0x00,0x02,0x3e,0x01,0x02,0x04,0x44, + 0x04,0x15,0x80,0x13,0x06,0x00,0x00,0x13,0x07,0x04,0x00,0x01,0x07,0x06,0x00,0x54, + 0x06,0x11,0x80,0x2b,0x06,0x00,0x00,0x37,0x06,0x00,0x06,0x10,0x08,0x00,0x00,0x37, + 0x07,0x02,0x00,0x27,0x09,0x01,0x00,0x13,0x0a,0x04,0x00,0x3e,0x07,0x04,0x02,0x36, + 0x06,0x07,0x06,0x0f,0x00,0x06,0x00,0x54,0x07,0x07,0x80,0x10,0x07,0x00,0x00,0x37, + 0x06,0x02,0x00,0x13,0x08,0x04,0x00,0x14,0x08,0x00,0x08,0x3e,0x06,0x03,0x02,0x10, + 0x00,0x06,0x00,0x54,0x01,0x02,0x80,0x42,0x04,0x03,0x03,0x4e,0x04,0xe9,0x7f,0x48, + 0x00,0x02,0x00,0x02,0xc0,0x08,0x73,0x75,0x62,0x0a,0x70,0x61,0x69,0x72,0x73,0x11, + 0x73,0x65,0x61,0x72,0x63,0x68,0x5f,0x70,0x61,0x74,0x68,0x73,0x02,0xa5,0x01,0x00, + 0x01,0x0b,0x01,0x03,0x01,0x21,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x0f,0x00, + 0x01,0x00,0x54,0x02,0x1c,0x80,0x34,0x01,0x01,0x00,0x2b,0x02,0x00,0x00,0x37,0x02, + 0x00,0x02,0x3e,0x01,0x02,0x04,0x44,0x04,0x15,0x80,0x13,0x06,0x00,0x00,0x13,0x07, + 0x04,0x00,0x01,0x07,0x06,0x00,0x54,0x06,0x11,0x80,0x2b,0x06,0x00,0x00,0x37,0x06, + 0x00,0x06,0x10,0x08,0x00,0x00,0x37,0x07,0x02,0x00,0x27,0x09,0x01,0x00,0x13,0x0a, + 0x04,0x00,0x3e,0x07,0x04,0x02,0x36,0x06,0x07,0x06,0x0f,0x00,0x06,0x00,0x54,0x07, + 0x07,0x80,0x10,0x07,0x00,0x00,0x37,0x06,0x02,0x00,0x13,0x08,0x04,0x00,0x14,0x08, + 0x00,0x08,0x3e,0x06,0x03,0x02,0x10,0x00,0x06,0x00,0x54,0x01,0x02,0x80,0x42,0x04, + 0x03,0x03,0x4e,0x04,0xe9,0x7f,0x48,0x00,0x02,0x00,0x02,0xc0,0x08,0x73,0x75,0x62, + 0x0a,0x70,0x61,0x69,0x72,0x73,0x11,0x73,0x65,0x61,0x72,0x63,0x68,0x5f,0x70,0x61, + 0x74,0x68,0x73,0x02,0xda,0x02,0x00,0x01,0x06,0x05,0x09,0x01,0x43,0x29,0x01,0x00, + 0x00,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x27,0x04,0x01,0x00,0x27,0x05,0x01, + 0x00,0x3e,0x02,0x04,0x02,0x07,0x02,0x01,0x00,0x54,0x02,0x15,0x80,0x10,0x03,0x00, + 0x00,0x37,0x02,0x00,0x00,0x27,0x04,0x02,0x00,0x3e,0x02,0x03,0x02,0x2b,0x03,0x00, + 0x00,0x37,0x03,0x02,0x03,0x0f,0x00,0x03,0x00,0x54,0x04,0x04,0x80,0x2b,0x03,0x01, + 0x00,0x10,0x04,0x02,0x00,0x3e,0x03,0x02,0x02,0x10,0x02,0x03,0x00,0x2b,0x03,0x00, + 0x00,0x37,0x03,0x03,0x03,0x10,0x04,0x02,0x00,0x3e,0x03,0x02,0x02,0x2b,0x04,0x00, + 0x00,0x37,0x04,0x04,0x04,0x10,0x05,0x03,0x00,0x40,0x04,0x02,0x00,0x54,0x02,0x25, + 0x80,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x13,0x04,0x00,0x00,0x15,0x04,0x00, + 0x04,0x27,0x05,0xff,0xff,0x3e,0x02,0x04,0x02,0x10,0x03,0x02,0x00,0x37,0x02,0x05, + 0x02,0x3e,0x02,0x02,0x02,0x07,0x02,0x06,0x00,0x54,0x02,0x18,0x80,0x2b,0x02,0x02, + 0x00,0x07,0x02,0x07,0x00,0x54,0x02,0x05,0x80,0x2b,0x02,0x03,0x00,0x10,0x03,0x00, + 0x00,0x3e,0x02,0x02,0x02,0x10,0x00,0x02,0x00,0x54,0x02,0x07,0x80,0x2b,0x02,0x02, + 0x00,0x07,0x02,0x08,0x00,0x54,0x02,0x04,0x80,0x2b,0x02,0x04,0x00,0x10,0x03,0x00, + 0x00,0x3e,0x02,0x02,0x02,0x10,0x00,0x02,0x00,0x2b,0x02,0x00,0x00,0x37,0x02,0x03, + 0x02,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x02,0x2b,0x03,0x00,0x00,0x37,0x03,0x04, + 0x03,0x10,0x04,0x02,0x00,0x40,0x03,0x02,0x00,0x54,0x02,0x02,0x80,0x29,0x02,0x01, + 0x00,0x48,0x02,0x02,0x00,0x47,0x00,0x01,0x00,0x02,0xc0,0x09,0xc0,0x03,0x80,0x07, + 0xc0,0x08,0xc0,0x08,0x69,0x6f,0x73,0x0c,0x61,0x6e,0x64,0x72,0x6f,0x69,0x64,0x09, + 0x2e,0x6c,0x75,0x61,0x0a,0x6c,0x6f,0x77,0x65,0x72,0x10,0x74,0x6f,0x5f,0x66,0x69, + 0x6c,0x65,0x5f,0x75,0x72,0x69,0x0e,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65, + 0x0d,0x62,0x61,0x73,0x65,0x5f,0x64,0x69,0x72,0x06,0x40,0x08,0x73,0x75,0x62,0x06, + 0x19,0x00,0x01,0x03,0x00,0x01,0x00,0x04,0x25,0x01,0x00,0x00,0x10,0x02,0x00,0x00, + 0x24,0x01,0x02,0x01,0x48,0x01,0x02,0x00,0x06,0x25,0x98,0x04,0x01,0x01,0x12,0x02, + 0x16,0x00,0x5e,0x10,0x02,0x00,0x00,0x37,0x01,0x00,0x00,0x27,0x03,0x01,0x00,0x27, + 0x04,0x01,0x00,0x3e,0x01,0x04,0x02,0x07,0x01,0x01,0x00,0x54,0x01,0x54,0x80,0x29, + 0x01,0x00,0x00,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x27,0x04,0x02,0x00,0x3e, + 0x02,0x03,0x02,0x2b,0x03,0x00,0x00,0x37,0x03,0x02,0x03,0x10,0x04,0x02,0x00,0x3e, + 0x03,0x02,0x02,0x2b,0x04,0x01,0x00,0x34,0x05,0x03,0x00,0x37,0x05,0x04,0x05,0x25, + 0x06,0x05,0x00,0x3e,0x04,0x03,0x02,0x2b,0x05,0x00,0x00,0x37,0x05,0x06,0x05,0x10, + 0x06,0x02,0x00,0x3e,0x05,0x02,0x02,0x34,0x06,0x07,0x00,0x37,0x06,0x08,0x06,0x10, + 0x07,0x04,0x00,0x25,0x08,0x09,0x00,0x3e,0x06,0x03,0x01,0x34,0x06,0x0a,0x00,0x10, + 0x07,0x04,0x00,0x3e,0x06,0x02,0x04,0x54,0x09,0x30,0x80,0x2b,0x0b,0x00,0x00,0x37, + 0x0b,0x06,0x0b,0x10,0x0c,0x0a,0x00,0x3e,0x0b,0x02,0x02,0x05,0x0b,0x05,0x00,0x54, + 0x0b,0x2a,0x80,0x34,0x0b,0x0b,0x00,0x37,0x0b,0x0c,0x0b,0x2b,0x0c,0x00,0x00,0x37, + 0x0c,0x02,0x0c,0x10,0x0d,0x0a,0x00,0x3e,0x0c,0x02,0x02,0x25,0x0d,0x0d,0x00,0x31, + 0x0e,0x0e,0x00,0x3e,0x0b,0x04,0x02,0x34,0x0c,0x0b,0x00,0x37,0x0c,0x0c,0x0c,0x10, + 0x0d,0x0b,0x00,0x25,0x0e,0x0f,0x00,0x25,0x0f,0x10,0x00,0x3e,0x0c,0x04,0x02,0x34, + 0x0d,0x0b,0x00,0x37,0x0d,0x11,0x0d,0x10,0x0e,0x03,0x00,0x10,0x0f,0x0c,0x00,0x3e, + 0x0d,0x03,0x02,0x0f,0x00,0x0d,0x00,0x54,0x0e,0x14,0x80,0x34,0x0e,0x0b,0x00,0x37, + 0x0e,0x0c,0x0e,0x10,0x0f,0x0d,0x00,0x25,0x10,0x12,0x00,0x25,0x11,0x13,0x00,0x3e, + 0x0e,0x04,0x02,0x10,0x0d,0x0e,0x00,0x0f,0x00,0x01,0x00,0x54,0x0e,0x0a,0x80,0x34, + 0x0e,0x0b,0x00,0x37,0x0e,0x14,0x0e,0x10,0x0f,0x01,0x00,0x3e,0x0e,0x02,0x02,0x34, + 0x0f,0x0b,0x00,0x37,0x0f,0x14,0x0f,0x10,0x10,0x0d,0x00,0x3e,0x0f,0x02,0x02,0x01, + 0x0f,0x0e,0x00,0x54,0x0e,0x01,0x80,0x10,0x01,0x0d,0x00,0x41,0x09,0x03,0x03,0x4e, + 0x09,0xce,0x7f,0x0f,0x00,0x01,0x00,0x54,0x06,0x05,0x80,0x25,0x06,0x15,0x00,0x10, + 0x07,0x01,0x00,0x24,0x06,0x07,0x06,0x30,0x00,0x00,0x80,0x48,0x06,0x02,0x00,0x29, + 0x01,0x01,0x00,0x30,0x00,0x00,0x80,0x48,0x01,0x02,0x00,0x02,0xc0,0x05,0xc0,0x0f, + 0x6d,0x6f,0x64,0x75,0x6c,0x65,0x3a,0x2f,0x2f,0x2f,0x08,0x6c,0x65,0x6e,0x06,0x2e, + 0x06,0x2f,0x0a,0x6d,0x61,0x74,0x63,0x68,0x09,0x28,0x2e,0x2b,0x29,0x09,0x25,0x25, + 0x25,0x3f,0x00,0x1f,0x5b,0x25,0x5e,0x25,0x24,0x25,0x28,0x25,0x29,0x25,0x25,0x25, + 0x2e,0x25,0x5b,0x25,0x5d,0x25,0x2a,0x25,0x2b,0x25,0x2d,0x25,0x3f,0x5d,0x09,0x67, + 0x73,0x75,0x62,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x0b,0x69,0x70,0x61,0x69,0x72, + 0x73,0x0a,0x3f,0x2e,0x6c,0x75,0x61,0x0b,0x69,0x6e,0x73,0x65,0x72,0x74,0x0a,0x74, + 0x61,0x62,0x6c,0x65,0x15,0x69,0x73,0x5f,0x70,0x61,0x74,0x68,0x5f,0x61,0x62,0x73, + 0x6f,0x6c,0x75,0x74,0x65,0x06,0x3b,0x09,0x70,0x61,0x74,0x68,0x0c,0x70,0x61,0x63, + 0x6b,0x61,0x67,0x65,0x0e,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x06,0x40, + 0x08,0x73,0x75,0x62,0x93,0x01,0x00,0x01,0x04,0x04,0x03,0x00,0x1c,0x2b,0x01,0x00, + 0x00,0x36,0x01,0x00,0x01,0x0a,0x01,0x00,0x00,0x54,0x02,0x01,0x80,0x48,0x01,0x02, + 0x00,0x2b,0x02,0x01,0x00,0x37,0x02,0x00,0x02,0x37,0x02,0x01,0x02,0x07,0x02,0x02, + 0x00,0x54,0x02,0x0b,0x80,0x2b,0x02,0x02,0x00,0x10,0x03,0x00,0x00,0x3e,0x02,0x02, + 0x02,0x10,0x01,0x02,0x00,0x0e,0x00,0x01,0x00,0x54,0x02,0x09,0x80,0x2b,0x02,0x03, + 0x00,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x02,0x10,0x01,0x02,0x00,0x54,0x02,0x04, 0x80,0x2b,0x02,0x03,0x00,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x02,0x10,0x01,0x02, - 0x00,0x54,0x02,0x04,0x80,0x2b,0x02,0x03,0x00,0x10,0x03,0x00,0x00,0x3e,0x02,0x02, - 0x02,0x10,0x01,0x02,0x00,0x2b,0x02,0x00,0x00,0x39,0x01,0x00,0x02,0x48,0x01,0x02, - 0x00,0x04,0xc0,0x01,0xc0,0x0b,0xc0,0x0a,0xc0,0x0b,0x6d,0x6f,0x64,0x75,0x6c,0x65, - 0x08,0x75,0x72,0x69,0x0d,0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73,0xd6,0x01,0x00, - 0x01,0x0c,0x03,0x08,0x00,0x27,0x34,0x01,0x00,0x00,0x2b,0x02,0x00,0x00,0x37,0x02, - 0x01,0x02,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x00,0x3d,0x01,0x00,0x02,0x37,0x02, - 0x02,0x01,0x07,0x02,0x03,0x00,0x54,0x02,0x05,0x80,0x2b,0x02,0x01,0x00,0x37,0x02, - 0x04,0x02,0x10,0x03,0x01,0x00,0x40,0x02,0x02,0x00,0x54,0x02,0x18,0x80,0x34,0x02, - 0x05,0x00,0x2b,0x03,0x02,0x00,0x3e,0x02,0x02,0x04,0x44,0x05,0x12,0x80,0x05,0x06, - 0x00,0x00,0x54,0x07,0x10,0x80,0x34,0x07,0x00,0x00,0x10,0x09,0x05,0x00,0x37,0x08, - 0x06,0x05,0x27,0x0a,0x01,0x00,0x27,0x0b,0x01,0x00,0x3e,0x08,0x04,0x02,0x06,0x08, - 0x07,0x00,0x54,0x08,0x02,0x80,0x29,0x08,0x01,0x00,0x54,0x09,0x01,0x80,0x29,0x08, - 0x02,0x00,0x3e,0x07,0x02,0x01,0x10,0x08,0x05,0x00,0x37,0x07,0x06,0x05,0x27,0x09, - 0x02,0x00,0x40,0x07,0x03,0x00,0x42,0x05,0x03,0x03,0x4e,0x05,0xec,0x7f,0x47,0x00, - 0x01,0x00,0x00,0xc0,0x02,0xc0,0x04,0xc0,0x06,0x40,0x08,0x73,0x75,0x62,0x0a,0x70, - 0x61,0x69,0x72,0x73,0x0c,0x74,0x6f,0x5f,0x70,0x61,0x74,0x68,0x09,0x66,0x69,0x6c, - 0x65,0x0b,0x73,0x63,0x68,0x65,0x6d,0x65,0x0a,0x70,0x61,0x72,0x73,0x65,0x0b,0x61, - 0x73,0x73,0x65,0x72,0x74,0xe4,0x01,0x00,0x01,0x09,0x00,0x0b,0x01,0x2a,0x32,0x01, - 0x00,0x00,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x25,0x04,0x01,0x00,0x3e,0x02, - 0x03,0x04,0x54,0x05,0x11,0x80,0x07,0x05,0x02,0x00,0x54,0x06,0x08,0x80,0x13,0x06, - 0x01,0x00,0x08,0x06,0x00,0x00,0x54,0x06,0x05,0x80,0x34,0x06,0x03,0x00,0x37,0x06, - 0x04,0x06,0x10,0x07,0x01,0x00,0x3e,0x06,0x02,0x01,0x54,0x06,0x07,0x80,0x06,0x05, - 0x05,0x00,0x54,0x06,0x05,0x80,0x34,0x06,0x03,0x00,0x37,0x06,0x06,0x06,0x10,0x07, - 0x01,0x00,0x10,0x08,0x05,0x00,0x3e,0x06,0x03,0x01,0x41,0x05,0x03,0x02,0x4e,0x05, - 0xed,0x7f,0x10,0x03,0x00,0x00,0x37,0x02,0x07,0x00,0x27,0x04,0x01,0x00,0x27,0x05, - 0x01,0x00,0x3e,0x02,0x04,0x02,0x07,0x02,0x08,0x00,0x54,0x02,0x02,0x80,0x25,0x02, - 0x08,0x00,0x54,0x03,0x01,0x80,0x25,0x02,0x09,0x00,0x34,0x03,0x03,0x00,0x37,0x03, - 0x0a,0x03,0x10,0x04,0x01,0x00,0x25,0x05,0x08,0x00,0x3e,0x03,0x03,0x02,0x24,0x02, - 0x03,0x02,0x48,0x02,0x02,0x00,0x0b,0x63,0x6f,0x6e,0x63,0x61,0x74,0x05,0x06,0x2f, - 0x08,0x73,0x75,0x62,0x0b,0x69,0x6e,0x73,0x65,0x72,0x74,0x06,0x2e,0x0b,0x72,0x65, - 0x6d,0x6f,0x76,0x65,0x0a,0x74,0x61,0x62,0x6c,0x65,0x07,0x2e,0x2e,0x0a,0x5b,0x5e, - 0x2f,0x5d,0x2b,0x0b,0x67,0x6d,0x61,0x74,0x63,0x68,0x00,0x87,0x01,0x00,0x00,0x04, - 0x00,0x07,0x00,0x15,0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x25,0x01,0x02,0x00, - 0x3e,0x00,0x02,0x02,0x0f,0x00,0x00,0x00,0x54,0x01,0x0d,0x80,0x10,0x02,0x00,0x00, - 0x37,0x01,0x03,0x00,0x25,0x03,0x04,0x00,0x3e,0x01,0x03,0x02,0x10,0x03,0x00,0x00, - 0x37,0x02,0x05,0x00,0x3e,0x02,0x02,0x01,0x06,0x01,0x06,0x00,0x54,0x02,0x02,0x80, - 0x29,0x02,0x01,0x00,0x54,0x03,0x01,0x80,0x29,0x02,0x02,0x00,0x48,0x02,0x02,0x00, - 0x29,0x01,0x01,0x00,0x48,0x01,0x02,0x00,0x0f,0x57,0x69,0x6e,0x64,0x6f,0x77,0x73, - 0x5f,0x4e,0x54,0x0a,0x63,0x6c,0x6f,0x73,0x65,0x07,0x2a,0x6c,0x09,0x72,0x65,0x61, - 0x64,0x0e,0x65,0x63,0x68,0x6f,0x20,0x25,0x6f,0x73,0x25,0x0a,0x70,0x6f,0x70,0x65, - 0x6e,0x07,0x69,0x6f,0x79,0x00,0x01,0x04,0x01,0x06,0x01,0x0f,0x34,0x01,0x00,0x00, - 0x37,0x01,0x01,0x01,0x10,0x02,0x00,0x00,0x25,0x03,0x02,0x00,0x3e,0x01,0x03,0x02, - 0x08,0x01,0x00,0x00,0x54,0x01,0x03,0x80,0x25,0x01,0x02,0x00,0x10,0x02,0x00,0x00, - 0x24,0x00,0x02,0x01,0x2b,0x01,0x00,0x00,0x37,0x01,0x03,0x01,0x33,0x02,0x04,0x00, - 0x3a,0x00,0x05,0x02,0x40,0x01,0x02,0x00,0x02,0x00,0x09,0x70,0x61,0x74,0x68,0x01, - 0x00,0x02,0x0b,0x73,0x63,0x68,0x65,0x6d,0x65,0x09,0x66,0x69,0x6c,0x65,0x0e,0x61, - 0x75,0x74,0x68,0x6f,0x72,0x69,0x74,0x79,0x05,0x0a,0x62,0x75,0x69,0x6c,0x64,0x06, - 0x2f,0x09,0x66,0x69,0x6e,0x64,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x02,0x39,0x00, - 0x01,0x05,0x00,0x02,0x00,0x0b,0x10,0x02,0x00,0x00,0x37,0x01,0x00,0x00,0x27,0x03, - 0x01,0x00,0x27,0x04,0x01,0x00,0x3e,0x01,0x04,0x02,0x06,0x01,0x01,0x00,0x54,0x01, - 0x02,0x80,0x29,0x01,0x01,0x00,0x54,0x02,0x01,0x80,0x29,0x01,0x02,0x00,0x48,0x01, - 0x02,0x00,0x06,0x2f,0x08,0x73,0x75,0x62,0x27,0x00,0x01,0x03,0x01,0x02,0x00,0x04, - 0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x37,0x02,0x01,0x00,0x40,0x01,0x02,0x00, - 0x02,0x00,0x09,0x70,0x61,0x74,0x68,0x0d,0x75,0x6e,0x65,0x73,0x63,0x61,0x70,0x65, - 0x23,0x00,0x01,0x04,0x00,0x02,0x00,0x04,0x10,0x02,0x00,0x00,0x37,0x01,0x00,0x00, - 0x25,0x03,0x01,0x00,0x40,0x01,0x03,0x00,0x0a,0x5e,0x25,0x61,0x3a,0x2f,0x0a,0x6d, - 0x61,0x74,0x63,0x68,0x50,0x00,0x01,0x05,0x01,0x04,0x00,0x08,0x2b,0x01,0x00,0x00, - 0x37,0x01,0x00,0x01,0x33,0x02,0x01,0x00,0x25,0x03,0x02,0x00,0x10,0x04,0x00,0x00, - 0x24,0x03,0x04,0x03,0x3a,0x03,0x03,0x02,0x40,0x01,0x02,0x00,0x02,0x00,0x09,0x70, - 0x61,0x74,0x68,0x06,0x2f,0x01,0x00,0x02,0x0b,0x73,0x63,0x68,0x65,0x6d,0x65,0x09, - 0x66,0x69,0x6c,0x65,0x0e,0x61,0x75,0x74,0x68,0x6f,0x72,0x69,0x74,0x79,0x05,0x0a, - 0x62,0x75,0x69,0x6c,0x64,0x44,0x00,0x01,0x05,0x01,0x05,0x00,0x09,0x2b,0x01,0x00, - 0x00,0x37,0x01,0x00,0x01,0x37,0x02,0x01,0x00,0x3e,0x01,0x02,0x02,0x10,0x02,0x01, - 0x00,0x37,0x01,0x02,0x01,0x25,0x03,0x03,0x00,0x25,0x04,0x04,0x00,0x40,0x01,0x04, - 0x00,0x02,0x00,0x05,0x07,0x5e,0x2f,0x09,0x67,0x73,0x75,0x62,0x09,0x70,0x61,0x74, - 0x68,0x0d,0x75,0x6e,0x65,0x73,0x63,0x61,0x70,0x65,0x40,0x00,0x01,0x06,0x01,0x04, - 0x00,0x0a,0x2b,0x01,0x00,0x00,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x25,0x04, - 0x01,0x00,0x25,0x05,0x02,0x00,0x3e,0x02,0x04,0x02,0x10,0x03,0x02,0x00,0x37,0x02, - 0x03,0x02,0x3e,0x02,0x02,0x00,0x3f,0x01,0x00,0x00,0x03,0xc0,0x0a,0x6c,0x6f,0x77, - 0x65,0x72,0x06,0x2f,0x06,0x5c,0x09,0x67,0x73,0x75,0x62,0x7c,0x00,0x00,0x04,0x01, - 0x07,0x00,0x12,0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x25,0x01,0x02,0x00,0x3e, - 0x00,0x02,0x02,0x0f,0x00,0x00,0x00,0x54,0x01,0x0b,0x80,0x10,0x02,0x00,0x00,0x37, - 0x01,0x03,0x00,0x25,0x03,0x04,0x00,0x3e,0x01,0x03,0x02,0x10,0x03,0x00,0x00,0x37, - 0x02,0x05,0x00,0x3e,0x02,0x02,0x01,0x2b,0x02,0x00,0x00,0x37,0x02,0x06,0x02,0x10, - 0x03,0x01,0x00,0x40,0x02,0x02,0x00,0x47,0x00,0x01,0x00,0x01,0x00,0x0e,0x6e,0x6f, - 0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x0a,0x63,0x6c,0x6f,0x73,0x65,0x07,0x2a,0x6c, - 0x09,0x72,0x65,0x61,0x64,0x0e,0x65,0x63,0x68,0x6f,0x20,0x25,0x63,0x64,0x25,0x0a, - 0x70,0x6f,0x70,0x65,0x6e,0x07,0x69,0x6f,0xa1,0x05,0x01,0x03,0x07,0x04,0x1d,0x00, - 0x62,0x0f,0x00,0x00,0x00,0x54,0x03,0x0b,0x80,0x06,0x00,0x00,0x00,0x54,0x03,0x09, - 0x80,0x06,0x00,0x01,0x00,0x54,0x03,0x07,0x80,0x06,0x00,0x02,0x00,0x54,0x03,0x05, - 0x80,0x06,0x00,0x03,0x00,0x54,0x03,0x03,0x80,0x34,0x03,0x04,0x00,0x25,0x04,0x05, - 0x00,0x3e,0x03,0x02,0x01,0x0f,0x00,0x00,0x00,0x54,0x03,0x02,0x80,0x2c,0x00,0x00, - 0x00,0x54,0x03,0x0b,0x80,0x31,0x03,0x06,0x00,0x34,0x04,0x07,0x00,0x10,0x05,0x03, - 0x00,0x3e,0x04,0x02,0x03,0x0f,0x00,0x04,0x00,0x54,0x06,0x04,0x80,0x0f,0x00,0x05, - 0x00,0x54,0x06,0x02,0x80,0x2d,0x00,0x01,0x00,0x54,0x06,0x01,0x80,0x2d,0x00,0x00, - 0x00,0x2b,0x03,0x00,0x00,0x06,0x03,0x00,0x00,0x54,0x03,0x06,0x80,0x2b,0x03,0x00, - 0x00,0x06,0x03,0x02,0x00,0x54,0x03,0x03,0x80,0x2b,0x03,0x00,0x00,0x07,0x03,0x03, - 0x00,0x54,0x03,0x15,0x80,0x2b,0x03,0x01,0x00,0x25,0x04,0x09,0x00,0x3a,0x04,0x08, - 0x03,0x2b,0x03,0x01,0x00,0x0c,0x04,0x01,0x00,0x54,0x04,0x04,0x80,0x34,0x04,0x0b, - 0x00,0x37,0x04,0x0c,0x04,0x25,0x05,0x0d,0x00,0x3e,0x04,0x02,0x02,0x3a,0x04,0x0a, - 0x03,0x2b,0x03,0x01,0x00,0x31,0x04,0x0f,0x00,0x3a,0x04,0x0e,0x03,0x2b,0x03,0x01, - 0x00,0x31,0x04,0x11,0x00,0x3a,0x04,0x10,0x03,0x2b,0x03,0x01,0x00,0x31,0x04,0x13, - 0x00,0x3a,0x04,0x12,0x03,0x54,0x03,0x19,0x80,0x2b,0x03,0x01,0x00,0x25,0x04,0x14, - 0x00,0x3a,0x04,0x08,0x03,0x2b,0x03,0x01,0x00,0x31,0x04,0x15,0x00,0x3a,0x04,0x10, - 0x03,0x2b,0x03,0x01,0x00,0x31,0x04,0x16,0x00,0x3a,0x04,0x0e,0x03,0x2b,0x03,0x01, - 0x00,0x31,0x04,0x17,0x00,0x3a,0x04,0x12,0x03,0x2b,0x03,0x01,0x00,0x37,0x03,0x18, - 0x03,0x2b,0x04,0x01,0x00,0x31,0x05,0x19,0x00,0x3a,0x05,0x18,0x04,0x31,0x04,0x1a, - 0x00,0x2b,0x05,0x01,0x00,0x0c,0x06,0x01,0x00,0x54,0x06,0x02,0x80,0x10,0x06,0x04, - 0x00,0x3e,0x06,0x01,0x02,0x3a,0x06,0x0a,0x05,0x30,0x03,0x00,0x80,0x0f,0x00,0x02, + 0x00,0x2b,0x02,0x00,0x00,0x39,0x01,0x00,0x02,0x48,0x01,0x02,0x00,0x04,0xc0,0x01, + 0xc0,0x0b,0xc0,0x0a,0xc0,0x0b,0x6d,0x6f,0x64,0x75,0x6c,0x65,0x08,0x75,0x72,0x69, + 0x0d,0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73,0xd6,0x01,0x00,0x01,0x0c,0x03,0x08, + 0x00,0x27,0x34,0x01,0x00,0x00,0x2b,0x02,0x00,0x00,0x37,0x02,0x01,0x02,0x10,0x03, + 0x00,0x00,0x3e,0x02,0x02,0x00,0x3d,0x01,0x00,0x02,0x37,0x02,0x02,0x01,0x07,0x02, + 0x03,0x00,0x54,0x02,0x05,0x80,0x2b,0x02,0x01,0x00,0x37,0x02,0x04,0x02,0x10,0x03, + 0x01,0x00,0x40,0x02,0x02,0x00,0x54,0x02,0x18,0x80,0x34,0x02,0x05,0x00,0x2b,0x03, + 0x02,0x00,0x3e,0x02,0x02,0x04,0x44,0x05,0x12,0x80,0x05,0x06,0x00,0x00,0x54,0x07, + 0x10,0x80,0x34,0x07,0x00,0x00,0x10,0x09,0x05,0x00,0x37,0x08,0x06,0x05,0x27,0x0a, + 0x01,0x00,0x27,0x0b,0x01,0x00,0x3e,0x08,0x04,0x02,0x06,0x08,0x07,0x00,0x54,0x08, + 0x02,0x80,0x29,0x08,0x01,0x00,0x54,0x09,0x01,0x80,0x29,0x08,0x02,0x00,0x3e,0x07, + 0x02,0x01,0x10,0x08,0x05,0x00,0x37,0x07,0x06,0x05,0x27,0x09,0x02,0x00,0x40,0x07, + 0x03,0x00,0x42,0x05,0x03,0x03,0x4e,0x05,0xec,0x7f,0x47,0x00,0x01,0x00,0x00,0xc0, + 0x02,0xc0,0x04,0xc0,0x06,0x40,0x08,0x73,0x75,0x62,0x0a,0x70,0x61,0x69,0x72,0x73, + 0x0c,0x74,0x6f,0x5f,0x70,0x61,0x74,0x68,0x09,0x66,0x69,0x6c,0x65,0x0b,0x73,0x63, + 0x68,0x65,0x6d,0x65,0x0a,0x70,0x61,0x72,0x73,0x65,0x0b,0x61,0x73,0x73,0x65,0x72, + 0x74,0xe4,0x01,0x00,0x01,0x09,0x00,0x0b,0x01,0x2a,0x32,0x01,0x00,0x00,0x10,0x03, + 0x00,0x00,0x37,0x02,0x00,0x00,0x25,0x04,0x01,0x00,0x3e,0x02,0x03,0x04,0x54,0x05, + 0x11,0x80,0x07,0x05,0x02,0x00,0x54,0x06,0x08,0x80,0x13,0x06,0x01,0x00,0x08,0x06, + 0x00,0x00,0x54,0x06,0x05,0x80,0x34,0x06,0x03,0x00,0x37,0x06,0x04,0x06,0x10,0x07, + 0x01,0x00,0x3e,0x06,0x02,0x01,0x54,0x06,0x07,0x80,0x06,0x05,0x05,0x00,0x54,0x06, + 0x05,0x80,0x34,0x06,0x03,0x00,0x37,0x06,0x06,0x06,0x10,0x07,0x01,0x00,0x10,0x08, + 0x05,0x00,0x3e,0x06,0x03,0x01,0x41,0x05,0x03,0x02,0x4e,0x05,0xed,0x7f,0x10,0x03, + 0x00,0x00,0x37,0x02,0x07,0x00,0x27,0x04,0x01,0x00,0x27,0x05,0x01,0x00,0x3e,0x02, + 0x04,0x02,0x07,0x02,0x08,0x00,0x54,0x02,0x02,0x80,0x25,0x02,0x08,0x00,0x54,0x03, + 0x01,0x80,0x25,0x02,0x09,0x00,0x34,0x03,0x03,0x00,0x37,0x03,0x0a,0x03,0x10,0x04, + 0x01,0x00,0x25,0x05,0x08,0x00,0x3e,0x03,0x03,0x02,0x24,0x02,0x03,0x02,0x48,0x02, + 0x02,0x00,0x0b,0x63,0x6f,0x6e,0x63,0x61,0x74,0x05,0x06,0x2f,0x08,0x73,0x75,0x62, + 0x0b,0x69,0x6e,0x73,0x65,0x72,0x74,0x06,0x2e,0x0b,0x72,0x65,0x6d,0x6f,0x76,0x65, + 0x0a,0x74,0x61,0x62,0x6c,0x65,0x07,0x2e,0x2e,0x0a,0x5b,0x5e,0x2f,0x5d,0x2b,0x0b, + 0x67,0x6d,0x61,0x74,0x63,0x68,0x00,0x87,0x01,0x00,0x00,0x04,0x00,0x07,0x00,0x15, + 0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x25,0x01,0x02,0x00,0x3e,0x00,0x02,0x02, + 0x0f,0x00,0x00,0x00,0x54,0x01,0x0d,0x80,0x10,0x02,0x00,0x00,0x37,0x01,0x03,0x00, + 0x25,0x03,0x04,0x00,0x3e,0x01,0x03,0x02,0x10,0x03,0x00,0x00,0x37,0x02,0x05,0x00, + 0x3e,0x02,0x02,0x01,0x06,0x01,0x06,0x00,0x54,0x02,0x02,0x80,0x29,0x02,0x01,0x00, + 0x54,0x03,0x01,0x80,0x29,0x02,0x02,0x00,0x48,0x02,0x02,0x00,0x29,0x01,0x01,0x00, + 0x48,0x01,0x02,0x00,0x0f,0x57,0x69,0x6e,0x64,0x6f,0x77,0x73,0x5f,0x4e,0x54,0x0a, + 0x63,0x6c,0x6f,0x73,0x65,0x07,0x2a,0x6c,0x09,0x72,0x65,0x61,0x64,0x0e,0x65,0x63, + 0x68,0x6f,0x20,0x25,0x6f,0x73,0x25,0x0a,0x70,0x6f,0x70,0x65,0x6e,0x07,0x69,0x6f, + 0x79,0x00,0x01,0x04,0x01,0x06,0x01,0x0f,0x34,0x01,0x00,0x00,0x37,0x01,0x01,0x01, + 0x10,0x02,0x00,0x00,0x25,0x03,0x02,0x00,0x3e,0x01,0x03,0x02,0x08,0x01,0x00,0x00, + 0x54,0x01,0x03,0x80,0x25,0x01,0x02,0x00,0x10,0x02,0x00,0x00,0x24,0x00,0x02,0x01, + 0x2b,0x01,0x00,0x00,0x37,0x01,0x03,0x01,0x33,0x02,0x04,0x00,0x3a,0x00,0x05,0x02, + 0x40,0x01,0x02,0x00,0x02,0x00,0x09,0x70,0x61,0x74,0x68,0x01,0x00,0x02,0x0b,0x73, + 0x63,0x68,0x65,0x6d,0x65,0x09,0x66,0x69,0x6c,0x65,0x0e,0x61,0x75,0x74,0x68,0x6f, + 0x72,0x69,0x74,0x79,0x05,0x0a,0x62,0x75,0x69,0x6c,0x64,0x06,0x2f,0x09,0x66,0x69, + 0x6e,0x64,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x02,0x39,0x00,0x01,0x05,0x00,0x02, + 0x00,0x0b,0x10,0x02,0x00,0x00,0x37,0x01,0x00,0x00,0x27,0x03,0x01,0x00,0x27,0x04, + 0x01,0x00,0x3e,0x01,0x04,0x02,0x06,0x01,0x01,0x00,0x54,0x01,0x02,0x80,0x29,0x01, + 0x01,0x00,0x54,0x02,0x01,0x80,0x29,0x01,0x02,0x00,0x48,0x01,0x02,0x00,0x06,0x2f, + 0x08,0x73,0x75,0x62,0x27,0x00,0x01,0x03,0x01,0x02,0x00,0x04,0x2b,0x01,0x00,0x00, + 0x37,0x01,0x00,0x01,0x37,0x02,0x01,0x00,0x40,0x01,0x02,0x00,0x02,0x00,0x09,0x70, + 0x61,0x74,0x68,0x0d,0x75,0x6e,0x65,0x73,0x63,0x61,0x70,0x65,0x23,0x00,0x01,0x04, + 0x00,0x02,0x00,0x04,0x10,0x02,0x00,0x00,0x37,0x01,0x00,0x00,0x25,0x03,0x01,0x00, + 0x40,0x01,0x03,0x00,0x0a,0x5e,0x25,0x61,0x3a,0x2f,0x0a,0x6d,0x61,0x74,0x63,0x68, + 0x50,0x00,0x01,0x05,0x01,0x04,0x00,0x08,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01, + 0x33,0x02,0x01,0x00,0x25,0x03,0x02,0x00,0x10,0x04,0x00,0x00,0x24,0x03,0x04,0x03, + 0x3a,0x03,0x03,0x02,0x40,0x01,0x02,0x00,0x02,0x00,0x09,0x70,0x61,0x74,0x68,0x06, + 0x2f,0x01,0x00,0x02,0x0b,0x73,0x63,0x68,0x65,0x6d,0x65,0x09,0x66,0x69,0x6c,0x65, + 0x0e,0x61,0x75,0x74,0x68,0x6f,0x72,0x69,0x74,0x79,0x05,0x0a,0x62,0x75,0x69,0x6c, + 0x64,0x44,0x00,0x01,0x05,0x01,0x05,0x00,0x09,0x2b,0x01,0x00,0x00,0x37,0x01,0x00, + 0x01,0x37,0x02,0x01,0x00,0x3e,0x01,0x02,0x02,0x10,0x02,0x01,0x00,0x37,0x01,0x02, + 0x01,0x25,0x03,0x03,0x00,0x25,0x04,0x04,0x00,0x40,0x01,0x04,0x00,0x02,0x00,0x05, + 0x07,0x5e,0x2f,0x09,0x67,0x73,0x75,0x62,0x09,0x70,0x61,0x74,0x68,0x0d,0x75,0x6e, + 0x65,0x73,0x63,0x61,0x70,0x65,0x40,0x00,0x01,0x06,0x01,0x04,0x00,0x0a,0x2b,0x01, + 0x00,0x00,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x25,0x04,0x01,0x00,0x25,0x05, + 0x02,0x00,0x3e,0x02,0x04,0x02,0x10,0x03,0x02,0x00,0x37,0x02,0x03,0x02,0x3e,0x02, + 0x02,0x00,0x3f,0x01,0x00,0x00,0x03,0xc0,0x0a,0x6c,0x6f,0x77,0x65,0x72,0x06,0x2f, + 0x06,0x5c,0x09,0x67,0x73,0x75,0x62,0x7c,0x00,0x00,0x04,0x01,0x07,0x00,0x12,0x34, + 0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x25,0x01,0x02,0x00,0x3e,0x00,0x02,0x02,0x0f, + 0x00,0x00,0x00,0x54,0x01,0x0b,0x80,0x10,0x02,0x00,0x00,0x37,0x01,0x03,0x00,0x25, + 0x03,0x04,0x00,0x3e,0x01,0x03,0x02,0x10,0x03,0x00,0x00,0x37,0x02,0x05,0x00,0x3e, + 0x02,0x02,0x01,0x2b,0x02,0x00,0x00,0x37,0x02,0x06,0x02,0x10,0x03,0x01,0x00,0x40, + 0x02,0x02,0x00,0x47,0x00,0x01,0x00,0x01,0x00,0x0e,0x6e,0x6f,0x72,0x6d,0x61,0x6c, + 0x69,0x7a,0x65,0x0a,0x63,0x6c,0x6f,0x73,0x65,0x07,0x2a,0x6c,0x09,0x72,0x65,0x61, + 0x64,0x0e,0x65,0x63,0x68,0x6f,0x20,0x25,0x63,0x64,0x25,0x0a,0x70,0x6f,0x70,0x65, + 0x6e,0x07,0x69,0x6f,0xd1,0x05,0x01,0x03,0x08,0x04,0x20,0x00,0x6b,0x0f,0x00,0x00, + 0x00,0x54,0x03,0x0b,0x80,0x06,0x00,0x00,0x00,0x54,0x03,0x09,0x80,0x06,0x00,0x01, + 0x00,0x54,0x03,0x07,0x80,0x06,0x00,0x02,0x00,0x54,0x03,0x05,0x80,0x06,0x00,0x03, + 0x00,0x54,0x03,0x03,0x80,0x34,0x03,0x04,0x00,0x25,0x04,0x05,0x00,0x3e,0x03,0x02, + 0x01,0x0f,0x00,0x00,0x00,0x54,0x03,0x02,0x80,0x2c,0x00,0x00,0x00,0x54,0x03,0x0b, + 0x80,0x31,0x03,0x06,0x00,0x34,0x04,0x07,0x00,0x10,0x05,0x03,0x00,0x3e,0x04,0x02, + 0x03,0x0f,0x00,0x04,0x00,0x54,0x06,0x04,0x80,0x0f,0x00,0x05,0x00,0x54,0x06,0x02, + 0x80,0x2d,0x00,0x01,0x00,0x54,0x06,0x01,0x80,0x2d,0x00,0x00,0x00,0x2b,0x03,0x00, + 0x00,0x06,0x03,0x00,0x00,0x54,0x03,0x06,0x80,0x2b,0x03,0x00,0x00,0x06,0x03,0x02, + 0x00,0x54,0x03,0x03,0x80,0x2b,0x03,0x00,0x00,0x07,0x03,0x03,0x00,0x54,0x03,0x15, + 0x80,0x2b,0x03,0x01,0x00,0x25,0x04,0x09,0x00,0x3a,0x04,0x08,0x03,0x2b,0x03,0x01, + 0x00,0x0c,0x04,0x01,0x00,0x54,0x04,0x04,0x80,0x34,0x04,0x0b,0x00,0x37,0x04,0x0c, + 0x04,0x25,0x05,0x0d,0x00,0x3e,0x04,0x02,0x02,0x3a,0x04,0x0a,0x03,0x2b,0x03,0x01, + 0x00,0x31,0x04,0x0f,0x00,0x3a,0x04,0x0e,0x03,0x2b,0x03,0x01,0x00,0x31,0x04,0x11, + 0x00,0x3a,0x04,0x10,0x03,0x2b,0x03,0x01,0x00,0x31,0x04,0x13,0x00,0x3a,0x04,0x12, + 0x03,0x54,0x03,0x19,0x80,0x2b,0x03,0x01,0x00,0x25,0x04,0x14,0x00,0x3a,0x04,0x08, + 0x03,0x2b,0x03,0x01,0x00,0x31,0x04,0x15,0x00,0x3a,0x04,0x10,0x03,0x2b,0x03,0x01, + 0x00,0x31,0x04,0x16,0x00,0x3a,0x04,0x0e,0x03,0x2b,0x03,0x01,0x00,0x31,0x04,0x17, + 0x00,0x3a,0x04,0x12,0x03,0x2b,0x03,0x01,0x00,0x37,0x03,0x18,0x03,0x2b,0x04,0x01, + 0x00,0x31,0x05,0x19,0x00,0x3a,0x05,0x18,0x04,0x31,0x04,0x1a,0x00,0x2b,0x05,0x01, + 0x00,0x0c,0x06,0x01,0x00,0x54,0x06,0x02,0x80,0x10,0x06,0x04,0x00,0x3e,0x06,0x01, + 0x02,0x3a,0x06,0x0a,0x05,0x30,0x03,0x00,0x80,0x2b,0x03,0x01,0x00,0x2b,0x04,0x01, + 0x00,0x37,0x04,0x0a,0x04,0x10,0x05,0x04,0x00,0x37,0x04,0x1b,0x04,0x25,0x06,0x1c, + 0x00,0x25,0x07,0x1d,0x00,0x3e,0x04,0x04,0x02,0x3a,0x04,0x0a,0x03,0x0f,0x00,0x02, 0x00,0x54,0x03,0x05,0x80,0x2b,0x03,0x01,0x00,0x2b,0x04,0x03,0x00,0x10,0x05,0x02, - 0x00,0x3e,0x04,0x02,0x02,0x3a,0x04,0x1b,0x03,0x2b,0x03,0x01,0x00,0x37,0x03,0x0a, - 0x03,0x0e,0x00,0x03,0x00,0x54,0x03,0x03,0x80,0x34,0x03,0x04,0x00,0x25,0x04,0x1c, + 0x00,0x3e,0x04,0x02,0x02,0x3a,0x04,0x1e,0x03,0x2b,0x03,0x01,0x00,0x37,0x03,0x0a, + 0x03,0x0e,0x00,0x03,0x00,0x54,0x03,0x03,0x80,0x34,0x03,0x04,0x00,0x25,0x04,0x1f, 0x00,0x3e,0x03,0x02,0x01,0x47,0x00,0x01,0x00,0x03,0x80,0x02,0xc0,0x00,0xc0,0x06, 0xc0,0x2f,0x55,0x6e,0x61,0x62,0x6c,0x65,0x20,0x74,0x6f,0x20,0x64,0x65,0x74,0x65, 0x72,0x6d,0x69,0x6e,0x65,0x20,0x74,0x68,0x65,0x20,0x77,0x6f,0x72,0x6b,0x69,0x6e, 0x67,0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x6f,0x72,0x79,0x2e,0x11,0x73,0x65,0x61, - 0x72,0x63,0x68,0x5f,0x70,0x61,0x74,0x68,0x73,0x00,0x00,0x0e,0x6e,0x6f,0x72,0x6d, - 0x61,0x6c,0x69,0x7a,0x65,0x00,0x00,0x00,0x06,0x5c,0x00,0x0c,0x74,0x6f,0x5f,0x70, - 0x61,0x74,0x68,0x00,0x15,0x69,0x73,0x5f,0x70,0x61,0x74,0x68,0x5f,0x61,0x62,0x73, - 0x6f,0x6c,0x75,0x74,0x65,0x00,0x10,0x74,0x6f,0x5f,0x66,0x69,0x6c,0x65,0x5f,0x75, - 0x72,0x69,0x08,0x50,0x57,0x44,0x0b,0x67,0x65,0x74,0x65,0x6e,0x76,0x07,0x6f,0x73, - 0x0d,0x62,0x61,0x73,0x65,0x5f,0x64,0x69,0x72,0x06,0x2f,0x0d,0x70,0x61,0x74,0x68, - 0x5f,0x73,0x65,0x70,0x0a,0x70,0x63,0x61,0x6c,0x6c,0x00,0x59,0x55,0x6e,0x61,0x62, - 0x6c,0x65,0x20,0x74,0x6f,0x20,0x69,0x6e,0x69,0x74,0x69,0x61,0x6c,0x69,0x7a,0x65, - 0x20,0x70,0x6c,0x61,0x74,0x66,0x6f,0x72,0x6d,0x20,0x6d,0x6f,0x64,0x75,0x6c,0x65, - 0x20,0x3a,0x20,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x20,0x70,0x6c,0x61, - 0x74,0x66,0x6f,0x72,0x6d,0x20,0x73,0x68,0x6f,0x75,0x6c,0x64,0x20,0x62,0x65,0x20, - 0x27,0x75,0x6e,0x69,0x78,0x27,0x20,0x6f,0x72,0x20,0x27,0x77,0x69,0x6e,0x27,0x2e, - 0x0a,0x65,0x72,0x72,0x6f,0x72,0x08,0x69,0x6f,0x73,0x0c,0x61,0x6e,0x64,0x72,0x6f, - 0x69,0x64,0x08,0x77,0x69,0x6e,0x09,0x75,0x6e,0x69,0x78,0xbd,0x01,0x03,0x00,0x0d, - 0x00,0x12,0x00,0x1a,0x34,0x00,0x00,0x00,0x25,0x01,0x01,0x00,0x3e,0x00,0x02,0x02, - 0x34,0x01,0x00,0x00,0x25,0x02,0x02,0x00,0x3e,0x01,0x02,0x02,0x32,0x02,0x00,0x00, - 0x29,0x03,0x00,0x00,0x32,0x04,0x00,0x00,0x31,0x05,0x03,0x00,0x31,0x06,0x04,0x00, - 0x31,0x07,0x05,0x00,0x31,0x08,0x06,0x00,0x31,0x09,0x07,0x00,0x31,0x0a,0x08,0x00, - 0x31,0x0b,0x09,0x00,0x31,0x0c,0x0b,0x00,0x3a,0x0c,0x0a,0x02,0x31,0x0c,0x0d,0x00, - 0x3a,0x0c,0x0c,0x02,0x31,0x0c,0x0f,0x00,0x3a,0x0c,0x0e,0x02,0x31,0x0c,0x11,0x00, - 0x3a,0x0c,0x10,0x02,0x30,0x00,0x00,0x80,0x48,0x02,0x02,0x00,0x00,0x09,0x69,0x6e, - 0x69,0x74,0x00,0x0e,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x00,0x0d,0x67, - 0x65,0x74,0x5f,0x70,0x61,0x74,0x68,0x00,0x0c,0x67,0x65,0x74,0x5f,0x75,0x72,0x69, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72, - 0x2e,0x75,0x74,0x69,0x6c,0x11,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x75, - 0x72,0x6c,0x0c,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x3c,0x00,0x01,0x04,0x02,0x02, - 0x00,0x07,0x34,0x01,0x00,0x00,0x2b,0x02,0x01,0x00,0x36,0x02,0x00,0x02,0x25,0x03, - 0x01,0x00,0x3e,0x01,0x03,0x02,0x2c,0x00,0x01,0x00,0x48,0x00,0x02,0x00,0x02,0x80, - 0x01,0xc0,0x12,0x4e,0x6f,0x20,0x73,0x75,0x63,0x68,0x20,0x6c,0x65,0x76,0x65,0x6c, - 0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0xf1,0x01,0x00,0x03,0x0a,0x00,0x09,0x00,0x22, - 0x34,0x03,0x00,0x00,0x10,0x04,0x00,0x00,0x3e,0x03,0x02,0x02,0x37,0x04,0x01,0x03, - 0x37,0x05,0x02,0x03,0x36,0x05,0x01,0x05,0x36,0x06,0x01,0x04,0x0b,0x06,0x00,0x00, - 0x54,0x06,0x07,0x80,0x34,0x06,0x03,0x00,0x25,0x07,0x04,0x00,0x34,0x08,0x05,0x00, - 0x10,0x09,0x01,0x00,0x3e,0x08,0x02,0x02,0x24,0x07,0x08,0x07,0x3e,0x06,0x02,0x01, - 0x0e,0x00,0x05,0x00,0x54,0x06,0x08,0x80,0x34,0x06,0x03,0x00,0x25,0x07,0x06,0x00, - 0x34,0x08,0x05,0x00,0x10,0x09,0x01,0x00,0x3e,0x08,0x02,0x02,0x25,0x09,0x07,0x00, - 0x24,0x07,0x09,0x07,0x3e,0x06,0x02,0x01,0x34,0x06,0x08,0x00,0x10,0x07,0x05,0x00, - 0x10,0x08,0x02,0x00,0x3e,0x07,0x02,0x00,0x3d,0x06,0x00,0x02,0x10,0x02,0x06,0x00, - 0x39,0x02,0x01,0x04,0x47,0x00,0x01,0x00,0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0x12, - 0x20,0x69,0x73,0x20,0x72,0x65,0x61,0x64,0x2d,0x6f,0x6e,0x6c,0x79,0x11,0x54,0x68, - 0x65,0x20,0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x20,0x0d,0x74,0x6f,0x73,0x74,0x72, - 0x69,0x6e,0x67,0x15,0x4e,0x6f,0x20,0x73,0x75,0x63,0x68,0x20,0x66,0x65,0x61,0x74, - 0x75,0x72,0x65,0x20,0x0a,0x65,0x72,0x72,0x6f,0x72,0x0f,0x76,0x61,0x6c,0x69,0x64, - 0x61,0x74,0x6f,0x72,0x73,0x0c,0x5f,0x5f,0x69,0x6e,0x64,0x65,0x78,0x11,0x67,0x65, - 0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x1d,0x00,0x03,0x07,0x01,0x00, - 0x00,0x05,0x2b,0x03,0x00,0x00,0x38,0x04,0x01,0x00,0x10,0x05,0x01,0x00,0x10,0x06, - 0x02,0x00,0x40,0x03,0x04,0x00,0x03,0xc0,0x1d,0x00,0x03,0x07,0x01,0x00,0x00,0x05, - 0x2b,0x03,0x00,0x00,0x38,0x04,0x01,0x00,0x10,0x05,0x01,0x00,0x10,0x06,0x02,0x00, - 0x40,0x03,0x04,0x00,0x04,0xc0,0x21,0x00,0x04,0x09,0x01,0x00,0x00,0x06,0x2b,0x04, - 0x00,0x00,0x38,0x05,0x01,0x00,0x10,0x06,0x01,0x00,0x10,0x07,0x02,0x00,0x10,0x08, - 0x03,0x00,0x40,0x04,0x05,0x00,0x05,0xc0,0x2a,0x00,0x01,0x04,0x01,0x01,0x00,0x05, - 0x34,0x01,0x00,0x00,0x32,0x02,0x03,0x00,0x3b,0x00,0x01,0x02,0x2b,0x03,0x00,0x00, - 0x40,0x01,0x03,0x00,0x06,0xc0,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61, - 0x62,0x6c,0x65,0x1e,0x00,0x03,0x07,0x01,0x00,0x01,0x05,0x2b,0x03,0x00,0x00,0x38, - 0x04,0x01,0x00,0x14,0x05,0x00,0x01,0x10,0x06,0x02,0x00,0x40,0x03,0x04,0x00,0x03, - 0xc0,0x04,0x1e,0x00,0x03,0x07,0x01,0x00,0x01,0x05,0x2b,0x03,0x00,0x00,0x38,0x04, - 0x01,0x00,0x14,0x05,0x00,0x01,0x10,0x06,0x02,0x00,0x40,0x03,0x04,0x00,0x04,0xc0, - 0x04,0x22,0x00,0x04,0x09,0x01,0x00,0x01,0x06,0x2b,0x04,0x00,0x00,0x38,0x05,0x01, - 0x00,0x14,0x06,0x00,0x01,0x10,0x07,0x02,0x00,0x10,0x08,0x03,0x00,0x40,0x04,0x05, - 0x00,0x05,0xc0,0x04,0x2a,0x00,0x01,0x04,0x01,0x01,0x00,0x05,0x34,0x01,0x00,0x00, + 0x72,0x63,0x68,0x5f,0x70,0x61,0x74,0x68,0x73,0x09,0x25,0x25,0x32,0x30,0x06,0x20, + 0x09,0x67,0x73,0x75,0x62,0x00,0x00,0x0e,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a, + 0x65,0x00,0x00,0x00,0x06,0x5c,0x00,0x0c,0x74,0x6f,0x5f,0x70,0x61,0x74,0x68,0x00, + 0x15,0x69,0x73,0x5f,0x70,0x61,0x74,0x68,0x5f,0x61,0x62,0x73,0x6f,0x6c,0x75,0x74, + 0x65,0x00,0x10,0x74,0x6f,0x5f,0x66,0x69,0x6c,0x65,0x5f,0x75,0x72,0x69,0x08,0x50, + 0x57,0x44,0x0b,0x67,0x65,0x74,0x65,0x6e,0x76,0x07,0x6f,0x73,0x0d,0x62,0x61,0x73, + 0x65,0x5f,0x64,0x69,0x72,0x06,0x2f,0x0d,0x70,0x61,0x74,0x68,0x5f,0x73,0x65,0x70, + 0x0a,0x70,0x63,0x61,0x6c,0x6c,0x00,0x59,0x55,0x6e,0x61,0x62,0x6c,0x65,0x20,0x74, + 0x6f,0x20,0x69,0x6e,0x69,0x74,0x69,0x61,0x6c,0x69,0x7a,0x65,0x20,0x70,0x6c,0x61, + 0x74,0x66,0x6f,0x72,0x6d,0x20,0x6d,0x6f,0x64,0x75,0x6c,0x65,0x20,0x3a,0x20,0x65, + 0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x20,0x70,0x6c,0x61,0x74,0x66,0x6f,0x72, + 0x6d,0x20,0x73,0x68,0x6f,0x75,0x6c,0x64,0x20,0x62,0x65,0x20,0x27,0x75,0x6e,0x69, + 0x78,0x27,0x20,0x6f,0x72,0x20,0x27,0x77,0x69,0x6e,0x27,0x2e,0x0a,0x65,0x72,0x72, + 0x6f,0x72,0x08,0x69,0x6f,0x73,0x0c,0x61,0x6e,0x64,0x72,0x6f,0x69,0x64,0x08,0x77, + 0x69,0x6e,0x09,0x75,0x6e,0x69,0x78,0xbd,0x01,0x03,0x00,0x0d,0x00,0x12,0x00,0x1a, + 0x34,0x00,0x00,0x00,0x25,0x01,0x01,0x00,0x3e,0x00,0x02,0x02,0x34,0x01,0x00,0x00, + 0x25,0x02,0x02,0x00,0x3e,0x01,0x02,0x02,0x32,0x02,0x00,0x00,0x29,0x03,0x00,0x00, + 0x32,0x04,0x00,0x00,0x31,0x05,0x03,0x00,0x31,0x06,0x04,0x00,0x31,0x07,0x05,0x00, + 0x31,0x08,0x06,0x00,0x31,0x09,0x07,0x00,0x31,0x0a,0x08,0x00,0x31,0x0b,0x09,0x00, + 0x31,0x0c,0x0b,0x00,0x3a,0x0c,0x0a,0x02,0x31,0x0c,0x0d,0x00,0x3a,0x0c,0x0c,0x02, + 0x31,0x0c,0x0f,0x00,0x3a,0x0c,0x0e,0x02,0x31,0x0c,0x11,0x00,0x3a,0x0c,0x10,0x02, + 0x30,0x00,0x00,0x80,0x48,0x02,0x02,0x00,0x00,0x09,0x69,0x6e,0x69,0x74,0x00,0x0e, + 0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x00,0x0d,0x67,0x65,0x74,0x5f,0x70, + 0x61,0x74,0x68,0x00,0x0c,0x67,0x65,0x74,0x5f,0x75,0x72,0x69,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x12,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x75,0x74,0x69, + 0x6c,0x11,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x75,0x72,0x6c,0x0c,0x72, + 0x65,0x71,0x75,0x69,0x72,0x65,0x3c,0x00,0x01,0x04,0x02,0x02,0x00,0x07,0x34,0x01, + 0x00,0x00,0x2b,0x02,0x01,0x00,0x36,0x02,0x00,0x02,0x25,0x03,0x01,0x00,0x3e,0x01, + 0x03,0x02,0x2c,0x00,0x01,0x00,0x48,0x00,0x02,0x00,0x02,0x80,0x01,0xc0,0x12,0x4e, + 0x6f,0x20,0x73,0x75,0x63,0x68,0x20,0x6c,0x65,0x76,0x65,0x6c,0x0b,0x61,0x73,0x73, + 0x65,0x72,0x74,0xf1,0x01,0x00,0x03,0x0a,0x00,0x09,0x00,0x22,0x34,0x03,0x00,0x00, + 0x10,0x04,0x00,0x00,0x3e,0x03,0x02,0x02,0x37,0x04,0x01,0x03,0x37,0x05,0x02,0x03, + 0x36,0x05,0x01,0x05,0x36,0x06,0x01,0x04,0x0b,0x06,0x00,0x00,0x54,0x06,0x07,0x80, + 0x34,0x06,0x03,0x00,0x25,0x07,0x04,0x00,0x34,0x08,0x05,0x00,0x10,0x09,0x01,0x00, + 0x3e,0x08,0x02,0x02,0x24,0x07,0x08,0x07,0x3e,0x06,0x02,0x01,0x0e,0x00,0x05,0x00, + 0x54,0x06,0x08,0x80,0x34,0x06,0x03,0x00,0x25,0x07,0x06,0x00,0x34,0x08,0x05,0x00, + 0x10,0x09,0x01,0x00,0x3e,0x08,0x02,0x02,0x25,0x09,0x07,0x00,0x24,0x07,0x09,0x07, + 0x3e,0x06,0x02,0x01,0x34,0x06,0x08,0x00,0x10,0x07,0x05,0x00,0x10,0x08,0x02,0x00, + 0x3e,0x07,0x02,0x00,0x3d,0x06,0x00,0x02,0x10,0x02,0x06,0x00,0x39,0x02,0x01,0x04, + 0x47,0x00,0x01,0x00,0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0x12,0x20,0x69,0x73,0x20, + 0x72,0x65,0x61,0x64,0x2d,0x6f,0x6e,0x6c,0x79,0x11,0x54,0x68,0x65,0x20,0x66,0x65, + 0x61,0x74,0x75,0x72,0x65,0x20,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x15, + 0x4e,0x6f,0x20,0x73,0x75,0x63,0x68,0x20,0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x20, + 0x0a,0x65,0x72,0x72,0x6f,0x72,0x0f,0x76,0x61,0x6c,0x69,0x64,0x61,0x74,0x6f,0x72, + 0x73,0x0c,0x5f,0x5f,0x69,0x6e,0x64,0x65,0x78,0x11,0x67,0x65,0x74,0x6d,0x65,0x74, + 0x61,0x74,0x61,0x62,0x6c,0x65,0x1d,0x00,0x03,0x07,0x01,0x00,0x00,0x05,0x2b,0x03, + 0x00,0x00,0x38,0x04,0x01,0x00,0x10,0x05,0x01,0x00,0x10,0x06,0x02,0x00,0x40,0x03, + 0x04,0x00,0x03,0xc0,0x1d,0x00,0x03,0x07,0x01,0x00,0x00,0x05,0x2b,0x03,0x00,0x00, + 0x38,0x04,0x01,0x00,0x10,0x05,0x01,0x00,0x10,0x06,0x02,0x00,0x40,0x03,0x04,0x00, + 0x04,0xc0,0x21,0x00,0x04,0x09,0x01,0x00,0x00,0x06,0x2b,0x04,0x00,0x00,0x38,0x05, + 0x01,0x00,0x10,0x06,0x01,0x00,0x10,0x07,0x02,0x00,0x10,0x08,0x03,0x00,0x40,0x04, + 0x05,0x00,0x05,0xc0,0x2a,0x00,0x01,0x04,0x01,0x01,0x00,0x05,0x34,0x01,0x00,0x00, 0x32,0x02,0x03,0x00,0x3b,0x00,0x01,0x02,0x2b,0x03,0x00,0x00,0x40,0x01,0x03,0x00, - 0x07,0xc0,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x3a, - 0x00,0x03,0x0b,0x01,0x03,0x01,0x0a,0x2b,0x03,0x00,0x00,0x38,0x04,0x01,0x00,0x14, - 0x05,0x00,0x01,0x10,0x07,0x02,0x00,0x37,0x06,0x00,0x02,0x25,0x08,0x01,0x00,0x25, - 0x09,0x02,0x00,0x27,0x0a,0x01,0x00,0x3e,0x06,0x05,0x00,0x3f,0x03,0x02,0x00,0x03, - 0xc0,0x05,0x06,0x74,0x09,0x67,0x73,0x75,0x62,0x04,0x39,0x00,0x03,0x0b,0x01,0x03, - 0x00,0x0a,0x2b,0x03,0x00,0x00,0x38,0x04,0x01,0x00,0x10,0x05,0x01,0x00,0x10,0x07, - 0x02,0x00,0x37,0x06,0x00,0x02,0x25,0x08,0x01,0x00,0x25,0x09,0x02,0x00,0x27,0x0a, - 0x01,0x00,0x3e,0x06,0x05,0x00,0x3f,0x03,0x02,0x00,0x03,0xc0,0x05,0x06,0x74,0x09, - 0x67,0x73,0x75,0x62,0x8d,0x01,0x00,0x01,0x0a,0x00,0x08,0x00,0x16,0x34,0x01,0x00, - 0x00,0x37,0x01,0x01,0x01,0x3e,0x01,0x01,0x02,0x27,0x02,0x02,0x00,0x34,0x03,0x02, - 0x00,0x37,0x03,0x03,0x03,0x27,0x04,0x01,0x00,0x49,0x02,0x0d,0x80,0x34,0x06,0x04, - 0x00,0x34,0x07,0x00,0x00,0x37,0x07,0x05,0x07,0x10,0x08,0x05,0x00,0x25,0x09,0x06, - 0x00,0x3e,0x07,0x03,0x00,0x3d,0x06,0x00,0x02,0x37,0x06,0x07,0x06,0x05,0x06,0x01, - 0x00,0x54,0x06,0x02,0x80,0x1e,0x06,0x00,0x05,0x48,0x06,0x02,0x00,0x4b,0x02,0xf3, - 0x7f,0x47,0x00,0x01,0x00,0x09,0x66,0x75,0x6e,0x63,0x06,0x66,0x0c,0x67,0x65,0x74, - 0x69,0x6e,0x66,0x6f,0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0x09,0x68,0x75,0x67,0x65, - 0x09,0x6d,0x61,0x74,0x68,0x0c,0x67,0x65,0x74,0x68,0x6f,0x6f,0x6b,0x0a,0x64,0x65, - 0x62,0x75,0x67,0x44,0x00,0x03,0x0a,0x02,0x03,0x01,0x0c,0x2b,0x03,0x00,0x00,0x2b, - 0x04,0x01,0x00,0x10,0x05,0x01,0x00,0x3e,0x04,0x02,0x02,0x15,0x04,0x00,0x04,0x10, - 0x06,0x02,0x00,0x37,0x05,0x00,0x02,0x25,0x07,0x01,0x00,0x25,0x08,0x02,0x00,0x27, - 0x09,0x01,0x00,0x3e,0x05,0x05,0x00,0x3f,0x03,0x01,0x00,0x03,0xc0,0x0d,0xc0,0x05, - 0x06,0x74,0x09,0x67,0x73,0x75,0x62,0x02,0x28,0x00,0x03,0x06,0x02,0x00,0x01,0x07, - 0x2b,0x03,0x00,0x00,0x2b,0x04,0x01,0x00,0x10,0x05,0x01,0x00,0x3e,0x04,0x02,0x02, - 0x15,0x04,0x00,0x04,0x10,0x05,0x02,0x00,0x40,0x03,0x03,0x00,0x04,0xc0,0x0d,0xc0, - 0x02,0x2c,0x00,0x04,0x08,0x02,0x00,0x01,0x08,0x2b,0x04,0x00,0x00,0x2b,0x05,0x01, - 0x00,0x10,0x06,0x01,0x00,0x3e,0x05,0x02,0x02,0x15,0x05,0x00,0x05,0x10,0x06,0x02, - 0x00,0x10,0x07,0x03,0x00,0x40,0x04,0x04,0x00,0x05,0xc0,0x0d,0xc0,0x02,0x3f,0x00, - 0x03,0x0a,0x02,0x03,0x00,0x0b,0x2b,0x03,0x00,0x00,0x2b,0x04,0x01,0x00,0x10,0x05, - 0x01,0x00,0x3e,0x04,0x02,0x02,0x10,0x06,0x02,0x00,0x37,0x05,0x00,0x02,0x25,0x07, - 0x01,0x00,0x25,0x08,0x02,0x00,0x27,0x09,0x01,0x00,0x3e,0x05,0x05,0x00,0x3f,0x03, - 0x01,0x00,0x03,0xc0,0x0d,0xc0,0x05,0x06,0x74,0x09,0x67,0x73,0x75,0x62,0x23,0x00, - 0x03,0x06,0x02,0x00,0x00,0x06,0x2b,0x03,0x00,0x00,0x2b,0x04,0x01,0x00,0x10,0x05, - 0x01,0x00,0x3e,0x04,0x02,0x02,0x10,0x05,0x02,0x00,0x40,0x03,0x03,0x00,0x04,0xc0, - 0x0d,0xc0,0x27,0x00,0x04,0x08,0x02,0x00,0x00,0x07,0x2b,0x04,0x00,0x00,0x2b,0x05, - 0x01,0x00,0x10,0x06,0x01,0x00,0x3e,0x05,0x02,0x02,0x10,0x06,0x02,0x00,0x10,0x07, - 0x03,0x00,0x40,0x04,0x04,0x00,0x05,0xc0,0x0d,0xc0,0x2f,0x00,0x01,0x03,0x02,0x00, - 0x00,0x09,0x0f,0x00,0x00,0x00,0x54,0x01,0x05,0x80,0x2b,0x01,0x00,0x00,0x10,0x02, - 0x00,0x00,0x3e,0x01,0x02,0x02,0x0e,0x00,0x01,0x00,0x54,0x02,0x01,0x80,0x2b,0x01, - 0x01,0x00,0x48,0x01,0x02,0x00,0x0e,0xc0,0x0c,0x80,0x4f,0x00,0x02,0x07,0x02,0x00, - 0x00,0x11,0x2b,0x02,0x00,0x00,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x03,0x0e,0x00, - 0x02,0x00,0x54,0x04,0x04,0x80,0x29,0x04,0x00,0x00,0x10,0x05,0x03,0x00,0x46,0x04, - 0x03,0x00,0x54,0x04,0x07,0x80,0x0d,0x04,0x02,0x00,0x54,0x04,0x04,0x80,0x2b,0x04, - 0x01,0x00,0x10,0x05,0x02,0x00,0x10,0x06,0x01,0x00,0x3e,0x04,0x03,0x02,0x48,0x04, - 0x02,0x00,0x47,0x00,0x01,0x00,0x08,0xc0,0x0a,0xc0,0x15,0x00,0x02,0x04,0x01,0x00, - 0x00,0x03,0x2b,0x02,0x00,0x00,0x10,0x03,0x01,0x00,0x40,0x02,0x02,0x00,0x09,0xc0, - 0x19,0x00,0x03,0x06,0x01,0x00,0x00,0x04,0x2b,0x03,0x00,0x00,0x10,0x04,0x01,0x00, - 0x10,0x05,0x02,0x00,0x40,0x03,0x03,0x00,0x0a,0xc0,0x3e,0x00,0x03,0x07,0x01,0x00, - 0x01,0x0d,0x0f,0x00,0x00,0x00,0x54,0x03,0x06,0x80,0x2b,0x03,0x00,0x00,0x10,0x04, - 0x00,0x00,0x10,0x05,0x01,0x00,0x10,0x06,0x02,0x00,0x40,0x03,0x04,0x00,0x54,0x03, - 0x04,0x80,0x2b,0x03,0x00,0x00,0x14,0x04,0x00,0x01,0x10,0x05,0x02,0x00,0x40,0x03, - 0x03,0x00,0x47,0x00,0x01,0x00,0x09,0xc0,0x02,0x1d,0x00,0x02,0x07,0x01,0x00,0x00, - 0x05,0x2b,0x02,0x00,0x00,0x10,0x03,0x00,0x00,0x2a,0x04,0x05,0x00,0x10,0x06,0x01, - 0x00,0x40,0x02,0x05,0x00,0x08,0xc0,0xcf,0x01,0x02,0x02,0x08,0x02,0x09,0x00,0x22, - 0x2b,0x02,0x00,0x00,0x36,0x02,0x00,0x02,0x0e,0x00,0x02,0x00,0x54,0x03,0x01,0x80, - 0x27,0x02,0xff,0xff,0x2b,0x03,0x01,0x00,0x01,0x03,0x02,0x00,0x54,0x02,0x01,0x80, - 0x47,0x00,0x01,0x00,0x34,0x02,0x00,0x00,0x25,0x03,0x01,0x00,0x43,0x04,0x02,0x00, - 0x3d,0x02,0x01,0x02,0x27,0x03,0x00,0x00,0x01,0x03,0x02,0x00,0x54,0x02,0x05,0x80, - 0x10,0x03,0x01,0x00,0x37,0x02,0x02,0x01,0x43,0x04,0x02,0x00,0x3d,0x02,0x01,0x02, - 0x10,0x01,0x02,0x00,0x34,0x02,0x03,0x00,0x37,0x02,0x04,0x02,0x37,0x02,0x05,0x02, - 0x10,0x03,0x02,0x00,0x37,0x02,0x06,0x02,0x34,0x04,0x07,0x00,0x37,0x04,0x02,0x04, - 0x25,0x05,0x08,0x00,0x10,0x06,0x00,0x00,0x10,0x07,0x01,0x00,0x3e,0x04,0x04,0x00, - 0x3d,0x02,0x01,0x01,0x47,0x00,0x01,0x00,0x01,0xc0,0x02,0x80,0x14,0x44,0x45,0x42, - 0x55,0x47,0x47,0x45,0x52,0x09,0x25,0x73,0x09,0x25,0x73,0x0a,0x0b,0x73,0x74,0x72, - 0x69,0x6e,0x67,0x0a,0x77,0x72,0x69,0x74,0x65,0x0b,0x73,0x74,0x64,0x65,0x72,0x72, - 0x09,0x62,0x61,0x73,0x65,0x07,0x69,0x6f,0x0b,0x66,0x6f,0x72,0x6d,0x61,0x74,0x06, - 0x23,0x0b,0x73,0x65,0x6c,0x65,0x63,0x74,0xc7,0x09,0x03,0x00,0x13,0x00,0x47,0x00, - 0x7d,0x32,0x00,0x00,0x00,0x33,0x01,0x00,0x00,0x37,0x02,0x01,0x01,0x34,0x03,0x03, - 0x00,0x32,0x04,0x00,0x00,0x33,0x05,0x10,0x00,0x33,0x06,0x04,0x00,0x34,0x07,0x05, - 0x00,0x3a,0x07,0x06,0x06,0x34,0x07,0x07,0x00,0x3a,0x07,0x08,0x06,0x34,0x07,0x05, - 0x00,0x3a,0x07,0x09,0x06,0x34,0x07,0x05,0x00,0x3a,0x07,0x0a,0x06,0x34,0x07,0x05, - 0x00,0x3a,0x07,0x0b,0x06,0x34,0x07,0x05,0x00,0x3a,0x07,0x0c,0x06,0x34,0x07,0x07, - 0x00,0x3a,0x07,0x0d,0x06,0x31,0x07,0x0e,0x00,0x3a,0x07,0x0f,0x06,0x3a,0x06,0x11, - 0x05,0x33,0x06,0x12,0x00,0x34,0x07,0x13,0x00,0x3a,0x07,0x14,0x06,0x3a,0x06,0x15, - 0x05,0x31,0x06,0x16,0x00,0x3a,0x06,0x17,0x05,0x3e,0x03,0x03,0x02,0x3a,0x03,0x02, - 0x00,0x34,0x03,0x18,0x00,0x37,0x03,0x19,0x03,0x34,0x04,0x18,0x00,0x37,0x04,0x1a, - 0x04,0x34,0x05,0x18,0x00,0x37,0x05,0x1b,0x05,0x33,0x06,0x1d,0x00,0x31,0x07,0x1c, - 0x00,0x3a,0x07,0x19,0x06,0x31,0x07,0x1e,0x00,0x3a,0x07,0x1a,0x06,0x31,0x07,0x1f, - 0x00,0x3a,0x07,0x1b,0x06,0x3a,0x06,0x15,0x06,0x31,0x07,0x21,0x00,0x3a,0x07,0x20, - 0x00,0x33,0x07,0x23,0x00,0x31,0x08,0x22,0x00,0x3a,0x08,0x19,0x07,0x31,0x08,0x24, - 0x00,0x3a,0x08,0x1a,0x07,0x31,0x08,0x25,0x00,0x3a,0x08,0x1b,0x07,0x3a,0x07,0x15, - 0x07,0x31,0x08,0x27,0x00,0x3a,0x08,0x26,0x00,0x34,0x08,0x13,0x00,0x07,0x08,0x28, - 0x00,0x54,0x08,0x31,0x80,0x34,0x08,0x29,0x00,0x34,0x09,0x2a,0x00,0x34,0x0a,0x2b, - 0x00,0x34,0x0b,0x18,0x00,0x37,0x0b,0x19,0x0b,0x29,0x0c,0x00,0x00,0x31,0x0d,0x2c, - 0x00,0x3a,0x0d,0x19,0x07,0x31,0x0d,0x2d,0x00,0x3a,0x0d,0x19,0x06,0x31,0x0d,0x2e, - 0x00,0x34,0x0e,0x2f,0x00,0x34,0x0f,0x30,0x00,0x25,0x10,0x31,0x00,0x3e,0x0e,0x03, - 0x02,0x0f,0x00,0x0e,0x00,0x54,0x0f,0x09,0x80,0x33,0x0e,0x32,0x00,0x31,0x0f,0x33, - 0x00,0x3a,0x0f,0x19,0x0e,0x31,0x0f,0x34,0x00,0x3a,0x0f,0x1a,0x0e,0x31,0x0f,0x35, - 0x00,0x3a,0x0f,0x1b,0x0e,0x10,0x0c,0x0e,0x00,0x54,0x0e,0x08,0x80,0x33,0x0e,0x36, - 0x00,0x31,0x0f,0x37,0x00,0x3a,0x0f,0x19,0x0e,0x31,0x0f,0x38,0x00,0x3a,0x0f,0x1a, - 0x0e,0x31,0x0f,0x39,0x00,0x3a,0x0f,0x1b,0x0e,0x10,0x0c,0x0e,0x00,0x37,0x0e,0x26, - 0x00,0x31,0x0f,0x3a,0x00,0x3a,0x0f,0x26,0x00,0x31,0x0f,0x3c,0x00,0x3a,0x0f,0x3b, - 0x00,0x34,0x0f,0x03,0x00,0x32,0x10,0x00,0x00,0x33,0x11,0x3f,0x00,0x31,0x12,0x3e, - 0x00,0x3a,0x12,0x15,0x11,0x31,0x12,0x40,0x00,0x3a,0x12,0x17,0x11,0x3e,0x0f,0x03, - 0x02,0x3a,0x0f,0x3d,0x00,0x30,0x08,0x0b,0x80,0x34,0x08,0x13,0x00,0x07,0x08,0x41, - 0x00,0x54,0x08,0x08,0x80,0x34,0x08,0x42,0x00,0x34,0x09,0x18,0x00,0x37,0x09,0x19, - 0x09,0x31,0x0a,0x43,0x00,0x3a,0x0a,0x19,0x00,0x31,0x0a,0x44,0x00,0x3a,0x0a,0x3b, - 0x00,0x30,0x08,0x00,0x80,0x31,0x08,0x46,0x00,0x3a,0x08,0x45,0x00,0x30,0x00,0x00, - 0x80,0x48,0x00,0x02,0x00,0x00,0x08,0x6c,0x6f,0x67,0x00,0x00,0x09,0x6c,0x6f,0x61, - 0x64,0x0c,0x4c,0x75,0x61,0x20,0x35,0x2e,0x32,0x00,0x01,0x00,0x00,0x00,0x0d,0x65, - 0x76,0x61,0x6c,0x5f,0x65,0x6e,0x76,0x00,0x0b,0x6c,0x6f,0x61,0x64,0x69,0x6e,0x00, - 0x00,0x00,0x00,0x01,0x02,0x00,0x00,0x09,0x6d,0x61,0x69,0x6e,0x00,0x00,0x00,0x01, - 0x02,0x00,0x00,0x09,0x6d,0x61,0x69,0x6e,0x08,0x6a,0x69,0x74,0x07,0x5f,0x47,0x0b, - 0x72,0x61,0x77,0x67,0x65,0x74,0x00,0x00,0x00,0x0c,0x73,0x65,0x74,0x66,0x65,0x6e, - 0x76,0x0c,0x67,0x65,0x74,0x66,0x65,0x6e,0x76,0x0f,0x6c,0x6f,0x61,0x64,0x73,0x74, - 0x72,0x69,0x6e,0x67,0x0c,0x4c,0x75,0x61,0x20,0x35,0x2e,0x31,0x00,0x12,0x43,0x75, - 0x72,0x72,0x65,0x6e,0x74,0x54,0x68,0x72,0x65,0x61,0x64,0x00,0x00,0x01,0x00,0x00, - 0x00,0x00,0x12,0x46,0x6f,0x72,0x65,0x69,0x67,0x6e,0x54,0x68,0x72,0x65,0x61,0x64, - 0x00,0x00,0x01,0x00,0x00,0x00,0x0d,0x73,0x65,0x74,0x6c,0x6f,0x63,0x61,0x6c,0x0d, - 0x67,0x65,0x74,0x6c,0x6f,0x63,0x61,0x6c,0x0c,0x67,0x65,0x74,0x69,0x6e,0x66,0x6f, - 0x0a,0x64,0x65,0x62,0x75,0x67,0x0f,0x5f,0x5f,0x6e,0x65,0x77,0x69,0x6e,0x64,0x65, - 0x78,0x00,0x0c,0x5f,0x5f,0x69,0x6e,0x64,0x65,0x78,0x15,0x6c,0x61,0x6e,0x67,0x75, - 0x61,0x67,0x65,0x5f,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x0d,0x5f,0x56,0x45,0x52, - 0x53,0x49,0x4f,0x4e,0x01,0x00,0x0f,0x12,0x6c,0x61,0x6e,0x67,0x75,0x61,0x67,0x65, - 0x5f,0x6e,0x61,0x6d,0x65,0x08,0x4c,0x75,0x61,0x0d,0x65,0x6e,0x63,0x6f,0x64,0x69, - 0x6e,0x67,0x0a,0x55,0x54,0x46,0x2d,0x38,0x1e,0x6c,0x61,0x6e,0x67,0x75,0x61,0x67, - 0x65,0x5f,0x73,0x75,0x70,0x70,0x6f,0x72,0x74,0x73,0x5f,0x74,0x68,0x72,0x65,0x61, - 0x64,0x73,0x03,0x00,0x10,0x73,0x68,0x6f,0x77,0x5f,0x68,0x69,0x64,0x64,0x65,0x6e, - 0x03,0x01,0x08,0x75,0x72,0x69,0x09,0x66,0x69,0x6c,0x65,0x0e,0x6c,0x6f,0x67,0x5f, - 0x6c,0x65,0x76,0x65,0x6c,0x0c,0x57,0x41,0x52,0x4e,0x49,0x4e,0x47,0x13,0x73,0x75, - 0x70,0x70,0x6f,0x72,0x74,0x73,0x5f,0x61,0x73,0x79,0x6e,0x63,0x03,0x01,0x16,0x6d, - 0x75,0x6c,0x74,0x69,0x70,0x6c,0x65,0x5f,0x73,0x65,0x73,0x73,0x69,0x6f,0x6e,0x73, - 0x03,0x00,0x0d,0x6d,0x61,0x78,0x5f,0x64,0x61,0x74,0x61,0x03,0xff,0xff,0x03,0x12, - 0x64,0x61,0x74,0x61,0x5f,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x0b,0x62,0x61, - 0x73,0x65,0x36,0x34,0x0e,0x6d,0x61,0x78,0x5f,0x64,0x65,0x70,0x74,0x68,0x03,0x01, - 0x19,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x5f,0x6c,0x61,0x6e,0x67, - 0x75,0x61,0x67,0x65,0x73,0x08,0x4c,0x75,0x61,0x11,0x6d,0x61,0x78,0x5f,0x63,0x68, - 0x69,0x6c,0x64,0x72,0x65,0x6e,0x03,0x20,0x15,0x70,0x72,0x6f,0x74,0x6f,0x63,0x6f, - 0x6c,0x5f,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x03,0x01,0x15,0x62,0x72,0x65,0x61, - 0x6b,0x70,0x6f,0x69,0x6e,0x74,0x5f,0x74,0x79,0x70,0x65,0x73,0x15,0x6c,0x69,0x6e, - 0x65,0x20,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x61,0x6c,0x0f,0x76,0x61, - 0x6c,0x69,0x64,0x61,0x74,0x6f,0x72,0x73,0x01,0x00,0x00,0x0e,0x6c,0x6f,0x67,0x5f, - 0x6c,0x65,0x76,0x65,0x6c,0x00,0x08,0x75,0x72,0x69,0x10,0x73,0x68,0x6f,0x77,0x5f, - 0x68,0x69,0x64,0x64,0x65,0x6e,0x0e,0x6d,0x61,0x78,0x5f,0x64,0x65,0x70,0x74,0x68, - 0x0d,0x6d,0x61,0x78,0x5f,0x64,0x61,0x74,0x61,0x11,0x6d,0x61,0x78,0x5f,0x63,0x68, - 0x69,0x6c,0x64,0x72,0x65,0x6e,0x0d,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x0d, - 0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x16,0x6d,0x75,0x6c,0x74,0x69,0x70,0x6c, - 0x65,0x5f,0x73,0x65,0x73,0x73,0x69,0x6f,0x6e,0x73,0x0d,0x74,0x6f,0x6e,0x75,0x6d, - 0x62,0x65,0x72,0x01,0x00,0x00,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61, - 0x62,0x6c,0x65,0x0d,0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73,0x0c,0x57,0x41,0x52, - 0x4e,0x49,0x4e,0x47,0x01,0x00,0x05,0x09,0x49,0x4e,0x46,0x4f,0x03,0x02,0x0b,0x44, - 0x45,0x54,0x41,0x49,0x4c,0x03,0x03,0x0a,0x44,0x45,0x42,0x55,0x47,0x03,0x04,0x0c, - 0x57,0x41,0x52,0x4e,0x49,0x4e,0x47,0x03,0x01,0x0a,0x45,0x52,0x52,0x4f,0x52,0x03, - 0x00,0x3c,0x00,0x01,0x05,0x01,0x03,0x00,0x08,0x2b,0x01,0x00,0x00,0x37,0x01,0x00, - 0x01,0x25,0x02,0x01,0x00,0x2b,0x03,0x00,0x00,0x37,0x03,0x02,0x03,0x10,0x04,0x00, - 0x00,0x3e,0x03,0x02,0x00,0x3f,0x01,0x01,0x00,0x00,0x00,0x09,0x62,0x79,0x74,0x65, - 0x0b,0x25,0x25,0x25,0x30,0x32,0x78,0x0b,0x66,0x6f,0x72,0x6d,0x61,0x74,0x3b,0x01, - 0x01,0x05,0x01,0x03,0x00,0x07,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x10,0x02, - 0x00,0x00,0x25,0x03,0x01,0x00,0x31,0x04,0x02,0x00,0x30,0x00,0x00,0x80,0x40,0x01, - 0x04,0x00,0x00,0xc0,0x00,0x14,0x28,0x5b,0x5e,0x41,0x2d,0x5a,0x61,0x2d,0x7a,0x30, - 0x2d,0x39,0x5f,0x5d,0x29,0x09,0x67,0x73,0x75,0x62,0x40,0x00,0x01,0x09,0x01,0x01, - 0x00,0x0c,0x32,0x01,0x00,0x00,0x2b,0x02,0x00,0x00,0x37,0x02,0x00,0x02,0x10,0x03, - 0x00,0x00,0x3e,0x02,0x02,0x04,0x54,0x05,0x03,0x80,0x36,0x07,0x05,0x00,0x27,0x08, - 0x01,0x00,0x39,0x08,0x07,0x01,0x41,0x05,0x03,0x03,0x4e,0x05,0xfb,0x7f,0x48,0x01, - 0x02,0x00,0x01,0xc0,0x0b,0x69,0x70,0x61,0x69,0x72,0x73,0x5a,0x00,0x01,0x05,0x02, - 0x03,0x00,0x0f,0x2b,0x01,0x00,0x00,0x36,0x01,0x00,0x01,0x0f,0x00,0x01,0x00,0x54, - 0x02,0x02,0x80,0x48,0x00,0x02,0x00,0x54,0x01,0x08,0x80,0x2b,0x01,0x01,0x00,0x37, - 0x01,0x00,0x01,0x25,0x02,0x01,0x00,0x2b,0x03,0x01,0x00,0x37,0x03,0x02,0x03,0x10, - 0x04,0x00,0x00,0x3e,0x03,0x02,0x00,0x3f,0x01,0x01,0x00,0x47,0x00,0x01,0x00,0x01, - 0x00,0x00,0x00,0x09,0x62,0x79,0x74,0x65,0x0b,0x25,0x25,0x25,0x30,0x32,0x78,0x0b, - 0x66,0x6f,0x72,0x6d,0x61,0x74,0x3d,0x01,0x01,0x05,0x02,0x03,0x00,0x07,0x2b,0x01, - 0x00,0x00,0x37,0x01,0x00,0x01,0x10,0x02,0x00,0x00,0x25,0x03,0x01,0x00,0x31,0x04, - 0x02,0x00,0x30,0x00,0x00,0x80,0x40,0x01,0x04,0x00,0x00,0xc0,0x05,0xc0,0x00,0x14, - 0x28,0x5b,0x5e,0x41,0x2d,0x5a,0x61,0x2d,0x7a,0x30,0x2d,0x39,0x5f,0x5d,0x29,0x09, - 0x67,0x73,0x75,0x62,0x39,0x00,0x01,0x05,0x02,0x02,0x00,0x08,0x2b,0x01,0x00,0x00, - 0x37,0x01,0x00,0x01,0x2b,0x02,0x01,0x00,0x37,0x02,0x01,0x02,0x10,0x03,0x00,0x00, - 0x27,0x04,0x10,0x00,0x3e,0x02,0x03,0x00,0x3f,0x01,0x00,0x00,0x00,0x00,0x01,0x00, - 0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x09,0x63,0x68,0x61,0x72,0x36,0x01, - 0x01,0x05,0x02,0x03,0x00,0x07,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x10,0x02, - 0x00,0x00,0x25,0x03,0x01,0x00,0x31,0x04,0x02,0x00,0x30,0x00,0x00,0x80,0x40,0x01, - 0x04,0x00,0x00,0xc0,0x01,0xc0,0x00,0x0d,0x25,0x25,0x28,0x25,0x78,0x25,0x78,0x29, - 0x09,0x67,0x73,0x75,0x62,0x27,0x00,0x01,0x02,0x00,0x02,0x00,0x07,0x06,0x00,0x00, - 0x00,0x54,0x01,0x02,0x80,0x48,0x00,0x02,0x00,0x54,0x01,0x02,0x80,0x25,0x01,0x01, - 0x00,0x48,0x01,0x02,0x00,0x47,0x00,0x01,0x00,0x05,0x07,0x2e,0x2f,0x2b,0x00,0x01, - 0x02,0x00,0x02,0x00,0x07,0x06,0x00,0x00,0x00,0x54,0x01,0x03,0x80,0x25,0x01,0x01, - 0x00,0x48,0x01,0x02,0x00,0x54,0x01,0x01,0x80,0x48,0x00,0x02,0x00,0x47,0x00,0x01, - 0x00,0x05,0x0b,0x2e,0x2e,0x2f,0x2e,0x2e,0x2f,0x2a,0x00,0x01,0x02,0x00,0x02,0x00, + 0x06,0xc0,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x1e, + 0x00,0x03,0x07,0x01,0x00,0x01,0x05,0x2b,0x03,0x00,0x00,0x38,0x04,0x01,0x00,0x14, + 0x05,0x00,0x01,0x10,0x06,0x02,0x00,0x40,0x03,0x04,0x00,0x03,0xc0,0x04,0x1e,0x00, + 0x03,0x07,0x01,0x00,0x01,0x05,0x2b,0x03,0x00,0x00,0x38,0x04,0x01,0x00,0x14,0x05, + 0x00,0x01,0x10,0x06,0x02,0x00,0x40,0x03,0x04,0x00,0x04,0xc0,0x04,0x22,0x00,0x04, + 0x09,0x01,0x00,0x01,0x06,0x2b,0x04,0x00,0x00,0x38,0x05,0x01,0x00,0x14,0x06,0x00, + 0x01,0x10,0x07,0x02,0x00,0x10,0x08,0x03,0x00,0x40,0x04,0x05,0x00,0x05,0xc0,0x04, + 0x2a,0x00,0x01,0x04,0x01,0x01,0x00,0x05,0x34,0x01,0x00,0x00,0x32,0x02,0x03,0x00, + 0x3b,0x00,0x01,0x02,0x2b,0x03,0x00,0x00,0x40,0x01,0x03,0x00,0x07,0xc0,0x11,0x73, + 0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x3a,0x00,0x03,0x0b,0x01, + 0x03,0x01,0x0a,0x2b,0x03,0x00,0x00,0x38,0x04,0x01,0x00,0x14,0x05,0x00,0x01,0x10, + 0x07,0x02,0x00,0x37,0x06,0x00,0x02,0x25,0x08,0x01,0x00,0x25,0x09,0x02,0x00,0x27, + 0x0a,0x01,0x00,0x3e,0x06,0x05,0x00,0x3f,0x03,0x02,0x00,0x03,0xc0,0x05,0x06,0x74, + 0x09,0x67,0x73,0x75,0x62,0x04,0x39,0x00,0x03,0x0b,0x01,0x03,0x00,0x0a,0x2b,0x03, + 0x00,0x00,0x38,0x04,0x01,0x00,0x10,0x05,0x01,0x00,0x10,0x07,0x02,0x00,0x37,0x06, + 0x00,0x02,0x25,0x08,0x01,0x00,0x25,0x09,0x02,0x00,0x27,0x0a,0x01,0x00,0x3e,0x06, + 0x05,0x00,0x3f,0x03,0x02,0x00,0x03,0xc0,0x05,0x06,0x74,0x09,0x67,0x73,0x75,0x62, + 0x8d,0x01,0x00,0x01,0x0a,0x00,0x08,0x00,0x16,0x34,0x01,0x00,0x00,0x37,0x01,0x01, + 0x01,0x3e,0x01,0x01,0x02,0x27,0x02,0x02,0x00,0x34,0x03,0x02,0x00,0x37,0x03,0x03, + 0x03,0x27,0x04,0x01,0x00,0x49,0x02,0x0d,0x80,0x34,0x06,0x04,0x00,0x34,0x07,0x00, + 0x00,0x37,0x07,0x05,0x07,0x10,0x08,0x05,0x00,0x25,0x09,0x06,0x00,0x3e,0x07,0x03, + 0x00,0x3d,0x06,0x00,0x02,0x37,0x06,0x07,0x06,0x05,0x06,0x01,0x00,0x54,0x06,0x02, + 0x80,0x1e,0x06,0x00,0x05,0x48,0x06,0x02,0x00,0x4b,0x02,0xf3,0x7f,0x47,0x00,0x01, + 0x00,0x09,0x66,0x75,0x6e,0x63,0x06,0x66,0x0c,0x67,0x65,0x74,0x69,0x6e,0x66,0x6f, + 0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0x09,0x68,0x75,0x67,0x65,0x09,0x6d,0x61,0x74, + 0x68,0x0c,0x67,0x65,0x74,0x68,0x6f,0x6f,0x6b,0x0a,0x64,0x65,0x62,0x75,0x67,0x44, + 0x00,0x03,0x0a,0x02,0x03,0x01,0x0c,0x2b,0x03,0x00,0x00,0x2b,0x04,0x01,0x00,0x10, + 0x05,0x01,0x00,0x3e,0x04,0x02,0x02,0x15,0x04,0x00,0x04,0x10,0x06,0x02,0x00,0x37, + 0x05,0x00,0x02,0x25,0x07,0x01,0x00,0x25,0x08,0x02,0x00,0x27,0x09,0x01,0x00,0x3e, + 0x05,0x05,0x00,0x3f,0x03,0x01,0x00,0x03,0xc0,0x0d,0xc0,0x05,0x06,0x74,0x09,0x67, + 0x73,0x75,0x62,0x02,0x28,0x00,0x03,0x06,0x02,0x00,0x01,0x07,0x2b,0x03,0x00,0x00, + 0x2b,0x04,0x01,0x00,0x10,0x05,0x01,0x00,0x3e,0x04,0x02,0x02,0x15,0x04,0x00,0x04, + 0x10,0x05,0x02,0x00,0x40,0x03,0x03,0x00,0x04,0xc0,0x0d,0xc0,0x02,0x2c,0x00,0x04, + 0x08,0x02,0x00,0x01,0x08,0x2b,0x04,0x00,0x00,0x2b,0x05,0x01,0x00,0x10,0x06,0x01, + 0x00,0x3e,0x05,0x02,0x02,0x15,0x05,0x00,0x05,0x10,0x06,0x02,0x00,0x10,0x07,0x03, + 0x00,0x40,0x04,0x04,0x00,0x05,0xc0,0x0d,0xc0,0x02,0x3f,0x00,0x03,0x0a,0x02,0x03, + 0x00,0x0b,0x2b,0x03,0x00,0x00,0x2b,0x04,0x01,0x00,0x10,0x05,0x01,0x00,0x3e,0x04, + 0x02,0x02,0x10,0x06,0x02,0x00,0x37,0x05,0x00,0x02,0x25,0x07,0x01,0x00,0x25,0x08, + 0x02,0x00,0x27,0x09,0x01,0x00,0x3e,0x05,0x05,0x00,0x3f,0x03,0x01,0x00,0x03,0xc0, + 0x0d,0xc0,0x05,0x06,0x74,0x09,0x67,0x73,0x75,0x62,0x23,0x00,0x03,0x06,0x02,0x00, + 0x00,0x06,0x2b,0x03,0x00,0x00,0x2b,0x04,0x01,0x00,0x10,0x05,0x01,0x00,0x3e,0x04, + 0x02,0x02,0x10,0x05,0x02,0x00,0x40,0x03,0x03,0x00,0x04,0xc0,0x0d,0xc0,0x27,0x00, + 0x04,0x08,0x02,0x00,0x00,0x07,0x2b,0x04,0x00,0x00,0x2b,0x05,0x01,0x00,0x10,0x06, + 0x01,0x00,0x3e,0x05,0x02,0x02,0x10,0x06,0x02,0x00,0x10,0x07,0x03,0x00,0x40,0x04, + 0x04,0x00,0x05,0xc0,0x0d,0xc0,0x2f,0x00,0x01,0x03,0x02,0x00,0x00,0x09,0x0f,0x00, + 0x00,0x00,0x54,0x01,0x05,0x80,0x2b,0x01,0x00,0x00,0x10,0x02,0x00,0x00,0x3e,0x01, + 0x02,0x02,0x0e,0x00,0x01,0x00,0x54,0x02,0x01,0x80,0x2b,0x01,0x01,0x00,0x48,0x01, + 0x02,0x00,0x0e,0xc0,0x0c,0x80,0x4f,0x00,0x02,0x07,0x02,0x00,0x00,0x11,0x2b,0x02, + 0x00,0x00,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x03,0x0e,0x00,0x02,0x00,0x54,0x04, + 0x04,0x80,0x29,0x04,0x00,0x00,0x10,0x05,0x03,0x00,0x46,0x04,0x03,0x00,0x54,0x04, + 0x07,0x80,0x0d,0x04,0x02,0x00,0x54,0x04,0x04,0x80,0x2b,0x04,0x01,0x00,0x10,0x05, + 0x02,0x00,0x10,0x06,0x01,0x00,0x3e,0x04,0x03,0x02,0x48,0x04,0x02,0x00,0x47,0x00, + 0x01,0x00,0x08,0xc0,0x0a,0xc0,0x15,0x00,0x02,0x04,0x01,0x00,0x00,0x03,0x2b,0x02, + 0x00,0x00,0x10,0x03,0x01,0x00,0x40,0x02,0x02,0x00,0x09,0xc0,0x19,0x00,0x03,0x06, + 0x01,0x00,0x00,0x04,0x2b,0x03,0x00,0x00,0x10,0x04,0x01,0x00,0x10,0x05,0x02,0x00, + 0x40,0x03,0x03,0x00,0x0a,0xc0,0x3e,0x00,0x03,0x07,0x01,0x00,0x01,0x0d,0x0f,0x00, + 0x00,0x00,0x54,0x03,0x06,0x80,0x2b,0x03,0x00,0x00,0x10,0x04,0x00,0x00,0x10,0x05, + 0x01,0x00,0x10,0x06,0x02,0x00,0x40,0x03,0x04,0x00,0x54,0x03,0x04,0x80,0x2b,0x03, + 0x00,0x00,0x14,0x04,0x00,0x01,0x10,0x05,0x02,0x00,0x40,0x03,0x03,0x00,0x47,0x00, + 0x01,0x00,0x09,0xc0,0x02,0x1d,0x00,0x02,0x07,0x01,0x00,0x00,0x05,0x2b,0x02,0x00, + 0x00,0x10,0x03,0x00,0x00,0x2a,0x04,0x05,0x00,0x10,0x06,0x01,0x00,0x40,0x02,0x05, + 0x00,0x08,0xc0,0xcf,0x01,0x02,0x02,0x08,0x02,0x09,0x00,0x22,0x2b,0x02,0x00,0x00, + 0x36,0x02,0x00,0x02,0x0e,0x00,0x02,0x00,0x54,0x03,0x01,0x80,0x27,0x02,0xff,0xff, + 0x2b,0x03,0x01,0x00,0x01,0x03,0x02,0x00,0x54,0x02,0x01,0x80,0x47,0x00,0x01,0x00, + 0x34,0x02,0x00,0x00,0x25,0x03,0x01,0x00,0x43,0x04,0x02,0x00,0x3d,0x02,0x01,0x02, + 0x27,0x03,0x00,0x00,0x01,0x03,0x02,0x00,0x54,0x02,0x05,0x80,0x10,0x03,0x01,0x00, + 0x37,0x02,0x02,0x01,0x43,0x04,0x02,0x00,0x3d,0x02,0x01,0x02,0x10,0x01,0x02,0x00, + 0x34,0x02,0x03,0x00,0x37,0x02,0x04,0x02,0x37,0x02,0x05,0x02,0x10,0x03,0x02,0x00, + 0x37,0x02,0x06,0x02,0x34,0x04,0x07,0x00,0x37,0x04,0x02,0x04,0x25,0x05,0x08,0x00, + 0x10,0x06,0x00,0x00,0x10,0x07,0x01,0x00,0x3e,0x04,0x04,0x00,0x3d,0x02,0x01,0x01, + 0x47,0x00,0x01,0x00,0x01,0xc0,0x02,0x80,0x14,0x44,0x45,0x42,0x55,0x47,0x47,0x45, + 0x52,0x09,0x25,0x73,0x09,0x25,0x73,0x0a,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x0a, + 0x77,0x72,0x69,0x74,0x65,0x0b,0x73,0x74,0x64,0x65,0x72,0x72,0x09,0x62,0x61,0x73, + 0x65,0x07,0x69,0x6f,0x0b,0x66,0x6f,0x72,0x6d,0x61,0x74,0x06,0x23,0x0b,0x73,0x65, + 0x6c,0x65,0x63,0x74,0xc7,0x09,0x03,0x00,0x13,0x00,0x47,0x00,0x7d,0x32,0x00,0x00, + 0x00,0x33,0x01,0x00,0x00,0x37,0x02,0x01,0x01,0x34,0x03,0x03,0x00,0x32,0x04,0x00, + 0x00,0x33,0x05,0x10,0x00,0x33,0x06,0x04,0x00,0x34,0x07,0x05,0x00,0x3a,0x07,0x06, + 0x06,0x34,0x07,0x07,0x00,0x3a,0x07,0x08,0x06,0x34,0x07,0x05,0x00,0x3a,0x07,0x09, + 0x06,0x34,0x07,0x05,0x00,0x3a,0x07,0x0a,0x06,0x34,0x07,0x05,0x00,0x3a,0x07,0x0b, + 0x06,0x34,0x07,0x05,0x00,0x3a,0x07,0x0c,0x06,0x34,0x07,0x07,0x00,0x3a,0x07,0x0d, + 0x06,0x31,0x07,0x0e,0x00,0x3a,0x07,0x0f,0x06,0x3a,0x06,0x11,0x05,0x33,0x06,0x12, + 0x00,0x34,0x07,0x13,0x00,0x3a,0x07,0x14,0x06,0x3a,0x06,0x15,0x05,0x31,0x06,0x16, + 0x00,0x3a,0x06,0x17,0x05,0x3e,0x03,0x03,0x02,0x3a,0x03,0x02,0x00,0x34,0x03,0x18, + 0x00,0x37,0x03,0x19,0x03,0x34,0x04,0x18,0x00,0x37,0x04,0x1a,0x04,0x34,0x05,0x18, + 0x00,0x37,0x05,0x1b,0x05,0x33,0x06,0x1d,0x00,0x31,0x07,0x1c,0x00,0x3a,0x07,0x19, + 0x06,0x31,0x07,0x1e,0x00,0x3a,0x07,0x1a,0x06,0x31,0x07,0x1f,0x00,0x3a,0x07,0x1b, + 0x06,0x3a,0x06,0x15,0x06,0x31,0x07,0x21,0x00,0x3a,0x07,0x20,0x00,0x33,0x07,0x23, + 0x00,0x31,0x08,0x22,0x00,0x3a,0x08,0x19,0x07,0x31,0x08,0x24,0x00,0x3a,0x08,0x1a, + 0x07,0x31,0x08,0x25,0x00,0x3a,0x08,0x1b,0x07,0x3a,0x07,0x15,0x07,0x31,0x08,0x27, + 0x00,0x3a,0x08,0x26,0x00,0x34,0x08,0x13,0x00,0x07,0x08,0x28,0x00,0x54,0x08,0x31, + 0x80,0x34,0x08,0x29,0x00,0x34,0x09,0x2a,0x00,0x34,0x0a,0x2b,0x00,0x34,0x0b,0x18, + 0x00,0x37,0x0b,0x19,0x0b,0x29,0x0c,0x00,0x00,0x31,0x0d,0x2c,0x00,0x3a,0x0d,0x19, + 0x07,0x31,0x0d,0x2d,0x00,0x3a,0x0d,0x19,0x06,0x31,0x0d,0x2e,0x00,0x34,0x0e,0x2f, + 0x00,0x34,0x0f,0x30,0x00,0x25,0x10,0x31,0x00,0x3e,0x0e,0x03,0x02,0x0f,0x00,0x0e, + 0x00,0x54,0x0f,0x09,0x80,0x33,0x0e,0x32,0x00,0x31,0x0f,0x33,0x00,0x3a,0x0f,0x19, + 0x0e,0x31,0x0f,0x34,0x00,0x3a,0x0f,0x1a,0x0e,0x31,0x0f,0x35,0x00,0x3a,0x0f,0x1b, + 0x0e,0x10,0x0c,0x0e,0x00,0x54,0x0e,0x08,0x80,0x33,0x0e,0x36,0x00,0x31,0x0f,0x37, + 0x00,0x3a,0x0f,0x19,0x0e,0x31,0x0f,0x38,0x00,0x3a,0x0f,0x1a,0x0e,0x31,0x0f,0x39, + 0x00,0x3a,0x0f,0x1b,0x0e,0x10,0x0c,0x0e,0x00,0x37,0x0e,0x26,0x00,0x31,0x0f,0x3a, + 0x00,0x3a,0x0f,0x26,0x00,0x31,0x0f,0x3c,0x00,0x3a,0x0f,0x3b,0x00,0x34,0x0f,0x03, + 0x00,0x32,0x10,0x00,0x00,0x33,0x11,0x3f,0x00,0x31,0x12,0x3e,0x00,0x3a,0x12,0x15, + 0x11,0x31,0x12,0x40,0x00,0x3a,0x12,0x17,0x11,0x3e,0x0f,0x03,0x02,0x3a,0x0f,0x3d, + 0x00,0x30,0x08,0x0b,0x80,0x34,0x08,0x13,0x00,0x07,0x08,0x41,0x00,0x54,0x08,0x08, + 0x80,0x34,0x08,0x42,0x00,0x34,0x09,0x18,0x00,0x37,0x09,0x19,0x09,0x31,0x0a,0x43, + 0x00,0x3a,0x0a,0x19,0x00,0x31,0x0a,0x44,0x00,0x3a,0x0a,0x3b,0x00,0x30,0x08,0x00, + 0x80,0x31,0x08,0x46,0x00,0x3a,0x08,0x45,0x00,0x30,0x00,0x00,0x80,0x48,0x00,0x02, + 0x00,0x00,0x08,0x6c,0x6f,0x67,0x00,0x00,0x09,0x6c,0x6f,0x61,0x64,0x0c,0x4c,0x75, + 0x61,0x20,0x35,0x2e,0x32,0x00,0x01,0x00,0x00,0x00,0x0d,0x65,0x76,0x61,0x6c,0x5f, + 0x65,0x6e,0x76,0x00,0x0b,0x6c,0x6f,0x61,0x64,0x69,0x6e,0x00,0x00,0x00,0x00,0x01, + 0x02,0x00,0x00,0x09,0x6d,0x61,0x69,0x6e,0x00,0x00,0x00,0x01,0x02,0x00,0x00,0x09, + 0x6d,0x61,0x69,0x6e,0x08,0x6a,0x69,0x74,0x07,0x5f,0x47,0x0b,0x72,0x61,0x77,0x67, + 0x65,0x74,0x00,0x00,0x00,0x0c,0x73,0x65,0x74,0x66,0x65,0x6e,0x76,0x0c,0x67,0x65, + 0x74,0x66,0x65,0x6e,0x76,0x0f,0x6c,0x6f,0x61,0x64,0x73,0x74,0x72,0x69,0x6e,0x67, + 0x0c,0x4c,0x75,0x61,0x20,0x35,0x2e,0x31,0x00,0x12,0x43,0x75,0x72,0x72,0x65,0x6e, + 0x74,0x54,0x68,0x72,0x65,0x61,0x64,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x12,0x46, + 0x6f,0x72,0x65,0x69,0x67,0x6e,0x54,0x68,0x72,0x65,0x61,0x64,0x00,0x00,0x01,0x00, + 0x00,0x00,0x0d,0x73,0x65,0x74,0x6c,0x6f,0x63,0x61,0x6c,0x0d,0x67,0x65,0x74,0x6c, + 0x6f,0x63,0x61,0x6c,0x0c,0x67,0x65,0x74,0x69,0x6e,0x66,0x6f,0x0a,0x64,0x65,0x62, + 0x75,0x67,0x0f,0x5f,0x5f,0x6e,0x65,0x77,0x69,0x6e,0x64,0x65,0x78,0x00,0x0c,0x5f, + 0x5f,0x69,0x6e,0x64,0x65,0x78,0x15,0x6c,0x61,0x6e,0x67,0x75,0x61,0x67,0x65,0x5f, + 0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x0d,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e, + 0x01,0x00,0x0f,0x12,0x6c,0x61,0x6e,0x67,0x75,0x61,0x67,0x65,0x5f,0x6e,0x61,0x6d, + 0x65,0x08,0x4c,0x75,0x61,0x0d,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x0a,0x55, + 0x54,0x46,0x2d,0x38,0x1e,0x6c,0x61,0x6e,0x67,0x75,0x61,0x67,0x65,0x5f,0x73,0x75, + 0x70,0x70,0x6f,0x72,0x74,0x73,0x5f,0x74,0x68,0x72,0x65,0x61,0x64,0x73,0x03,0x00, + 0x10,0x73,0x68,0x6f,0x77,0x5f,0x68,0x69,0x64,0x64,0x65,0x6e,0x03,0x01,0x08,0x75, + 0x72,0x69,0x09,0x66,0x69,0x6c,0x65,0x0e,0x6c,0x6f,0x67,0x5f,0x6c,0x65,0x76,0x65, + 0x6c,0x0c,0x57,0x41,0x52,0x4e,0x49,0x4e,0x47,0x13,0x73,0x75,0x70,0x70,0x6f,0x72, + 0x74,0x73,0x5f,0x61,0x73,0x79,0x6e,0x63,0x03,0x01,0x16,0x6d,0x75,0x6c,0x74,0x69, + 0x70,0x6c,0x65,0x5f,0x73,0x65,0x73,0x73,0x69,0x6f,0x6e,0x73,0x03,0x00,0x0d,0x6d, + 0x61,0x78,0x5f,0x64,0x61,0x74,0x61,0x03,0xff,0xff,0x03,0x12,0x64,0x61,0x74,0x61, + 0x5f,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x0b,0x62,0x61,0x73,0x65,0x36,0x34, + 0x0e,0x6d,0x61,0x78,0x5f,0x64,0x65,0x70,0x74,0x68,0x03,0x01,0x19,0x62,0x72,0x65, + 0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x5f,0x6c,0x61,0x6e,0x67,0x75,0x61,0x67,0x65, + 0x73,0x08,0x4c,0x75,0x61,0x11,0x6d,0x61,0x78,0x5f,0x63,0x68,0x69,0x6c,0x64,0x72, + 0x65,0x6e,0x03,0x20,0x15,0x70,0x72,0x6f,0x74,0x6f,0x63,0x6f,0x6c,0x5f,0x76,0x65, + 0x72,0x73,0x69,0x6f,0x6e,0x03,0x01,0x15,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69, + 0x6e,0x74,0x5f,0x74,0x79,0x70,0x65,0x73,0x15,0x6c,0x69,0x6e,0x65,0x20,0x63,0x6f, + 0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x61,0x6c,0x0f,0x76,0x61,0x6c,0x69,0x64,0x61, + 0x74,0x6f,0x72,0x73,0x01,0x00,0x00,0x0e,0x6c,0x6f,0x67,0x5f,0x6c,0x65,0x76,0x65, + 0x6c,0x00,0x08,0x75,0x72,0x69,0x10,0x73,0x68,0x6f,0x77,0x5f,0x68,0x69,0x64,0x64, + 0x65,0x6e,0x0e,0x6d,0x61,0x78,0x5f,0x64,0x65,0x70,0x74,0x68,0x0d,0x6d,0x61,0x78, + 0x5f,0x64,0x61,0x74,0x61,0x11,0x6d,0x61,0x78,0x5f,0x63,0x68,0x69,0x6c,0x64,0x72, + 0x65,0x6e,0x0d,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x0d,0x74,0x6f,0x73,0x74, + 0x72,0x69,0x6e,0x67,0x16,0x6d,0x75,0x6c,0x74,0x69,0x70,0x6c,0x65,0x5f,0x73,0x65, + 0x73,0x73,0x69,0x6f,0x6e,0x73,0x0d,0x74,0x6f,0x6e,0x75,0x6d,0x62,0x65,0x72,0x01, + 0x00,0x00,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x0d, + 0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x73,0x0c,0x57,0x41,0x52,0x4e,0x49,0x4e,0x47, + 0x01,0x00,0x05,0x09,0x49,0x4e,0x46,0x4f,0x03,0x02,0x0b,0x44,0x45,0x54,0x41,0x49, + 0x4c,0x03,0x03,0x0a,0x44,0x45,0x42,0x55,0x47,0x03,0x04,0x0c,0x57,0x41,0x52,0x4e, + 0x49,0x4e,0x47,0x03,0x01,0x0a,0x45,0x52,0x52,0x4f,0x52,0x03,0x00,0x3c,0x00,0x01, + 0x05,0x01,0x03,0x00,0x08,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x25,0x02,0x01, + 0x00,0x2b,0x03,0x00,0x00,0x37,0x03,0x02,0x03,0x10,0x04,0x00,0x00,0x3e,0x03,0x02, + 0x00,0x3f,0x01,0x01,0x00,0x00,0x00,0x09,0x62,0x79,0x74,0x65,0x0b,0x25,0x25,0x25, + 0x30,0x32,0x78,0x0b,0x66,0x6f,0x72,0x6d,0x61,0x74,0x3b,0x01,0x01,0x05,0x01,0x03, + 0x00,0x07,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x10,0x02,0x00,0x00,0x25,0x03, + 0x01,0x00,0x31,0x04,0x02,0x00,0x30,0x00,0x00,0x80,0x40,0x01,0x04,0x00,0x00,0xc0, + 0x00,0x14,0x28,0x5b,0x5e,0x41,0x2d,0x5a,0x61,0x2d,0x7a,0x30,0x2d,0x39,0x5f,0x5d, + 0x29,0x09,0x67,0x73,0x75,0x62,0x40,0x00,0x01,0x09,0x01,0x01,0x00,0x0c,0x32,0x01, + 0x00,0x00,0x2b,0x02,0x00,0x00,0x37,0x02,0x00,0x02,0x10,0x03,0x00,0x00,0x3e,0x02, + 0x02,0x04,0x54,0x05,0x03,0x80,0x36,0x07,0x05,0x00,0x27,0x08,0x01,0x00,0x39,0x08, + 0x07,0x01,0x41,0x05,0x03,0x03,0x4e,0x05,0xfb,0x7f,0x48,0x01,0x02,0x00,0x01,0xc0, + 0x0b,0x69,0x70,0x61,0x69,0x72,0x73,0x5a,0x00,0x01,0x05,0x02,0x03,0x00,0x0f,0x2b, + 0x01,0x00,0x00,0x36,0x01,0x00,0x01,0x0f,0x00,0x01,0x00,0x54,0x02,0x02,0x80,0x48, + 0x00,0x02,0x00,0x54,0x01,0x08,0x80,0x2b,0x01,0x01,0x00,0x37,0x01,0x00,0x01,0x25, + 0x02,0x01,0x00,0x2b,0x03,0x01,0x00,0x37,0x03,0x02,0x03,0x10,0x04,0x00,0x00,0x3e, + 0x03,0x02,0x00,0x3f,0x01,0x01,0x00,0x47,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x09, + 0x62,0x79,0x74,0x65,0x0b,0x25,0x25,0x25,0x30,0x32,0x78,0x0b,0x66,0x6f,0x72,0x6d, + 0x61,0x74,0x3d,0x01,0x01,0x05,0x02,0x03,0x00,0x07,0x2b,0x01,0x00,0x00,0x37,0x01, + 0x00,0x01,0x10,0x02,0x00,0x00,0x25,0x03,0x01,0x00,0x31,0x04,0x02,0x00,0x30,0x00, + 0x00,0x80,0x40,0x01,0x04,0x00,0x00,0xc0,0x05,0xc0,0x00,0x14,0x28,0x5b,0x5e,0x41, + 0x2d,0x5a,0x61,0x2d,0x7a,0x30,0x2d,0x39,0x5f,0x5d,0x29,0x09,0x67,0x73,0x75,0x62, + 0x39,0x00,0x01,0x05,0x02,0x02,0x00,0x08,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01, + 0x2b,0x02,0x01,0x00,0x37,0x02,0x01,0x02,0x10,0x03,0x00,0x00,0x27,0x04,0x10,0x00, + 0x3e,0x02,0x03,0x00,0x3f,0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x0d,0x74,0x6f,0x6e, + 0x75,0x6d,0x62,0x65,0x72,0x09,0x63,0x68,0x61,0x72,0x36,0x01,0x01,0x05,0x02,0x03, + 0x00,0x07,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x10,0x02,0x00,0x00,0x25,0x03, + 0x01,0x00,0x31,0x04,0x02,0x00,0x30,0x00,0x00,0x80,0x40,0x01,0x04,0x00,0x00,0xc0, + 0x01,0xc0,0x00,0x0d,0x25,0x25,0x28,0x25,0x78,0x25,0x78,0x29,0x09,0x67,0x73,0x75, + 0x62,0x27,0x00,0x01,0x02,0x00,0x02,0x00,0x07,0x06,0x00,0x00,0x00,0x54,0x01,0x02, + 0x80,0x48,0x00,0x02,0x00,0x54,0x01,0x02,0x80,0x25,0x01,0x01,0x00,0x48,0x01,0x02, + 0x00,0x47,0x00,0x01,0x00,0x05,0x07,0x2e,0x2f,0x2b,0x00,0x01,0x02,0x00,0x02,0x00, 0x07,0x06,0x00,0x00,0x00,0x54,0x01,0x03,0x80,0x25,0x01,0x01,0x00,0x48,0x01,0x02, - 0x00,0x54,0x01,0x01,0x80,0x48,0x00,0x02,0x00,0x47,0x00,0x01,0x00,0x05,0x0a,0x2e, - 0x2e,0x2f,0x2e,0x2e,0xa7,0x02,0x01,0x02,0x08,0x01,0x0c,0x00,0x37,0x2b,0x02,0x00, - 0x00,0x37,0x02,0x00,0x02,0x10,0x03,0x01,0x00,0x27,0x04,0x01,0x00,0x27,0x05,0x01, - 0x00,0x3e,0x02,0x04,0x02,0x07,0x02,0x01,0x00,0x54,0x02,0x01,0x80,0x30,0x00,0x2d, - 0x80,0x2b,0x02,0x00,0x00,0x37,0x02,0x02,0x02,0x10,0x03,0x00,0x00,0x25,0x04,0x03, - 0x00,0x25,0x05,0x04,0x00,0x3e,0x02,0x04,0x02,0x10,0x03,0x02,0x00,0x10,0x04,0x01, - 0x00,0x24,0x02,0x04,0x03,0x2b,0x03,0x00,0x00,0x37,0x03,0x02,0x03,0x10,0x04,0x02, - 0x00,0x25,0x05,0x05,0x00,0x31,0x06,0x06,0x00,0x3e,0x03,0x04,0x02,0x10,0x02,0x03, - 0x00,0x2b,0x03,0x00,0x00,0x37,0x03,0x02,0x03,0x10,0x04,0x02,0x00,0x25,0x05,0x07, - 0x00,0x25,0x06,0x01,0x00,0x3e,0x03,0x04,0x02,0x10,0x02,0x03,0x00,0x29,0x03,0x00, - 0x00,0x04,0x03,0x02,0x00,0x54,0x04,0x0a,0x80,0x51,0x04,0x09,0x80,0x10,0x03,0x02, - 0x00,0x2b,0x04,0x00,0x00,0x37,0x04,0x02,0x04,0x10,0x05,0x03,0x00,0x25,0x06,0x08, - 0x00,0x31,0x07,0x09,0x00,0x3e,0x04,0x04,0x02,0x10,0x02,0x04,0x00,0x54,0x04,0xf4, - 0x7f,0x2b,0x04,0x00,0x00,0x37,0x04,0x02,0x04,0x10,0x05,0x03,0x00,0x25,0x06,0x0a, - 0x00,0x31,0x07,0x0b,0x00,0x3e,0x04,0x04,0x02,0x10,0x02,0x04,0x00,0x30,0x00,0x00, - 0x80,0x48,0x02,0x02,0x00,0x48,0x01,0x02,0x00,0x00,0xc0,0x00,0x12,0x28,0x5b,0x5e, - 0x2f,0x5d,0x2a,0x2f,0x25,0x2e,0x25,0x2e,0x29,0x24,0x00,0x12,0x28,0x5b,0x5e,0x2f, - 0x5d,0x2a,0x2f,0x25,0x2e,0x25,0x2e,0x2f,0x29,0x09,0x2f,0x25,0x2e,0x24,0x00,0x0f, - 0x28,0x5b,0x5e,0x2f,0x5d,0x2a,0x25,0x2e,0x2f,0x29,0x05,0x0b,0x5b,0x5e,0x2f,0x5d, - 0x2a,0x24,0x09,0x67,0x73,0x75,0x62,0x06,0x2f,0x08,0x73,0x75,0x62,0x23,0x00,0x01, - 0x02,0x01,0x02,0x00,0x04,0x2b,0x01,0x00,0x00,0x3a,0x00,0x00,0x01,0x25,0x01,0x01, - 0x00,0x48,0x01,0x02,0x00,0x02,0xc0,0x05,0x0d,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e, - 0x74,0x21,0x00,0x01,0x02,0x01,0x02,0x00,0x04,0x2b,0x01,0x00,0x00,0x3a,0x00,0x00, - 0x01,0x25,0x01,0x01,0x00,0x48,0x01,0x02,0x00,0x02,0xc0,0x05,0x0b,0x73,0x63,0x68, - 0x65,0x6d,0x65,0x24,0x00,0x01,0x02,0x01,0x02,0x00,0x04,0x2b,0x01,0x00,0x00,0x3a, - 0x00,0x00,0x01,0x25,0x01,0x01,0x00,0x48,0x01,0x02,0x00,0x02,0xc0,0x05,0x0e,0x61, - 0x75,0x74,0x68,0x6f,0x72,0x69,0x74,0x79,0x20,0x00,0x01,0x02,0x01,0x02,0x00,0x04, - 0x2b,0x01,0x00,0x00,0x3a,0x00,0x00,0x01,0x25,0x01,0x01,0x00,0x48,0x01,0x02,0x00, - 0x02,0xc0,0x05,0x0a,0x71,0x75,0x65,0x72,0x79,0x21,0x00,0x01,0x02,0x01,0x02,0x00, + 0x00,0x54,0x01,0x01,0x80,0x48,0x00,0x02,0x00,0x47,0x00,0x01,0x00,0x05,0x0b,0x2e, + 0x2e,0x2f,0x2e,0x2e,0x2f,0x2a,0x00,0x01,0x02,0x00,0x02,0x00,0x07,0x06,0x00,0x00, + 0x00,0x54,0x01,0x03,0x80,0x25,0x01,0x01,0x00,0x48,0x01,0x02,0x00,0x54,0x01,0x01, + 0x80,0x48,0x00,0x02,0x00,0x47,0x00,0x01,0x00,0x05,0x0a,0x2e,0x2e,0x2f,0x2e,0x2e, + 0xa7,0x02,0x01,0x02,0x08,0x01,0x0c,0x00,0x37,0x2b,0x02,0x00,0x00,0x37,0x02,0x00, + 0x02,0x10,0x03,0x01,0x00,0x27,0x04,0x01,0x00,0x27,0x05,0x01,0x00,0x3e,0x02,0x04, + 0x02,0x07,0x02,0x01,0x00,0x54,0x02,0x01,0x80,0x30,0x00,0x2d,0x80,0x2b,0x02,0x00, + 0x00,0x37,0x02,0x02,0x02,0x10,0x03,0x00,0x00,0x25,0x04,0x03,0x00,0x25,0x05,0x04, + 0x00,0x3e,0x02,0x04,0x02,0x10,0x03,0x02,0x00,0x10,0x04,0x01,0x00,0x24,0x02,0x04, + 0x03,0x2b,0x03,0x00,0x00,0x37,0x03,0x02,0x03,0x10,0x04,0x02,0x00,0x25,0x05,0x05, + 0x00,0x31,0x06,0x06,0x00,0x3e,0x03,0x04,0x02,0x10,0x02,0x03,0x00,0x2b,0x03,0x00, + 0x00,0x37,0x03,0x02,0x03,0x10,0x04,0x02,0x00,0x25,0x05,0x07,0x00,0x25,0x06,0x01, + 0x00,0x3e,0x03,0x04,0x02,0x10,0x02,0x03,0x00,0x29,0x03,0x00,0x00,0x04,0x03,0x02, + 0x00,0x54,0x04,0x0a,0x80,0x51,0x04,0x09,0x80,0x10,0x03,0x02,0x00,0x2b,0x04,0x00, + 0x00,0x37,0x04,0x02,0x04,0x10,0x05,0x03,0x00,0x25,0x06,0x08,0x00,0x31,0x07,0x09, + 0x00,0x3e,0x04,0x04,0x02,0x10,0x02,0x04,0x00,0x54,0x04,0xf4,0x7f,0x2b,0x04,0x00, + 0x00,0x37,0x04,0x02,0x04,0x10,0x05,0x03,0x00,0x25,0x06,0x0a,0x00,0x31,0x07,0x0b, + 0x00,0x3e,0x04,0x04,0x02,0x10,0x02,0x04,0x00,0x30,0x00,0x00,0x80,0x48,0x02,0x02, + 0x00,0x48,0x01,0x02,0x00,0x00,0xc0,0x00,0x12,0x28,0x5b,0x5e,0x2f,0x5d,0x2a,0x2f, + 0x25,0x2e,0x25,0x2e,0x29,0x24,0x00,0x12,0x28,0x5b,0x5e,0x2f,0x5d,0x2a,0x2f,0x25, + 0x2e,0x25,0x2e,0x2f,0x29,0x09,0x2f,0x25,0x2e,0x24,0x00,0x0f,0x28,0x5b,0x5e,0x2f, + 0x5d,0x2a,0x25,0x2e,0x2f,0x29,0x05,0x0b,0x5b,0x5e,0x2f,0x5d,0x2a,0x24,0x09,0x67, + 0x73,0x75,0x62,0x06,0x2f,0x08,0x73,0x75,0x62,0x23,0x00,0x01,0x02,0x01,0x02,0x00, 0x04,0x2b,0x01,0x00,0x00,0x3a,0x00,0x00,0x01,0x25,0x01,0x01,0x00,0x48,0x01,0x02, - 0x00,0x02,0xc0,0x05,0x0b,0x70,0x61,0x72,0x61,0x6d,0x73,0x23,0x00,0x01,0x02,0x01, + 0x00,0x02,0xc0,0x05,0x0d,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x21,0x00,0x01, + 0x02,0x01,0x02,0x00,0x04,0x2b,0x01,0x00,0x00,0x3a,0x00,0x00,0x01,0x25,0x01,0x01, + 0x00,0x48,0x01,0x02,0x00,0x02,0xc0,0x05,0x0b,0x73,0x63,0x68,0x65,0x6d,0x65,0x24, + 0x00,0x01,0x02,0x01,0x02,0x00,0x04,0x2b,0x01,0x00,0x00,0x3a,0x00,0x00,0x01,0x25, + 0x01,0x01,0x00,0x48,0x01,0x02,0x00,0x02,0xc0,0x05,0x0e,0x61,0x75,0x74,0x68,0x6f, + 0x72,0x69,0x74,0x79,0x20,0x00,0x01,0x02,0x01,0x02,0x00,0x04,0x2b,0x01,0x00,0x00, + 0x3a,0x00,0x00,0x01,0x25,0x01,0x01,0x00,0x48,0x01,0x02,0x00,0x02,0xc0,0x05,0x0a, + 0x71,0x75,0x65,0x72,0x79,0x21,0x00,0x01,0x02,0x01,0x02,0x00,0x04,0x2b,0x01,0x00, + 0x00,0x3a,0x00,0x00,0x01,0x25,0x01,0x01,0x00,0x48,0x01,0x02,0x00,0x02,0xc0,0x05, + 0x0b,0x70,0x61,0x72,0x61,0x6d,0x73,0x23,0x00,0x01,0x02,0x01,0x02,0x00,0x04,0x2b, + 0x01,0x00,0x00,0x3a,0x00,0x00,0x01,0x25,0x01,0x01,0x00,0x48,0x01,0x02,0x00,0x02, + 0xc0,0x05,0x0d,0x75,0x73,0x65,0x72,0x69,0x6e,0x66,0x6f,0x1f,0x00,0x01,0x02,0x01, 0x02,0x00,0x04,0x2b,0x01,0x00,0x00,0x3a,0x00,0x00,0x01,0x25,0x01,0x01,0x00,0x48, - 0x01,0x02,0x00,0x02,0xc0,0x05,0x0d,0x75,0x73,0x65,0x72,0x69,0x6e,0x66,0x6f,0x1f, - 0x00,0x01,0x02,0x01,0x02,0x00,0x04,0x2b,0x01,0x00,0x00,0x3a,0x00,0x00,0x01,0x25, - 0x01,0x01,0x00,0x48,0x01,0x02,0x00,0x02,0xc0,0x05,0x09,0x70,0x6f,0x72,0x74,0x23, - 0x00,0x01,0x02,0x01,0x02,0x00,0x04,0x2b,0x01,0x00,0x00,0x3a,0x00,0x00,0x01,0x25, - 0x01,0x01,0x00,0x48,0x01,0x02,0x00,0x02,0xc0,0x05,0x0d,0x70,0x61,0x73,0x73,0x77, - 0x6f,0x72,0x64,0x8e,0x04,0x01,0x02,0x09,0x02,0x18,0x00,0x5e,0x32,0x02,0x00,0x00, - 0x2b,0x03,0x00,0x00,0x37,0x03,0x00,0x03,0x0c,0x04,0x01,0x00,0x54,0x04,0x01,0x80, - 0x10,0x04,0x02,0x00,0x3e,0x03,0x02,0x04,0x54,0x06,0x01,0x80,0x39,0x07,0x06,0x02, - 0x41,0x06,0x03,0x03,0x4e,0x06,0xfd,0x7f,0x0f,0x00,0x00,0x00,0x54,0x03,0x02,0x80, - 0x07,0x00,0x01,0x00,0x54,0x03,0x03,0x80,0x29,0x03,0x00,0x00,0x25,0x04,0x02,0x00, - 0x30,0x00,0x4b,0x80,0x2b,0x03,0x01,0x00,0x37,0x03,0x03,0x03,0x10,0x04,0x00,0x00, - 0x25,0x05,0x04,0x00,0x31,0x06,0x05,0x00,0x3e,0x03,0x04,0x02,0x10,0x00,0x03,0x00, - 0x2b,0x03,0x01,0x00,0x37,0x03,0x03,0x03,0x10,0x04,0x00,0x00,0x25,0x05,0x06,0x00, - 0x31,0x06,0x07,0x00,0x3e,0x03,0x04,0x02,0x10,0x00,0x03,0x00,0x2b,0x03,0x01,0x00, - 0x37,0x03,0x03,0x03,0x10,0x04,0x00,0x00,0x25,0x05,0x08,0x00,0x31,0x06,0x09,0x00, + 0x01,0x02,0x00,0x02,0xc0,0x05,0x09,0x70,0x6f,0x72,0x74,0x23,0x00,0x01,0x02,0x01, + 0x02,0x00,0x04,0x2b,0x01,0x00,0x00,0x3a,0x00,0x00,0x01,0x25,0x01,0x01,0x00,0x48, + 0x01,0x02,0x00,0x02,0xc0,0x05,0x0d,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64,0x8e, + 0x04,0x01,0x02,0x09,0x02,0x18,0x00,0x5e,0x32,0x02,0x00,0x00,0x2b,0x03,0x00,0x00, + 0x37,0x03,0x00,0x03,0x0c,0x04,0x01,0x00,0x54,0x04,0x01,0x80,0x10,0x04,0x02,0x00, + 0x3e,0x03,0x02,0x04,0x54,0x06,0x01,0x80,0x39,0x07,0x06,0x02,0x41,0x06,0x03,0x03, + 0x4e,0x06,0xfd,0x7f,0x0f,0x00,0x00,0x00,0x54,0x03,0x02,0x80,0x07,0x00,0x01,0x00, + 0x54,0x03,0x03,0x80,0x29,0x03,0x00,0x00,0x25,0x04,0x02,0x00,0x30,0x00,0x4b,0x80, + 0x2b,0x03,0x01,0x00,0x37,0x03,0x03,0x03,0x10,0x04,0x00,0x00,0x25,0x05,0x04,0x00, + 0x31,0x06,0x05,0x00,0x3e,0x03,0x04,0x02,0x10,0x00,0x03,0x00,0x2b,0x03,0x01,0x00, + 0x37,0x03,0x03,0x03,0x10,0x04,0x00,0x00,0x25,0x05,0x06,0x00,0x31,0x06,0x07,0x00, 0x3e,0x03,0x04,0x02,0x10,0x00,0x03,0x00,0x2b,0x03,0x01,0x00,0x37,0x03,0x03,0x03, - 0x10,0x04,0x00,0x00,0x25,0x05,0x0a,0x00,0x31,0x06,0x0b,0x00,0x3e,0x03,0x04,0x02, + 0x10,0x04,0x00,0x00,0x25,0x05,0x08,0x00,0x31,0x06,0x09,0x00,0x3e,0x03,0x04,0x02, 0x10,0x00,0x03,0x00,0x2b,0x03,0x01,0x00,0x37,0x03,0x03,0x03,0x10,0x04,0x00,0x00, - 0x25,0x05,0x0c,0x00,0x31,0x06,0x0d,0x00,0x3e,0x03,0x04,0x02,0x10,0x00,0x03,0x00, - 0x06,0x00,0x01,0x00,0x54,0x03,0x01,0x80,0x3a,0x00,0x0e,0x02,0x37,0x03,0x0f,0x02, - 0x0e,0x00,0x03,0x00,0x54,0x04,0x02,0x80,0x30,0x00,0x00,0x80,0x48,0x02,0x02,0x00, - 0x2b,0x04,0x01,0x00,0x37,0x04,0x03,0x04,0x10,0x05,0x03,0x00,0x25,0x06,0x10,0x00, - 0x31,0x07,0x11,0x00,0x3e,0x04,0x04,0x02,0x10,0x03,0x04,0x00,0x2b,0x04,0x01,0x00, - 0x37,0x04,0x03,0x04,0x10,0x05,0x03,0x00,0x25,0x06,0x12,0x00,0x31,0x07,0x13,0x00, - 0x3e,0x04,0x04,0x02,0x10,0x03,0x04,0x00,0x06,0x03,0x01,0x00,0x54,0x04,0x01,0x80, - 0x3a,0x03,0x14,0x02,0x37,0x04,0x15,0x02,0x0e,0x00,0x04,0x00,0x54,0x05,0x02,0x80, - 0x30,0x00,0x00,0x80,0x48,0x02,0x02,0x00,0x2b,0x05,0x01,0x00,0x37,0x05,0x03,0x05, - 0x10,0x06,0x04,0x00,0x25,0x07,0x12,0x00,0x31,0x08,0x16,0x00,0x3e,0x05,0x04,0x02, - 0x10,0x04,0x05,0x00,0x3a,0x04,0x17,0x02,0x30,0x00,0x00,0x80,0x48,0x02,0x02,0x00, - 0x46,0x03,0x03,0x00,0x01,0xc0,0x00,0xc0,0x09,0x75,0x73,0x65,0x72,0x00,0x0d,0x75, - 0x73,0x65,0x72,0x69,0x6e,0x66,0x6f,0x09,0x68,0x6f,0x73,0x74,0x00,0x0e,0x3a,0x28, - 0x5b,0x5e,0x3a,0x5d,0x2a,0x29,0x24,0x00,0x0e,0x5e,0x28,0x5b,0x5e,0x40,0x5d,0x2a, - 0x29,0x40,0x0e,0x61,0x75,0x74,0x68,0x6f,0x72,0x69,0x74,0x79,0x09,0x70,0x61,0x74, - 0x68,0x00,0x0b,0x25,0x3b,0x28,0x2e,0x2a,0x29,0x00,0x0b,0x25,0x3f,0x28,0x2e,0x2a, - 0x29,0x00,0x0f,0x5e,0x2f,0x2f,0x28,0x5b,0x5e,0x2f,0x5d,0x2a,0x29,0x00,0x19,0x5e, - 0x28,0x5b,0x25,0x77,0x5d,0x5b,0x25,0x77,0x25,0x2b,0x25,0x2d,0x25,0x2e,0x5d,0x2a, - 0x29,0x25,0x3a,0x00,0x0b,0x23,0x28,0x2e,0x2a,0x29,0x24,0x09,0x67,0x73,0x75,0x62, - 0x10,0x69,0x6e,0x76,0x61,0x6c,0x69,0x64,0x20,0x75,0x72,0x6c,0x05,0x0a,0x70,0x61, - 0x69,0x72,0x73,0xa0,0x03,0x00,0x01,0x08,0x00,0x14,0x00,0x4a,0x34,0x01,0x00,0x00, - 0x37,0x02,0x01,0x00,0x0e,0x00,0x02,0x00,0x54,0x03,0x01,0x80,0x25,0x02,0x02,0x00, - 0x3e,0x01,0x02,0x02,0x34,0x02,0x03,0x00,0x10,0x03,0x01,0x00,0x3e,0x02,0x02,0x02, - 0x37,0x03,0x04,0x00,0x0f,0x00,0x03,0x00,0x54,0x04,0x04,0x80,0x10,0x03,0x02,0x00, - 0x25,0x04,0x05,0x00,0x37,0x05,0x04,0x00,0x24,0x02,0x05,0x03,0x37,0x03,0x06,0x00, - 0x0f,0x00,0x03,0x00,0x54,0x04,0x04,0x80,0x10,0x03,0x02,0x00,0x25,0x04,0x07,0x00, - 0x37,0x05,0x06,0x00,0x24,0x02,0x05,0x03,0x37,0x03,0x08,0x00,0x37,0x04,0x09,0x00, - 0x0f,0x00,0x04,0x00,0x54,0x05,0x1a,0x80,0x37,0x03,0x09,0x00,0x37,0x04,0x0a,0x00, - 0x0f,0x00,0x04,0x00,0x54,0x05,0x04,0x80,0x10,0x04,0x03,0x00,0x25,0x05,0x0b,0x00, - 0x37,0x06,0x0a,0x00,0x24,0x03,0x06,0x04,0x37,0x04,0x0c,0x00,0x37,0x05,0x0d,0x00, - 0x0f,0x00,0x05,0x00,0x54,0x06,0x08,0x80,0x37,0x04,0x0d,0x00,0x37,0x05,0x0e,0x00, - 0x0f,0x00,0x05,0x00,0x54,0x06,0x04,0x80,0x10,0x05,0x04,0x00,0x25,0x06,0x0b,0x00, - 0x37,0x07,0x0e,0x00,0x24,0x04,0x07,0x05,0x0f,0x00,0x04,0x00,0x54,0x05,0x04,0x80, - 0x10,0x05,0x04,0x00,0x25,0x06,0x0f,0x00,0x10,0x07,0x03,0x00,0x24,0x03,0x07,0x05, - 0x0f,0x00,0x03,0x00,0x54,0x04,0x04,0x80,0x25,0x04,0x10,0x00,0x10,0x05,0x03,0x00, - 0x10,0x06,0x02,0x00,0x24,0x02,0x06,0x04,0x37,0x04,0x11,0x00,0x0f,0x00,0x04,0x00, - 0x54,0x05,0x04,0x80,0x37,0x04,0x11,0x00,0x25,0x05,0x0b,0x00,0x10,0x06,0x02,0x00, - 0x24,0x02,0x06,0x04,0x37,0x04,0x12,0x00,0x0f,0x00,0x04,0x00,0x54,0x05,0x04,0x80, - 0x10,0x04,0x02,0x00,0x25,0x05,0x13,0x00,0x37,0x06,0x12,0x00,0x24,0x02,0x06,0x04, - 0x48,0x02,0x02,0x00,0x06,0x23,0x0d,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x0b, - 0x73,0x63,0x68,0x65,0x6d,0x65,0x07,0x2f,0x2f,0x06,0x40,0x0d,0x70,0x61,0x73,0x73, - 0x77,0x6f,0x72,0x64,0x09,0x75,0x73,0x65,0x72,0x0d,0x75,0x73,0x65,0x72,0x69,0x6e, - 0x66,0x6f,0x06,0x3a,0x09,0x70,0x6f,0x72,0x74,0x09,0x68,0x6f,0x73,0x74,0x0e,0x61, - 0x75,0x74,0x68,0x6f,0x72,0x69,0x74,0x79,0x06,0x3f,0x0a,0x71,0x75,0x65,0x72,0x79, - 0x06,0x3b,0x0b,0x70,0x61,0x72,0x61,0x6d,0x73,0x0f,0x62,0x75,0x69,0x6c,0x64,0x5f, - 0x70,0x61,0x74,0x68,0x05,0x09,0x70,0x61,0x74,0x68,0x0f,0x70,0x61,0x72,0x73,0x65, - 0x5f,0x70,0x61,0x74,0x68,0xfa,0x02,0x00,0x02,0x06,0x02,0x0b,0x00,0x4a,0x2b,0x02, - 0x00,0x00,0x37,0x02,0x00,0x02,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x02,0x07,0x02, - 0x01,0x00,0x54,0x02,0x06,0x80,0x35,0x00,0x02,0x00,0x34,0x02,0x03,0x00,0x34,0x03, - 0x02,0x00,0x3e,0x02,0x02,0x02,0x10,0x00,0x02,0x00,0x54,0x02,0x04,0x80,0x34,0x02, - 0x04,0x00,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x02,0x35,0x02,0x02,0x00,0x34,0x02, - 0x04,0x00,0x10,0x03,0x01,0x00,0x3e,0x02,0x02,0x02,0x34,0x03,0x02,0x00,0x0e,0x00, - 0x03,0x00,0x54,0x03,0x02,0x80,0x48,0x01,0x02,0x00,0x54,0x03,0x31,0x80,0x0e,0x00, - 0x02,0x00,0x54,0x03,0x02,0x80,0x48,0x00,0x02,0x00,0x54,0x03,0x2d,0x80,0x37,0x03, - 0x05,0x02,0x0f,0x00,0x03,0x00,0x54,0x04,0x02,0x80,0x48,0x01,0x02,0x00,0x54,0x03, - 0x28,0x80,0x34,0x03,0x02,0x00,0x37,0x03,0x05,0x03,0x3a,0x03,0x05,0x02,0x37,0x03, - 0x06,0x02,0x0e,0x00,0x03,0x00,0x54,0x03,0x1f,0x80,0x34,0x03,0x02,0x00,0x37,0x03, - 0x06,0x03,0x3a,0x03,0x06,0x02,0x37,0x03,0x07,0x02,0x0e,0x00,0x03,0x00,0x54,0x03, - 0x10,0x80,0x34,0x03,0x02,0x00,0x37,0x03,0x07,0x03,0x3a,0x03,0x07,0x02,0x37,0x03, - 0x08,0x02,0x0e,0x00,0x03,0x00,0x54,0x03,0x13,0x80,0x34,0x03,0x02,0x00,0x37,0x03, - 0x08,0x03,0x3a,0x03,0x08,0x02,0x37,0x03,0x09,0x02,0x0e,0x00,0x03,0x00,0x54,0x03, - 0x0d,0x80,0x34,0x03,0x02,0x00,0x37,0x03,0x09,0x03,0x3a,0x03,0x09,0x02,0x54,0x03, - 0x09,0x80,0x2b,0x03,0x01,0x00,0x34,0x04,0x02,0x00,0x37,0x04,0x07,0x04,0x0e,0x00, - 0x04,0x00,0x54,0x05,0x01,0x80,0x25,0x04,0x0a,0x00,0x37,0x05,0x07,0x02,0x3e,0x03, - 0x03,0x02,0x3a,0x03,0x07,0x02,0x34,0x03,0x03,0x00,0x10,0x04,0x02,0x00,0x40,0x03, - 0x02,0x00,0x47,0x00,0x01,0x00,0x01,0xc0,0x07,0xc0,0x05,0x0a,0x71,0x75,0x65,0x72, - 0x79,0x0b,0x70,0x61,0x72,0x61,0x6d,0x73,0x09,0x70,0x61,0x74,0x68,0x0e,0x61,0x75, - 0x74,0x68,0x6f,0x72,0x69,0x74,0x79,0x0b,0x73,0x63,0x68,0x65,0x6d,0x65,0x0a,0x70, - 0x61,0x72,0x73,0x65,0x0a,0x62,0x75,0x69,0x6c,0x64,0x10,0x62,0x61,0x73,0x65,0x5f, - 0x70,0x61,0x72,0x73,0x65,0x64,0x0a,0x74,0x61,0x62,0x6c,0x65,0x09,0x74,0x79,0x70, - 0x65,0x2a,0x00,0x01,0x04,0x02,0x01,0x00,0x06,0x2b,0x01,0x00,0x00,0x37,0x01,0x00, - 0x01,0x2b,0x02,0x01,0x00,0x10,0x03,0x00,0x00,0x3e,0x01,0x03,0x01,0x47,0x00,0x01, - 0x00,0x01,0x00,0x01,0xc0,0x0b,0x69,0x6e,0x73,0x65,0x72,0x74,0xe6,0x01,0x01,0x01, - 0x08,0x02,0x09,0x00,0x29,0x32,0x01,0x00,0x00,0x0e,0x00,0x00,0x00,0x54,0x02,0x01, - 0x80,0x25,0x00,0x00,0x00,0x2b,0x02,0x00,0x00,0x37,0x02,0x01,0x02,0x10,0x03,0x00, - 0x00,0x25,0x04,0x02,0x00,0x31,0x05,0x03,0x00,0x3e,0x02,0x04,0x01,0x27,0x02,0x01, - 0x00,0x13,0x03,0x01,0x00,0x27,0x04,0x01,0x00,0x49,0x02,0x05,0x80,0x34,0x06,0x04, - 0x00,0x36,0x07,0x05,0x01,0x3e,0x06,0x02,0x02,0x39,0x06,0x05,0x01,0x4b,0x02,0xfb, - 0x7f,0x2b,0x02,0x00,0x00,0x37,0x02,0x05,0x02,0x10,0x03,0x00,0x00,0x27,0x04,0x01, - 0x00,0x27,0x05,0x01,0x00,0x3e,0x02,0x04,0x02,0x07,0x02,0x06,0x00,0x54,0x02,0x02, - 0x80,0x27,0x02,0x01,0x00,0x3a,0x02,0x07,0x01,0x2b,0x02,0x00,0x00,0x37,0x02,0x05, - 0x02,0x10,0x03,0x00,0x00,0x27,0x04,0xff,0xff,0x27,0x05,0xff,0xff,0x3e,0x02,0x04, - 0x02,0x07,0x02,0x06,0x00,0x54,0x02,0x02,0x80,0x27,0x02,0x01,0x00,0x3a,0x02,0x08, - 0x01,0x30,0x00,0x00,0x80,0x48,0x01,0x02,0x00,0x00,0xc0,0x02,0xc0,0x11,0x69,0x73, - 0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x6f,0x72,0x79,0x10,0x69,0x73,0x5f,0x61,0x62, - 0x73,0x6f,0x6c,0x75,0x74,0x65,0x06,0x2f,0x08,0x73,0x75,0x62,0x0d,0x75,0x6e,0x65, - 0x73,0x63,0x61,0x70,0x65,0x00,0x0c,0x28,0x5b,0x5e,0x2f,0x5d,0x2b,0x29,0x09,0x67, - 0x73,0x75,0x62,0x05,0x9e,0x02,0x00,0x02,0x0b,0x01,0x04,0x01,0x3e,0x25,0x02,0x00, - 0x00,0x13,0x03,0x00,0x00,0x0f,0x00,0x01,0x00,0x54,0x04,0x18,0x80,0x27,0x04,0x01, - 0x00,0x15,0x05,0x00,0x03,0x27,0x06,0x01,0x00,0x49,0x04,0x07,0x80,0x10,0x08,0x02, - 0x00,0x36,0x09,0x07,0x00,0x24,0x02,0x09,0x08,0x10,0x08,0x02,0x00,0x25,0x09,0x01, - 0x00,0x24,0x02,0x09,0x08,0x4b,0x04,0xf9,0x7f,0x27,0x04,0x00,0x00,0x01,0x04,0x03, - 0x00,0x54,0x04,0x25,0x80,0x10,0x04,0x02,0x00,0x36,0x05,0x03,0x00,0x24,0x02,0x05, - 0x04,0x37,0x04,0x02,0x00,0x0f,0x00,0x04,0x00,0x54,0x05,0x1f,0x80,0x10,0x04,0x02, - 0x00,0x25,0x05,0x01,0x00,0x24,0x02,0x05,0x04,0x54,0x04,0x1b,0x80,0x27,0x04,0x01, - 0x00,0x15,0x05,0x00,0x03,0x27,0x06,0x01,0x00,0x49,0x04,0x09,0x80,0x10,0x08,0x02, - 0x00,0x2b,0x09,0x00,0x00,0x36,0x0a,0x07,0x00,0x3e,0x09,0x02,0x02,0x24,0x02,0x09, - 0x08,0x10,0x08,0x02,0x00,0x25,0x09,0x01,0x00,0x24,0x02,0x09,0x08,0x4b,0x04,0xf7, - 0x7f,0x27,0x04,0x00,0x00,0x01,0x04,0x03,0x00,0x54,0x04,0x0b,0x80,0x10,0x04,0x02, - 0x00,0x2b,0x05,0x00,0x00,0x36,0x06,0x03,0x00,0x3e,0x05,0x02,0x02,0x24,0x02,0x05, - 0x04,0x37,0x04,0x02,0x00,0x0f,0x00,0x04,0x00,0x54,0x05,0x03,0x80,0x10,0x04,0x02, - 0x00,0x25,0x05,0x01,0x00,0x24,0x02,0x05,0x04,0x37,0x04,0x03,0x00,0x0f,0x00,0x04, - 0x00,0x54,0x05,0x03,0x80,0x25,0x04,0x01,0x00,0x10,0x05,0x02,0x00,0x24,0x02,0x05, - 0x04,0x48,0x02,0x02,0x00,0x06,0xc0,0x10,0x69,0x73,0x5f,0x61,0x62,0x73,0x6f,0x6c, - 0x75,0x74,0x65,0x11,0x69,0x73,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x6f,0x72,0x79, - 0x06,0x2f,0x05,0x02,0xbf,0x02,0x03,0x00,0x09,0x00,0x19,0x00,0x27,0x34,0x00,0x00, - 0x00,0x25,0x01,0x01,0x00,0x3e,0x00,0x02,0x02,0x34,0x01,0x02,0x00,0x34,0x02,0x00, - 0x00,0x25,0x03,0x03,0x00,0x3e,0x02,0x02,0x02,0x32,0x03,0x00,0x00,0x34,0x04,0x04, - 0x00,0x0f,0x00,0x04,0x00,0x54,0x05,0x04,0x80,0x34,0x04,0x04,0x00,0x27,0x05,0x01, - 0x00,0x10,0x06,0x03,0x00,0x3e,0x04,0x03,0x01,0x25,0x04,0x05,0x00,0x35,0x04,0x06, - 0x00,0x31,0x04,0x07,0x00,0x35,0x04,0x08,0x00,0x31,0x04,0x09,0x00,0x10,0x05,0x04, - 0x00,0x33,0x06,0x0a,0x00,0x3e,0x05,0x02,0x02,0x31,0x06,0x0b,0x00,0x31,0x07,0x0c, - 0x00,0x35,0x07,0x0d,0x00,0x31,0x07,0x0e,0x00,0x31,0x08,0x0f,0x00,0x35,0x08,0x10, - 0x00,0x31,0x08,0x11,0x00,0x35,0x08,0x12,0x00,0x31,0x08,0x13,0x00,0x35,0x08,0x14, - 0x00,0x31,0x08,0x15,0x00,0x35,0x08,0x16,0x00,0x31,0x08,0x17,0x00,0x35,0x08,0x18, - 0x00,0x30,0x00,0x00,0x80,0x48,0x03,0x02,0x00,0x0f,0x62,0x75,0x69,0x6c,0x64,0x5f, - 0x70,0x61,0x74,0x68,0x00,0x0f,0x70,0x61,0x72,0x73,0x65,0x5f,0x70,0x61,0x74,0x68, - 0x00,0x0d,0x61,0x62,0x73,0x6f,0x6c,0x75,0x74,0x65,0x00,0x0a,0x62,0x75,0x69,0x6c, - 0x64,0x00,0x0a,0x70,0x61,0x72,0x73,0x65,0x00,0x00,0x0d,0x75,0x6e,0x65,0x73,0x63, - 0x61,0x70,0x65,0x00,0x00,0x01,0x11,0x00,0x00,0x06,0x2d,0x06,0x5f,0x06,0x2e,0x06, - 0x21,0x06,0x7e,0x06,0x2a,0x06,0x27,0x06,0x28,0x06,0x29,0x06,0x3a,0x06,0x40,0x06, - 0x26,0x06,0x3d,0x06,0x2b,0x06,0x24,0x06,0x2c,0x00,0x0b,0x65,0x73,0x63,0x61,0x70, - 0x65,0x00,0x0d,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x0e,0x55,0x52,0x4c,0x20, - 0x31,0x2e,0x30,0x2e,0x31,0x0c,0x73,0x65,0x74,0x66,0x65,0x6e,0x76,0x0a,0x74,0x61, - 0x62,0x6c,0x65,0x07,0x5f,0x47,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x0c,0x72,0x65, - 0x71,0x75,0x69,0x72,0x65,0x1d,0x00,0x02,0x06,0x01,0x00,0x00,0x05,0x2b,0x02,0x00, - 0x00,0x10,0x03,0x00,0x00,0x27,0x04,0x01,0x00,0x10,0x05,0x01,0x00,0x40,0x02,0x04, - 0x00,0x14,0xc0,0x3d,0x00,0x01,0x03,0x00,0x04,0x00,0x08,0x34,0x01,0x00,0x00,0x37, - 0x01,0x01,0x01,0x37,0x01,0x02,0x01,0x10,0x02,0x00,0x00,0x3e,0x01,0x02,0x01,0x34, - 0x01,0x00,0x00,0x37,0x01,0x03,0x01,0x48,0x01,0x02,0x00,0x0b,0x73,0x74,0x64,0x6f, - 0x75,0x74,0x0b,0x6f,0x75,0x74,0x70,0x75,0x74,0x09,0x62,0x61,0x73,0x65,0x07,0x69, - 0x6f,0x0b,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x47,0x00,0x01,0x00,0x8b,0x02,0x02, - 0x01,0x08,0x02,0x10,0x01,0x28,0x32,0x01,0x03,0x00,0x43,0x02,0x01,0x00,0x3c,0x02, - 0x00,0x00,0x27,0x02,0x01,0x00,0x34,0x03,0x00,0x00,0x25,0x04,0x01,0x00,0x43,0x05, - 0x01,0x00,0x3d,0x03,0x01,0x02,0x27,0x04,0x01,0x00,0x49,0x02,0x05,0x80,0x34,0x06, - 0x02,0x00,0x36,0x07,0x05,0x01,0x3e,0x06,0x02,0x02,0x39,0x06,0x05,0x01,0x4b,0x02, - 0xfb,0x7f,0x34,0x02,0x03,0x00,0x37,0x02,0x04,0x02,0x10,0x03,0x01,0x00,0x3e,0x02, - 0x02,0x02,0x10,0x03,0x02,0x00,0x37,0x02,0x05,0x02,0x25,0x04,0x06,0x00,0x25,0x05, - 0x07,0x00,0x3e,0x02,0x04,0x02,0x10,0x01,0x02,0x00,0x2b,0x02,0x00,0x00,0x37,0x02, - 0x08,0x02,0x37,0x03,0x09,0x00,0x33,0x04,0x0a,0x00,0x33,0x05,0x0c,0x00,0x37,0x06, - 0x0b,0x00,0x3a,0x06,0x0d,0x05,0x3a,0x05,0x0e,0x04,0x2b,0x05,0x01,0x00,0x37,0x05, - 0x0f,0x05,0x10,0x06,0x01,0x00,0x3e,0x05,0x02,0x00,0x3c,0x05,0x00,0x00,0x3e,0x02, - 0x03,0x01,0x47,0x00,0x01,0x00,0x05,0xc0,0x03,0xc0,0x08,0x62,0x36,0x34,0x09,0x61, - 0x74,0x74,0x72,0x09,0x74,0x79,0x70,0x65,0x01,0x00,0x00,0x09,0x6d,0x6f,0x64,0x65, - 0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0b,0x73,0x74,0x72,0x65,0x61,0x6d,0x08,0x73, - 0x6b,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x07,0x0d,0x0a,0x06,0x0a, - 0x09,0x67,0x73,0x75,0x62,0x0b,0x63,0x6f,0x6e,0x63,0x61,0x74,0x0a,0x74,0x61,0x62, - 0x6c,0x65,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x06,0x23,0x0b,0x73,0x65, - 0x6c,0x65,0x63,0x74,0x03,0x80,0x80,0xc0,0x99,0x04,0x68,0x02,0x01,0x04,0x01,0x05, - 0x00,0x0f,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x37,0x01,0x01,0x01,0x10,0x02, - 0x00,0x00,0x43,0x03,0x01,0x00,0x3d,0x01,0x01,0x01,0x34,0x01,0x02,0x00,0x37,0x01, - 0x03,0x01,0x37,0x02,0x04,0x00,0x36,0x01,0x02,0x01,0x10,0x02,0x01,0x00,0x37,0x01, - 0x01,0x01,0x43,0x03,0x01,0x00,0x3d,0x01,0x01,0x01,0x47,0x00,0x01,0x00,0x02,0xc0, - 0x09,0x6d,0x6f,0x64,0x65,0x09,0x62,0x61,0x73,0x65,0x07,0x69,0x6f,0x0a,0x77,0x72, - 0x69,0x74,0x65,0x14,0x72,0x65,0x64,0x69,0x72,0x65,0x63,0x74,0x5f,0x6f,0x75,0x74, - 0x70,0x75,0x74,0x25,0x02,0x01,0x04,0x00,0x02,0x00,0x05,0x37,0x01,0x00,0x00,0x10, - 0x02,0x01,0x00,0x37,0x01,0x01,0x01,0x43,0x03,0x01,0x00,0x3f,0x01,0x01,0x00,0x0a, - 0x66,0x6c,0x75,0x73,0x68,0x08,0x6f,0x75,0x74,0x25,0x02,0x01,0x04,0x00,0x02,0x00, - 0x05,0x37,0x01,0x00,0x00,0x10,0x02,0x01,0x00,0x37,0x01,0x01,0x01,0x43,0x03,0x01, - 0x00,0x3f,0x01,0x01,0x00,0x0a,0x63,0x6c,0x6f,0x73,0x65,0x08,0x6f,0x75,0x74,0x27, + 0x25,0x05,0x0a,0x00,0x31,0x06,0x0b,0x00,0x3e,0x03,0x04,0x02,0x10,0x00,0x03,0x00, + 0x2b,0x03,0x01,0x00,0x37,0x03,0x03,0x03,0x10,0x04,0x00,0x00,0x25,0x05,0x0c,0x00, + 0x31,0x06,0x0d,0x00,0x3e,0x03,0x04,0x02,0x10,0x00,0x03,0x00,0x06,0x00,0x01,0x00, + 0x54,0x03,0x01,0x80,0x3a,0x00,0x0e,0x02,0x37,0x03,0x0f,0x02,0x0e,0x00,0x03,0x00, + 0x54,0x04,0x02,0x80,0x30,0x00,0x00,0x80,0x48,0x02,0x02,0x00,0x2b,0x04,0x01,0x00, + 0x37,0x04,0x03,0x04,0x10,0x05,0x03,0x00,0x25,0x06,0x10,0x00,0x31,0x07,0x11,0x00, + 0x3e,0x04,0x04,0x02,0x10,0x03,0x04,0x00,0x2b,0x04,0x01,0x00,0x37,0x04,0x03,0x04, + 0x10,0x05,0x03,0x00,0x25,0x06,0x12,0x00,0x31,0x07,0x13,0x00,0x3e,0x04,0x04,0x02, + 0x10,0x03,0x04,0x00,0x06,0x03,0x01,0x00,0x54,0x04,0x01,0x80,0x3a,0x03,0x14,0x02, + 0x37,0x04,0x15,0x02,0x0e,0x00,0x04,0x00,0x54,0x05,0x02,0x80,0x30,0x00,0x00,0x80, + 0x48,0x02,0x02,0x00,0x2b,0x05,0x01,0x00,0x37,0x05,0x03,0x05,0x10,0x06,0x04,0x00, + 0x25,0x07,0x12,0x00,0x31,0x08,0x16,0x00,0x3e,0x05,0x04,0x02,0x10,0x04,0x05,0x00, + 0x3a,0x04,0x17,0x02,0x30,0x00,0x00,0x80,0x48,0x02,0x02,0x00,0x46,0x03,0x03,0x00, + 0x01,0xc0,0x00,0xc0,0x09,0x75,0x73,0x65,0x72,0x00,0x0d,0x75,0x73,0x65,0x72,0x69, + 0x6e,0x66,0x6f,0x09,0x68,0x6f,0x73,0x74,0x00,0x0e,0x3a,0x28,0x5b,0x5e,0x3a,0x5d, + 0x2a,0x29,0x24,0x00,0x0e,0x5e,0x28,0x5b,0x5e,0x40,0x5d,0x2a,0x29,0x40,0x0e,0x61, + 0x75,0x74,0x68,0x6f,0x72,0x69,0x74,0x79,0x09,0x70,0x61,0x74,0x68,0x00,0x0b,0x25, + 0x3b,0x28,0x2e,0x2a,0x29,0x00,0x0b,0x25,0x3f,0x28,0x2e,0x2a,0x29,0x00,0x0f,0x5e, + 0x2f,0x2f,0x28,0x5b,0x5e,0x2f,0x5d,0x2a,0x29,0x00,0x19,0x5e,0x28,0x5b,0x25,0x77, + 0x5d,0x5b,0x25,0x77,0x25,0x2b,0x25,0x2d,0x25,0x2e,0x5d,0x2a,0x29,0x25,0x3a,0x00, + 0x0b,0x23,0x28,0x2e,0x2a,0x29,0x24,0x09,0x67,0x73,0x75,0x62,0x10,0x69,0x6e,0x76, + 0x61,0x6c,0x69,0x64,0x20,0x75,0x72,0x6c,0x05,0x0a,0x70,0x61,0x69,0x72,0x73,0xa0, + 0x03,0x00,0x01,0x08,0x00,0x14,0x00,0x4a,0x34,0x01,0x00,0x00,0x37,0x02,0x01,0x00, + 0x0e,0x00,0x02,0x00,0x54,0x03,0x01,0x80,0x25,0x02,0x02,0x00,0x3e,0x01,0x02,0x02, + 0x34,0x02,0x03,0x00,0x10,0x03,0x01,0x00,0x3e,0x02,0x02,0x02,0x37,0x03,0x04,0x00, + 0x0f,0x00,0x03,0x00,0x54,0x04,0x04,0x80,0x10,0x03,0x02,0x00,0x25,0x04,0x05,0x00, + 0x37,0x05,0x04,0x00,0x24,0x02,0x05,0x03,0x37,0x03,0x06,0x00,0x0f,0x00,0x03,0x00, + 0x54,0x04,0x04,0x80,0x10,0x03,0x02,0x00,0x25,0x04,0x07,0x00,0x37,0x05,0x06,0x00, + 0x24,0x02,0x05,0x03,0x37,0x03,0x08,0x00,0x37,0x04,0x09,0x00,0x0f,0x00,0x04,0x00, + 0x54,0x05,0x1a,0x80,0x37,0x03,0x09,0x00,0x37,0x04,0x0a,0x00,0x0f,0x00,0x04,0x00, + 0x54,0x05,0x04,0x80,0x10,0x04,0x03,0x00,0x25,0x05,0x0b,0x00,0x37,0x06,0x0a,0x00, + 0x24,0x03,0x06,0x04,0x37,0x04,0x0c,0x00,0x37,0x05,0x0d,0x00,0x0f,0x00,0x05,0x00, + 0x54,0x06,0x08,0x80,0x37,0x04,0x0d,0x00,0x37,0x05,0x0e,0x00,0x0f,0x00,0x05,0x00, + 0x54,0x06,0x04,0x80,0x10,0x05,0x04,0x00,0x25,0x06,0x0b,0x00,0x37,0x07,0x0e,0x00, + 0x24,0x04,0x07,0x05,0x0f,0x00,0x04,0x00,0x54,0x05,0x04,0x80,0x10,0x05,0x04,0x00, + 0x25,0x06,0x0f,0x00,0x10,0x07,0x03,0x00,0x24,0x03,0x07,0x05,0x0f,0x00,0x03,0x00, + 0x54,0x04,0x04,0x80,0x25,0x04,0x10,0x00,0x10,0x05,0x03,0x00,0x10,0x06,0x02,0x00, + 0x24,0x02,0x06,0x04,0x37,0x04,0x11,0x00,0x0f,0x00,0x04,0x00,0x54,0x05,0x04,0x80, + 0x37,0x04,0x11,0x00,0x25,0x05,0x0b,0x00,0x10,0x06,0x02,0x00,0x24,0x02,0x06,0x04, + 0x37,0x04,0x12,0x00,0x0f,0x00,0x04,0x00,0x54,0x05,0x04,0x80,0x10,0x04,0x02,0x00, + 0x25,0x05,0x13,0x00,0x37,0x06,0x12,0x00,0x24,0x02,0x06,0x04,0x48,0x02,0x02,0x00, + 0x06,0x23,0x0d,0x66,0x72,0x61,0x67,0x6d,0x65,0x6e,0x74,0x0b,0x73,0x63,0x68,0x65, + 0x6d,0x65,0x07,0x2f,0x2f,0x06,0x40,0x0d,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64, + 0x09,0x75,0x73,0x65,0x72,0x0d,0x75,0x73,0x65,0x72,0x69,0x6e,0x66,0x6f,0x06,0x3a, + 0x09,0x70,0x6f,0x72,0x74,0x09,0x68,0x6f,0x73,0x74,0x0e,0x61,0x75,0x74,0x68,0x6f, + 0x72,0x69,0x74,0x79,0x06,0x3f,0x0a,0x71,0x75,0x65,0x72,0x79,0x06,0x3b,0x0b,0x70, + 0x61,0x72,0x61,0x6d,0x73,0x0f,0x62,0x75,0x69,0x6c,0x64,0x5f,0x70,0x61,0x74,0x68, + 0x05,0x09,0x70,0x61,0x74,0x68,0x0f,0x70,0x61,0x72,0x73,0x65,0x5f,0x70,0x61,0x74, + 0x68,0xfa,0x02,0x00,0x02,0x06,0x02,0x0b,0x00,0x4a,0x2b,0x02,0x00,0x00,0x37,0x02, + 0x00,0x02,0x10,0x03,0x00,0x00,0x3e,0x02,0x02,0x02,0x07,0x02,0x01,0x00,0x54,0x02, + 0x06,0x80,0x35,0x00,0x02,0x00,0x34,0x02,0x03,0x00,0x34,0x03,0x02,0x00,0x3e,0x02, + 0x02,0x02,0x10,0x00,0x02,0x00,0x54,0x02,0x04,0x80,0x34,0x02,0x04,0x00,0x10,0x03, + 0x00,0x00,0x3e,0x02,0x02,0x02,0x35,0x02,0x02,0x00,0x34,0x02,0x04,0x00,0x10,0x03, + 0x01,0x00,0x3e,0x02,0x02,0x02,0x34,0x03,0x02,0x00,0x0e,0x00,0x03,0x00,0x54,0x03, + 0x02,0x80,0x48,0x01,0x02,0x00,0x54,0x03,0x31,0x80,0x0e,0x00,0x02,0x00,0x54,0x03, + 0x02,0x80,0x48,0x00,0x02,0x00,0x54,0x03,0x2d,0x80,0x37,0x03,0x05,0x02,0x0f,0x00, + 0x03,0x00,0x54,0x04,0x02,0x80,0x48,0x01,0x02,0x00,0x54,0x03,0x28,0x80,0x34,0x03, + 0x02,0x00,0x37,0x03,0x05,0x03,0x3a,0x03,0x05,0x02,0x37,0x03,0x06,0x02,0x0e,0x00, + 0x03,0x00,0x54,0x03,0x1f,0x80,0x34,0x03,0x02,0x00,0x37,0x03,0x06,0x03,0x3a,0x03, + 0x06,0x02,0x37,0x03,0x07,0x02,0x0e,0x00,0x03,0x00,0x54,0x03,0x10,0x80,0x34,0x03, + 0x02,0x00,0x37,0x03,0x07,0x03,0x3a,0x03,0x07,0x02,0x37,0x03,0x08,0x02,0x0e,0x00, + 0x03,0x00,0x54,0x03,0x13,0x80,0x34,0x03,0x02,0x00,0x37,0x03,0x08,0x03,0x3a,0x03, + 0x08,0x02,0x37,0x03,0x09,0x02,0x0e,0x00,0x03,0x00,0x54,0x03,0x0d,0x80,0x34,0x03, + 0x02,0x00,0x37,0x03,0x09,0x03,0x3a,0x03,0x09,0x02,0x54,0x03,0x09,0x80,0x2b,0x03, + 0x01,0x00,0x34,0x04,0x02,0x00,0x37,0x04,0x07,0x04,0x0e,0x00,0x04,0x00,0x54,0x05, + 0x01,0x80,0x25,0x04,0x0a,0x00,0x37,0x05,0x07,0x02,0x3e,0x03,0x03,0x02,0x3a,0x03, + 0x07,0x02,0x34,0x03,0x03,0x00,0x10,0x04,0x02,0x00,0x40,0x03,0x02,0x00,0x47,0x00, + 0x01,0x00,0x01,0xc0,0x07,0xc0,0x05,0x0a,0x71,0x75,0x65,0x72,0x79,0x0b,0x70,0x61, + 0x72,0x61,0x6d,0x73,0x09,0x70,0x61,0x74,0x68,0x0e,0x61,0x75,0x74,0x68,0x6f,0x72, + 0x69,0x74,0x79,0x0b,0x73,0x63,0x68,0x65,0x6d,0x65,0x0a,0x70,0x61,0x72,0x73,0x65, + 0x0a,0x62,0x75,0x69,0x6c,0x64,0x10,0x62,0x61,0x73,0x65,0x5f,0x70,0x61,0x72,0x73, + 0x65,0x64,0x0a,0x74,0x61,0x62,0x6c,0x65,0x09,0x74,0x79,0x70,0x65,0x2a,0x00,0x01, + 0x04,0x02,0x01,0x00,0x06,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x2b,0x02,0x01, + 0x00,0x10,0x03,0x00,0x00,0x3e,0x01,0x03,0x01,0x47,0x00,0x01,0x00,0x01,0x00,0x01, + 0xc0,0x0b,0x69,0x6e,0x73,0x65,0x72,0x74,0xe6,0x01,0x01,0x01,0x08,0x02,0x09,0x00, + 0x29,0x32,0x01,0x00,0x00,0x0e,0x00,0x00,0x00,0x54,0x02,0x01,0x80,0x25,0x00,0x00, + 0x00,0x2b,0x02,0x00,0x00,0x37,0x02,0x01,0x02,0x10,0x03,0x00,0x00,0x25,0x04,0x02, + 0x00,0x31,0x05,0x03,0x00,0x3e,0x02,0x04,0x01,0x27,0x02,0x01,0x00,0x13,0x03,0x01, + 0x00,0x27,0x04,0x01,0x00,0x49,0x02,0x05,0x80,0x34,0x06,0x04,0x00,0x36,0x07,0x05, + 0x01,0x3e,0x06,0x02,0x02,0x39,0x06,0x05,0x01,0x4b,0x02,0xfb,0x7f,0x2b,0x02,0x00, + 0x00,0x37,0x02,0x05,0x02,0x10,0x03,0x00,0x00,0x27,0x04,0x01,0x00,0x27,0x05,0x01, + 0x00,0x3e,0x02,0x04,0x02,0x07,0x02,0x06,0x00,0x54,0x02,0x02,0x80,0x27,0x02,0x01, + 0x00,0x3a,0x02,0x07,0x01,0x2b,0x02,0x00,0x00,0x37,0x02,0x05,0x02,0x10,0x03,0x00, + 0x00,0x27,0x04,0xff,0xff,0x27,0x05,0xff,0xff,0x3e,0x02,0x04,0x02,0x07,0x02,0x06, + 0x00,0x54,0x02,0x02,0x80,0x27,0x02,0x01,0x00,0x3a,0x02,0x08,0x01,0x30,0x00,0x00, + 0x80,0x48,0x01,0x02,0x00,0x00,0xc0,0x02,0xc0,0x11,0x69,0x73,0x5f,0x64,0x69,0x72, + 0x65,0x63,0x74,0x6f,0x72,0x79,0x10,0x69,0x73,0x5f,0x61,0x62,0x73,0x6f,0x6c,0x75, + 0x74,0x65,0x06,0x2f,0x08,0x73,0x75,0x62,0x0d,0x75,0x6e,0x65,0x73,0x63,0x61,0x70, + 0x65,0x00,0x0c,0x28,0x5b,0x5e,0x2f,0x5d,0x2b,0x29,0x09,0x67,0x73,0x75,0x62,0x05, + 0x9e,0x02,0x00,0x02,0x0b,0x01,0x04,0x01,0x3e,0x25,0x02,0x00,0x00,0x13,0x03,0x00, + 0x00,0x0f,0x00,0x01,0x00,0x54,0x04,0x18,0x80,0x27,0x04,0x01,0x00,0x15,0x05,0x00, + 0x03,0x27,0x06,0x01,0x00,0x49,0x04,0x07,0x80,0x10,0x08,0x02,0x00,0x36,0x09,0x07, + 0x00,0x24,0x02,0x09,0x08,0x10,0x08,0x02,0x00,0x25,0x09,0x01,0x00,0x24,0x02,0x09, + 0x08,0x4b,0x04,0xf9,0x7f,0x27,0x04,0x00,0x00,0x01,0x04,0x03,0x00,0x54,0x04,0x25, + 0x80,0x10,0x04,0x02,0x00,0x36,0x05,0x03,0x00,0x24,0x02,0x05,0x04,0x37,0x04,0x02, + 0x00,0x0f,0x00,0x04,0x00,0x54,0x05,0x1f,0x80,0x10,0x04,0x02,0x00,0x25,0x05,0x01, + 0x00,0x24,0x02,0x05,0x04,0x54,0x04,0x1b,0x80,0x27,0x04,0x01,0x00,0x15,0x05,0x00, + 0x03,0x27,0x06,0x01,0x00,0x49,0x04,0x09,0x80,0x10,0x08,0x02,0x00,0x2b,0x09,0x00, + 0x00,0x36,0x0a,0x07,0x00,0x3e,0x09,0x02,0x02,0x24,0x02,0x09,0x08,0x10,0x08,0x02, + 0x00,0x25,0x09,0x01,0x00,0x24,0x02,0x09,0x08,0x4b,0x04,0xf7,0x7f,0x27,0x04,0x00, + 0x00,0x01,0x04,0x03,0x00,0x54,0x04,0x0b,0x80,0x10,0x04,0x02,0x00,0x2b,0x05,0x00, + 0x00,0x36,0x06,0x03,0x00,0x3e,0x05,0x02,0x02,0x24,0x02,0x05,0x04,0x37,0x04,0x02, + 0x00,0x0f,0x00,0x04,0x00,0x54,0x05,0x03,0x80,0x10,0x04,0x02,0x00,0x25,0x05,0x01, + 0x00,0x24,0x02,0x05,0x04,0x37,0x04,0x03,0x00,0x0f,0x00,0x04,0x00,0x54,0x05,0x03, + 0x80,0x25,0x04,0x01,0x00,0x10,0x05,0x02,0x00,0x24,0x02,0x05,0x04,0x48,0x02,0x02, + 0x00,0x06,0xc0,0x10,0x69,0x73,0x5f,0x61,0x62,0x73,0x6f,0x6c,0x75,0x74,0x65,0x11, + 0x69,0x73,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x6f,0x72,0x79,0x06,0x2f,0x05,0x02, + 0xbf,0x02,0x03,0x00,0x09,0x00,0x19,0x00,0x27,0x34,0x00,0x00,0x00,0x25,0x01,0x01, + 0x00,0x3e,0x00,0x02,0x02,0x34,0x01,0x02,0x00,0x34,0x02,0x00,0x00,0x25,0x03,0x03, + 0x00,0x3e,0x02,0x02,0x02,0x32,0x03,0x00,0x00,0x34,0x04,0x04,0x00,0x0f,0x00,0x04, + 0x00,0x54,0x05,0x04,0x80,0x34,0x04,0x04,0x00,0x27,0x05,0x01,0x00,0x10,0x06,0x03, + 0x00,0x3e,0x04,0x03,0x01,0x25,0x04,0x05,0x00,0x35,0x04,0x06,0x00,0x31,0x04,0x07, + 0x00,0x35,0x04,0x08,0x00,0x31,0x04,0x09,0x00,0x10,0x05,0x04,0x00,0x33,0x06,0x0a, + 0x00,0x3e,0x05,0x02,0x02,0x31,0x06,0x0b,0x00,0x31,0x07,0x0c,0x00,0x35,0x07,0x0d, + 0x00,0x31,0x07,0x0e,0x00,0x31,0x08,0x0f,0x00,0x35,0x08,0x10,0x00,0x31,0x08,0x11, + 0x00,0x35,0x08,0x12,0x00,0x31,0x08,0x13,0x00,0x35,0x08,0x14,0x00,0x31,0x08,0x15, + 0x00,0x35,0x08,0x16,0x00,0x31,0x08,0x17,0x00,0x35,0x08,0x18,0x00,0x30,0x00,0x00, + 0x80,0x48,0x03,0x02,0x00,0x0f,0x62,0x75,0x69,0x6c,0x64,0x5f,0x70,0x61,0x74,0x68, + 0x00,0x0f,0x70,0x61,0x72,0x73,0x65,0x5f,0x70,0x61,0x74,0x68,0x00,0x0d,0x61,0x62, + 0x73,0x6f,0x6c,0x75,0x74,0x65,0x00,0x0a,0x62,0x75,0x69,0x6c,0x64,0x00,0x0a,0x70, + 0x61,0x72,0x73,0x65,0x00,0x00,0x0d,0x75,0x6e,0x65,0x73,0x63,0x61,0x70,0x65,0x00, + 0x00,0x01,0x11,0x00,0x00,0x06,0x2d,0x06,0x5f,0x06,0x2e,0x06,0x21,0x06,0x7e,0x06, + 0x2a,0x06,0x27,0x06,0x28,0x06,0x29,0x06,0x3a,0x06,0x40,0x06,0x26,0x06,0x3d,0x06, + 0x2b,0x06,0x24,0x06,0x2c,0x00,0x0b,0x65,0x73,0x63,0x61,0x70,0x65,0x00,0x0d,0x5f, + 0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x0e,0x55,0x52,0x4c,0x20,0x31,0x2e,0x30,0x2e, + 0x31,0x0c,0x73,0x65,0x74,0x66,0x65,0x6e,0x76,0x0a,0x74,0x61,0x62,0x6c,0x65,0x07, + 0x5f,0x47,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x0c,0x72,0x65,0x71,0x75,0x69,0x72, + 0x65,0x1d,0x00,0x02,0x06,0x01,0x00,0x00,0x05,0x2b,0x02,0x00,0x00,0x10,0x03,0x00, + 0x00,0x27,0x04,0x01,0x00,0x10,0x05,0x01,0x00,0x40,0x02,0x04,0x00,0x14,0xc0,0x3d, + 0x00,0x01,0x03,0x00,0x04,0x00,0x08,0x34,0x01,0x00,0x00,0x37,0x01,0x01,0x01,0x37, + 0x01,0x02,0x01,0x10,0x02,0x00,0x00,0x3e,0x01,0x02,0x01,0x34,0x01,0x00,0x00,0x37, + 0x01,0x03,0x01,0x48,0x01,0x02,0x00,0x0b,0x73,0x74,0x64,0x6f,0x75,0x74,0x0b,0x6f, + 0x75,0x74,0x70,0x75,0x74,0x09,0x62,0x61,0x73,0x65,0x07,0x69,0x6f,0x0b,0x00,0x00, + 0x01,0x00,0x00,0x00,0x01,0x47,0x00,0x01,0x00,0x8b,0x02,0x02,0x01,0x08,0x02,0x10, + 0x01,0x28,0x32,0x01,0x03,0x00,0x43,0x02,0x01,0x00,0x3c,0x02,0x00,0x00,0x27,0x02, + 0x01,0x00,0x34,0x03,0x00,0x00,0x25,0x04,0x01,0x00,0x43,0x05,0x01,0x00,0x3d,0x03, + 0x01,0x02,0x27,0x04,0x01,0x00,0x49,0x02,0x05,0x80,0x34,0x06,0x02,0x00,0x36,0x07, + 0x05,0x01,0x3e,0x06,0x02,0x02,0x39,0x06,0x05,0x01,0x4b,0x02,0xfb,0x7f,0x34,0x02, + 0x03,0x00,0x37,0x02,0x04,0x02,0x10,0x03,0x01,0x00,0x3e,0x02,0x02,0x02,0x10,0x03, + 0x02,0x00,0x37,0x02,0x05,0x02,0x25,0x04,0x06,0x00,0x25,0x05,0x07,0x00,0x3e,0x02, + 0x04,0x02,0x10,0x01,0x02,0x00,0x2b,0x02,0x00,0x00,0x37,0x02,0x08,0x02,0x37,0x03, + 0x09,0x00,0x33,0x04,0x0a,0x00,0x33,0x05,0x0c,0x00,0x37,0x06,0x0b,0x00,0x3a,0x06, + 0x0d,0x05,0x3a,0x05,0x0e,0x04,0x2b,0x05,0x01,0x00,0x37,0x05,0x0f,0x05,0x10,0x06, + 0x01,0x00,0x3e,0x05,0x02,0x00,0x3c,0x05,0x00,0x00,0x3e,0x02,0x03,0x01,0x47,0x00, + 0x01,0x00,0x05,0xc0,0x03,0xc0,0x08,0x62,0x36,0x34,0x09,0x61,0x74,0x74,0x72,0x09, + 0x74,0x79,0x70,0x65,0x01,0x00,0x00,0x09,0x6d,0x6f,0x64,0x65,0x01,0x00,0x01,0x08, + 0x74,0x61,0x67,0x0b,0x73,0x74,0x72,0x65,0x61,0x6d,0x08,0x73,0x6b,0x74,0x0d,0x73, + 0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x07,0x0d,0x0a,0x06,0x0a,0x09,0x67,0x73,0x75, + 0x62,0x0b,0x63,0x6f,0x6e,0x63,0x61,0x74,0x0a,0x74,0x61,0x62,0x6c,0x65,0x0d,0x74, + 0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x06,0x23,0x0b,0x73,0x65,0x6c,0x65,0x63,0x74, + 0x03,0x80,0x80,0xc0,0x99,0x04,0x68,0x02,0x01,0x04,0x01,0x05,0x00,0x0f,0x2b,0x01, + 0x00,0x00,0x37,0x01,0x00,0x01,0x37,0x01,0x01,0x01,0x10,0x02,0x00,0x00,0x43,0x03, + 0x01,0x00,0x3d,0x01,0x01,0x01,0x34,0x01,0x02,0x00,0x37,0x01,0x03,0x01,0x37,0x02, + 0x04,0x00,0x36,0x01,0x02,0x01,0x10,0x02,0x01,0x00,0x37,0x01,0x01,0x01,0x43,0x03, + 0x01,0x00,0x3d,0x01,0x01,0x01,0x47,0x00,0x01,0x00,0x02,0xc0,0x09,0x6d,0x6f,0x64, + 0x65,0x09,0x62,0x61,0x73,0x65,0x07,0x69,0x6f,0x0a,0x77,0x72,0x69,0x74,0x65,0x14, + 0x72,0x65,0x64,0x69,0x72,0x65,0x63,0x74,0x5f,0x6f,0x75,0x74,0x70,0x75,0x74,0x25, 0x02,0x01,0x04,0x00,0x02,0x00,0x05,0x37,0x01,0x00,0x00,0x10,0x02,0x01,0x00,0x37, - 0x01,0x01,0x01,0x43,0x03,0x01,0x00,0x3f,0x01,0x01,0x00,0x0c,0x73,0x65,0x74,0x76, - 0x62,0x75,0x66,0x08,0x6f,0x75,0x74,0x24,0x02,0x01,0x04,0x00,0x02,0x00,0x05,0x37, - 0x01,0x00,0x00,0x10,0x02,0x01,0x00,0x37,0x01,0x01,0x01,0x43,0x03,0x01,0x00,0x3f, - 0x01,0x01,0x00,0x09,0x73,0x65,0x65,0x6b,0x08,0x6f,0x75,0x74,0x1f,0x00,0x02,0x03, - 0x00,0x00,0x00,0x06,0x02,0x01,0x00,0x00,0x54,0x02,0x02,0x80,0x29,0x02,0x01,0x00, - 0x54,0x03,0x01,0x80,0x29,0x02,0x02,0x00,0x48,0x02,0x02,0x00,0x1f,0x00,0x02,0x03, - 0x00,0x00,0x00,0x06,0x04,0x00,0x01,0x00,0x54,0x02,0x02,0x80,0x29,0x02,0x01,0x00, - 0x54,0x03,0x01,0x80,0x29,0x02,0x02,0x00,0x48,0x02,0x02,0x00,0x24,0x00,0x02,0x03, - 0x00,0x00,0x01,0x07,0x22,0x02,0x01,0x00,0x08,0x02,0x00,0x00,0x54,0x02,0x02,0x80, - 0x29,0x02,0x01,0x00,0x54,0x03,0x01,0x80,0x29,0x02,0x02,0x00,0x48,0x02,0x02,0x00, - 0x00,0x42,0x00,0x01,0x03,0x01,0x00,0x01,0x0e,0x2b,0x01,0x00,0x00,0x36,0x01,0x00, - 0x01,0x0b,0x01,0x00,0x00,0x54,0x01,0x04,0x80,0x2b,0x01,0x00,0x00,0x27,0x02,0x01, - 0x00,0x39,0x02,0x00,0x01,0x54,0x01,0x05,0x80,0x2b,0x01,0x00,0x00,0x2b,0x02,0x00, - 0x00,0x36,0x02,0x00,0x02,0x14,0x02,0x00,0x02,0x39,0x02,0x00,0x01,0x47,0x00,0x01, - 0x00,0x1b,0xc0,0x02,0x56,0x00,0x01,0x03,0x01,0x00,0x01,0x13,0x2b,0x01,0x00,0x00, - 0x36,0x01,0x00,0x01,0x0e,0x00,0x01,0x00,0x54,0x01,0x0b,0x80,0x2b,0x01,0x00,0x00, - 0x36,0x01,0x00,0x01,0x27,0x02,0x01,0x00,0x01,0x02,0x01,0x00,0x54,0x01,0x06,0x80, - 0x2b,0x01,0x00,0x00,0x2b,0x02,0x00,0x00,0x36,0x02,0x00,0x02,0x15,0x02,0x00,0x02, - 0x39,0x02,0x00,0x01,0x54,0x01,0x03,0x80,0x2b,0x01,0x00,0x00,0x29,0x02,0x00,0x00, - 0x39,0x02,0x00,0x01,0x47,0x00,0x01,0x00,0x1b,0xc0,0x02,0x15,0x00,0x01,0x02,0x01, - 0x00,0x00,0x03,0x2b,0x01,0x00,0x00,0x36,0x01,0x00,0x01,0x48,0x01,0x02,0x00,0x1b, - 0xc0,0xe4,0x01,0x00,0x02,0x0d,0x03,0x06,0x00,0x2c,0x37,0x02,0x00,0x01,0x10,0x03, - 0x00,0x00,0x2b,0x04,0x00,0x00,0x36,0x04,0x02,0x04,0x0e,0x00,0x04,0x00,0x54,0x05, - 0x02,0x80,0x29,0x05,0x00,0x00,0x48,0x05,0x02,0x00,0x36,0x05,0x03,0x04,0x0e,0x00, - 0x05,0x00,0x54,0x06,0x02,0x80,0x29,0x06,0x00,0x00,0x48,0x06,0x02,0x00,0x2b,0x06, - 0x01,0x00,0x10,0x07,0x00,0x00,0x3e,0x06,0x02,0x01,0x27,0x06,0x01,0x00,0x13,0x07, - 0x05,0x00,0x27,0x08,0x01,0x00,0x49,0x06,0x0c,0x80,0x36,0x0a,0x09,0x05,0x37,0x0a, - 0x01,0x0a,0x37,0x0b,0x01,0x01,0x05,0x0a,0x0b,0x00,0x54,0x0a,0x06,0x80,0x34,0x0a, - 0x02,0x00,0x37,0x0a,0x03,0x0a,0x10,0x0b,0x05,0x00,0x10,0x0c,0x09,0x00,0x3e,0x0a, - 0x03,0x01,0x54,0x06,0x01,0x80,0x4b,0x06,0xf4,0x7f,0x32,0x05,0x00,0x00,0x2b,0x06, - 0x02,0x00,0x37,0x07,0x04,0x01,0x3e,0x06,0x02,0x01,0x34,0x06,0x02,0x00,0x37,0x06, - 0x05,0x06,0x10,0x07,0x05,0x00,0x10,0x08,0x01,0x00,0x3e,0x06,0x03,0x01,0x37,0x06, - 0x04,0x01,0x39,0x05,0x06,0x04,0x47,0x00,0x01,0x00,0x16,0xc0,0x1d,0xc0,0x1c,0xc0, - 0x0b,0x69,0x6e,0x73,0x65,0x72,0x74,0x0b,0x6c,0x69,0x6e,0x65,0x6e,0x6f,0x0b,0x72, - 0x65,0x6d,0x6f,0x76,0x65,0x0a,0x74,0x61,0x62,0x6c,0x65,0x07,0x69,0x64,0x0d,0x66, - 0x69,0x6c,0x65,0x6e,0x61,0x6d,0x65,0xa0,0x02,0x00,0x01,0x08,0x06,0x0b,0x01,0x2f, - 0x2b,0x01,0x00,0x00,0x14,0x02,0x00,0x01,0x2c,0x00,0x02,0x00,0x3a,0x01,0x00,0x00, - 0x2b,0x02,0x01,0x00,0x37,0x02,0x01,0x02,0x37,0x03,0x02,0x00,0x3e,0x02,0x02,0x02, - 0x2b,0x03,0x01,0x00,0x37,0x03,0x03,0x03,0x33,0x04,0x05,0x00,0x37,0x05,0x04,0x02, - 0x3a,0x05,0x04,0x04,0x2b,0x05,0x02,0x00,0x37,0x05,0x06,0x05,0x37,0x06,0x07,0x02, - 0x3e,0x05,0x02,0x02,0x3a,0x05,0x07,0x04,0x3e,0x03,0x02,0x02,0x3a,0x03,0x02,0x00, - 0x2b,0x03,0x03,0x00,0x37,0x04,0x02,0x00,0x36,0x03,0x04,0x03,0x0e,0x00,0x03,0x00, - 0x54,0x04,0x04,0x80,0x32,0x03,0x00,0x00,0x2b,0x04,0x03,0x00,0x37,0x05,0x02,0x00, - 0x39,0x03,0x05,0x04,0x37,0x04,0x08,0x00,0x36,0x04,0x04,0x03,0x0e,0x00,0x04,0x00, - 0x54,0x05,0x03,0x80,0x32,0x04,0x00,0x00,0x37,0x05,0x08,0x00,0x39,0x04,0x05,0x03, - 0x2b,0x05,0x04,0x00,0x37,0x06,0x08,0x00,0x3e,0x05,0x02,0x01,0x34,0x05,0x09,0x00, - 0x37,0x05,0x0a,0x05,0x10,0x06,0x04,0x00,0x10,0x07,0x00,0x00,0x3e,0x05,0x03,0x01, - 0x2b,0x05,0x05,0x00,0x39,0x00,0x01,0x05,0x48,0x01,0x02,0x00,0x1a,0x80,0x08,0xc0, - 0x04,0xc0,0x16,0xc0,0x1c,0xc0,0x17,0xc0,0x0b,0x69,0x6e,0x73,0x65,0x72,0x74,0x0a, - 0x74,0x61,0x62,0x6c,0x65,0x0b,0x6c,0x69,0x6e,0x65,0x6e,0x6f,0x09,0x70,0x61,0x74, - 0x68,0x0e,0x6e,0x6f,0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x01,0x00,0x01,0x0e,0x61, - 0x75,0x74,0x68,0x6f,0x72,0x69,0x74,0x79,0x05,0x0b,0x73,0x63,0x68,0x65,0x6d,0x65, - 0x0a,0x62,0x75,0x69,0x6c,0x64,0x0d,0x66,0x69,0x6c,0x65,0x6e,0x61,0x6d,0x65,0x0a, - 0x70,0x61,0x72,0x73,0x65,0x07,0x69,0x64,0x02,0x91,0x05,0x00,0x02,0x14,0x06,0x17, - 0x01,0x69,0x10,0x03,0x00,0x00,0x37,0x02,0x00,0x00,0x25,0x04,0x01,0x00,0x13,0x04, - 0x04,0x00,0x14,0x04,0x00,0x04,0x3e,0x02,0x03,0x02,0x34,0x03,0x02,0x00,0x2b,0x04, - 0x00,0x00,0x3e,0x03,0x02,0x04,0x44,0x06,0x0c,0x80,0x10,0x09,0x06,0x00,0x37,0x08, - 0x03,0x06,0x10,0x0a,0x02,0x00,0x3e,0x08,0x03,0x03,0x35,0x09,0x04,0x00,0x35,0x08, - 0x05,0x00,0x34,0x08,0x04,0x00,0x13,0x09,0x06,0x00,0x05,0x08,0x09,0x00,0x54,0x08, - 0x02,0x80,0x10,0x00,0x06,0x00,0x54,0x03,0x02,0x80,0x42,0x06,0x03,0x03,0x4e,0x06, - 0xf2,0x7f,0x2b,0x03,0x00,0x00,0x36,0x03,0x00,0x03,0x0f,0x00,0x03,0x00,0x54,0x04, - 0x03,0x80,0x2b,0x03,0x00,0x00,0x36,0x03,0x00,0x03,0x36,0x03,0x01,0x03,0x0e,0x00, - 0x03,0x00,0x54,0x04,0x02,0x80,0x29,0x04,0x00,0x00,0x48,0x04,0x02,0x00,0x29,0x04, - 0x01,0x00,0x34,0x05,0x02,0x00,0x10,0x06,0x03,0x00,0x3e,0x05,0x02,0x04,0x44,0x08, - 0x3e,0x80,0x37,0x0a,0x06,0x09,0x07,0x0a,0x07,0x00,0x54,0x0a,0x3b,0x80,0x29,0x0a, - 0x02,0x00,0x37,0x0b,0x08,0x09,0x0f,0x00,0x0b,0x00,0x54,0x0c,0x1f,0x80,0x2b,0x0b, - 0x01,0x00,0x37,0x0b,0x09,0x0b,0x10,0x0c,0x0b,0x00,0x37,0x0b,0x0a,0x0b,0x2b,0x0d, - 0x02,0x00,0x37,0x0d,0x0b,0x0d,0x27,0x0e,0x00,0x00,0x3e,0x0b,0x04,0x02,0x2b,0x0c, - 0x03,0x00,0x37,0x0d,0x08,0x09,0x10,0x0e,0x0b,0x00,0x3e,0x0c,0x03,0x01,0x34,0x0c, - 0x0c,0x00,0x37,0x0d,0x08,0x09,0x3e,0x0c,0x02,0x03,0x0e,0x00,0x0c,0x00,0x54,0x0e, - 0x07,0x80,0x2b,0x0e,0x04,0x00,0x25,0x0f,0x0d,0x00,0x25,0x10,0x0e,0x00,0x10,0x11, - 0x00,0x00,0x10,0x12,0x01,0x00,0x10,0x13,0x0d,0x00,0x3e,0x0e,0x06,0x01,0x0f,0x00, - 0x0c,0x00,0x54,0x0e,0x04,0x80,0x10,0x0a,0x0d,0x00,0x54,0x0e,0x03,0x80,0x29,0x0a, - 0x01,0x00,0x54,0x0e,0x01,0x80,0x29,0x0a,0x02,0x00,0x0f,0x00,0x0a,0x00,0x54,0x0b, - 0x16,0x80,0x37,0x0b,0x0f,0x09,0x14,0x0b,0x00,0x0b,0x3a,0x0b,0x0f,0x09,0x2b,0x0b, - 0x05,0x00,0x37,0x0b,0x10,0x0b,0x37,0x0b,0x11,0x0b,0x37,0x0c,0x12,0x09,0x36,0x0b, - 0x0c,0x0b,0x37,0x0c,0x0f,0x09,0x37,0x0d,0x13,0x09,0x3e,0x0b,0x03,0x02,0x0f,0x00, - 0x0b,0x00,0x54,0x0c,0x09,0x80,0x37,0x0b,0x14,0x09,0x0f,0x00,0x0b,0x00,0x54,0x0c, - 0x05,0x80,0x2b,0x0b,0x05,0x00,0x37,0x0b,0x10,0x0b,0x37,0x0b,0x15,0x0b,0x37,0x0c, - 0x16,0x09,0x3e,0x0b,0x02,0x01,0x29,0x04,0x02,0x00,0x42,0x08,0x03,0x03,0x4e,0x08, - 0xc0,0x7f,0x48,0x04,0x02,0x00,0x16,0xc0,0x07,0xc0,0x12,0x80,0x13,0x80,0x09,0xc0, - 0x02,0xc0,0x07,0x69,0x64,0x0b,0x72,0x65,0x6d,0x6f,0x76,0x65,0x0e,0x74,0x65,0x6d, - 0x70,0x6f,0x72,0x61,0x72,0x79,0x0e,0x68,0x69,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65, - 0x12,0x68,0x69,0x74,0x5f,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x13,0x68, - 0x69,0x74,0x5f,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x10,0x62,0x72, - 0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x73,0x0e,0x68,0x69,0x74,0x5f,0x63,0x6f, - 0x75,0x6e,0x74,0x3c,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20,0x65,0x76, - 0x61,0x6c,0x75,0x61,0x74,0x69,0x6f,0x6e,0x20,0x66,0x61,0x69,0x6c,0x65,0x64,0x20, - 0x66,0x6f,0x72,0x20,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x20,0x61, - 0x74,0x20,0x25,0x73,0x3a,0x25,0x64,0x3a,0x20,0x25,0x73,0x0a,0x45,0x52,0x52,0x4f, - 0x52,0x0a,0x70,0x63,0x61,0x6c,0x6c,0x09,0x63,0x6f,0x72,0x6f,0x08,0x6e,0x65,0x77, - 0x0c,0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x0e,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69, - 0x6f,0x6e,0x0c,0x65,0x6e,0x61,0x62,0x6c,0x65,0x64,0x0a,0x73,0x74,0x61,0x74,0x65, - 0x06,0x69,0x06,0x6a,0x09,0x66,0x69,0x6e,0x64,0x0a,0x70,0x61,0x69,0x72,0x73,0x0c, - 0x66,0x69,0x6c,0x65,0x3a,0x2f,0x2f,0x08,0x73,0x75,0x62,0x02,0x2d,0x00,0x01,0x02, - 0x01,0x00,0x00,0x09,0x0f,0x00,0x00,0x00,0x54,0x01,0x04,0x80,0x2b,0x01,0x00,0x00, - 0x36,0x01,0x00,0x01,0x48,0x01,0x02,0x00,0x54,0x01,0x02,0x80,0x2b,0x01,0x00,0x00, - 0x48,0x01,0x02,0x00,0x47,0x00,0x01,0x00,0x17,0xc0,0x8b,0x02,0x00,0x01,0x0a,0x03, - 0x05,0x00,0x37,0x2b,0x01,0x00,0x00,0x36,0x01,0x00,0x01,0x0f,0x00,0x01,0x00,0x54, - 0x02,0x31,0x80,0x2b,0x02,0x00,0x00,0x29,0x03,0x00,0x00,0x39,0x03,0x00,0x02,0x2b, - 0x02,0x01,0x00,0x37,0x03,0x00,0x01,0x36,0x02,0x03,0x02,0x37,0x03,0x01,0x01,0x36, - 0x02,0x03,0x02,0x27,0x03,0x01,0x00,0x13,0x04,0x02,0x00,0x27,0x05,0x01,0x00,0x49, - 0x03,0x0a,0x80,0x36,0x07,0x06,0x02,0x05,0x07,0x01,0x00,0x54,0x07,0x06,0x80,0x34, - 0x07,0x02,0x00,0x37,0x07,0x03,0x07,0x10,0x08,0x02,0x00,0x10,0x09,0x06,0x00,0x3e, - 0x07,0x03,0x01,0x54,0x03,0x01,0x80,0x4b,0x03,0xf6,0x7f,0x2b,0x03,0x02,0x00,0x37, - 0x04,0x01,0x01,0x3e,0x03,0x02,0x01,0x34,0x03,0x04,0x00,0x10,0x04,0x02,0x00,0x3e, - 0x03,0x02,0x02,0x0e,0x00,0x03,0x00,0x54,0x03,0x06,0x80,0x2b,0x03,0x01,0x00,0x37, - 0x04,0x00,0x01,0x36,0x03,0x04,0x03,0x37,0x04,0x01,0x01,0x29,0x05,0x00,0x00,0x39, - 0x05,0x04,0x03,0x34,0x03,0x04,0x00,0x2b,0x04,0x01,0x00,0x37,0x05,0x00,0x01,0x36, - 0x04,0x05,0x04,0x3e,0x03,0x02,0x02,0x0e,0x00,0x03,0x00,0x54,0x03,0x04,0x80,0x2b, - 0x03,0x01,0x00,0x37,0x04,0x00,0x01,0x29,0x05,0x00,0x00,0x39,0x05,0x04,0x03,0x29, - 0x03,0x02,0x00,0x48,0x03,0x02,0x00,0x29,0x02,0x01,0x00,0x48,0x02,0x02,0x00,0x17, - 0xc0,0x16,0xc0,0x1d,0xc0,0x09,0x6e,0x65,0x78,0x74,0x0b,0x72,0x65,0x6d,0x6f,0x76, - 0x65,0x0a,0x74,0x61,0x62,0x6c,0x65,0x0b,0x6c,0x69,0x6e,0x65,0x6e,0x6f,0x0d,0x66, - 0x69,0x6c,0x65,0x6e,0x61,0x6d,0x65,0x91,0x02,0x00,0x01,0x09,0x01,0x09,0x00,0x27, - 0x2b,0x01,0x00,0x00,0x36,0x01,0x00,0x01,0x0e,0x00,0x01,0x00,0x54,0x02,0x07,0x80, - 0x29,0x02,0x00,0x00,0x25,0x03,0x00,0x00,0x34,0x04,0x01,0x00,0x10,0x05,0x00,0x00, - 0x3e,0x04,0x02,0x02,0x24,0x03,0x04,0x03,0x46,0x02,0x03,0x00,0x33,0x02,0x02,0x00, - 0x32,0x03,0x00,0x00,0x3a,0x03,0x03,0x02,0x34,0x03,0x04,0x00,0x10,0x04,0x01,0x00, - 0x3e,0x03,0x02,0x04,0x44,0x06,0x02,0x80,0x37,0x08,0x03,0x02,0x39,0x07,0x06,0x08, - 0x42,0x06,0x03,0x03,0x4e,0x06,0xfc,0x7f,0x37,0x03,0x05,0x01,0x0f,0x00,0x03,0x00, - 0x54,0x04,0x04,0x80,0x33,0x03,0x06,0x00,0x37,0x04,0x05,0x01,0x3b,0x04,0x01,0x03, - 0x3b,0x03,0x01,0x02,0x37,0x03,0x03,0x02,0x29,0x04,0x00,0x00,0x3a,0x04,0x05,0x03, - 0x37,0x03,0x03,0x02,0x29,0x04,0x00,0x00,0x3a,0x04,0x07,0x03,0x37,0x03,0x03,0x02, - 0x29,0x04,0x00,0x00,0x3a,0x04,0x08,0x03,0x48,0x02,0x02,0x00,0x17,0xc0,0x0e,0x74, - 0x65,0x6d,0x70,0x6f,0x72,0x61,0x72,0x79,0x0e,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69, - 0x6f,0x6e,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0f,0x65,0x78,0x70,0x72,0x65,0x73, - 0x73,0x69,0x6f,0x6e,0x0f,0x65,0x78,0x70,0x72,0x65,0x73,0x73,0x69,0x6f,0x6e,0x0a, - 0x70,0x61,0x69,0x72,0x73,0x09,0x61,0x74,0x74,0x72,0x01,0x00,0x01,0x08,0x74,0x61, - 0x67,0x0f,0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x0d,0x74,0x6f,0x73, - 0x74,0x72,0x69,0x6e,0x67,0x19,0x4e,0x6f,0x20,0x73,0x75,0x63,0x68,0x20,0x62,0x72, - 0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x3a,0x20,0xae,0x01,0x00,0x01,0x08,0x05, - 0x05,0x00,0x19,0x2b,0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x38,0x01,0x01,0x01,0x2b, - 0x02,0x01,0x00,0x25,0x03,0x01,0x00,0x25,0x04,0x02,0x00,0x10,0x05,0x00,0x00,0x34, - 0x06,0x03,0x00,0x10,0x07,0x01,0x00,0x3e,0x06,0x02,0x02,0x2b,0x07,0x02,0x00,0x36, - 0x07,0x01,0x07,0x3e,0x02,0x06,0x01,0x07,0x00,0x04,0x00,0x54,0x02,0x02,0x80,0x2f, - 0x03,0x02,0x00,0x54,0x02,0x07,0x80,0x2b,0x02,0x04,0x00,0x32,0x03,0x03,0x00,0x3b, - 0x00,0x01,0x03,0x2b,0x04,0x02,0x00,0x36,0x04,0x01,0x04,0x3b,0x04,0x02,0x03,0x39, - 0x03,0x01,0x02,0x47,0x00,0x01,0x00,0x12,0x80,0x09,0xc0,0x15,0xc0,0x19,0x80,0x18, - 0xc0,0x09,0x69,0x6e,0x74,0x6f,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x24, - 0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x65,0x64,0x20,0x25,0x73,0x20,0x65,0x76, - 0x65,0x6e,0x74,0x20,0x66,0x6f,0x72,0x20,0x25,0x73,0x20,0x28,0x25,0x64,0x29,0x0a, - 0x44,0x45,0x42,0x55,0x47,0x09,0x63,0x6f,0x72,0x6f,0xc6,0x01,0x00,0x00,0x09,0x05, - 0x06,0x00,0x22,0x2b,0x00,0x00,0x00,0x0f,0x00,0x00,0x00,0x54,0x01,0x02,0x80,0x29, - 0x00,0x02,0x00,0x48,0x00,0x02,0x00,0x2b,0x00,0x01,0x00,0x37,0x00,0x00,0x00,0x38, - 0x00,0x01,0x00,0x2b,0x01,0x02,0x00,0x36,0x01,0x00,0x01,0x0f,0x00,0x01,0x00,0x54, - 0x02,0x14,0x80,0x34,0x02,0x01,0x00,0x10,0x03,0x01,0x00,0x3e,0x02,0x02,0x03,0x2b, - 0x04,0x03,0x00,0x36,0x04,0x00,0x04,0x07,0x02,0x02,0x00,0x54,0x05,0x02,0x80,0x02, - 0x04,0x03,0x00,0x54,0x05,0x04,0x80,0x07,0x02,0x03,0x00,0x54,0x05,0x09,0x80,0x01, - 0x04,0x03,0x00,0x54,0x05,0x07,0x80,0x2b,0x05,0x04,0x00,0x25,0x06,0x04,0x00,0x25, - 0x07,0x05,0x00,0x10,0x08,0x02,0x00,0x3e,0x05,0x04,0x01,0x29,0x05,0x02,0x00,0x48, - 0x05,0x02,0x00,0x29,0x02,0x01,0x00,0x48,0x02,0x02,0x00,0x19,0x80,0x12,0x80,0x18, - 0xc0,0x15,0xc0,0x09,0xc0,0x16,0x45,0x76,0x65,0x6e,0x74,0x20,0x25,0x73,0x20,0x6d, - 0x61,0x74,0x63,0x68,0x65,0x64,0x21,0x0a,0x44,0x45,0x42,0x55,0x47,0x08,0x6f,0x75, - 0x74,0x09,0x6f,0x76,0x65,0x72,0x0b,0x75,0x6e,0x70,0x61,0x63,0x6b,0x09,0x63,0x6f, - 0x72,0x6f,0x32,0x00,0x00,0x03,0x03,0x01,0x00,0x08,0x2b,0x00,0x00,0x00,0x2b,0x01, - 0x01,0x00,0x37,0x01,0x00,0x01,0x38,0x01,0x01,0x01,0x29,0x02,0x00,0x00,0x39,0x02, - 0x01,0x00,0x2f,0x02,0x00,0x00,0x47,0x00,0x01,0x00,0x18,0xc0,0x12,0x80,0x19,0x80, - 0x09,0x63,0x6f,0x72,0x6f,0x9b,0x01,0x00,0x02,0x06,0x01,0x09,0x00,0x12,0x37,0x02, - 0x00,0x00,0x37,0x03,0x02,0x00,0x3a,0x03,0x01,0x02,0x37,0x02,0x00,0x00,0x0c,0x03, - 0x01,0x00,0x54,0x03,0x01,0x80,0x25,0x03,0x04,0x00,0x3a,0x03,0x03,0x02,0x2b,0x02, - 0x00,0x00,0x37,0x02,0x05,0x02,0x37,0x03,0x06,0x00,0x33,0x04,0x07,0x00,0x37,0x05, - 0x00,0x00,0x3a,0x05,0x08,0x04,0x3e,0x02,0x03,0x01,0x29,0x02,0x00,0x00,0x3a,0x02, - 0x00,0x00,0x47,0x00,0x01,0x00,0x05,0xc0,0x09,0x61,0x74,0x74,0x72,0x01,0x00,0x01, - 0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x08,0x73,0x6b, - 0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x07,0x6f,0x6b,0x0b,0x72,0x65, - 0x61,0x73,0x6f,0x6e,0x0a,0x73,0x74,0x61,0x74,0x65,0x0b,0x73,0x74,0x61,0x74,0x75, - 0x73,0x15,0x70,0x72,0x65,0x76,0x69,0x6f,0x75,0x73,0x5f,0x63,0x6f,0x6e,0x74,0x65, - 0x78,0x74,0xcf,0x01,0x00,0x00,0x07,0x04,0x08,0x00,0x1e,0x34,0x00,0x00,0x00,0x34, - 0x01,0x00,0x00,0x2b,0x02,0x00,0x00,0x2b,0x03,0x01,0x00,0x3a,0x03,0x02,0x01,0x3a, - 0x02,0x01,0x00,0x34,0x00,0x03,0x00,0x2b,0x01,0x02,0x00,0x37,0x01,0x04,0x01,0x37, - 0x01,0x05,0x01,0x3e,0x00,0x02,0x04,0x44,0x03,0x04,0x80,0x2b,0x05,0x03,0x00,0x37, - 0x05,0x06,0x05,0x10,0x06,0x04,0x00,0x3e,0x05,0x02,0x01,0x42,0x03,0x03,0x03,0x4e, - 0x03,0xfa,0x7f,0x2b,0x00,0x03,0x00,0x37,0x00,0x06,0x00,0x3e,0x00,0x01,0x01,0x2b, - 0x00,0x02,0x00,0x37,0x00,0x04,0x00,0x2b,0x01,0x02,0x00,0x37,0x01,0x04,0x01,0x32, - 0x02,0x00,0x00,0x32,0x03,0x00,0x00,0x3a,0x03,0x07,0x01,0x3a,0x02,0x05,0x00,0x47, - 0x00,0x01,0x00,0x0e,0xc0,0x0c,0xc0,0x02,0xc0,0x01,0xc0,0x0e,0x66,0x72,0x6f,0x6d, - 0x5f,0x63,0x6f,0x72,0x6f,0x0c,0x73,0x65,0x74,0x68,0x6f,0x6f,0x6b,0x0c,0x66,0x72, - 0x6f,0x6d,0x5f,0x69,0x64,0x16,0x61,0x63,0x74,0x69,0x76,0x65,0x5f,0x63,0x6f,0x72, - 0x6f,0x75,0x74,0x69,0x6e,0x65,0x73,0x0a,0x70,0x61,0x69,0x72,0x73,0x09,0x77,0x72, - 0x61,0x70,0x0b,0x72,0x65,0x73,0x75,0x6d,0x65,0x0e,0x63,0x6f,0x72,0x6f,0x75,0x74, - 0x69,0x6e,0x65,0x23,0x00,0x00,0x04,0x04,0x00,0x00,0x05,0x2b,0x00,0x00,0x00,0x2b, - 0x01,0x01,0x00,0x2b,0x02,0x02,0x00,0x2b,0x03,0x03,0x00,0x40,0x00,0x04,0x00,0x07, - 0xc0,0x00,0xc0,0x05,0xc0,0x06,0xc0,0xb7,0x08,0x01,0x02,0x14,0x07,0x26,0x01,0xa5, - 0x01,0x37,0x02,0x00,0x00,0x10,0x03,0x02,0x00,0x37,0x02,0x01,0x02,0x29,0x04,0x00, - 0x00,0x3e,0x02,0x03,0x01,0x0b,0x01,0x00,0x00,0x54,0x02,0x02,0x80,0x29,0x02,0x01, - 0x00,0x54,0x03,0x01,0x80,0x29,0x02,0x02,0x00,0x37,0x03,0x02,0x00,0x0f,0x00,0x03, - 0x00,0x54,0x04,0x08,0x80,0x0e,0x00,0x02,0x00,0x54,0x03,0x06,0x80,0x25,0x03,0x04, - 0x00,0x3a,0x03,0x03,0x00,0x2b,0x03,0x00,0x00,0x37,0x03,0x05,0x03,0x10,0x04,0x00, - 0x00,0x3e,0x03,0x02,0x01,0x2b,0x03,0x01,0x00,0x37,0x03,0x07,0x03,0x37,0x04,0x08, - 0x00,0x3e,0x03,0x02,0x02,0x3a,0x03,0x06,0x00,0x51,0x03,0x7f,0x80,0x0c,0x03,0x01, - 0x00,0x54,0x03,0x04,0x80,0x2b,0x03,0x02,0x00,0x37,0x03,0x09,0x03,0x37,0x04,0x00, - 0x00,0x3e,0x03,0x02,0x02,0x0e,0x00,0x03,0x00,0x54,0x04,0x07,0x80,0x2b,0x04,0x03, - 0x00,0x25,0x05,0x0a,0x00,0x25,0x06,0x0b,0x00,0x3e,0x04,0x03,0x01,0x2b,0x04,0x04, - 0x00,0x3e,0x04,0x01,0x01,0x30,0x03,0x70,0x80,0x29,0x01,0x00,0x00,0x2b,0x04,0x03, - 0x00,0x25,0x05,0x0c,0x00,0x10,0x06,0x03,0x00,0x3e,0x04,0x03,0x01,0x2b,0x04,0x02, - 0x00,0x37,0x04,0x0d,0x04,0x10,0x05,0x03,0x00,0x3e,0x04,0x02,0x04,0x2b,0x07,0x05, - 0x00,0x36,0x07,0x04,0x07,0x0f,0x00,0x07,0x00,0x54,0x08,0x4e,0x80,0x34,0x08,0x0e, - 0x00,0x31,0x09,0x0f,0x00,0x2b,0x0a,0x06,0x00,0x37,0x0a,0x10,0x0a,0x3e,0x08,0x03, - 0x03,0x0e,0x00,0x08,0x00,0x54,0x0a,0x34,0x80,0x2a,0x0a,0x0c,0x00,0x34,0x0d,0x11, - 0x00,0x10,0x0e,0x09,0x00,0x3e,0x0d,0x02,0x02,0x07,0x0d,0x12,0x00,0x54,0x0d,0x0d, - 0x80,0x34,0x0d,0x13,0x00,0x10,0x0e,0x09,0x00,0x3e,0x0d,0x02,0x02,0x2b,0x0e,0x02, - 0x00,0x37,0x0e,0x14,0x0e,0x05,0x0d,0x0e,0x00,0x54,0x0d,0x06,0x80,0x37,0x0d,0x15, - 0x09,0x37,0x0e,0x16,0x09,0x37,0x0c,0x17,0x09,0x10,0x0b,0x0e,0x00,0x10,0x0a,0x0d, - 0x00,0x54,0x0d,0x07,0x80,0x27,0x0d,0xe6,0x03,0x34,0x0e,0x18,0x00,0x10,0x0f,0x09, - 0x00,0x3e,0x0e,0x02,0x02,0x32,0x0c,0x00,0x00,0x10,0x0b,0x0e,0x00,0x10,0x0a,0x0d, - 0x00,0x2b,0x0d,0x03,0x00,0x25,0x0e,0x19,0x00,0x25,0x0f,0x1a,0x00,0x10,0x10,0x04, - 0x00,0x10,0x11,0x0a,0x00,0x34,0x12,0x18,0x00,0x10,0x13,0x0b,0x00,0x3e,0x12,0x02, - 0x00,0x3d,0x0d,0x04,0x01,0x10,0x0d,0x04,0x00,0x37,0x0e,0x1d,0x05,0x3a,0x0e,0x1c, - 0x0c,0x3a,0x0d,0x1b,0x0c,0x2b,0x0d,0x02,0x00,0x37,0x0d,0x1e,0x0d,0x37,0x0e,0x00, - 0x00,0x33,0x0f,0x1f,0x00,0x3a,0x0c,0x17,0x0f,0x2b,0x10,0x02,0x00,0x37,0x10,0x20, - 0x10,0x10,0x11,0x0a,0x00,0x10,0x12,0x0b,0x00,0x3e,0x10,0x03,0x00,0x3c,0x10,0x00, - 0x00,0x3e,0x0d,0x03,0x01,0x54,0x0a,0x27,0x80,0x0f,0x00,0x09,0x00,0x54,0x0a,0x07, - 0x80,0x33,0x0a,0x21,0x00,0x3a,0x04,0x1b,0x0a,0x37,0x0b,0x1d,0x05,0x3a,0x0b,0x1c, - 0x0a,0x3a,0x0a,0x02,0x00,0x30,0x03,0x20,0x80,0x54,0x0a,0x1e,0x80,0x0b,0x09,0x00, - 0x00,0x54,0x0a,0x04,0x80,0x0f,0x00,0x02,0x00,0x54,0x0a,0x02,0x80,0x30,0x03,0x1a, - 0x80,0x54,0x0a,0x18,0x80,0x0b,0x09,0x01,0x00,0x54,0x0a,0x16,0x80,0x29,0x02,0x01, - 0x00,0x54,0x08,0x14,0x80,0x2b,0x08,0x03,0x00,0x25,0x09,0x22,0x00,0x10,0x0a,0x04, - 0x00,0x24,0x09,0x0a,0x09,0x3e,0x08,0x02,0x01,0x2b,0x08,0x02,0x00,0x37,0x08,0x1e, - 0x08,0x37,0x09,0x00,0x00,0x33,0x0a,0x23,0x00,0x33,0x0b,0x24,0x00,0x3a,0x04,0x1b, - 0x0b,0x37,0x0c,0x1d,0x05,0x3a,0x0c,0x1c,0x0b,0x3a,0x0b,0x17,0x0a,0x2b,0x0b,0x02, - 0x00,0x37,0x0b,0x20,0x0b,0x27,0x0c,0x04,0x00,0x3e,0x0b,0x02,0x00,0x3c,0x0b,0x00, - 0x00,0x3e,0x08,0x03,0x01,0x30,0x03,0x80,0x7f,0x29,0x03,0x00,0x00,0x3a,0x03,0x06, - 0x00,0x25,0x03,0x25,0x00,0x3a,0x03,0x03,0x00,0x37,0x03,0x00,0x00,0x10,0x04,0x03, - 0x00,0x37,0x03,0x01,0x03,0x27,0x05,0x00,0x00,0x3e,0x03,0x03,0x01,0x30,0x00,0x00, - 0x80,0x47,0x00,0x01,0x00,0x02,0xc0,0x07,0xc0,0x05,0xc0,0x09,0xc0,0x16,0xc0,0x06, - 0xc0,0x01,0xc0,0x0c,0x72,0x75,0x6e,0x6e,0x69,0x6e,0x67,0x01,0x00,0x00,0x01,0x00, - 0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x1a,0x47, - 0x6f,0x74,0x20,0x75,0x6e,0x6b,0x6e,0x6f,0x77,0x6e,0x20,0x63,0x6f,0x6d,0x6d,0x61, - 0x6e,0x64,0x3a,0x20,0x01,0x00,0x00,0x0f,0x6d,0x61,0x6b,0x65,0x5f,0x65,0x72,0x72, - 0x6f,0x72,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e, - 0x73,0x65,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x06,0x69,0x13,0x74,0x72, - 0x61,0x6e,0x73,0x61,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x64,0x0c,0x63,0x6f,0x6d, - 0x6d,0x61,0x6e,0x64,0x1f,0x43,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x20,0x25,0x73,0x20, - 0x63,0x61,0x75,0x73,0x65,0x64,0x3a,0x20,0x28,0x25,0x64,0x29,0x20,0x25,0x73,0x0a, - 0x45,0x52,0x52,0x4f,0x52,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x09,0x61, - 0x74,0x74,0x72,0x0c,0x6d,0x65,0x73,0x73,0x61,0x67,0x65,0x09,0x63,0x6f,0x64,0x65, - 0x17,0x44,0x42,0x47,0x50,0x5f,0x45,0x52,0x52,0x5f,0x4d,0x45,0x54,0x41,0x54,0x41, - 0x42,0x4c,0x45,0x11,0x67,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65, - 0x0a,0x74,0x61,0x62,0x6c,0x65,0x09,0x74,0x79,0x70,0x65,0x0e,0x74,0x72,0x61,0x63, - 0x65,0x62,0x61,0x63,0x6b,0x00,0x0b,0x78,0x70,0x63,0x61,0x6c,0x6c,0x0e,0x63,0x6d, - 0x64,0x5f,0x70,0x61,0x72,0x73,0x65,0x0a,0x44,0x45,0x42,0x55,0x47,0x1d,0x6c,0x6f, - 0x73,0x74,0x20,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x20,0x63,0x6f,0x6e,0x6e, - 0x65,0x63,0x74,0x69,0x6f,0x6e,0x0c,0x57,0x41,0x52,0x4e,0x49,0x4e,0x47,0x10,0x72, - 0x65,0x61,0x64,0x5f,0x70,0x61,0x63,0x6b,0x65,0x74,0x09,0x63,0x6f,0x72,0x6f,0x13, - 0x43,0x6f,0x6e,0x74,0x65,0x78,0x74,0x4d,0x61,0x6e,0x61,0x67,0x65,0x72,0x0a,0x73, - 0x74,0x61,0x63,0x6b,0x1e,0x70,0x72,0x65,0x76,0x69,0x6f,0x75,0x73,0x5f,0x63,0x6f, - 0x6e,0x74,0x65,0x78,0x74,0x5f,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x0a,0x62, - 0x72,0x65,0x61,0x6b,0x0a,0x73,0x74,0x61,0x74,0x65,0x15,0x70,0x72,0x65,0x76,0x69, - 0x6f,0x75,0x73,0x5f,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x0f,0x73,0x65,0x74,0x74, - 0x69,0x6d,0x65,0x6f,0x75,0x74,0x08,0x73,0x6b,0x74,0x03,0x80,0x80,0xc0,0x99,0x04, - 0xd9,0x03,0x00,0x01,0x09,0x08,0x10,0x00,0x50,0x2a,0x01,0x02,0x00,0x2b,0x03,0x00, - 0x00,0x37,0x03,0x00,0x03,0x37,0x03,0x01,0x03,0x10,0x04,0x00,0x00,0x3e,0x03,0x02, - 0x02,0x0a,0x03,0x00,0x00,0x54,0x03,0x20,0x80,0x2b,0x03,0x01,0x00,0x37,0x03,0x02, - 0x03,0x10,0x04,0x03,0x00,0x37,0x03,0x03,0x03,0x27,0x05,0x00,0x00,0x25,0x06,0x04, - 0x00,0x3e,0x03,0x04,0x02,0x2b,0x04,0x02,0x00,0x37,0x04,0x05,0x04,0x37,0x05,0x06, - 0x03,0x3e,0x04,0x02,0x02,0x0f,0x00,0x04,0x00,0x54,0x05,0x13,0x80,0x2b,0x05,0x03, - 0x00,0x04,0x04,0x05,0x00,0x54,0x05,0x10,0x80,0x2b,0x05,0x04,0x00,0x04,0x04,0x05, - 0x00,0x54,0x05,0x0d,0x80,0x2b,0x05,0x00,0x00,0x37,0x05,0x00,0x05,0x37,0x05,0x07, - 0x05,0x10,0x06,0x04,0x00,0x10,0x07,0x00,0x00,0x3e,0x05,0x03,0x02,0x10,0x01,0x05, - 0x00,0x0f,0x00,0x01,0x00,0x54,0x05,0x04,0x80,0x2b,0x05,0x00,0x00,0x37,0x05,0x08, - 0x05,0x37,0x05,0x09,0x05,0x3e,0x05,0x01,0x01,0x0e,0x00,0x01,0x00,0x54,0x03,0x05, - 0x80,0x2b,0x03,0x00,0x00,0x37,0x03,0x08,0x03,0x37,0x03,0x0a,0x03,0x3e,0x03,0x01, - 0x02,0x10,0x01,0x03,0x00,0x0f,0x00,0x01,0x00,0x54,0x03,0x04,0x80,0x2b,0x03,0x00, - 0x00,0x37,0x03,0x08,0x03,0x37,0x03,0x09,0x03,0x3e,0x03,0x01,0x01,0x0e,0x00,0x01, - 0x00,0x54,0x03,0x09,0x80,0x2b,0x03,0x05,0x00,0x37,0x03,0x0b,0x03,0x2b,0x04,0x01, - 0x00,0x37,0x04,0x0c,0x04,0x3e,0x03,0x02,0x02,0x10,0x02,0x03,0x00,0x0f,0x00,0x02, - 0x00,0x54,0x03,0x01,0x80,0x29,0x01,0x02,0x00,0x0f,0x00,0x01,0x00,0x54,0x03,0x0d, - 0x80,0x34,0x03,0x0d,0x00,0x2b,0x04,0x06,0x00,0x2b,0x05,0x01,0x00,0x10,0x06,0x02, - 0x00,0x3e,0x03,0x04,0x03,0x0e,0x00,0x03,0x00,0x54,0x05,0x06,0x80,0x2b,0x05,0x07, - 0x00,0x25,0x06,0x0e,0x00,0x25,0x07,0x0f,0x00,0x10,0x08,0x04,0x00,0x24,0x07,0x08, - 0x07,0x3e,0x05,0x03,0x01,0x47,0x00,0x01,0x00,0x02,0xc0,0x12,0x80,0x04,0xc0,0x10, - 0x80,0x11,0x80,0x05,0xc0,0x17,0xc0,0x09,0xc0,0x1d,0x45,0x72,0x72,0x6f,0x72,0x20, - 0x77,0x68,0x69,0x6c,0x65,0x20,0x64,0x65,0x62,0x75,0x67,0x20,0x6c,0x6f,0x6f,0x70, - 0x3a,0x20,0x0a,0x45,0x52,0x52,0x4f,0x52,0x0a,0x70,0x63,0x61,0x6c,0x6c,0x08,0x73, - 0x6b,0x74,0x10,0x72,0x65,0x61,0x64,0x5f,0x70,0x61,0x63,0x6b,0x65,0x74,0x0f,0x64, - 0x6f,0x65,0x73,0x5f,0x6d,0x61,0x74,0x63,0x68,0x0c,0x64,0x69,0x73,0x63,0x61,0x72, - 0x64,0x0b,0x65,0x76,0x65,0x6e,0x74,0x73,0x07,0x61,0x74,0x0b,0x73,0x6f,0x75,0x72, - 0x63,0x65,0x0c,0x67,0x65,0x74,0x5f,0x75,0x72,0x69,0x06,0x53,0x0c,0x67,0x65,0x74, - 0x69,0x6e,0x66,0x6f,0x09,0x63,0x6f,0x72,0x6f,0x0a,0x67,0x75,0x65,0x73,0x73,0x10, - 0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x73,0x2f,0x00,0x01,0x03,0x02, - 0x00,0x00,0x09,0x51,0x01,0x07,0x80,0x2b,0x01,0x00,0x00,0x10,0x02,0x00,0x00,0x3e, - 0x01,0x02,0x01,0x2b,0x01,0x01,0x00,0x3e,0x01,0x01,0x02,0x10,0x00,0x01,0x00,0x54, - 0x01,0xf8,0x7f,0x47,0x00,0x01,0x00,0x18,0xc0,0x0d,0xc0,0xa7,0x02,0x00,0x02,0x07, - 0x07,0x08,0x01,0x34,0x2b,0x02,0x00,0x00,0x3e,0x02,0x01,0x02,0x0e,0x00,0x02,0x00, - 0x54,0x03,0x01,0x80,0x25,0x02,0x00,0x00,0x07,0x00,0x01,0x00,0x54,0x03,0x06,0x80, - 0x2b,0x03,0x01,0x00,0x2b,0x04,0x01,0x00,0x36,0x04,0x02,0x04,0x14,0x04,0x00,0x04, - 0x39,0x04,0x02,0x03,0x54,0x03,0x26,0x80,0x07,0x00,0x02,0x00,0x54,0x03,0x01,0x80, - 0x54,0x03,0x23,0x80,0x06,0x00,0x03,0x00,0x54,0x03,0x02,0x80,0x07,0x00,0x04,0x00, - 0x54,0x03,0x06,0x80,0x2b,0x03,0x01,0x00,0x2b,0x04,0x01,0x00,0x36,0x04,0x02,0x04, - 0x15,0x04,0x00,0x04,0x39,0x04,0x02,0x03,0x54,0x03,0x19,0x80,0x2b,0x03,0x02,0x00, - 0x2b,0x04,0x03,0x00,0x37,0x04,0x06,0x04,0x2b,0x05,0x00,0x00,0x3e,0x05,0x01,0x00, - 0x3d,0x04,0x00,0x02,0x3a,0x04,0x05,0x03,0x2b,0x03,0x02,0x00,0x37,0x03,0x05,0x03, - 0x38,0x03,0x01,0x03,0x07,0x03,0x00,0x00,0x54,0x03,0x04,0x80,0x2b,0x03,0x04,0x00, - 0x10,0x04,0x01,0x00,0x3e,0x03,0x02,0x01,0x54,0x03,0x06,0x80,0x34,0x03,0x07,0x00, - 0x2b,0x04,0x05,0x00,0x2b,0x05,0x06,0x00,0x10,0x06,0x01,0x00,0x3e,0x04,0x03,0x00, - 0x3d,0x03,0x00,0x01,0x2b,0x03,0x02,0x00,0x29,0x04,0x00,0x00,0x3a,0x04,0x05,0x03, - 0x47,0x00,0x01,0x00,0x0a,0xc0,0x15,0xc0,0x12,0x80,0x03,0xc0,0x18,0xc0,0x0e,0xc0, - 0x19,0xc0,0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0x12,0x43,0x75,0x72,0x72,0x65,0x6e, - 0x74,0x54,0x68,0x72,0x65,0x61,0x64,0x09,0x63,0x6f,0x72,0x6f,0x10,0x74,0x61,0x69, - 0x6c,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x0b,0x72,0x65,0x74,0x75,0x72,0x6e,0x0e, - 0x74,0x61,0x69,0x6c,0x20,0x63,0x61,0x6c,0x6c,0x09,0x63,0x61,0x6c,0x6c,0x09,0x6d, - 0x61,0x69,0x6e,0x02,0xfc,0x02,0x00,0x02,0x07,0x08,0x0d,0x02,0x45,0x2b,0x02,0x00, - 0x00,0x3e,0x02,0x01,0x02,0x0e,0x00,0x02,0x00,0x54,0x03,0x01,0x80,0x25,0x02,0x00, - 0x00,0x07,0x00,0x01,0x00,0x54,0x03,0x0f,0x80,0x2b,0x03,0x01,0x00,0x37,0x03,0x02, - 0x03,0x27,0x04,0x02,0x00,0x25,0x05,0x03,0x00,0x3e,0x03,0x03,0x02,0x37,0x03,0x04, - 0x03,0x07,0x03,0x05,0x00,0x54,0x03,0x01,0x80,0x47,0x00,0x01,0x00,0x2b,0x03,0x02, - 0x00,0x2b,0x04,0x02,0x00,0x36,0x04,0x02,0x04,0x14,0x04,0x00,0x04,0x39,0x04,0x02, - 0x03,0x54,0x03,0x2e,0x80,0x06,0x00,0x06,0x00,0x54,0x03,0x02,0x80,0x07,0x00,0x07, - 0x00,0x54,0x03,0x0f,0x80,0x27,0x03,0x02,0x00,0x2b,0x04,0x01,0x00,0x37,0x04,0x02, - 0x04,0x10,0x05,0x03,0x00,0x25,0x06,0x08,0x00,0x3e,0x04,0x03,0x02,0x0f,0x00,0x04, - 0x00,0x54,0x05,0x03,0x80,0x51,0x04,0x02,0x80,0x14,0x03,0x00,0x03,0x54,0x04,0xf6, - 0x7f,0x2b,0x04,0x02,0x00,0x15,0x05,0x01,0x03,0x39,0x05,0x02,0x04,0x54,0x03,0x1b, - 0x80,0x07,0x00,0x09,0x00,0x54,0x03,0x19,0x80,0x2b,0x03,0x03,0x00,0x2b,0x04,0x04, - 0x00,0x37,0x04,0x0b,0x04,0x2b,0x05,0x00,0x00,0x3e,0x05,0x01,0x00,0x3d,0x04,0x00, - 0x02,0x3a,0x04,0x0a,0x03,0x2b,0x03,0x03,0x00,0x37,0x03,0x0a,0x03,0x38,0x03,0x01, - 0x03,0x07,0x03,0x00,0x00,0x54,0x03,0x04,0x80,0x2b,0x03,0x05,0x00,0x10,0x04,0x01, - 0x00,0x3e,0x03,0x02,0x01,0x54,0x03,0x06,0x80,0x34,0x03,0x0c,0x00,0x2b,0x04,0x06, - 0x00,0x2b,0x05,0x07,0x00,0x10,0x06,0x01,0x00,0x3e,0x04,0x03,0x00,0x3d,0x03,0x00, - 0x01,0x2b,0x03,0x03,0x00,0x29,0x04,0x00,0x00,0x3a,0x04,0x0a,0x03,0x47,0x00,0x01, - 0x00,0x0a,0xc0,0x01,0xc0,0x15,0xc0,0x12,0x80,0x03,0xc0,0x18,0xc0,0x0e,0xc0,0x19, - 0xc0,0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0x12,0x43,0x75,0x72,0x72,0x65,0x6e,0x74, - 0x54,0x68,0x72,0x65,0x61,0x64,0x09,0x63,0x6f,0x72,0x6f,0x09,0x6c,0x69,0x6e,0x65, - 0x06,0x66,0x10,0x74,0x61,0x69,0x6c,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x0b,0x72, - 0x65,0x74,0x75,0x72,0x6e,0x06,0x43,0x09,0x77,0x68,0x61,0x74,0x06,0x53,0x0c,0x67, - 0x65,0x74,0x69,0x6e,0x66,0x6f,0x09,0x63,0x61,0x6c,0x6c,0x09,0x6d,0x61,0x69,0x6e, - 0x02,0x04,0x96,0x01,0x02,0x01,0x04,0x03,0x04,0x00,0x18,0x2b,0x01,0x00,0x00,0x10, - 0x02,0x00,0x00,0x3e,0x01,0x02,0x02,0x07,0x01,0x00,0x00,0x54,0x01,0x11,0x80,0x2b, - 0x01,0x01,0x00,0x37,0x01,0x01,0x01,0x37,0x01,0x02,0x01,0x36,0x01,0x00,0x01,0x2b, - 0x02,0x01,0x00,0x37,0x02,0x01,0x02,0x37,0x02,0x03,0x02,0x29,0x03,0x00,0x00,0x39, - 0x03,0x01,0x02,0x2b,0x02,0x01,0x00,0x37,0x02,0x01,0x02,0x37,0x02,0x02,0x02,0x29, - 0x03,0x00,0x00,0x39,0x03,0x00,0x02,0x2b,0x02,0x02,0x00,0x29,0x03,0x00,0x00,0x39, - 0x03,0x00,0x02,0x43,0x01,0x01,0x00,0x45,0x01,0x00,0x00,0x0c,0x00,0x0d,0x00,0x07, - 0x00,0x0c,0x66,0x72,0x6f,0x6d,0x5f,0x69,0x64,0x0e,0x66,0x72,0x6f,0x6d,0x5f,0x63, - 0x6f,0x72,0x6f,0x16,0x61,0x63,0x74,0x69,0x76,0x65,0x5f,0x63,0x6f,0x72,0x6f,0x75, - 0x74,0x69,0x6e,0x65,0x73,0x09,0x64,0x65,0x61,0x64,0xea,0x01,0x02,0x01,0x06,0x06, - 0x06,0x01,0x29,0x2b,0x01,0x00,0x00,0x36,0x01,0x00,0x01,0x0e,0x00,0x01,0x00,0x54, - 0x01,0x1e,0x80,0x2b,0x01,0x00,0x00,0x27,0x02,0x00,0x00,0x39,0x02,0x00,0x01,0x2b, - 0x01,0x01,0x00,0x37,0x01,0x00,0x01,0x2b,0x02,0x01,0x00,0x37,0x02,0x00,0x02,0x37, - 0x02,0x01,0x02,0x14,0x02,0x00,0x02,0x3a,0x02,0x01,0x01,0x2b,0x01,0x01,0x00,0x37, - 0x01,0x00,0x01,0x37,0x01,0x02,0x01,0x2b,0x02,0x01,0x00,0x37,0x02,0x00,0x02,0x37, - 0x02,0x01,0x02,0x39,0x00,0x02,0x01,0x2b,0x01,0x01,0x00,0x37,0x01,0x00,0x01,0x37, - 0x01,0x03,0x01,0x2b,0x02,0x01,0x00,0x37,0x02,0x00,0x02,0x37,0x02,0x01,0x02,0x39, - 0x02,0x00,0x01,0x2b,0x01,0x02,0x00,0x37,0x01,0x04,0x01,0x10,0x02,0x00,0x00,0x2b, - 0x03,0x03,0x00,0x25,0x04,0x05,0x00,0x3e,0x01,0x04,0x01,0x2b,0x01,0x04,0x00,0x10, - 0x02,0x00,0x00,0x2b,0x03,0x05,0x00,0x10,0x04,0x00,0x00,0x43,0x05,0x01,0x00,0x3d, - 0x03,0x01,0x00,0x3f,0x01,0x01,0x00,0x07,0x00,0x0d,0x00,0x04,0x00,0x0b,0x00,0x15, - 0xc0,0x0e,0x00,0x08,0x72,0x6c,0x63,0x0c,0x73,0x65,0x74,0x68,0x6f,0x6f,0x6b,0x0e, - 0x66,0x72,0x6f,0x6d,0x5f,0x63,0x6f,0x72,0x6f,0x0c,0x66,0x72,0x6f,0x6d,0x5f,0x69, - 0x64,0x06,0x6e,0x16,0x61,0x63,0x74,0x69,0x76,0x65,0x5f,0x63,0x6f,0x72,0x6f,0x75, - 0x74,0x69,0x6e,0x65,0x73,0x02,0x29,0x02,0x01,0x03,0x00,0x01,0x00,0x07,0x0e,0x00, - 0x00,0x00,0x54,0x01,0x03,0x80,0x34,0x01,0x00,0x00,0x43,0x02,0x01,0x02,0x3e,0x01, - 0x02,0x01,0x43,0x01,0x01,0x00,0x45,0x01,0x00,0x00,0x0a,0x65,0x72,0x72,0x6f,0x72, - 0x38,0x02,0x00,0x04,0x02,0x02,0x00,0x07,0x2b,0x00,0x00,0x00,0x34,0x01,0x00,0x00, - 0x37,0x01,0x01,0x01,0x2b,0x02,0x01,0x00,0x43,0x03,0x00,0x00,0x3d,0x01,0x01,0x00, - 0x3f,0x00,0x00,0x00,0x00,0x00,0x01,0xc0,0x0b,0x72,0x65,0x73,0x75,0x6d,0x65,0x0e, - 0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e,0x65,0x37,0x01,0x01,0x03,0x01,0x03,0x00, - 0x07,0x34,0x01,0x00,0x00,0x37,0x01,0x01,0x01,0x10,0x02,0x00,0x00,0x3e,0x01,0x02, - 0x02,0x31,0x02,0x02,0x00,0x30,0x00,0x00,0x80,0x48,0x02,0x02,0x00,0x16,0xc0,0x00, - 0x0b,0x63,0x72,0x65,0x61,0x74,0x65,0x0e,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e, - 0x65,0x93,0x0d,0x01,0x07,0x1a,0x0f,0x3f,0x01,0xf4,0x01,0x0c,0x07,0x00,0x00,0x54, - 0x07,0x07,0x80,0x34,0x07,0x00,0x00,0x37,0x07,0x01,0x07,0x25,0x08,0x02,0x00,0x3e, - 0x07,0x02,0x02,0x0e,0x00,0x07,0x00,0x54,0x08,0x01,0x80,0x25,0x07,0x03,0x00,0x0c, - 0x08,0x01,0x00,0x54,0x08,0x07,0x80,0x34,0x08,0x00,0x00,0x37,0x08,0x01,0x08,0x25, - 0x09,0x04,0x00,0x3e,0x08,0x02,0x02,0x0e,0x00,0x08,0x00,0x54,0x09,0x01,0x80,0x25, - 0x08,0x05,0x00,0x0c,0x09,0x02,0x00,0x54,0x09,0x07,0x80,0x34,0x09,0x00,0x00,0x37, - 0x09,0x01,0x09,0x25,0x0a,0x06,0x00,0x3e,0x09,0x02,0x02,0x0e,0x00,0x09,0x00,0x54, - 0x0a,0x01,0x80,0x25,0x09,0x07,0x00,0x0c,0x0a,0x04,0x00,0x54,0x0a,0x07,0x80,0x34, - 0x0a,0x00,0x00,0x37,0x0a,0x01,0x0a,0x25,0x0b,0x08,0x00,0x3e,0x0a,0x02,0x02,0x0e, - 0x00,0x0a,0x00,0x54,0x0b,0x01,0x80,0x29,0x0a,0x00,0x00,0x0c,0x0b,0x05,0x00,0x54, - 0x0b,0x07,0x80,0x34,0x0b,0x00,0x00,0x37,0x0b,0x01,0x0b,0x25,0x0c,0x09,0x00,0x3e, - 0x0b,0x02,0x02,0x0e,0x00,0x0b,0x00,0x54,0x0c,0x01,0x80,0x29,0x0b,0x00,0x00,0x2b, - 0x0c,0x00,0x00,0x37,0x0c,0x0a,0x0c,0x10,0x0d,0x0a,0x00,0x10,0x0e,0x0b,0x00,0x10, - 0x0f,0x06,0x00,0x3e,0x0c,0x04,0x01,0x0c,0x0c,0x03,0x00,0x54,0x0c,0x07,0x80,0x34, - 0x0c,0x00,0x00,0x37,0x0c,0x01,0x0c,0x25,0x0d,0x0b,0x00,0x3e,0x0c,0x02,0x02,0x0e, - 0x00,0x0c,0x00,0x54,0x0d,0x01,0x80,0x25,0x0c,0x0c,0x00,0x34,0x0d,0x0d,0x00,0x10, - 0x0e,0x0c,0x00,0x3e,0x0d,0x02,0x02,0x2b,0x0e,0x01,0x00,0x2b,0x0f,0x01,0x00,0x2b, - 0x10,0x01,0x00,0x37,0x11,0x0e,0x0d,0x37,0x12,0x0f,0x0d,0x37,0x13,0x10,0x0d,0x3a, - 0x13,0x10,0x10,0x3a,0x12,0x0f,0x0f,0x3a,0x11,0x0e,0x0e,0x34,0x0e,0x11,0x00,0x37, - 0x0f,0x12,0x0d,0x3e,0x0f,0x01,0x00,0x3d,0x0e,0x00,0x02,0x10,0x10,0x0e,0x00,0x37, - 0x0f,0x13,0x0e,0x29,0x11,0x00,0x00,0x3e,0x0f,0x03,0x01,0x2a,0x0f,0x10,0x00,0x34, - 0x11,0x14,0x00,0x34,0x12,0x15,0x00,0x37,0x12,0x16,0x12,0x25,0x13,0x17,0x00,0x2b, - 0x14,0x02,0x00,0x3e,0x12,0x03,0x00,0x3d,0x11,0x00,0x01,0x34,0x11,0x14,0x00,0x34, - 0x12,0x15,0x00,0x37,0x12,0x16,0x12,0x25,0x13,0x18,0x00,0x10,0x14,0x07,0x00,0x10, - 0x15,0x08,0x00,0x3e,0x12,0x04,0x00,0x3d,0x11,0x00,0x01,0x10,0x12,0x0e,0x00,0x37, - 0x11,0x19,0x0e,0x10,0x13,0x07,0x00,0x10,0x14,0x08,0x00,0x3e,0x11,0x04,0x03,0x10, - 0x10,0x12,0x00,0x10,0x0f,0x11,0x00,0x27,0x11,0x01,0x00,0x27,0x12,0x04,0x00,0x27, - 0x13,0x01,0x00,0x49,0x11,0x1a,0x80,0x0f,0x00,0x0f,0x00,0x54,0x15,0x05,0x80,0x34, - 0x15,0x14,0x00,0x25,0x16,0x1a,0x00,0x3e,0x15,0x02,0x01,0x54,0x11,0x14,0x80,0x54, - 0x15,0x12,0x80,0x37,0x15,0x1b,0x0d,0x28,0x16,0x00,0x00,0x3e,0x15,0x02,0x01,0x34, - 0x15,0x14,0x00,0x34,0x16,0x15,0x00,0x37,0x16,0x16,0x16,0x25,0x17,0x1c,0x00,0x10, - 0x18,0x07,0x00,0x10,0x19,0x08,0x00,0x3e,0x16,0x04,0x00,0x3d,0x15,0x00,0x01,0x10, - 0x16,0x0e,0x00,0x37,0x15,0x19,0x0e,0x10,0x17,0x07,0x00,0x10,0x18,0x08,0x00,0x3e, - 0x15,0x04,0x03,0x10,0x10,0x16,0x00,0x10,0x0f,0x15,0x00,0x4b,0x11,0xe6,0x7f,0x0f, - 0x00,0x10,0x00,0x54,0x11,0x09,0x80,0x34,0x11,0x1d,0x00,0x34,0x12,0x15,0x00,0x37, - 0x12,0x16,0x12,0x25,0x13,0x1e,0x00,0x10,0x14,0x07,0x00,0x10,0x15,0x08,0x00,0x10, - 0x16,0x10,0x00,0x3e,0x12,0x05,0x00,0x3d,0x11,0x00,0x01,0x2b,0x11,0x00,0x00,0x37, - 0x11,0x1f,0x11,0x2b,0x12,0x04,0x00,0x37,0x12,0x20,0x12,0x27,0x13,0x01,0x00,0x3e, - 0x12,0x02,0x02,0x37,0x12,0x21,0x12,0x3e,0x11,0x02,0x02,0x2c,0x03,0x11,0x00,0x2b, - 0x11,0x00,0x00,0x37,0x11,0x1f,0x11,0x2b,0x12,0x04,0x00,0x37,0x12,0x20,0x12,0x37, - 0x13,0x12,0x0d,0x3e,0x12,0x02,0x02,0x37,0x12,0x21,0x12,0x3e,0x11,0x02,0x02,0x2c, - 0x05,0x11,0x00,0x29,0x11,0x00,0x00,0x27,0x12,0x02,0x00,0x34,0x13,0x22,0x00,0x37, - 0x13,0x23,0x13,0x27,0x14,0x01,0x00,0x49,0x12,0x0e,0x80,0x2b,0x16,0x04,0x00,0x37, - 0x16,0x20,0x16,0x10,0x17,0x15,0x00,0x3e,0x16,0x02,0x02,0x0e,0x00,0x16,0x00,0x54, - 0x17,0x01,0x80,0x54,0x12,0x07,0x80,0x2b,0x17,0x00,0x00,0x37,0x17,0x1f,0x17,0x37, - 0x18,0x21,0x16,0x3e,0x17,0x02,0x02,0x0c,0x11,0x17,0x00,0x54,0x18,0x00,0x80,0x4b, - 0x12,0xf2,0x7f,0x0e,0x00,0x11,0x00,0x54,0x12,0x01,0x80,0x25,0x11,0x24,0x00,0x2b, - 0x12,0x06,0x00,0x3e,0x12,0x01,0x02,0x0e,0x00,0x12,0x00,0x54,0x13,0x01,0x80,0x25, - 0x12,0x25,0x00,0x2b,0x13,0x07,0x00,0x27,0x14,0x01,0x00,0x39,0x14,0x12,0x13,0x34, - 0x13,0x26,0x00,0x34,0x14,0x00,0x00,0x37,0x14,0x27,0x14,0x3e,0x14,0x01,0x00,0x3d, - 0x13,0x00,0x02,0x25,0x14,0x28,0x00,0x34,0x15,0x26,0x00,0x10,0x16,0x12,0x00,0x3e, - 0x15,0x02,0x02,0x24,0x13,0x15,0x13,0x2b,0x14,0x08,0x00,0x37,0x14,0x29,0x14,0x10, - 0x15,0x0e,0x00,0x33,0x16,0x2a,0x00,0x33,0x17,0x2b,0x00,0x3a,0x09,0x2c,0x17,0x3a, - 0x13,0x2d,0x17,0x34,0x18,0x26,0x00,0x10,0x19,0x12,0x00,0x3e,0x18,0x02,0x02,0x3a, - 0x18,0x2e,0x17,0x3a,0x11,0x2f,0x17,0x3a,0x17,0x30,0x16,0x3e,0x14,0x03,0x01,0x33, - 0x14,0x31,0x00,0x3a,0x0e,0x32,0x14,0x3a,0x13,0x33,0x14,0x2b,0x15,0x01,0x00,0x37, - 0x15,0x34,0x15,0x2b,0x16,0x06,0x00,0x3e,0x15,0x02,0x02,0x3a,0x15,0x35,0x14,0x2c, - 0x09,0x14,0x00,0x2b,0x15,0x0a,0x00,0x10,0x16,0x14,0x00,0x3e,0x15,0x02,0x01,0x2b, - 0x15,0x04,0x00,0x37,0x15,0x36,0x15,0x2b,0x16,0x0b,0x00,0x25,0x17,0x37,0x00,0x3e, - 0x15,0x03,0x01,0x31,0x15,0x38,0x00,0x34,0x16,0x39,0x00,0x31,0x17,0x3b,0x00,0x3a, - 0x17,0x3a,0x16,0x31,0x16,0x3c,0x00,0x34,0x17,0x39,0x00,0x31,0x18,0x3e,0x00,0x3a, - 0x18,0x3d,0x17,0x30,0x00,0x00,0x80,0x48,0x14,0x02,0x00,0x04,0xc0,0x03,0xc0,0x00, - 0xc0,0x10,0x80,0x01,0xc0,0x11,0x80,0x0a,0xc0,0x15,0xc0,0x05,0xc0,0x12,0x80,0x17, - 0xc0,0x1a,0x80,0x0f,0xc0,0x02,0xc0,0x0e,0xc0,0x00,0x09,0x77,0x72,0x61,0x70,0x00, - 0x00,0x0b,0x72,0x65,0x73,0x75,0x6d,0x65,0x0e,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69, - 0x6e,0x65,0x00,0x08,0x72,0x6c,0x63,0x0c,0x73,0x65,0x74,0x68,0x6f,0x6f,0x6b,0x09, - 0x63,0x6f,0x72,0x6f,0x12,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x54,0x68,0x72,0x65, - 0x61,0x64,0x07,0x69,0x64,0x08,0x73,0x6b,0x74,0x01,0x00,0x01,0x0a,0x73,0x74,0x61, - 0x74,0x65,0x0d,0x73,0x74,0x61,0x72,0x74,0x69,0x6e,0x67,0x09,0x61,0x74,0x74,0x72, - 0x0c,0x66,0x69,0x6c,0x65,0x75,0x72,0x69,0x0b,0x74,0x68,0x72,0x65,0x61,0x64,0x0c, - 0x73,0x65,0x73,0x73,0x69,0x6f,0x6e,0x0b,0x69,0x64,0x65,0x6b,0x65,0x79,0x01,0x00, - 0x04,0x0d,0x6c,0x61,0x6e,0x67,0x75,0x61,0x67,0x65,0x08,0x4c,0x75,0x61,0x0b,0x70, - 0x61,0x72,0x65,0x6e,0x74,0x05,0x0a,0x61,0x70,0x70,0x69,0x64,0x0d,0x4c,0x75,0x61, - 0x20,0x44,0x42,0x47,0x70,0x15,0x70,0x72,0x6f,0x74,0x6f,0x63,0x6f,0x6c,0x5f,0x76, - 0x65,0x72,0x73,0x69,0x6f,0x6e,0x08,0x31,0x2e,0x30,0x01,0x00,0x01,0x08,0x74,0x61, - 0x67,0x09,0x69,0x6e,0x69,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x06, - 0x5f,0x09,0x74,0x69,0x6d,0x65,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x09, - 0x6d,0x61,0x69,0x6e,0x0e,0x75,0x6e,0x6b,0x6e,0x6f,0x77,0x6e,0x3a,0x2f,0x09,0x68, - 0x75,0x67,0x65,0x09,0x6d,0x61,0x74,0x68,0x0b,0x73,0x6f,0x75,0x72,0x63,0x65,0x0c, - 0x67,0x65,0x74,0x69,0x6e,0x66,0x6f,0x0c,0x67,0x65,0x74,0x5f,0x75,0x72,0x69,0x21, - 0x43,0x61,0x6e,0x6e,0x6f,0x74,0x20,0x63,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x20,0x74, - 0x6f,0x20,0x25,0x73,0x3a,0x25,0x64,0x20,0x3a,0x20,0x25,0x73,0x0a,0x65,0x72,0x72, - 0x6f,0x72,0x30,0x44,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x3a,0x20,0x52,0x65,0x74, - 0x72,0x79,0x69,0x6e,0x67,0x20,0x74,0x6f,0x20,0x63,0x6f,0x6e,0x6e,0x65,0x63,0x74, - 0x20,0x74,0x6f,0x20,0x25,0x73,0x3a,0x25,0x73,0x20,0x2e,0x2e,0x2e,0x20,0x0a,0x73, - 0x6c,0x65,0x65,0x70,0x22,0x44,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x3a,0x20,0x43, - 0x6f,0x6e,0x6e,0x65,0x63,0x74,0x69,0x6f,0x6e,0x20,0x73,0x75,0x63,0x63,0x65,0x65, - 0x64,0x2e,0x0c,0x63,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x2e,0x44,0x65,0x62,0x75,0x67, - 0x67,0x65,0x72,0x3a,0x20,0x54,0x72,0x79,0x69,0x6e,0x67,0x20,0x74,0x6f,0x20,0x63, - 0x6f,0x6e,0x6e,0x65,0x63,0x74,0x20,0x74,0x6f,0x20,0x25,0x73,0x3a,0x25,0x73,0x20, - 0x2e,0x2e,0x2e,0x20,0x11,0x44,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x20,0x76,0x25, - 0x73,0x0b,0x66,0x6f,0x72,0x6d,0x61,0x74,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x0a, - 0x70,0x72,0x69,0x6e,0x74,0x0f,0x73,0x65,0x74,0x74,0x69,0x6d,0x65,0x6f,0x75,0x74, - 0x0b,0x63,0x72,0x65,0x61,0x74,0x65,0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0x0a,0x75, - 0x6e,0x62,0x36,0x34,0x0b,0x72,0x61,0x77,0x62,0x36,0x34,0x08,0x62,0x36,0x34,0x0c, - 0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x21,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72, - 0x2e,0x74,0x72,0x61,0x6e,0x73,0x70,0x6f,0x72,0x74,0x2e,0x6c,0x75,0x61,0x73,0x6f, - 0x63,0x6b,0x65,0x74,0x13,0x44,0x42,0x47,0x50,0x5f,0x54,0x52,0x41,0x4e,0x53,0x50, - 0x4f,0x52,0x54,0x09,0x69,0x6e,0x69,0x74,0x14,0x44,0x42,0x47,0x50,0x5f,0x57,0x4f, - 0x52,0x4b,0x49,0x4e,0x47,0x44,0x49,0x52,0x12,0x44,0x42,0x47,0x50,0x5f,0x50,0x4c, - 0x41,0x54,0x46,0x4f,0x52,0x4d,0x0e,0x6c,0x75,0x61,0x69,0x64,0x65,0x6b,0x65,0x79, - 0x10,0x44,0x42,0x47,0x50,0x5f,0x49,0x44,0x45,0x4b,0x45,0x59,0x0a,0x31,0x30,0x30, - 0x30,0x30,0x11,0x44,0x42,0x47,0x50,0x5f,0x49,0x44,0x45,0x50,0x4f,0x52,0x54,0x0e, - 0x31,0x32,0x37,0x2e,0x30,0x2e,0x30,0x2e,0x31,0x11,0x44,0x42,0x47,0x50,0x5f,0x49, - 0x44,0x45,0x48,0x4f,0x53,0x54,0x0b,0x67,0x65,0x74,0x65,0x6e,0x76,0x07,0x6f,0x73, - 0x01,0x80,0x80,0x80,0xff,0x03,0x82,0x0e,0x03,0x00,0x20,0x00,0x7d,0x00,0xed,0x01, - 0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x31,0x01,0x03,0x00,0x3a,0x01,0x02,0x00, - 0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x31,0x01,0x05,0x00,0x3a,0x01,0x04,0x00, - 0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x31,0x01,0x07,0x00,0x3a,0x01,0x06,0x00, - 0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x31,0x01,0x09,0x00,0x3a,0x01,0x08,0x00, - 0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x31,0x01,0x0b,0x00,0x3a,0x01,0x0a,0x00, - 0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x31,0x01,0x0d,0x00,0x3a,0x01,0x0c,0x00, - 0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x31,0x01,0x0f,0x00,0x3a,0x01,0x0e,0x00, - 0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x31,0x01,0x11,0x00,0x3a,0x01,0x10,0x00, - 0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x31,0x01,0x13,0x00,0x3a,0x01,0x12,0x00, - 0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x31,0x01,0x15,0x00,0x3a,0x01,0x14,0x00, - 0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x31,0x01,0x17,0x00,0x3a,0x01,0x16,0x00, - 0x34,0x00,0x00,0x00,0x37,0x00,0x01,0x00,0x31,0x01,0x19,0x00,0x3a,0x01,0x18,0x00, - 0x25,0x00,0x1a,0x00,0x34,0x01,0x1b,0x00,0x25,0x02,0x1c,0x00,0x3e,0x01,0x02,0x02, - 0x32,0x02,0x00,0x00,0x34,0x03,0x00,0x00,0x37,0x03,0x1d,0x03,0x3a,0x02,0x1e,0x03, - 0x34,0x03,0x1b,0x00,0x25,0x04,0x16,0x00,0x3e,0x03,0x02,0x02,0x34,0x04,0x1b,0x00, - 0x25,0x05,0x14,0x00,0x3e,0x04,0x02,0x02,0x34,0x05,0x1b,0x00,0x25,0x06,0x0c,0x00, - 0x3e,0x05,0x02,0x02,0x34,0x06,0x1b,0x00,0x25,0x07,0x08,0x00,0x3e,0x06,0x02,0x02, - 0x34,0x07,0x1b,0x00,0x25,0x08,0x0a,0x00,0x3e,0x07,0x02,0x02,0x34,0x08,0x1b,0x00, - 0x25,0x09,0x18,0x00,0x3e,0x08,0x02,0x02,0x37,0x09,0x1f,0x03,0x34,0x0a,0x20,0x00, - 0x37,0x0a,0x21,0x0a,0x34,0x0b,0x20,0x00,0x37,0x0b,0x22,0x0b,0x34,0x0c,0x20,0x00, - 0x37,0x0c,0x23,0x0c,0x34,0x0d,0x20,0x00,0x37,0x0d,0x24,0x0d,0x34,0x0e,0x20,0x00, - 0x37,0x0e,0x25,0x0e,0x34,0x0f,0x20,0x00,0x37,0x0f,0x26,0x0f,0x2a,0x10,0x12,0x00, - 0x33,0x13,0x28,0x00,0x34,0x14,0x29,0x00,0x32,0x15,0x00,0x00,0x33,0x16,0x2a,0x00, - 0x3e,0x14,0x03,0x02,0x3a,0x14,0x2b,0x13,0x34,0x14,0x29,0x00,0x32,0x15,0x00,0x00, - 0x33,0x16,0x2c,0x00,0x3e,0x14,0x03,0x02,0x3a,0x14,0x2d,0x13,0x3a,0x13,0x27,0x02, - 0x29,0x13,0x00,0x00,0x34,0x14,0x2e,0x00,0x07,0x14,0x2f,0x00,0x54,0x14,0x03,0x80, - 0x34,0x14,0x30,0x00,0x10,0x13,0x14,0x00,0x54,0x14,0x0b,0x80,0x34,0x14,0x2e,0x00, - 0x07,0x14,0x31,0x00,0x54,0x14,0x03,0x80,0x37,0x14,0x32,0x01,0x31,0x13,0x33,0x00, - 0x30,0x14,0x05,0x80,0x34,0x14,0x34,0x00,0x34,0x15,0x2e,0x00,0x25,0x16,0x35,0x00, - 0x24,0x15,0x16,0x15,0x3e,0x14,0x02,0x01,0x34,0x14,0x36,0x00,0x33,0x15,0x39,0x00, - 0x34,0x16,0x36,0x00,0x37,0x16,0x38,0x16,0x3a,0x16,0x38,0x15,0x34,0x16,0x36,0x00, - 0x37,0x16,0x3a,0x16,0x3a,0x16,0x3a,0x15,0x34,0x16,0x36,0x00,0x37,0x16,0x3b,0x16, - 0x3a,0x16,0x3b,0x15,0x34,0x16,0x36,0x00,0x37,0x16,0x3c,0x16,0x3a,0x16,0x3c,0x15, - 0x3a,0x15,0x37,0x14,0x34,0x14,0x36,0x00,0x31,0x15,0x3d,0x00,0x3a,0x15,0x38,0x14, - 0x31,0x14,0x3e,0x00,0x33,0x15,0x41,0x00,0x31,0x16,0x40,0x00,0x3a,0x16,0x42,0x15, - 0x3a,0x14,0x43,0x15,0x3a,0x14,0x44,0x15,0x3a,0x14,0x45,0x15,0x3a,0x14,0x46,0x15, - 0x3a,0x15,0x3f,0x02,0x37,0x15,0x3f,0x02,0x37,0x16,0x3f,0x02,0x3a,0x16,0x47,0x15, - 0x33,0x15,0x4a,0x00,0x31,0x16,0x49,0x00,0x3a,0x16,0x42,0x15,0x31,0x16,0x4b,0x00, - 0x3a,0x16,0x43,0x15,0x31,0x16,0x4c,0x00,0x3a,0x16,0x44,0x15,0x31,0x16,0x4d,0x00, - 0x3a,0x16,0x45,0x15,0x31,0x16,0x4e,0x00,0x3a,0x16,0x46,0x15,0x3a,0x15,0x48,0x02, - 0x37,0x15,0x48,0x02,0x37,0x16,0x48,0x02,0x3a,0x16,0x47,0x15,0x34,0x15,0x29,0x00, - 0x32,0x16,0x00,0x00,0x33,0x17,0x4f,0x00,0x3e,0x15,0x03,0x02,0x33,0x16,0x58,0x00, - 0x33,0x17,0x52,0x00,0x31,0x18,0x51,0x00,0x3a,0x18,0x53,0x17,0x31,0x18,0x54,0x00, - 0x3a,0x18,0x55,0x17,0x31,0x18,0x56,0x00,0x3a,0x18,0x57,0x17,0x3a,0x17,0x59,0x16, - 0x3a,0x16,0x50,0x02,0x32,0x16,0x00,0x00,0x3a,0x16,0x5a,0x02,0x32,0x16,0x00,0x00, - 0x32,0x17,0x00,0x00,0x32,0x18,0x00,0x00,0x29,0x19,0x00,0x00,0x27,0x1a,0x00,0x00, - 0x32,0x1b,0x00,0x00,0x31,0x1c,0x5b,0x00,0x31,0x1d,0x5c,0x00,0x37,0x1e,0x50,0x02, - 0x31,0x1f,0x5e,0x00,0x3a,0x1f,0x5d,0x1e,0x37,0x1e,0x50,0x02,0x31,0x1f,0x60,0x00, - 0x3a,0x1f,0x5f,0x1e,0x37,0x1e,0x50,0x02,0x31,0x1f,0x62,0x00,0x3a,0x1f,0x61,0x1e, - 0x37,0x1e,0x50,0x02,0x31,0x1f,0x64,0x00,0x3a,0x1f,0x63,0x1e,0x37,0x1e,0x50,0x02, - 0x31,0x1f,0x66,0x00,0x3a,0x1f,0x65,0x1e,0x37,0x1e,0x50,0x02,0x31,0x1f,0x68,0x00, - 0x3a,0x1f,0x67,0x1e,0x37,0x1e,0x50,0x02,0x31,0x1f,0x6a,0x00,0x3a,0x1f,0x69,0x1e, - 0x37,0x1e,0x5a,0x02,0x31,0x1f,0x6c,0x00,0x3a,0x1f,0x6b,0x1e,0x37,0x1e,0x5a,0x02, - 0x31,0x1f,0x6e,0x00,0x3a,0x1f,0x6d,0x1e,0x37,0x1e,0x5a,0x02,0x31,0x1f,0x70,0x00, - 0x3a,0x1f,0x6f,0x1e,0x30,0x16,0x00,0x80,0x31,0x16,0x72,0x00,0x3a,0x16,0x71,0x02, - 0x31,0x16,0x73,0x00,0x31,0x17,0x74,0x00,0x31,0x18,0x75,0x00,0x10,0x19,0x0b,0x00, - 0x31,0x1a,0x76,0x00,0x3e,0x19,0x02,0x02,0x31,0x1a,0x77,0x00,0x34,0x1b,0x78,0x00, - 0x34,0x1c,0x79,0x00,0x25,0x1d,0x7a,0x00,0x3e,0x1b,0x03,0x02,0x0f,0x00,0x1b,0x00, - 0x54,0x1c,0x01,0x80,0x31,0x1a,0x7b,0x00,0x31,0x1b,0x7c,0x00,0x30,0x00,0x00,0x80, - 0x48,0x1b,0x02,0x00,0x00,0x00,0x08,0x6a,0x69,0x74,0x07,0x5f,0x47,0x0b,0x72,0x61, - 0x77,0x67,0x65,0x74,0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x70,0x72,0x65,0x76,0x69, - 0x6f,0x75,0x73,0x5f,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x5f,0x72,0x65,0x73,0x70, - 0x6f,0x6e,0x73,0x65,0x00,0x0c,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x00,0x0f,0x64, - 0x6f,0x65,0x73,0x5f,0x6d,0x61,0x74,0x63,0x68,0x00,0x0d,0x72,0x65,0x67,0x69,0x73, - 0x74,0x65,0x72,0x00,0x0c,0x67,0x65,0x74,0x5f,0x78,0x6d,0x6c,0x00,0x0b,0x72,0x65, - 0x6d,0x6f,0x76,0x65,0x00,0x08,0x67,0x65,0x74,0x00,0x07,0x61,0x74,0x00,0x0b,0x69, - 0x6e,0x73,0x65,0x72,0x74,0x00,0x0b,0x75,0x70,0x64,0x61,0x74,0x65,0x00,0x0a,0x67, - 0x75,0x65,0x73,0x73,0x00,0x00,0x0b,0x65,0x76,0x65,0x6e,0x74,0x73,0x13,0x68,0x69, - 0x74,0x5f,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x01,0x00,0x00,0x06, - 0x25,0x00,0x07,0x3d,0x3d,0x00,0x07,0x3e,0x3d,0x01,0x00,0x00,0x00,0x10,0x62,0x72, - 0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x73,0x01,0x00,0x01,0x0b,0x5f,0x5f,0x6d, - 0x6f,0x64,0x65,0x06,0x6b,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x10,0x63,0x6f, - 0x70,0x79,0x5f,0x6f,0x75,0x74,0x70,0x75,0x74,0x0c,0x5f,0x5f,0x69,0x6e,0x64,0x65, - 0x78,0x09,0x73,0x65,0x65,0x6b,0x0c,0x73,0x65,0x74,0x76,0x62,0x75,0x66,0x0a,0x63, - 0x6c,0x6f,0x73,0x65,0x0a,0x66,0x6c,0x75,0x73,0x68,0x0a,0x77,0x72,0x69,0x74,0x65, - 0x01,0x00,0x00,0x00,0x14,0x72,0x65,0x64,0x69,0x72,0x65,0x63,0x74,0x5f,0x6f,0x75, - 0x74,0x70,0x75,0x74,0x00,0x00,0x0b,0x73,0x74,0x64,0x65,0x72,0x72,0x0b,0x73,0x74, - 0x64,0x6f,0x75,0x74,0x0a,0x73,0x74,0x64,0x69,0x6e,0x01,0x00,0x00,0x0b,0x6f,0x75, - 0x74,0x70,0x75,0x74,0x09,0x62,0x61,0x73,0x65,0x07,0x69,0x6f,0x16,0x69,0x73,0x20, - 0x6e,0x6f,0x74,0x20,0x73,0x75,0x70,0x70,0x6f,0x72,0x74,0x65,0x64,0x2e,0x0a,0x65, - 0x72,0x72,0x6f,0x72,0x00,0x0f,0x73,0x65,0x74,0x75,0x70,0x76,0x61,0x6c,0x75,0x65, - 0x0c,0x4c,0x75,0x61,0x20,0x35,0x2e,0x32,0x0c,0x73,0x65,0x74,0x66,0x65,0x6e,0x76, - 0x0c,0x4c,0x75,0x61,0x20,0x35,0x2e,0x31,0x0d,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f, - 0x4e,0x0e,0x66,0x72,0x6f,0x6d,0x5f,0x63,0x6f,0x72,0x6f,0x01,0x00,0x01,0x0b,0x5f, - 0x5f,0x6d,0x6f,0x64,0x65,0x06,0x6b,0x0c,0x66,0x72,0x6f,0x6d,0x5f,0x69,0x64,0x01, - 0x00,0x01,0x0b,0x5f,0x5f,0x6d,0x6f,0x64,0x65,0x06,0x76,0x11,0x73,0x65,0x74,0x6d, - 0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x01,0x00,0x01,0x06,0x6e,0x03,0x00,0x16, + 0x01,0x01,0x01,0x43,0x03,0x01,0x00,0x3f,0x01,0x01,0x00,0x0a,0x66,0x6c,0x75,0x73, + 0x68,0x08,0x6f,0x75,0x74,0x25,0x02,0x01,0x04,0x00,0x02,0x00,0x05,0x37,0x01,0x00, + 0x00,0x10,0x02,0x01,0x00,0x37,0x01,0x01,0x01,0x43,0x03,0x01,0x00,0x3f,0x01,0x01, + 0x00,0x0a,0x63,0x6c,0x6f,0x73,0x65,0x08,0x6f,0x75,0x74,0x27,0x02,0x01,0x04,0x00, + 0x02,0x00,0x05,0x37,0x01,0x00,0x00,0x10,0x02,0x01,0x00,0x37,0x01,0x01,0x01,0x43, + 0x03,0x01,0x00,0x3f,0x01,0x01,0x00,0x0c,0x73,0x65,0x74,0x76,0x62,0x75,0x66,0x08, + 0x6f,0x75,0x74,0x24,0x02,0x01,0x04,0x00,0x02,0x00,0x05,0x37,0x01,0x00,0x00,0x10, + 0x02,0x01,0x00,0x37,0x01,0x01,0x01,0x43,0x03,0x01,0x00,0x3f,0x01,0x01,0x00,0x09, + 0x73,0x65,0x65,0x6b,0x08,0x6f,0x75,0x74,0x1f,0x00,0x02,0x03,0x00,0x00,0x00,0x06, + 0x02,0x01,0x00,0x00,0x54,0x02,0x02,0x80,0x29,0x02,0x01,0x00,0x54,0x03,0x01,0x80, + 0x29,0x02,0x02,0x00,0x48,0x02,0x02,0x00,0x1f,0x00,0x02,0x03,0x00,0x00,0x00,0x06, + 0x04,0x00,0x01,0x00,0x54,0x02,0x02,0x80,0x29,0x02,0x01,0x00,0x54,0x03,0x01,0x80, + 0x29,0x02,0x02,0x00,0x48,0x02,0x02,0x00,0x24,0x00,0x02,0x03,0x00,0x00,0x01,0x07, + 0x22,0x02,0x01,0x00,0x08,0x02,0x00,0x00,0x54,0x02,0x02,0x80,0x29,0x02,0x01,0x00, + 0x54,0x03,0x01,0x80,0x29,0x02,0x02,0x00,0x48,0x02,0x02,0x00,0x00,0x42,0x00,0x01, + 0x03,0x01,0x00,0x01,0x0e,0x2b,0x01,0x00,0x00,0x36,0x01,0x00,0x01,0x0b,0x01,0x00, + 0x00,0x54,0x01,0x04,0x80,0x2b,0x01,0x00,0x00,0x27,0x02,0x01,0x00,0x39,0x02,0x00, + 0x01,0x54,0x01,0x05,0x80,0x2b,0x01,0x00,0x00,0x2b,0x02,0x00,0x00,0x36,0x02,0x00, + 0x02,0x14,0x02,0x00,0x02,0x39,0x02,0x00,0x01,0x47,0x00,0x01,0x00,0x1b,0xc0,0x02, + 0x56,0x00,0x01,0x03,0x01,0x00,0x01,0x13,0x2b,0x01,0x00,0x00,0x36,0x01,0x00,0x01, + 0x0e,0x00,0x01,0x00,0x54,0x01,0x0b,0x80,0x2b,0x01,0x00,0x00,0x36,0x01,0x00,0x01, + 0x27,0x02,0x01,0x00,0x01,0x02,0x01,0x00,0x54,0x01,0x06,0x80,0x2b,0x01,0x00,0x00, + 0x2b,0x02,0x00,0x00,0x36,0x02,0x00,0x02,0x15,0x02,0x00,0x02,0x39,0x02,0x00,0x01, + 0x54,0x01,0x03,0x80,0x2b,0x01,0x00,0x00,0x29,0x02,0x00,0x00,0x39,0x02,0x00,0x01, + 0x47,0x00,0x01,0x00,0x1b,0xc0,0x02,0x15,0x00,0x01,0x02,0x01,0x00,0x00,0x03,0x2b, + 0x01,0x00,0x00,0x36,0x01,0x00,0x01,0x48,0x01,0x02,0x00,0x1b,0xc0,0xe4,0x01,0x00, + 0x02,0x0d,0x03,0x06,0x00,0x2c,0x37,0x02,0x00,0x01,0x10,0x03,0x00,0x00,0x2b,0x04, + 0x00,0x00,0x36,0x04,0x02,0x04,0x0e,0x00,0x04,0x00,0x54,0x05,0x02,0x80,0x29,0x05, + 0x00,0x00,0x48,0x05,0x02,0x00,0x36,0x05,0x03,0x04,0x0e,0x00,0x05,0x00,0x54,0x06, + 0x02,0x80,0x29,0x06,0x00,0x00,0x48,0x06,0x02,0x00,0x2b,0x06,0x01,0x00,0x10,0x07, + 0x00,0x00,0x3e,0x06,0x02,0x01,0x27,0x06,0x01,0x00,0x13,0x07,0x05,0x00,0x27,0x08, + 0x01,0x00,0x49,0x06,0x0c,0x80,0x36,0x0a,0x09,0x05,0x37,0x0a,0x01,0x0a,0x37,0x0b, + 0x01,0x01,0x05,0x0a,0x0b,0x00,0x54,0x0a,0x06,0x80,0x34,0x0a,0x02,0x00,0x37,0x0a, + 0x03,0x0a,0x10,0x0b,0x05,0x00,0x10,0x0c,0x09,0x00,0x3e,0x0a,0x03,0x01,0x54,0x06, + 0x01,0x80,0x4b,0x06,0xf4,0x7f,0x32,0x05,0x00,0x00,0x2b,0x06,0x02,0x00,0x37,0x07, + 0x04,0x01,0x3e,0x06,0x02,0x01,0x34,0x06,0x02,0x00,0x37,0x06,0x05,0x06,0x10,0x07, + 0x05,0x00,0x10,0x08,0x01,0x00,0x3e,0x06,0x03,0x01,0x37,0x06,0x04,0x01,0x39,0x05, + 0x06,0x04,0x47,0x00,0x01,0x00,0x16,0xc0,0x1d,0xc0,0x1c,0xc0,0x0b,0x69,0x6e,0x73, + 0x65,0x72,0x74,0x0b,0x6c,0x69,0x6e,0x65,0x6e,0x6f,0x0b,0x72,0x65,0x6d,0x6f,0x76, + 0x65,0x0a,0x74,0x61,0x62,0x6c,0x65,0x07,0x69,0x64,0x0d,0x66,0x69,0x6c,0x65,0x6e, + 0x61,0x6d,0x65,0xa0,0x02,0x00,0x01,0x08,0x06,0x0b,0x01,0x2f,0x2b,0x01,0x00,0x00, + 0x14,0x02,0x00,0x01,0x2c,0x00,0x02,0x00,0x3a,0x01,0x00,0x00,0x2b,0x02,0x01,0x00, + 0x37,0x02,0x01,0x02,0x37,0x03,0x02,0x00,0x3e,0x02,0x02,0x02,0x2b,0x03,0x01,0x00, + 0x37,0x03,0x03,0x03,0x33,0x04,0x05,0x00,0x37,0x05,0x04,0x02,0x3a,0x05,0x04,0x04, + 0x2b,0x05,0x02,0x00,0x37,0x05,0x06,0x05,0x37,0x06,0x07,0x02,0x3e,0x05,0x02,0x02, + 0x3a,0x05,0x07,0x04,0x3e,0x03,0x02,0x02,0x3a,0x03,0x02,0x00,0x2b,0x03,0x03,0x00, + 0x37,0x04,0x02,0x00,0x36,0x03,0x04,0x03,0x0e,0x00,0x03,0x00,0x54,0x04,0x04,0x80, + 0x32,0x03,0x00,0x00,0x2b,0x04,0x03,0x00,0x37,0x05,0x02,0x00,0x39,0x03,0x05,0x04, + 0x37,0x04,0x08,0x00,0x36,0x04,0x04,0x03,0x0e,0x00,0x04,0x00,0x54,0x05,0x03,0x80, + 0x32,0x04,0x00,0x00,0x37,0x05,0x08,0x00,0x39,0x04,0x05,0x03,0x2b,0x05,0x04,0x00, + 0x37,0x06,0x08,0x00,0x3e,0x05,0x02,0x01,0x34,0x05,0x09,0x00,0x37,0x05,0x0a,0x05, + 0x10,0x06,0x04,0x00,0x10,0x07,0x00,0x00,0x3e,0x05,0x03,0x01,0x2b,0x05,0x05,0x00, + 0x39,0x00,0x01,0x05,0x48,0x01,0x02,0x00,0x1a,0x80,0x08,0xc0,0x04,0xc0,0x16,0xc0, + 0x1c,0xc0,0x17,0xc0,0x0b,0x69,0x6e,0x73,0x65,0x72,0x74,0x0a,0x74,0x61,0x62,0x6c, + 0x65,0x0b,0x6c,0x69,0x6e,0x65,0x6e,0x6f,0x09,0x70,0x61,0x74,0x68,0x0e,0x6e,0x6f, + 0x72,0x6d,0x61,0x6c,0x69,0x7a,0x65,0x01,0x00,0x01,0x0e,0x61,0x75,0x74,0x68,0x6f, + 0x72,0x69,0x74,0x79,0x05,0x0b,0x73,0x63,0x68,0x65,0x6d,0x65,0x0a,0x62,0x75,0x69, + 0x6c,0x64,0x0d,0x66,0x69,0x6c,0x65,0x6e,0x61,0x6d,0x65,0x0a,0x70,0x61,0x72,0x73, + 0x65,0x07,0x69,0x64,0x02,0x91,0x05,0x00,0x02,0x14,0x06,0x17,0x01,0x69,0x10,0x03, + 0x00,0x00,0x37,0x02,0x00,0x00,0x25,0x04,0x01,0x00,0x13,0x04,0x04,0x00,0x14,0x04, + 0x00,0x04,0x3e,0x02,0x03,0x02,0x34,0x03,0x02,0x00,0x2b,0x04,0x00,0x00,0x3e,0x03, + 0x02,0x04,0x44,0x06,0x0c,0x80,0x10,0x09,0x06,0x00,0x37,0x08,0x03,0x06,0x10,0x0a, + 0x02,0x00,0x3e,0x08,0x03,0x03,0x35,0x09,0x04,0x00,0x35,0x08,0x05,0x00,0x34,0x08, + 0x04,0x00,0x13,0x09,0x06,0x00,0x05,0x08,0x09,0x00,0x54,0x08,0x02,0x80,0x10,0x00, + 0x06,0x00,0x54,0x03,0x02,0x80,0x42,0x06,0x03,0x03,0x4e,0x06,0xf2,0x7f,0x2b,0x03, + 0x00,0x00,0x36,0x03,0x00,0x03,0x0f,0x00,0x03,0x00,0x54,0x04,0x03,0x80,0x2b,0x03, + 0x00,0x00,0x36,0x03,0x00,0x03,0x36,0x03,0x01,0x03,0x0e,0x00,0x03,0x00,0x54,0x04, + 0x02,0x80,0x29,0x04,0x00,0x00,0x48,0x04,0x02,0x00,0x29,0x04,0x01,0x00,0x34,0x05, + 0x02,0x00,0x10,0x06,0x03,0x00,0x3e,0x05,0x02,0x04,0x44,0x08,0x3e,0x80,0x37,0x0a, + 0x06,0x09,0x07,0x0a,0x07,0x00,0x54,0x0a,0x3b,0x80,0x29,0x0a,0x02,0x00,0x37,0x0b, + 0x08,0x09,0x0f,0x00,0x0b,0x00,0x54,0x0c,0x1f,0x80,0x2b,0x0b,0x01,0x00,0x37,0x0b, + 0x09,0x0b,0x10,0x0c,0x0b,0x00,0x37,0x0b,0x0a,0x0b,0x2b,0x0d,0x02,0x00,0x37,0x0d, + 0x0b,0x0d,0x27,0x0e,0x00,0x00,0x3e,0x0b,0x04,0x02,0x2b,0x0c,0x03,0x00,0x37,0x0d, + 0x08,0x09,0x10,0x0e,0x0b,0x00,0x3e,0x0c,0x03,0x01,0x34,0x0c,0x0c,0x00,0x37,0x0d, + 0x08,0x09,0x3e,0x0c,0x02,0x03,0x0e,0x00,0x0c,0x00,0x54,0x0e,0x07,0x80,0x2b,0x0e, + 0x04,0x00,0x25,0x0f,0x0d,0x00,0x25,0x10,0x0e,0x00,0x10,0x11,0x00,0x00,0x10,0x12, + 0x01,0x00,0x10,0x13,0x0d,0x00,0x3e,0x0e,0x06,0x01,0x0f,0x00,0x0c,0x00,0x54,0x0e, + 0x04,0x80,0x10,0x0a,0x0d,0x00,0x54,0x0e,0x03,0x80,0x29,0x0a,0x01,0x00,0x54,0x0e, + 0x01,0x80,0x29,0x0a,0x02,0x00,0x0f,0x00,0x0a,0x00,0x54,0x0b,0x16,0x80,0x37,0x0b, + 0x0f,0x09,0x14,0x0b,0x00,0x0b,0x3a,0x0b,0x0f,0x09,0x2b,0x0b,0x05,0x00,0x37,0x0b, + 0x10,0x0b,0x37,0x0b,0x11,0x0b,0x37,0x0c,0x12,0x09,0x36,0x0b,0x0c,0x0b,0x37,0x0c, + 0x0f,0x09,0x37,0x0d,0x13,0x09,0x3e,0x0b,0x03,0x02,0x0f,0x00,0x0b,0x00,0x54,0x0c, + 0x09,0x80,0x37,0x0b,0x14,0x09,0x0f,0x00,0x0b,0x00,0x54,0x0c,0x05,0x80,0x2b,0x0b, + 0x05,0x00,0x37,0x0b,0x10,0x0b,0x37,0x0b,0x15,0x0b,0x37,0x0c,0x16,0x09,0x3e,0x0b, + 0x02,0x01,0x29,0x04,0x02,0x00,0x42,0x08,0x03,0x03,0x4e,0x08,0xc0,0x7f,0x48,0x04, + 0x02,0x00,0x16,0xc0,0x07,0xc0,0x12,0x80,0x13,0x80,0x09,0xc0,0x02,0xc0,0x07,0x69, + 0x64,0x0b,0x72,0x65,0x6d,0x6f,0x76,0x65,0x0e,0x74,0x65,0x6d,0x70,0x6f,0x72,0x61, + 0x72,0x79,0x0e,0x68,0x69,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x12,0x68,0x69,0x74, + 0x5f,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x13,0x68,0x69,0x74,0x5f,0x63, + 0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x10,0x62,0x72,0x65,0x61,0x6b,0x70, + 0x6f,0x69,0x6e,0x74,0x73,0x0e,0x68,0x69,0x74,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3c, + 0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20,0x65,0x76,0x61,0x6c,0x75,0x61, + 0x74,0x69,0x6f,0x6e,0x20,0x66,0x61,0x69,0x6c,0x65,0x64,0x20,0x66,0x6f,0x72,0x20, + 0x62,0x72,0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x20,0x61,0x74,0x20,0x25,0x73, + 0x3a,0x25,0x64,0x3a,0x20,0x25,0x73,0x0a,0x45,0x52,0x52,0x4f,0x52,0x0a,0x70,0x63, + 0x61,0x6c,0x6c,0x09,0x63,0x6f,0x72,0x6f,0x08,0x6e,0x65,0x77,0x0c,0x43,0x6f,0x6e, + 0x74,0x65,0x78,0x74,0x0e,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x0c,0x65, + 0x6e,0x61,0x62,0x6c,0x65,0x64,0x0a,0x73,0x74,0x61,0x74,0x65,0x06,0x69,0x06,0x6a, + 0x09,0x66,0x69,0x6e,0x64,0x0a,0x70,0x61,0x69,0x72,0x73,0x0c,0x66,0x69,0x6c,0x65, + 0x3a,0x2f,0x2f,0x08,0x73,0x75,0x62,0x02,0x2d,0x00,0x01,0x02,0x01,0x00,0x00,0x09, + 0x0f,0x00,0x00,0x00,0x54,0x01,0x04,0x80,0x2b,0x01,0x00,0x00,0x36,0x01,0x00,0x01, + 0x48,0x01,0x02,0x00,0x54,0x01,0x02,0x80,0x2b,0x01,0x00,0x00,0x48,0x01,0x02,0x00, + 0x47,0x00,0x01,0x00,0x17,0xc0,0x8b,0x02,0x00,0x01,0x0a,0x03,0x05,0x00,0x37,0x2b, + 0x01,0x00,0x00,0x36,0x01,0x00,0x01,0x0f,0x00,0x01,0x00,0x54,0x02,0x31,0x80,0x2b, + 0x02,0x00,0x00,0x29,0x03,0x00,0x00,0x39,0x03,0x00,0x02,0x2b,0x02,0x01,0x00,0x37, + 0x03,0x00,0x01,0x36,0x02,0x03,0x02,0x37,0x03,0x01,0x01,0x36,0x02,0x03,0x02,0x27, + 0x03,0x01,0x00,0x13,0x04,0x02,0x00,0x27,0x05,0x01,0x00,0x49,0x03,0x0a,0x80,0x36, + 0x07,0x06,0x02,0x05,0x07,0x01,0x00,0x54,0x07,0x06,0x80,0x34,0x07,0x02,0x00,0x37, + 0x07,0x03,0x07,0x10,0x08,0x02,0x00,0x10,0x09,0x06,0x00,0x3e,0x07,0x03,0x01,0x54, + 0x03,0x01,0x80,0x4b,0x03,0xf6,0x7f,0x2b,0x03,0x02,0x00,0x37,0x04,0x01,0x01,0x3e, + 0x03,0x02,0x01,0x34,0x03,0x04,0x00,0x10,0x04,0x02,0x00,0x3e,0x03,0x02,0x02,0x0e, + 0x00,0x03,0x00,0x54,0x03,0x06,0x80,0x2b,0x03,0x01,0x00,0x37,0x04,0x00,0x01,0x36, + 0x03,0x04,0x03,0x37,0x04,0x01,0x01,0x29,0x05,0x00,0x00,0x39,0x05,0x04,0x03,0x34, + 0x03,0x04,0x00,0x2b,0x04,0x01,0x00,0x37,0x05,0x00,0x01,0x36,0x04,0x05,0x04,0x3e, + 0x03,0x02,0x02,0x0e,0x00,0x03,0x00,0x54,0x03,0x04,0x80,0x2b,0x03,0x01,0x00,0x37, + 0x04,0x00,0x01,0x29,0x05,0x00,0x00,0x39,0x05,0x04,0x03,0x29,0x03,0x02,0x00,0x48, + 0x03,0x02,0x00,0x29,0x02,0x01,0x00,0x48,0x02,0x02,0x00,0x17,0xc0,0x16,0xc0,0x1d, + 0xc0,0x09,0x6e,0x65,0x78,0x74,0x0b,0x72,0x65,0x6d,0x6f,0x76,0x65,0x0a,0x74,0x61, + 0x62,0x6c,0x65,0x0b,0x6c,0x69,0x6e,0x65,0x6e,0x6f,0x0d,0x66,0x69,0x6c,0x65,0x6e, + 0x61,0x6d,0x65,0x91,0x02,0x00,0x01,0x09,0x01,0x09,0x00,0x27,0x2b,0x01,0x00,0x00, + 0x36,0x01,0x00,0x01,0x0e,0x00,0x01,0x00,0x54,0x02,0x07,0x80,0x29,0x02,0x00,0x00, + 0x25,0x03,0x00,0x00,0x34,0x04,0x01,0x00,0x10,0x05,0x00,0x00,0x3e,0x04,0x02,0x02, + 0x24,0x03,0x04,0x03,0x46,0x02,0x03,0x00,0x33,0x02,0x02,0x00,0x32,0x03,0x00,0x00, + 0x3a,0x03,0x03,0x02,0x34,0x03,0x04,0x00,0x10,0x04,0x01,0x00,0x3e,0x03,0x02,0x04, + 0x44,0x06,0x02,0x80,0x37,0x08,0x03,0x02,0x39,0x07,0x06,0x08,0x42,0x06,0x03,0x03, + 0x4e,0x06,0xfc,0x7f,0x37,0x03,0x05,0x01,0x0f,0x00,0x03,0x00,0x54,0x04,0x04,0x80, + 0x33,0x03,0x06,0x00,0x37,0x04,0x05,0x01,0x3b,0x04,0x01,0x03,0x3b,0x03,0x01,0x02, + 0x37,0x03,0x03,0x02,0x29,0x04,0x00,0x00,0x3a,0x04,0x05,0x03,0x37,0x03,0x03,0x02, + 0x29,0x04,0x00,0x00,0x3a,0x04,0x07,0x03,0x37,0x03,0x03,0x02,0x29,0x04,0x00,0x00, + 0x3a,0x04,0x08,0x03,0x48,0x02,0x02,0x00,0x17,0xc0,0x0e,0x74,0x65,0x6d,0x70,0x6f, + 0x72,0x61,0x72,0x79,0x0e,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x01,0x00, + 0x01,0x08,0x74,0x61,0x67,0x0f,0x65,0x78,0x70,0x72,0x65,0x73,0x73,0x69,0x6f,0x6e, + 0x0f,0x65,0x78,0x70,0x72,0x65,0x73,0x73,0x69,0x6f,0x6e,0x0a,0x70,0x61,0x69,0x72, + 0x73,0x09,0x61,0x74,0x74,0x72,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x0f,0x62,0x72, + 0x65,0x61,0x6b,0x70,0x6f,0x69,0x6e,0x74,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e, + 0x67,0x19,0x4e,0x6f,0x20,0x73,0x75,0x63,0x68,0x20,0x62,0x72,0x65,0x61,0x6b,0x70, + 0x6f,0x69,0x6e,0x74,0x3a,0x20,0xae,0x01,0x00,0x01,0x08,0x05,0x05,0x00,0x19,0x2b, + 0x01,0x00,0x00,0x37,0x01,0x00,0x01,0x38,0x01,0x01,0x01,0x2b,0x02,0x01,0x00,0x25, + 0x03,0x01,0x00,0x25,0x04,0x02,0x00,0x10,0x05,0x00,0x00,0x34,0x06,0x03,0x00,0x10, + 0x07,0x01,0x00,0x3e,0x06,0x02,0x02,0x2b,0x07,0x02,0x00,0x36,0x07,0x01,0x07,0x3e, + 0x02,0x06,0x01,0x07,0x00,0x04,0x00,0x54,0x02,0x02,0x80,0x2f,0x03,0x02,0x00,0x54, + 0x02,0x07,0x80,0x2b,0x02,0x04,0x00,0x32,0x03,0x03,0x00,0x3b,0x00,0x01,0x03,0x2b, + 0x04,0x02,0x00,0x36,0x04,0x01,0x04,0x3b,0x04,0x02,0x03,0x39,0x03,0x01,0x02,0x47, + 0x00,0x01,0x00,0x12,0x80,0x09,0xc0,0x15,0xc0,0x19,0x80,0x18,0xc0,0x09,0x69,0x6e, + 0x74,0x6f,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x24,0x52,0x65,0x67,0x69, + 0x73,0x74,0x65,0x72,0x65,0x64,0x20,0x25,0x73,0x20,0x65,0x76,0x65,0x6e,0x74,0x20, + 0x66,0x6f,0x72,0x20,0x25,0x73,0x20,0x28,0x25,0x64,0x29,0x0a,0x44,0x45,0x42,0x55, + 0x47,0x09,0x63,0x6f,0x72,0x6f,0xc6,0x01,0x00,0x00,0x09,0x05,0x06,0x00,0x22,0x2b, + 0x00,0x00,0x00,0x0f,0x00,0x00,0x00,0x54,0x01,0x02,0x80,0x29,0x00,0x02,0x00,0x48, + 0x00,0x02,0x00,0x2b,0x00,0x01,0x00,0x37,0x00,0x00,0x00,0x38,0x00,0x01,0x00,0x2b, + 0x01,0x02,0x00,0x36,0x01,0x00,0x01,0x0f,0x00,0x01,0x00,0x54,0x02,0x14,0x80,0x34, + 0x02,0x01,0x00,0x10,0x03,0x01,0x00,0x3e,0x02,0x02,0x03,0x2b,0x04,0x03,0x00,0x36, + 0x04,0x00,0x04,0x07,0x02,0x02,0x00,0x54,0x05,0x02,0x80,0x02,0x04,0x03,0x00,0x54, + 0x05,0x04,0x80,0x07,0x02,0x03,0x00,0x54,0x05,0x09,0x80,0x01,0x04,0x03,0x00,0x54, + 0x05,0x07,0x80,0x2b,0x05,0x04,0x00,0x25,0x06,0x04,0x00,0x25,0x07,0x05,0x00,0x10, + 0x08,0x02,0x00,0x3e,0x05,0x04,0x01,0x29,0x05,0x02,0x00,0x48,0x05,0x02,0x00,0x29, + 0x02,0x01,0x00,0x48,0x02,0x02,0x00,0x19,0x80,0x12,0x80,0x18,0xc0,0x15,0xc0,0x09, + 0xc0,0x16,0x45,0x76,0x65,0x6e,0x74,0x20,0x25,0x73,0x20,0x6d,0x61,0x74,0x63,0x68, + 0x65,0x64,0x21,0x0a,0x44,0x45,0x42,0x55,0x47,0x08,0x6f,0x75,0x74,0x09,0x6f,0x76, + 0x65,0x72,0x0b,0x75,0x6e,0x70,0x61,0x63,0x6b,0x09,0x63,0x6f,0x72,0x6f,0x32,0x00, + 0x00,0x03,0x03,0x01,0x00,0x08,0x2b,0x00,0x00,0x00,0x2b,0x01,0x01,0x00,0x37,0x01, + 0x00,0x01,0x38,0x01,0x01,0x01,0x29,0x02,0x00,0x00,0x39,0x02,0x01,0x00,0x2f,0x02, + 0x00,0x00,0x47,0x00,0x01,0x00,0x18,0xc0,0x12,0x80,0x19,0x80,0x09,0x63,0x6f,0x72, + 0x6f,0x9b,0x01,0x00,0x02,0x06,0x01,0x09,0x00,0x12,0x37,0x02,0x00,0x00,0x37,0x03, + 0x02,0x00,0x3a,0x03,0x01,0x02,0x37,0x02,0x00,0x00,0x0c,0x03,0x01,0x00,0x54,0x03, + 0x01,0x80,0x25,0x03,0x04,0x00,0x3a,0x03,0x03,0x02,0x2b,0x02,0x00,0x00,0x37,0x02, + 0x05,0x02,0x37,0x03,0x06,0x00,0x33,0x04,0x07,0x00,0x37,0x05,0x00,0x00,0x3a,0x05, + 0x08,0x04,0x3e,0x02,0x03,0x01,0x29,0x02,0x00,0x00,0x3a,0x02,0x00,0x00,0x47,0x00, + 0x01,0x00,0x05,0xc0,0x09,0x61,0x74,0x74,0x72,0x01,0x00,0x01,0x08,0x74,0x61,0x67, + 0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x08,0x73,0x6b,0x74,0x0d,0x73,0x65, + 0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x07,0x6f,0x6b,0x0b,0x72,0x65,0x61,0x73,0x6f,0x6e, + 0x0a,0x73,0x74,0x61,0x74,0x65,0x0b,0x73,0x74,0x61,0x74,0x75,0x73,0x15,0x70,0x72, + 0x65,0x76,0x69,0x6f,0x75,0x73,0x5f,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0xcf,0x01, + 0x00,0x00,0x07,0x04,0x08,0x00,0x1e,0x34,0x00,0x00,0x00,0x34,0x01,0x00,0x00,0x2b, + 0x02,0x00,0x00,0x2b,0x03,0x01,0x00,0x3a,0x03,0x02,0x01,0x3a,0x02,0x01,0x00,0x34, + 0x00,0x03,0x00,0x2b,0x01,0x02,0x00,0x37,0x01,0x04,0x01,0x37,0x01,0x05,0x01,0x3e, + 0x00,0x02,0x04,0x44,0x03,0x04,0x80,0x2b,0x05,0x03,0x00,0x37,0x05,0x06,0x05,0x10, + 0x06,0x04,0x00,0x3e,0x05,0x02,0x01,0x42,0x03,0x03,0x03,0x4e,0x03,0xfa,0x7f,0x2b, + 0x00,0x03,0x00,0x37,0x00,0x06,0x00,0x3e,0x00,0x01,0x01,0x2b,0x00,0x02,0x00,0x37, + 0x00,0x04,0x00,0x2b,0x01,0x02,0x00,0x37,0x01,0x04,0x01,0x32,0x02,0x00,0x00,0x32, + 0x03,0x00,0x00,0x3a,0x03,0x07,0x01,0x3a,0x02,0x05,0x00,0x47,0x00,0x01,0x00,0x0e, + 0xc0,0x0c,0xc0,0x02,0xc0,0x01,0xc0,0x0e,0x66,0x72,0x6f,0x6d,0x5f,0x63,0x6f,0x72, + 0x6f,0x0c,0x73,0x65,0x74,0x68,0x6f,0x6f,0x6b,0x0c,0x66,0x72,0x6f,0x6d,0x5f,0x69, + 0x64,0x16,0x61,0x63,0x74,0x69,0x76,0x65,0x5f,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69, + 0x6e,0x65,0x73,0x0a,0x70,0x61,0x69,0x72,0x73,0x09,0x77,0x72,0x61,0x70,0x0b,0x72, + 0x65,0x73,0x75,0x6d,0x65,0x0e,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e,0x65,0x23, + 0x00,0x00,0x04,0x04,0x00,0x00,0x05,0x2b,0x00,0x00,0x00,0x2b,0x01,0x01,0x00,0x2b, + 0x02,0x02,0x00,0x2b,0x03,0x03,0x00,0x40,0x00,0x04,0x00,0x07,0xc0,0x00,0xc0,0x05, + 0xc0,0x06,0xc0,0xb7,0x08,0x01,0x02,0x14,0x07,0x26,0x01,0xa5,0x01,0x37,0x02,0x00, + 0x00,0x10,0x03,0x02,0x00,0x37,0x02,0x01,0x02,0x29,0x04,0x00,0x00,0x3e,0x02,0x03, + 0x01,0x0b,0x01,0x00,0x00,0x54,0x02,0x02,0x80,0x29,0x02,0x01,0x00,0x54,0x03,0x01, + 0x80,0x29,0x02,0x02,0x00,0x37,0x03,0x02,0x00,0x0f,0x00,0x03,0x00,0x54,0x04,0x08, + 0x80,0x0e,0x00,0x02,0x00,0x54,0x03,0x06,0x80,0x25,0x03,0x04,0x00,0x3a,0x03,0x03, + 0x00,0x2b,0x03,0x00,0x00,0x37,0x03,0x05,0x03,0x10,0x04,0x00,0x00,0x3e,0x03,0x02, + 0x01,0x2b,0x03,0x01,0x00,0x37,0x03,0x07,0x03,0x37,0x04,0x08,0x00,0x3e,0x03,0x02, + 0x02,0x3a,0x03,0x06,0x00,0x51,0x03,0x7f,0x80,0x0c,0x03,0x01,0x00,0x54,0x03,0x04, + 0x80,0x2b,0x03,0x02,0x00,0x37,0x03,0x09,0x03,0x37,0x04,0x00,0x00,0x3e,0x03,0x02, + 0x02,0x0e,0x00,0x03,0x00,0x54,0x04,0x07,0x80,0x2b,0x04,0x03,0x00,0x25,0x05,0x0a, + 0x00,0x25,0x06,0x0b,0x00,0x3e,0x04,0x03,0x01,0x2b,0x04,0x04,0x00,0x3e,0x04,0x01, + 0x01,0x30,0x03,0x70,0x80,0x29,0x01,0x00,0x00,0x2b,0x04,0x03,0x00,0x25,0x05,0x0c, + 0x00,0x10,0x06,0x03,0x00,0x3e,0x04,0x03,0x01,0x2b,0x04,0x02,0x00,0x37,0x04,0x0d, + 0x04,0x10,0x05,0x03,0x00,0x3e,0x04,0x02,0x04,0x2b,0x07,0x05,0x00,0x36,0x07,0x04, + 0x07,0x0f,0x00,0x07,0x00,0x54,0x08,0x4e,0x80,0x34,0x08,0x0e,0x00,0x31,0x09,0x0f, + 0x00,0x2b,0x0a,0x06,0x00,0x37,0x0a,0x10,0x0a,0x3e,0x08,0x03,0x03,0x0e,0x00,0x08, + 0x00,0x54,0x0a,0x34,0x80,0x2a,0x0a,0x0c,0x00,0x34,0x0d,0x11,0x00,0x10,0x0e,0x09, + 0x00,0x3e,0x0d,0x02,0x02,0x07,0x0d,0x12,0x00,0x54,0x0d,0x0d,0x80,0x34,0x0d,0x13, + 0x00,0x10,0x0e,0x09,0x00,0x3e,0x0d,0x02,0x02,0x2b,0x0e,0x02,0x00,0x37,0x0e,0x14, + 0x0e,0x05,0x0d,0x0e,0x00,0x54,0x0d,0x06,0x80,0x37,0x0d,0x15,0x09,0x37,0x0e,0x16, + 0x09,0x37,0x0c,0x17,0x09,0x10,0x0b,0x0e,0x00,0x10,0x0a,0x0d,0x00,0x54,0x0d,0x07, + 0x80,0x27,0x0d,0xe6,0x03,0x34,0x0e,0x18,0x00,0x10,0x0f,0x09,0x00,0x3e,0x0e,0x02, + 0x02,0x32,0x0c,0x00,0x00,0x10,0x0b,0x0e,0x00,0x10,0x0a,0x0d,0x00,0x2b,0x0d,0x03, + 0x00,0x25,0x0e,0x19,0x00,0x25,0x0f,0x1a,0x00,0x10,0x10,0x04,0x00,0x10,0x11,0x0a, + 0x00,0x34,0x12,0x18,0x00,0x10,0x13,0x0b,0x00,0x3e,0x12,0x02,0x00,0x3d,0x0d,0x04, + 0x01,0x10,0x0d,0x04,0x00,0x37,0x0e,0x1d,0x05,0x3a,0x0e,0x1c,0x0c,0x3a,0x0d,0x1b, + 0x0c,0x2b,0x0d,0x02,0x00,0x37,0x0d,0x1e,0x0d,0x37,0x0e,0x00,0x00,0x33,0x0f,0x1f, + 0x00,0x3a,0x0c,0x17,0x0f,0x2b,0x10,0x02,0x00,0x37,0x10,0x20,0x10,0x10,0x11,0x0a, + 0x00,0x10,0x12,0x0b,0x00,0x3e,0x10,0x03,0x00,0x3c,0x10,0x00,0x00,0x3e,0x0d,0x03, + 0x01,0x54,0x0a,0x27,0x80,0x0f,0x00,0x09,0x00,0x54,0x0a,0x07,0x80,0x33,0x0a,0x21, + 0x00,0x3a,0x04,0x1b,0x0a,0x37,0x0b,0x1d,0x05,0x3a,0x0b,0x1c,0x0a,0x3a,0x0a,0x02, + 0x00,0x30,0x03,0x20,0x80,0x54,0x0a,0x1e,0x80,0x0b,0x09,0x00,0x00,0x54,0x0a,0x04, + 0x80,0x0f,0x00,0x02,0x00,0x54,0x0a,0x02,0x80,0x30,0x03,0x1a,0x80,0x54,0x0a,0x18, + 0x80,0x0b,0x09,0x01,0x00,0x54,0x0a,0x16,0x80,0x29,0x02,0x01,0x00,0x54,0x08,0x14, + 0x80,0x2b,0x08,0x03,0x00,0x25,0x09,0x22,0x00,0x10,0x0a,0x04,0x00,0x24,0x09,0x0a, + 0x09,0x3e,0x08,0x02,0x01,0x2b,0x08,0x02,0x00,0x37,0x08,0x1e,0x08,0x37,0x09,0x00, + 0x00,0x33,0x0a,0x23,0x00,0x33,0x0b,0x24,0x00,0x3a,0x04,0x1b,0x0b,0x37,0x0c,0x1d, + 0x05,0x3a,0x0c,0x1c,0x0b,0x3a,0x0b,0x17,0x0a,0x2b,0x0b,0x02,0x00,0x37,0x0b,0x20, + 0x0b,0x27,0x0c,0x04,0x00,0x3e,0x0b,0x02,0x00,0x3c,0x0b,0x00,0x00,0x3e,0x08,0x03, + 0x01,0x30,0x03,0x80,0x7f,0x29,0x03,0x00,0x00,0x3a,0x03,0x06,0x00,0x25,0x03,0x25, + 0x00,0x3a,0x03,0x03,0x00,0x37,0x03,0x00,0x00,0x10,0x04,0x03,0x00,0x37,0x03,0x01, + 0x03,0x27,0x05,0x00,0x00,0x3e,0x03,0x03,0x01,0x30,0x00,0x00,0x80,0x47,0x00,0x01, + 0x00,0x02,0xc0,0x07,0xc0,0x05,0xc0,0x09,0xc0,0x16,0xc0,0x06,0xc0,0x01,0xc0,0x0c, + 0x72,0x75,0x6e,0x6e,0x69,0x6e,0x67,0x01,0x00,0x00,0x01,0x00,0x01,0x08,0x74,0x61, + 0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x1a,0x47,0x6f,0x74,0x20,0x75, + 0x6e,0x6b,0x6e,0x6f,0x77,0x6e,0x20,0x63,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x3a,0x20, + 0x01,0x00,0x00,0x0f,0x6d,0x61,0x6b,0x65,0x5f,0x65,0x72,0x72,0x6f,0x72,0x01,0x00, + 0x01,0x08,0x74,0x61,0x67,0x0d,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x0d,0x73, + 0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x06,0x69,0x13,0x74,0x72,0x61,0x6e,0x73,0x61, + 0x63,0x74,0x69,0x6f,0x6e,0x5f,0x69,0x64,0x0c,0x63,0x6f,0x6d,0x6d,0x61,0x6e,0x64, + 0x1f,0x43,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x20,0x25,0x73,0x20,0x63,0x61,0x75,0x73, + 0x65,0x64,0x3a,0x20,0x28,0x25,0x64,0x29,0x20,0x25,0x73,0x0a,0x45,0x52,0x52,0x4f, + 0x52,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x09,0x61,0x74,0x74,0x72,0x0c, + 0x6d,0x65,0x73,0x73,0x61,0x67,0x65,0x09,0x63,0x6f,0x64,0x65,0x17,0x44,0x42,0x47, + 0x50,0x5f,0x45,0x52,0x52,0x5f,0x4d,0x45,0x54,0x41,0x54,0x41,0x42,0x4c,0x45,0x11, + 0x67,0x65,0x74,0x6d,0x65,0x74,0x61,0x74,0x61,0x62,0x6c,0x65,0x0a,0x74,0x61,0x62, + 0x6c,0x65,0x09,0x74,0x79,0x70,0x65,0x0e,0x74,0x72,0x61,0x63,0x65,0x62,0x61,0x63, + 0x6b,0x00,0x0b,0x78,0x70,0x63,0x61,0x6c,0x6c,0x0e,0x63,0x6d,0x64,0x5f,0x70,0x61, + 0x72,0x73,0x65,0x0a,0x44,0x45,0x42,0x55,0x47,0x1d,0x6c,0x6f,0x73,0x74,0x20,0x64, + 0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x20,0x63,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x69, + 0x6f,0x6e,0x0c,0x57,0x41,0x52,0x4e,0x49,0x4e,0x47,0x10,0x72,0x65,0x61,0x64,0x5f, + 0x70,0x61,0x63,0x6b,0x65,0x74,0x09,0x63,0x6f,0x72,0x6f,0x13,0x43,0x6f,0x6e,0x74, + 0x65,0x78,0x74,0x4d,0x61,0x6e,0x61,0x67,0x65,0x72,0x0a,0x73,0x74,0x61,0x63,0x6b, + 0x1e,0x70,0x72,0x65,0x76,0x69,0x6f,0x75,0x73,0x5f,0x63,0x6f,0x6e,0x74,0x65,0x78, + 0x74,0x5f,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65,0x0a,0x62,0x72,0x65,0x61,0x6b, + 0x0a,0x73,0x74,0x61,0x74,0x65,0x15,0x70,0x72,0x65,0x76,0x69,0x6f,0x75,0x73,0x5f, + 0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x0f,0x73,0x65,0x74,0x74,0x69,0x6d,0x65,0x6f, + 0x75,0x74,0x08,0x73,0x6b,0x74,0x03,0x80,0x80,0xc0,0x99,0x04,0xd9,0x03,0x00,0x01, + 0x09,0x08,0x10,0x00,0x50,0x2a,0x01,0x02,0x00,0x2b,0x03,0x00,0x00,0x37,0x03,0x00, + 0x03,0x37,0x03,0x01,0x03,0x10,0x04,0x00,0x00,0x3e,0x03,0x02,0x02,0x0a,0x03,0x00, + 0x00,0x54,0x03,0x20,0x80,0x2b,0x03,0x01,0x00,0x37,0x03,0x02,0x03,0x10,0x04,0x03, + 0x00,0x37,0x03,0x03,0x03,0x27,0x05,0x00,0x00,0x25,0x06,0x04,0x00,0x3e,0x03,0x04, + 0x02,0x2b,0x04,0x02,0x00,0x37,0x04,0x05,0x04,0x37,0x05,0x06,0x03,0x3e,0x04,0x02, + 0x02,0x0f,0x00,0x04,0x00,0x54,0x05,0x13,0x80,0x2b,0x05,0x03,0x00,0x04,0x04,0x05, + 0x00,0x54,0x05,0x10,0x80,0x2b,0x05,0x04,0x00,0x04,0x04,0x05,0x00,0x54,0x05,0x0d, + 0x80,0x2b,0x05,0x00,0x00,0x37,0x05,0x00,0x05,0x37,0x05,0x07,0x05,0x10,0x06,0x04, + 0x00,0x10,0x07,0x00,0x00,0x3e,0x05,0x03,0x02,0x10,0x01,0x05,0x00,0x0f,0x00,0x01, + 0x00,0x54,0x05,0x04,0x80,0x2b,0x05,0x00,0x00,0x37,0x05,0x08,0x05,0x37,0x05,0x09, + 0x05,0x3e,0x05,0x01,0x01,0x0e,0x00,0x01,0x00,0x54,0x03,0x05,0x80,0x2b,0x03,0x00, + 0x00,0x37,0x03,0x08,0x03,0x37,0x03,0x0a,0x03,0x3e,0x03,0x01,0x02,0x10,0x01,0x03, + 0x00,0x0f,0x00,0x01,0x00,0x54,0x03,0x04,0x80,0x2b,0x03,0x00,0x00,0x37,0x03,0x08, + 0x03,0x37,0x03,0x09,0x03,0x3e,0x03,0x01,0x01,0x0e,0x00,0x01,0x00,0x54,0x03,0x09, + 0x80,0x2b,0x03,0x05,0x00,0x37,0x03,0x0b,0x03,0x2b,0x04,0x01,0x00,0x37,0x04,0x0c, + 0x04,0x3e,0x03,0x02,0x02,0x10,0x02,0x03,0x00,0x0f,0x00,0x02,0x00,0x54,0x03,0x01, + 0x80,0x29,0x01,0x02,0x00,0x0f,0x00,0x01,0x00,0x54,0x03,0x0d,0x80,0x34,0x03,0x0d, + 0x00,0x2b,0x04,0x06,0x00,0x2b,0x05,0x01,0x00,0x10,0x06,0x02,0x00,0x3e,0x03,0x04, + 0x03,0x0e,0x00,0x03,0x00,0x54,0x05,0x06,0x80,0x2b,0x05,0x07,0x00,0x25,0x06,0x0e, + 0x00,0x25,0x07,0x0f,0x00,0x10,0x08,0x04,0x00,0x24,0x07,0x08,0x07,0x3e,0x05,0x03, + 0x01,0x47,0x00,0x01,0x00,0x02,0xc0,0x12,0x80,0x04,0xc0,0x10,0x80,0x11,0x80,0x05, + 0xc0,0x17,0xc0,0x09,0xc0,0x1d,0x45,0x72,0x72,0x6f,0x72,0x20,0x77,0x68,0x69,0x6c, + 0x65,0x20,0x64,0x65,0x62,0x75,0x67,0x20,0x6c,0x6f,0x6f,0x70,0x3a,0x20,0x0a,0x45, + 0x52,0x52,0x4f,0x52,0x0a,0x70,0x63,0x61,0x6c,0x6c,0x08,0x73,0x6b,0x74,0x10,0x72, + 0x65,0x61,0x64,0x5f,0x70,0x61,0x63,0x6b,0x65,0x74,0x0f,0x64,0x6f,0x65,0x73,0x5f, + 0x6d,0x61,0x74,0x63,0x68,0x0c,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x0b,0x65,0x76, + 0x65,0x6e,0x74,0x73,0x07,0x61,0x74,0x0b,0x73,0x6f,0x75,0x72,0x63,0x65,0x0c,0x67, + 0x65,0x74,0x5f,0x75,0x72,0x69,0x06,0x53,0x0c,0x67,0x65,0x74,0x69,0x6e,0x66,0x6f, + 0x09,0x63,0x6f,0x72,0x6f,0x0a,0x67,0x75,0x65,0x73,0x73,0x10,0x62,0x72,0x65,0x61, + 0x6b,0x70,0x6f,0x69,0x6e,0x74,0x73,0x2f,0x00,0x01,0x03,0x02,0x00,0x00,0x09,0x51, + 0x01,0x07,0x80,0x2b,0x01,0x00,0x00,0x10,0x02,0x00,0x00,0x3e,0x01,0x02,0x01,0x2b, + 0x01,0x01,0x00,0x3e,0x01,0x01,0x02,0x10,0x00,0x01,0x00,0x54,0x01,0xf8,0x7f,0x47, + 0x00,0x01,0x00,0x18,0xc0,0x0d,0xc0,0xa7,0x02,0x00,0x02,0x07,0x07,0x08,0x01,0x34, + 0x2b,0x02,0x00,0x00,0x3e,0x02,0x01,0x02,0x0e,0x00,0x02,0x00,0x54,0x03,0x01,0x80, + 0x25,0x02,0x00,0x00,0x07,0x00,0x01,0x00,0x54,0x03,0x06,0x80,0x2b,0x03,0x01,0x00, + 0x2b,0x04,0x01,0x00,0x36,0x04,0x02,0x04,0x14,0x04,0x00,0x04,0x39,0x04,0x02,0x03, + 0x54,0x03,0x26,0x80,0x07,0x00,0x02,0x00,0x54,0x03,0x01,0x80,0x54,0x03,0x23,0x80, + 0x06,0x00,0x03,0x00,0x54,0x03,0x02,0x80,0x07,0x00,0x04,0x00,0x54,0x03,0x06,0x80, + 0x2b,0x03,0x01,0x00,0x2b,0x04,0x01,0x00,0x36,0x04,0x02,0x04,0x15,0x04,0x00,0x04, + 0x39,0x04,0x02,0x03,0x54,0x03,0x19,0x80,0x2b,0x03,0x02,0x00,0x2b,0x04,0x03,0x00, + 0x37,0x04,0x06,0x04,0x2b,0x05,0x00,0x00,0x3e,0x05,0x01,0x00,0x3d,0x04,0x00,0x02, + 0x3a,0x04,0x05,0x03,0x2b,0x03,0x02,0x00,0x37,0x03,0x05,0x03,0x38,0x03,0x01,0x03, + 0x07,0x03,0x00,0x00,0x54,0x03,0x04,0x80,0x2b,0x03,0x04,0x00,0x10,0x04,0x01,0x00, + 0x3e,0x03,0x02,0x01,0x54,0x03,0x06,0x80,0x34,0x03,0x07,0x00,0x2b,0x04,0x05,0x00, + 0x2b,0x05,0x06,0x00,0x10,0x06,0x01,0x00,0x3e,0x04,0x03,0x00,0x3d,0x03,0x00,0x01, + 0x2b,0x03,0x02,0x00,0x29,0x04,0x00,0x00,0x3a,0x04,0x05,0x03,0x47,0x00,0x01,0x00, + 0x0a,0xc0,0x15,0xc0,0x12,0x80,0x03,0xc0,0x18,0xc0,0x0e,0xc0,0x19,0xc0,0x0b,0x61, + 0x73,0x73,0x65,0x72,0x74,0x12,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x54,0x68,0x72, + 0x65,0x61,0x64,0x09,0x63,0x6f,0x72,0x6f,0x10,0x74,0x61,0x69,0x6c,0x20,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x0b,0x72,0x65,0x74,0x75,0x72,0x6e,0x0e,0x74,0x61,0x69,0x6c, + 0x20,0x63,0x61,0x6c,0x6c,0x09,0x63,0x61,0x6c,0x6c,0x09,0x6d,0x61,0x69,0x6e,0x02, + 0xfc,0x02,0x00,0x02,0x07,0x08,0x0d,0x02,0x45,0x2b,0x02,0x00,0x00,0x3e,0x02,0x01, + 0x02,0x0e,0x00,0x02,0x00,0x54,0x03,0x01,0x80,0x25,0x02,0x00,0x00,0x07,0x00,0x01, + 0x00,0x54,0x03,0x0f,0x80,0x2b,0x03,0x01,0x00,0x37,0x03,0x02,0x03,0x27,0x04,0x02, + 0x00,0x25,0x05,0x03,0x00,0x3e,0x03,0x03,0x02,0x37,0x03,0x04,0x03,0x07,0x03,0x05, + 0x00,0x54,0x03,0x01,0x80,0x47,0x00,0x01,0x00,0x2b,0x03,0x02,0x00,0x2b,0x04,0x02, + 0x00,0x36,0x04,0x02,0x04,0x14,0x04,0x00,0x04,0x39,0x04,0x02,0x03,0x54,0x03,0x2e, + 0x80,0x06,0x00,0x06,0x00,0x54,0x03,0x02,0x80,0x07,0x00,0x07,0x00,0x54,0x03,0x0f, + 0x80,0x27,0x03,0x02,0x00,0x2b,0x04,0x01,0x00,0x37,0x04,0x02,0x04,0x10,0x05,0x03, + 0x00,0x25,0x06,0x08,0x00,0x3e,0x04,0x03,0x02,0x0f,0x00,0x04,0x00,0x54,0x05,0x03, + 0x80,0x51,0x04,0x02,0x80,0x14,0x03,0x00,0x03,0x54,0x04,0xf6,0x7f,0x2b,0x04,0x02, + 0x00,0x15,0x05,0x01,0x03,0x39,0x05,0x02,0x04,0x54,0x03,0x1b,0x80,0x07,0x00,0x09, + 0x00,0x54,0x03,0x19,0x80,0x2b,0x03,0x03,0x00,0x2b,0x04,0x04,0x00,0x37,0x04,0x0b, + 0x04,0x2b,0x05,0x00,0x00,0x3e,0x05,0x01,0x00,0x3d,0x04,0x00,0x02,0x3a,0x04,0x0a, + 0x03,0x2b,0x03,0x03,0x00,0x37,0x03,0x0a,0x03,0x38,0x03,0x01,0x03,0x07,0x03,0x00, + 0x00,0x54,0x03,0x04,0x80,0x2b,0x03,0x05,0x00,0x10,0x04,0x01,0x00,0x3e,0x03,0x02, + 0x01,0x54,0x03,0x06,0x80,0x34,0x03,0x0c,0x00,0x2b,0x04,0x06,0x00,0x2b,0x05,0x07, + 0x00,0x10,0x06,0x01,0x00,0x3e,0x04,0x03,0x00,0x3d,0x03,0x00,0x01,0x2b,0x03,0x03, + 0x00,0x29,0x04,0x00,0x00,0x3a,0x04,0x0a,0x03,0x47,0x00,0x01,0x00,0x0a,0xc0,0x01, + 0xc0,0x15,0xc0,0x12,0x80,0x03,0xc0,0x18,0xc0,0x0e,0xc0,0x19,0xc0,0x0b,0x61,0x73, + 0x73,0x65,0x72,0x74,0x12,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x54,0x68,0x72,0x65, + 0x61,0x64,0x09,0x63,0x6f,0x72,0x6f,0x09,0x6c,0x69,0x6e,0x65,0x06,0x66,0x10,0x74, + 0x61,0x69,0x6c,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x0b,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x06,0x43,0x09,0x77,0x68,0x61,0x74,0x06,0x53,0x0c,0x67,0x65,0x74,0x69,0x6e, + 0x66,0x6f,0x09,0x63,0x61,0x6c,0x6c,0x09,0x6d,0x61,0x69,0x6e,0x02,0x04,0x96,0x01, + 0x02,0x01,0x04,0x03,0x04,0x00,0x18,0x2b,0x01,0x00,0x00,0x10,0x02,0x00,0x00,0x3e, + 0x01,0x02,0x02,0x07,0x01,0x00,0x00,0x54,0x01,0x11,0x80,0x2b,0x01,0x01,0x00,0x37, + 0x01,0x01,0x01,0x37,0x01,0x02,0x01,0x36,0x01,0x00,0x01,0x2b,0x02,0x01,0x00,0x37, + 0x02,0x01,0x02,0x37,0x02,0x03,0x02,0x29,0x03,0x00,0x00,0x39,0x03,0x01,0x02,0x2b, + 0x02,0x01,0x00,0x37,0x02,0x01,0x02,0x37,0x02,0x02,0x02,0x29,0x03,0x00,0x00,0x39, + 0x03,0x00,0x02,0x2b,0x02,0x02,0x00,0x29,0x03,0x00,0x00,0x39,0x03,0x00,0x02,0x43, + 0x01,0x01,0x00,0x45,0x01,0x00,0x00,0x0c,0x00,0x0d,0x00,0x07,0x00,0x0c,0x66,0x72, + 0x6f,0x6d,0x5f,0x69,0x64,0x0e,0x66,0x72,0x6f,0x6d,0x5f,0x63,0x6f,0x72,0x6f,0x16, 0x61,0x63,0x74,0x69,0x76,0x65,0x5f,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e,0x65, - 0x73,0x0b,0x73,0x74,0x61,0x74,0x75,0x73,0x0b,0x72,0x65,0x73,0x75,0x6d,0x65,0x0a, - 0x79,0x69,0x65,0x6c,0x64,0x09,0x77,0x72,0x61,0x70,0x0b,0x63,0x72,0x65,0x61,0x74, - 0x65,0x0c,0x72,0x75,0x6e,0x6e,0x69,0x6e,0x67,0x0e,0x63,0x6f,0x72,0x6f,0x75,0x74, - 0x69,0x6e,0x65,0x08,0x6c,0x6f,0x67,0x12,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72, - 0x2e,0x63,0x6f,0x72,0x65,0x0b,0x6c,0x6f,0x61,0x64,0x65,0x64,0x0a,0x64,0x65,0x62, - 0x75,0x67,0x0c,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0x0a,0x31,0x2e,0x31,0x2e,0x30, - 0x00,0x11,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x75,0x72,0x6c,0x00,0x12, - 0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x75,0x74,0x69,0x6c,0x00,0x16,0x64, - 0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x70,0x6c,0x61,0x74,0x66,0x6f,0x72,0x6d, - 0x00,0x21,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x70,0x6c,0x75,0x67,0x69, - 0x6e,0x73,0x2e,0x66,0x66,0x69,0x2e,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x00,0x19, - 0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x70,0x6c,0x75,0x67,0x69,0x6e,0x73, - 0x2e,0x66,0x66,0x69,0x00,0x1b,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x69, - 0x6e,0x74,0x72,0x6f,0x73,0x70,0x65,0x63,0x74,0x69,0x6f,0x6e,0x00,0x12,0x64,0x65, - 0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x64,0x62,0x67,0x70,0x00,0x15,0x64,0x65,0x62, - 0x75,0x67,0x67,0x65,0x72,0x2e,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x00,0x16,0x64, - 0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x63,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x73, - 0x00,0x27,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x74,0x72,0x61,0x6e,0x73, - 0x70,0x6f,0x72,0x74,0x2e,0x6c,0x75,0x61,0x73,0x6f,0x63,0x6b,0x65,0x74,0x5f,0x73, - 0x63,0x68,0x65,0x64,0x00,0x21,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x74, - 0x72,0x61,0x6e,0x73,0x70,0x6f,0x72,0x74,0x2e,0x6c,0x75,0x61,0x73,0x6f,0x63,0x6b, - 0x65,0x74,0x00,0x1b,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x74,0x72,0x61, - 0x6e,0x73,0x70,0x6f,0x72,0x74,0x2e,0x61,0x70,0x72,0x0c,0x70,0x72,0x65,0x6c,0x6f, - 0x61,0x64,0x0c,0x70,0x61,0x63,0x6b,0x61,0x67,0x65,0x00, + 0x73,0x09,0x64,0x65,0x61,0x64,0xea,0x01,0x02,0x01,0x06,0x06,0x06,0x01,0x29,0x2b, + 0x01,0x00,0x00,0x36,0x01,0x00,0x01,0x0e,0x00,0x01,0x00,0x54,0x01,0x1e,0x80,0x2b, + 0x01,0x00,0x00,0x27,0x02,0x00,0x00,0x39,0x02,0x00,0x01,0x2b,0x01,0x01,0x00,0x37, + 0x01,0x00,0x01,0x2b,0x02,0x01,0x00,0x37,0x02,0x00,0x02,0x37,0x02,0x01,0x02,0x14, + 0x02,0x00,0x02,0x3a,0x02,0x01,0x01,0x2b,0x01,0x01,0x00,0x37,0x01,0x00,0x01,0x37, + 0x01,0x02,0x01,0x2b,0x02,0x01,0x00,0x37,0x02,0x00,0x02,0x37,0x02,0x01,0x02,0x39, + 0x00,0x02,0x01,0x2b,0x01,0x01,0x00,0x37,0x01,0x00,0x01,0x37,0x01,0x03,0x01,0x2b, + 0x02,0x01,0x00,0x37,0x02,0x00,0x02,0x37,0x02,0x01,0x02,0x39,0x02,0x00,0x01,0x2b, + 0x01,0x02,0x00,0x37,0x01,0x04,0x01,0x10,0x02,0x00,0x00,0x2b,0x03,0x03,0x00,0x25, + 0x04,0x05,0x00,0x3e,0x01,0x04,0x01,0x2b,0x01,0x04,0x00,0x10,0x02,0x00,0x00,0x2b, + 0x03,0x05,0x00,0x10,0x04,0x00,0x00,0x43,0x05,0x01,0x00,0x3d,0x03,0x01,0x00,0x3f, + 0x01,0x01,0x00,0x07,0x00,0x0d,0x00,0x04,0x00,0x0b,0x00,0x15,0xc0,0x0e,0x00,0x08, + 0x72,0x6c,0x63,0x0c,0x73,0x65,0x74,0x68,0x6f,0x6f,0x6b,0x0e,0x66,0x72,0x6f,0x6d, + 0x5f,0x63,0x6f,0x72,0x6f,0x0c,0x66,0x72,0x6f,0x6d,0x5f,0x69,0x64,0x06,0x6e,0x16, + 0x61,0x63,0x74,0x69,0x76,0x65,0x5f,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e,0x65, + 0x73,0x02,0x29,0x02,0x01,0x03,0x00,0x01,0x00,0x07,0x0e,0x00,0x00,0x00,0x54,0x01, + 0x03,0x80,0x34,0x01,0x00,0x00,0x43,0x02,0x01,0x02,0x3e,0x01,0x02,0x01,0x43,0x01, + 0x01,0x00,0x45,0x01,0x00,0x00,0x0a,0x65,0x72,0x72,0x6f,0x72,0x38,0x02,0x00,0x04, + 0x02,0x02,0x00,0x07,0x2b,0x00,0x00,0x00,0x34,0x01,0x00,0x00,0x37,0x01,0x01,0x01, + 0x2b,0x02,0x01,0x00,0x43,0x03,0x00,0x00,0x3d,0x01,0x01,0x00,0x3f,0x00,0x00,0x00, + 0x00,0x00,0x01,0xc0,0x0b,0x72,0x65,0x73,0x75,0x6d,0x65,0x0e,0x63,0x6f,0x72,0x6f, + 0x75,0x74,0x69,0x6e,0x65,0x37,0x01,0x01,0x03,0x01,0x03,0x00,0x07,0x34,0x01,0x00, + 0x00,0x37,0x01,0x01,0x01,0x10,0x02,0x00,0x00,0x3e,0x01,0x02,0x02,0x31,0x02,0x02, + 0x00,0x30,0x00,0x00,0x80,0x48,0x02,0x02,0x00,0x16,0xc0,0x00,0x0b,0x63,0x72,0x65, + 0x61,0x74,0x65,0x0e,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e,0x65,0x93,0x0d,0x01, + 0x07,0x1a,0x0f,0x3f,0x01,0xf4,0x01,0x0c,0x07,0x00,0x00,0x54,0x07,0x07,0x80,0x34, + 0x07,0x00,0x00,0x37,0x07,0x01,0x07,0x25,0x08,0x02,0x00,0x3e,0x07,0x02,0x02,0x0e, + 0x00,0x07,0x00,0x54,0x08,0x01,0x80,0x25,0x07,0x03,0x00,0x0c,0x08,0x01,0x00,0x54, + 0x08,0x07,0x80,0x34,0x08,0x00,0x00,0x37,0x08,0x01,0x08,0x25,0x09,0x04,0x00,0x3e, + 0x08,0x02,0x02,0x0e,0x00,0x08,0x00,0x54,0x09,0x01,0x80,0x25,0x08,0x05,0x00,0x0c, + 0x09,0x02,0x00,0x54,0x09,0x07,0x80,0x34,0x09,0x00,0x00,0x37,0x09,0x01,0x09,0x25, + 0x0a,0x06,0x00,0x3e,0x09,0x02,0x02,0x0e,0x00,0x09,0x00,0x54,0x0a,0x01,0x80,0x25, + 0x09,0x07,0x00,0x0c,0x0a,0x04,0x00,0x54,0x0a,0x07,0x80,0x34,0x0a,0x00,0x00,0x37, + 0x0a,0x01,0x0a,0x25,0x0b,0x08,0x00,0x3e,0x0a,0x02,0x02,0x0e,0x00,0x0a,0x00,0x54, + 0x0b,0x01,0x80,0x29,0x0a,0x00,0x00,0x0c,0x0b,0x05,0x00,0x54,0x0b,0x07,0x80,0x34, + 0x0b,0x00,0x00,0x37,0x0b,0x01,0x0b,0x25,0x0c,0x09,0x00,0x3e,0x0b,0x02,0x02,0x0e, + 0x00,0x0b,0x00,0x54,0x0c,0x01,0x80,0x29,0x0b,0x00,0x00,0x2b,0x0c,0x00,0x00,0x37, + 0x0c,0x0a,0x0c,0x10,0x0d,0x0a,0x00,0x10,0x0e,0x0b,0x00,0x10,0x0f,0x06,0x00,0x3e, + 0x0c,0x04,0x01,0x0c,0x0c,0x03,0x00,0x54,0x0c,0x07,0x80,0x34,0x0c,0x00,0x00,0x37, + 0x0c,0x01,0x0c,0x25,0x0d,0x0b,0x00,0x3e,0x0c,0x02,0x02,0x0e,0x00,0x0c,0x00,0x54, + 0x0d,0x01,0x80,0x25,0x0c,0x0c,0x00,0x34,0x0d,0x0d,0x00,0x10,0x0e,0x0c,0x00,0x3e, + 0x0d,0x02,0x02,0x2b,0x0e,0x01,0x00,0x2b,0x0f,0x01,0x00,0x2b,0x10,0x01,0x00,0x37, + 0x11,0x0e,0x0d,0x37,0x12,0x0f,0x0d,0x37,0x13,0x10,0x0d,0x3a,0x13,0x10,0x10,0x3a, + 0x12,0x0f,0x0f,0x3a,0x11,0x0e,0x0e,0x34,0x0e,0x11,0x00,0x37,0x0f,0x12,0x0d,0x3e, + 0x0f,0x01,0x00,0x3d,0x0e,0x00,0x02,0x10,0x10,0x0e,0x00,0x37,0x0f,0x13,0x0e,0x29, + 0x11,0x00,0x00,0x3e,0x0f,0x03,0x01,0x2a,0x0f,0x10,0x00,0x34,0x11,0x14,0x00,0x34, + 0x12,0x15,0x00,0x37,0x12,0x16,0x12,0x25,0x13,0x17,0x00,0x2b,0x14,0x02,0x00,0x3e, + 0x12,0x03,0x00,0x3d,0x11,0x00,0x01,0x34,0x11,0x14,0x00,0x34,0x12,0x15,0x00,0x37, + 0x12,0x16,0x12,0x25,0x13,0x18,0x00,0x10,0x14,0x07,0x00,0x10,0x15,0x08,0x00,0x3e, + 0x12,0x04,0x00,0x3d,0x11,0x00,0x01,0x10,0x12,0x0e,0x00,0x37,0x11,0x19,0x0e,0x10, + 0x13,0x07,0x00,0x10,0x14,0x08,0x00,0x3e,0x11,0x04,0x03,0x10,0x10,0x12,0x00,0x10, + 0x0f,0x11,0x00,0x27,0x11,0x01,0x00,0x27,0x12,0x04,0x00,0x27,0x13,0x01,0x00,0x49, + 0x11,0x1a,0x80,0x0f,0x00,0x0f,0x00,0x54,0x15,0x05,0x80,0x34,0x15,0x14,0x00,0x25, + 0x16,0x1a,0x00,0x3e,0x15,0x02,0x01,0x54,0x11,0x14,0x80,0x54,0x15,0x12,0x80,0x37, + 0x15,0x1b,0x0d,0x28,0x16,0x00,0x00,0x3e,0x15,0x02,0x01,0x34,0x15,0x14,0x00,0x34, + 0x16,0x15,0x00,0x37,0x16,0x16,0x16,0x25,0x17,0x1c,0x00,0x10,0x18,0x07,0x00,0x10, + 0x19,0x08,0x00,0x3e,0x16,0x04,0x00,0x3d,0x15,0x00,0x01,0x10,0x16,0x0e,0x00,0x37, + 0x15,0x19,0x0e,0x10,0x17,0x07,0x00,0x10,0x18,0x08,0x00,0x3e,0x15,0x04,0x03,0x10, + 0x10,0x16,0x00,0x10,0x0f,0x15,0x00,0x4b,0x11,0xe6,0x7f,0x0f,0x00,0x10,0x00,0x54, + 0x11,0x09,0x80,0x34,0x11,0x1d,0x00,0x34,0x12,0x15,0x00,0x37,0x12,0x16,0x12,0x25, + 0x13,0x1e,0x00,0x10,0x14,0x07,0x00,0x10,0x15,0x08,0x00,0x10,0x16,0x10,0x00,0x3e, + 0x12,0x05,0x00,0x3d,0x11,0x00,0x01,0x2b,0x11,0x00,0x00,0x37,0x11,0x1f,0x11,0x2b, + 0x12,0x04,0x00,0x37,0x12,0x20,0x12,0x27,0x13,0x01,0x00,0x3e,0x12,0x02,0x02,0x37, + 0x12,0x21,0x12,0x3e,0x11,0x02,0x02,0x2c,0x03,0x11,0x00,0x2b,0x11,0x00,0x00,0x37, + 0x11,0x1f,0x11,0x2b,0x12,0x04,0x00,0x37,0x12,0x20,0x12,0x37,0x13,0x12,0x0d,0x3e, + 0x12,0x02,0x02,0x37,0x12,0x21,0x12,0x3e,0x11,0x02,0x02,0x2c,0x05,0x11,0x00,0x29, + 0x11,0x00,0x00,0x27,0x12,0x02,0x00,0x34,0x13,0x22,0x00,0x37,0x13,0x23,0x13,0x27, + 0x14,0x01,0x00,0x49,0x12,0x0e,0x80,0x2b,0x16,0x04,0x00,0x37,0x16,0x20,0x16,0x10, + 0x17,0x15,0x00,0x3e,0x16,0x02,0x02,0x0e,0x00,0x16,0x00,0x54,0x17,0x01,0x80,0x54, + 0x12,0x07,0x80,0x2b,0x17,0x00,0x00,0x37,0x17,0x1f,0x17,0x37,0x18,0x21,0x16,0x3e, + 0x17,0x02,0x02,0x0c,0x11,0x17,0x00,0x54,0x18,0x00,0x80,0x4b,0x12,0xf2,0x7f,0x0e, + 0x00,0x11,0x00,0x54,0x12,0x01,0x80,0x25,0x11,0x24,0x00,0x2b,0x12,0x06,0x00,0x3e, + 0x12,0x01,0x02,0x0e,0x00,0x12,0x00,0x54,0x13,0x01,0x80,0x25,0x12,0x25,0x00,0x2b, + 0x13,0x07,0x00,0x27,0x14,0x01,0x00,0x39,0x14,0x12,0x13,0x34,0x13,0x26,0x00,0x34, + 0x14,0x00,0x00,0x37,0x14,0x27,0x14,0x3e,0x14,0x01,0x00,0x3d,0x13,0x00,0x02,0x25, + 0x14,0x28,0x00,0x34,0x15,0x26,0x00,0x10,0x16,0x12,0x00,0x3e,0x15,0x02,0x02,0x24, + 0x13,0x15,0x13,0x2b,0x14,0x08,0x00,0x37,0x14,0x29,0x14,0x10,0x15,0x0e,0x00,0x33, + 0x16,0x2a,0x00,0x33,0x17,0x2b,0x00,0x3a,0x09,0x2c,0x17,0x3a,0x13,0x2d,0x17,0x34, + 0x18,0x26,0x00,0x10,0x19,0x12,0x00,0x3e,0x18,0x02,0x02,0x3a,0x18,0x2e,0x17,0x3a, + 0x11,0x2f,0x17,0x3a,0x17,0x30,0x16,0x3e,0x14,0x03,0x01,0x33,0x14,0x31,0x00,0x3a, + 0x0e,0x32,0x14,0x3a,0x13,0x33,0x14,0x2b,0x15,0x01,0x00,0x37,0x15,0x34,0x15,0x2b, + 0x16,0x06,0x00,0x3e,0x15,0x02,0x02,0x3a,0x15,0x35,0x14,0x2c,0x09,0x14,0x00,0x2b, + 0x15,0x0a,0x00,0x10,0x16,0x14,0x00,0x3e,0x15,0x02,0x01,0x2b,0x15,0x04,0x00,0x37, + 0x15,0x36,0x15,0x2b,0x16,0x0b,0x00,0x25,0x17,0x37,0x00,0x3e,0x15,0x03,0x01,0x31, + 0x15,0x38,0x00,0x34,0x16,0x39,0x00,0x31,0x17,0x3b,0x00,0x3a,0x17,0x3a,0x16,0x31, + 0x16,0x3c,0x00,0x34,0x17,0x39,0x00,0x31,0x18,0x3e,0x00,0x3a,0x18,0x3d,0x17,0x30, + 0x00,0x00,0x80,0x48,0x14,0x02,0x00,0x04,0xc0,0x03,0xc0,0x00,0xc0,0x10,0x80,0x01, + 0xc0,0x11,0x80,0x0a,0xc0,0x15,0xc0,0x05,0xc0,0x12,0x80,0x17,0xc0,0x1a,0x80,0x0f, + 0xc0,0x02,0xc0,0x0e,0xc0,0x00,0x09,0x77,0x72,0x61,0x70,0x00,0x00,0x0b,0x72,0x65, + 0x73,0x75,0x6d,0x65,0x0e,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e,0x65,0x00,0x08, + 0x72,0x6c,0x63,0x0c,0x73,0x65,0x74,0x68,0x6f,0x6f,0x6b,0x09,0x63,0x6f,0x72,0x6f, + 0x12,0x43,0x75,0x72,0x72,0x65,0x6e,0x74,0x54,0x68,0x72,0x65,0x61,0x64,0x07,0x69, + 0x64,0x08,0x73,0x6b,0x74,0x01,0x00,0x01,0x0a,0x73,0x74,0x61,0x74,0x65,0x0d,0x73, + 0x74,0x61,0x72,0x74,0x69,0x6e,0x67,0x09,0x61,0x74,0x74,0x72,0x0c,0x66,0x69,0x6c, + 0x65,0x75,0x72,0x69,0x0b,0x74,0x68,0x72,0x65,0x61,0x64,0x0c,0x73,0x65,0x73,0x73, + 0x69,0x6f,0x6e,0x0b,0x69,0x64,0x65,0x6b,0x65,0x79,0x01,0x00,0x04,0x0d,0x6c,0x61, + 0x6e,0x67,0x75,0x61,0x67,0x65,0x08,0x4c,0x75,0x61,0x0b,0x70,0x61,0x72,0x65,0x6e, + 0x74,0x05,0x0a,0x61,0x70,0x70,0x69,0x64,0x0d,0x4c,0x75,0x61,0x20,0x44,0x42,0x47, + 0x70,0x15,0x70,0x72,0x6f,0x74,0x6f,0x63,0x6f,0x6c,0x5f,0x76,0x65,0x72,0x73,0x69, + 0x6f,0x6e,0x08,0x31,0x2e,0x30,0x01,0x00,0x01,0x08,0x74,0x61,0x67,0x09,0x69,0x6e, + 0x69,0x74,0x0d,0x73,0x65,0x6e,0x64,0x5f,0x78,0x6d,0x6c,0x06,0x5f,0x09,0x74,0x69, + 0x6d,0x65,0x0d,0x74,0x6f,0x73,0x74,0x72,0x69,0x6e,0x67,0x09,0x6d,0x61,0x69,0x6e, + 0x0e,0x75,0x6e,0x6b,0x6e,0x6f,0x77,0x6e,0x3a,0x2f,0x09,0x68,0x75,0x67,0x65,0x09, + 0x6d,0x61,0x74,0x68,0x0b,0x73,0x6f,0x75,0x72,0x63,0x65,0x0c,0x67,0x65,0x74,0x69, + 0x6e,0x66,0x6f,0x0c,0x67,0x65,0x74,0x5f,0x75,0x72,0x69,0x21,0x43,0x61,0x6e,0x6e, + 0x6f,0x74,0x20,0x63,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x20,0x74,0x6f,0x20,0x25,0x73, + 0x3a,0x25,0x64,0x20,0x3a,0x20,0x25,0x73,0x0a,0x65,0x72,0x72,0x6f,0x72,0x30,0x44, + 0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x3a,0x20,0x52,0x65,0x74,0x72,0x79,0x69,0x6e, + 0x67,0x20,0x74,0x6f,0x20,0x63,0x6f,0x6e,0x6e,0x65,0x63,0x74,0x20,0x74,0x6f,0x20, + 0x25,0x73,0x3a,0x25,0x73,0x20,0x2e,0x2e,0x2e,0x20,0x0a,0x73,0x6c,0x65,0x65,0x70, + 0x22,0x44,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x3a,0x20,0x43,0x6f,0x6e,0x6e,0x65, + 0x63,0x74,0x69,0x6f,0x6e,0x20,0x73,0x75,0x63,0x63,0x65,0x65,0x64,0x2e,0x0c,0x63, + 0x6f,0x6e,0x6e,0x65,0x63,0x74,0x2e,0x44,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x3a, + 0x20,0x54,0x72,0x79,0x69,0x6e,0x67,0x20,0x74,0x6f,0x20,0x63,0x6f,0x6e,0x6e,0x65, + 0x63,0x74,0x20,0x74,0x6f,0x20,0x25,0x73,0x3a,0x25,0x73,0x20,0x2e,0x2e,0x2e,0x20, + 0x11,0x44,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x20,0x76,0x25,0x73,0x0b,0x66,0x6f, + 0x72,0x6d,0x61,0x74,0x0b,0x73,0x74,0x72,0x69,0x6e,0x67,0x0a,0x70,0x72,0x69,0x6e, + 0x74,0x0f,0x73,0x65,0x74,0x74,0x69,0x6d,0x65,0x6f,0x75,0x74,0x0b,0x63,0x72,0x65, + 0x61,0x74,0x65,0x0b,0x61,0x73,0x73,0x65,0x72,0x74,0x0a,0x75,0x6e,0x62,0x36,0x34, + 0x0b,0x72,0x61,0x77,0x62,0x36,0x34,0x08,0x62,0x36,0x34,0x0c,0x72,0x65,0x71,0x75, + 0x69,0x72,0x65,0x21,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x74,0x72,0x61, + 0x6e,0x73,0x70,0x6f,0x72,0x74,0x2e,0x6c,0x75,0x61,0x73,0x6f,0x63,0x6b,0x65,0x74, + 0x13,0x44,0x42,0x47,0x50,0x5f,0x54,0x52,0x41,0x4e,0x53,0x50,0x4f,0x52,0x54,0x09, + 0x69,0x6e,0x69,0x74,0x14,0x44,0x42,0x47,0x50,0x5f,0x57,0x4f,0x52,0x4b,0x49,0x4e, + 0x47,0x44,0x49,0x52,0x12,0x44,0x42,0x47,0x50,0x5f,0x50,0x4c,0x41,0x54,0x46,0x4f, + 0x52,0x4d,0x0e,0x6c,0x75,0x61,0x69,0x64,0x65,0x6b,0x65,0x79,0x10,0x44,0x42,0x47, + 0x50,0x5f,0x49,0x44,0x45,0x4b,0x45,0x59,0x0a,0x31,0x30,0x30,0x30,0x30,0x11,0x44, + 0x42,0x47,0x50,0x5f,0x49,0x44,0x45,0x50,0x4f,0x52,0x54,0x0e,0x31,0x32,0x37,0x2e, + 0x30,0x2e,0x30,0x2e,0x31,0x11,0x44,0x42,0x47,0x50,0x5f,0x49,0x44,0x45,0x48,0x4f, + 0x53,0x54,0x0b,0x67,0x65,0x74,0x65,0x6e,0x76,0x07,0x6f,0x73,0x01,0x80,0x80,0x80, + 0xff,0x03,0x82,0x0e,0x03,0x00,0x20,0x00,0x7d,0x00,0xed,0x01,0x34,0x00,0x00,0x00, + 0x37,0x00,0x01,0x00,0x31,0x01,0x03,0x00,0x3a,0x01,0x02,0x00,0x34,0x00,0x00,0x00, + 0x37,0x00,0x01,0x00,0x31,0x01,0x05,0x00,0x3a,0x01,0x04,0x00,0x34,0x00,0x00,0x00, + 0x37,0x00,0x01,0x00,0x31,0x01,0x07,0x00,0x3a,0x01,0x06,0x00,0x34,0x00,0x00,0x00, + 0x37,0x00,0x01,0x00,0x31,0x01,0x09,0x00,0x3a,0x01,0x08,0x00,0x34,0x00,0x00,0x00, + 0x37,0x00,0x01,0x00,0x31,0x01,0x0b,0x00,0x3a,0x01,0x0a,0x00,0x34,0x00,0x00,0x00, + 0x37,0x00,0x01,0x00,0x31,0x01,0x0d,0x00,0x3a,0x01,0x0c,0x00,0x34,0x00,0x00,0x00, + 0x37,0x00,0x01,0x00,0x31,0x01,0x0f,0x00,0x3a,0x01,0x0e,0x00,0x34,0x00,0x00,0x00, + 0x37,0x00,0x01,0x00,0x31,0x01,0x11,0x00,0x3a,0x01,0x10,0x00,0x34,0x00,0x00,0x00, + 0x37,0x00,0x01,0x00,0x31,0x01,0x13,0x00,0x3a,0x01,0x12,0x00,0x34,0x00,0x00,0x00, + 0x37,0x00,0x01,0x00,0x31,0x01,0x15,0x00,0x3a,0x01,0x14,0x00,0x34,0x00,0x00,0x00, + 0x37,0x00,0x01,0x00,0x31,0x01,0x17,0x00,0x3a,0x01,0x16,0x00,0x34,0x00,0x00,0x00, + 0x37,0x00,0x01,0x00,0x31,0x01,0x19,0x00,0x3a,0x01,0x18,0x00,0x25,0x00,0x1a,0x00, + 0x34,0x01,0x1b,0x00,0x25,0x02,0x1c,0x00,0x3e,0x01,0x02,0x02,0x32,0x02,0x00,0x00, + 0x34,0x03,0x00,0x00,0x37,0x03,0x1d,0x03,0x3a,0x02,0x1e,0x03,0x34,0x03,0x1b,0x00, + 0x25,0x04,0x16,0x00,0x3e,0x03,0x02,0x02,0x34,0x04,0x1b,0x00,0x25,0x05,0x14,0x00, + 0x3e,0x04,0x02,0x02,0x34,0x05,0x1b,0x00,0x25,0x06,0x0c,0x00,0x3e,0x05,0x02,0x02, + 0x34,0x06,0x1b,0x00,0x25,0x07,0x08,0x00,0x3e,0x06,0x02,0x02,0x34,0x07,0x1b,0x00, + 0x25,0x08,0x0a,0x00,0x3e,0x07,0x02,0x02,0x34,0x08,0x1b,0x00,0x25,0x09,0x18,0x00, + 0x3e,0x08,0x02,0x02,0x37,0x09,0x1f,0x03,0x34,0x0a,0x20,0x00,0x37,0x0a,0x21,0x0a, + 0x34,0x0b,0x20,0x00,0x37,0x0b,0x22,0x0b,0x34,0x0c,0x20,0x00,0x37,0x0c,0x23,0x0c, + 0x34,0x0d,0x20,0x00,0x37,0x0d,0x24,0x0d,0x34,0x0e,0x20,0x00,0x37,0x0e,0x25,0x0e, + 0x34,0x0f,0x20,0x00,0x37,0x0f,0x26,0x0f,0x2a,0x10,0x12,0x00,0x33,0x13,0x28,0x00, + 0x34,0x14,0x29,0x00,0x32,0x15,0x00,0x00,0x33,0x16,0x2a,0x00,0x3e,0x14,0x03,0x02, + 0x3a,0x14,0x2b,0x13,0x34,0x14,0x29,0x00,0x32,0x15,0x00,0x00,0x33,0x16,0x2c,0x00, + 0x3e,0x14,0x03,0x02,0x3a,0x14,0x2d,0x13,0x3a,0x13,0x27,0x02,0x29,0x13,0x00,0x00, + 0x34,0x14,0x2e,0x00,0x07,0x14,0x2f,0x00,0x54,0x14,0x03,0x80,0x34,0x14,0x30,0x00, + 0x10,0x13,0x14,0x00,0x54,0x14,0x0b,0x80,0x34,0x14,0x2e,0x00,0x07,0x14,0x31,0x00, + 0x54,0x14,0x03,0x80,0x37,0x14,0x32,0x01,0x31,0x13,0x33,0x00,0x30,0x14,0x05,0x80, + 0x34,0x14,0x34,0x00,0x34,0x15,0x2e,0x00,0x25,0x16,0x35,0x00,0x24,0x15,0x16,0x15, + 0x3e,0x14,0x02,0x01,0x34,0x14,0x36,0x00,0x33,0x15,0x39,0x00,0x34,0x16,0x36,0x00, + 0x37,0x16,0x38,0x16,0x3a,0x16,0x38,0x15,0x34,0x16,0x36,0x00,0x37,0x16,0x3a,0x16, + 0x3a,0x16,0x3a,0x15,0x34,0x16,0x36,0x00,0x37,0x16,0x3b,0x16,0x3a,0x16,0x3b,0x15, + 0x34,0x16,0x36,0x00,0x37,0x16,0x3c,0x16,0x3a,0x16,0x3c,0x15,0x3a,0x15,0x37,0x14, + 0x34,0x14,0x36,0x00,0x31,0x15,0x3d,0x00,0x3a,0x15,0x38,0x14,0x31,0x14,0x3e,0x00, + 0x33,0x15,0x41,0x00,0x31,0x16,0x40,0x00,0x3a,0x16,0x42,0x15,0x3a,0x14,0x43,0x15, + 0x3a,0x14,0x44,0x15,0x3a,0x14,0x45,0x15,0x3a,0x14,0x46,0x15,0x3a,0x15,0x3f,0x02, + 0x37,0x15,0x3f,0x02,0x37,0x16,0x3f,0x02,0x3a,0x16,0x47,0x15,0x33,0x15,0x4a,0x00, + 0x31,0x16,0x49,0x00,0x3a,0x16,0x42,0x15,0x31,0x16,0x4b,0x00,0x3a,0x16,0x43,0x15, + 0x31,0x16,0x4c,0x00,0x3a,0x16,0x44,0x15,0x31,0x16,0x4d,0x00,0x3a,0x16,0x45,0x15, + 0x31,0x16,0x4e,0x00,0x3a,0x16,0x46,0x15,0x3a,0x15,0x48,0x02,0x37,0x15,0x48,0x02, + 0x37,0x16,0x48,0x02,0x3a,0x16,0x47,0x15,0x34,0x15,0x29,0x00,0x32,0x16,0x00,0x00, + 0x33,0x17,0x4f,0x00,0x3e,0x15,0x03,0x02,0x33,0x16,0x58,0x00,0x33,0x17,0x52,0x00, + 0x31,0x18,0x51,0x00,0x3a,0x18,0x53,0x17,0x31,0x18,0x54,0x00,0x3a,0x18,0x55,0x17, + 0x31,0x18,0x56,0x00,0x3a,0x18,0x57,0x17,0x3a,0x17,0x59,0x16,0x3a,0x16,0x50,0x02, + 0x32,0x16,0x00,0x00,0x3a,0x16,0x5a,0x02,0x32,0x16,0x00,0x00,0x32,0x17,0x00,0x00, + 0x32,0x18,0x00,0x00,0x29,0x19,0x00,0x00,0x27,0x1a,0x00,0x00,0x32,0x1b,0x00,0x00, + 0x31,0x1c,0x5b,0x00,0x31,0x1d,0x5c,0x00,0x37,0x1e,0x50,0x02,0x31,0x1f,0x5e,0x00, + 0x3a,0x1f,0x5d,0x1e,0x37,0x1e,0x50,0x02,0x31,0x1f,0x60,0x00,0x3a,0x1f,0x5f,0x1e, + 0x37,0x1e,0x50,0x02,0x31,0x1f,0x62,0x00,0x3a,0x1f,0x61,0x1e,0x37,0x1e,0x50,0x02, + 0x31,0x1f,0x64,0x00,0x3a,0x1f,0x63,0x1e,0x37,0x1e,0x50,0x02,0x31,0x1f,0x66,0x00, + 0x3a,0x1f,0x65,0x1e,0x37,0x1e,0x50,0x02,0x31,0x1f,0x68,0x00,0x3a,0x1f,0x67,0x1e, + 0x37,0x1e,0x50,0x02,0x31,0x1f,0x6a,0x00,0x3a,0x1f,0x69,0x1e,0x37,0x1e,0x5a,0x02, + 0x31,0x1f,0x6c,0x00,0x3a,0x1f,0x6b,0x1e,0x37,0x1e,0x5a,0x02,0x31,0x1f,0x6e,0x00, + 0x3a,0x1f,0x6d,0x1e,0x37,0x1e,0x5a,0x02,0x31,0x1f,0x70,0x00,0x3a,0x1f,0x6f,0x1e, + 0x30,0x16,0x00,0x80,0x31,0x16,0x72,0x00,0x3a,0x16,0x71,0x02,0x31,0x16,0x73,0x00, + 0x31,0x17,0x74,0x00,0x31,0x18,0x75,0x00,0x10,0x19,0x0b,0x00,0x31,0x1a,0x76,0x00, + 0x3e,0x19,0x02,0x02,0x31,0x1a,0x77,0x00,0x34,0x1b,0x78,0x00,0x34,0x1c,0x79,0x00, + 0x25,0x1d,0x7a,0x00,0x3e,0x1b,0x03,0x02,0x0f,0x00,0x1b,0x00,0x54,0x1c,0x01,0x80, + 0x31,0x1a,0x7b,0x00,0x31,0x1b,0x7c,0x00,0x30,0x00,0x00,0x80,0x48,0x1b,0x02,0x00, + 0x00,0x00,0x08,0x6a,0x69,0x74,0x07,0x5f,0x47,0x0b,0x72,0x61,0x77,0x67,0x65,0x74, + 0x00,0x00,0x00,0x00,0x00,0x00,0x1e,0x70,0x72,0x65,0x76,0x69,0x6f,0x75,0x73,0x5f, + 0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x5f,0x72,0x65,0x73,0x70,0x6f,0x6e,0x73,0x65, + 0x00,0x0c,0x64,0x69,0x73,0x63,0x61,0x72,0x64,0x00,0x0f,0x64,0x6f,0x65,0x73,0x5f, + 0x6d,0x61,0x74,0x63,0x68,0x00,0x0d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x00, + 0x0c,0x67,0x65,0x74,0x5f,0x78,0x6d,0x6c,0x00,0x0b,0x72,0x65,0x6d,0x6f,0x76,0x65, + 0x00,0x08,0x67,0x65,0x74,0x00,0x07,0x61,0x74,0x00,0x0b,0x69,0x6e,0x73,0x65,0x72, + 0x74,0x00,0x0b,0x75,0x70,0x64,0x61,0x74,0x65,0x00,0x0a,0x67,0x75,0x65,0x73,0x73, + 0x00,0x00,0x0b,0x65,0x76,0x65,0x6e,0x74,0x73,0x13,0x68,0x69,0x74,0x5f,0x63,0x6f, + 0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x73,0x01,0x00,0x00,0x06,0x25,0x00,0x07,0x3d, + 0x3d,0x00,0x07,0x3e,0x3d,0x01,0x00,0x00,0x00,0x10,0x62,0x72,0x65,0x61,0x6b,0x70, + 0x6f,0x69,0x6e,0x74,0x73,0x01,0x00,0x01,0x0b,0x5f,0x5f,0x6d,0x6f,0x64,0x65,0x06, + 0x6b,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x10,0x63,0x6f,0x70,0x79,0x5f,0x6f, + 0x75,0x74,0x70,0x75,0x74,0x0c,0x5f,0x5f,0x69,0x6e,0x64,0x65,0x78,0x09,0x73,0x65, + 0x65,0x6b,0x0c,0x73,0x65,0x74,0x76,0x62,0x75,0x66,0x0a,0x63,0x6c,0x6f,0x73,0x65, + 0x0a,0x66,0x6c,0x75,0x73,0x68,0x0a,0x77,0x72,0x69,0x74,0x65,0x01,0x00,0x00,0x00, + 0x14,0x72,0x65,0x64,0x69,0x72,0x65,0x63,0x74,0x5f,0x6f,0x75,0x74,0x70,0x75,0x74, + 0x00,0x00,0x0b,0x73,0x74,0x64,0x65,0x72,0x72,0x0b,0x73,0x74,0x64,0x6f,0x75,0x74, + 0x0a,0x73,0x74,0x64,0x69,0x6e,0x01,0x00,0x00,0x0b,0x6f,0x75,0x74,0x70,0x75,0x74, + 0x09,0x62,0x61,0x73,0x65,0x07,0x69,0x6f,0x16,0x69,0x73,0x20,0x6e,0x6f,0x74,0x20, + 0x73,0x75,0x70,0x70,0x6f,0x72,0x74,0x65,0x64,0x2e,0x0a,0x65,0x72,0x72,0x6f,0x72, + 0x00,0x0f,0x73,0x65,0x74,0x75,0x70,0x76,0x61,0x6c,0x75,0x65,0x0c,0x4c,0x75,0x61, + 0x20,0x35,0x2e,0x32,0x0c,0x73,0x65,0x74,0x66,0x65,0x6e,0x76,0x0c,0x4c,0x75,0x61, + 0x20,0x35,0x2e,0x31,0x0d,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x0e,0x66,0x72, + 0x6f,0x6d,0x5f,0x63,0x6f,0x72,0x6f,0x01,0x00,0x01,0x0b,0x5f,0x5f,0x6d,0x6f,0x64, + 0x65,0x06,0x6b,0x0c,0x66,0x72,0x6f,0x6d,0x5f,0x69,0x64,0x01,0x00,0x01,0x0b,0x5f, + 0x5f,0x6d,0x6f,0x64,0x65,0x06,0x76,0x11,0x73,0x65,0x74,0x6d,0x65,0x74,0x61,0x74, + 0x61,0x62,0x6c,0x65,0x01,0x00,0x01,0x06,0x6e,0x03,0x00,0x16,0x61,0x63,0x74,0x69, + 0x76,0x65,0x5f,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e,0x65,0x73,0x0b,0x73,0x74, + 0x61,0x74,0x75,0x73,0x0b,0x72,0x65,0x73,0x75,0x6d,0x65,0x0a,0x79,0x69,0x65,0x6c, + 0x64,0x09,0x77,0x72,0x61,0x70,0x0b,0x63,0x72,0x65,0x61,0x74,0x65,0x0c,0x72,0x75, + 0x6e,0x6e,0x69,0x6e,0x67,0x0e,0x63,0x6f,0x72,0x6f,0x75,0x74,0x69,0x6e,0x65,0x08, + 0x6c,0x6f,0x67,0x12,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x63,0x6f,0x72, + 0x65,0x0b,0x6c,0x6f,0x61,0x64,0x65,0x64,0x0a,0x64,0x65,0x62,0x75,0x67,0x0c,0x72, + 0x65,0x71,0x75,0x69,0x72,0x65,0x0a,0x31,0x2e,0x31,0x2e,0x30,0x00,0x11,0x64,0x65, + 0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x75,0x72,0x6c,0x00,0x12,0x64,0x65,0x62,0x75, + 0x67,0x67,0x65,0x72,0x2e,0x75,0x74,0x69,0x6c,0x00,0x16,0x64,0x65,0x62,0x75,0x67, + 0x67,0x65,0x72,0x2e,0x70,0x6c,0x61,0x74,0x66,0x6f,0x72,0x6d,0x00,0x21,0x64,0x65, + 0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x70,0x6c,0x75,0x67,0x69,0x6e,0x73,0x2e,0x66, + 0x66,0x69,0x2e,0x72,0x65,0x66,0x6c,0x65,0x63,0x74,0x00,0x19,0x64,0x65,0x62,0x75, + 0x67,0x67,0x65,0x72,0x2e,0x70,0x6c,0x75,0x67,0x69,0x6e,0x73,0x2e,0x66,0x66,0x69, + 0x00,0x1b,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x69,0x6e,0x74,0x72,0x6f, + 0x73,0x70,0x65,0x63,0x74,0x69,0x6f,0x6e,0x00,0x12,0x64,0x65,0x62,0x75,0x67,0x67, + 0x65,0x72,0x2e,0x64,0x62,0x67,0x70,0x00,0x15,0x64,0x65,0x62,0x75,0x67,0x67,0x65, + 0x72,0x2e,0x63,0x6f,0x6e,0x74,0x65,0x78,0x74,0x00,0x16,0x64,0x65,0x62,0x75,0x67, + 0x67,0x65,0x72,0x2e,0x63,0x6f,0x6d,0x6d,0x61,0x6e,0x64,0x73,0x00,0x27,0x64,0x65, + 0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x74,0x72,0x61,0x6e,0x73,0x70,0x6f,0x72,0x74, + 0x2e,0x6c,0x75,0x61,0x73,0x6f,0x63,0x6b,0x65,0x74,0x5f,0x73,0x63,0x68,0x65,0x64, + 0x00,0x21,0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x74,0x72,0x61,0x6e,0x73, + 0x70,0x6f,0x72,0x74,0x2e,0x6c,0x75,0x61,0x73,0x6f,0x63,0x6b,0x65,0x74,0x00,0x1b, + 0x64,0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x2e,0x74,0x72,0x61,0x6e,0x73,0x70,0x6f, + 0x72,0x74,0x2e,0x61,0x70,0x72,0x0c,0x70,0x72,0x65,0x6c,0x6f,0x61,0x64,0x0c,0x70, + 0x61,0x63,0x6b,0x61,0x67,0x65,0x00, }; diff --git a/cocos/ui/Android.mk b/cocos/ui/Android.mk index 4c6e33334e..fed4a17385 100644 --- a/cocos/ui/Android.mk +++ b/cocos/ui/Android.mk @@ -41,8 +41,6 @@ $(LOCAL_PATH)/.. \ $(LOCAL_PATH)/../.. \ $(LOCAL_PATH)/../editor-support -LOCAL_CFLAGS += -Wno-psabi -LOCAL_EXPORT_CFLAGS += -Wno-psabi LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static diff --git a/cocos/ui/UIPageView.cpp b/cocos/ui/UIPageView.cpp index 1e04e9168f..0dce9f9afa 100644 --- a/cocos/ui/UIPageView.cpp +++ b/cocos/ui/UIPageView.cpp @@ -134,7 +134,7 @@ void PageView::addPage(Layout* page) } - addProtectedChild(page); + addChild(page); _pages.pushBack(page); _doLayoutDirty = true; @@ -156,7 +156,7 @@ void PageView::insertPage(Layout* page, int idx) else { _pages.insert(idx, page); - addProtectedChild(page); + addChild(page); } @@ -169,7 +169,7 @@ void PageView::removePage(Layout* page) { return; } - removeProtectedChild(page); + removeChild(page); _pages.eraseObject(page); _doLayoutDirty = true; @@ -189,7 +189,7 @@ void PageView::removeAllPages() { for(const auto& node : _pages) { - removeProtectedChild(node); + removeChild(node); } _pages.clear(); } diff --git a/cocos/ui/UITextField.cpp b/cocos/ui/UITextField.cpp index 1cbbd901c0..90b65063ca 100644 --- a/cocos/ui/UITextField.cpp +++ b/cocos/ui/UITextField.cpp @@ -623,7 +623,6 @@ bool TextField::isPasswordEnabled()const void TextField::setPasswordStyleText(const char *styleText) { _textFieldRenderer->setPasswordStyleText(styleText); - _passwordStyleText = styleText; setText(getStringValue()); diff --git a/templates/cocos2dx_files.json b/templates/cocos2dx_files.json index 8133421da1..7665651405 100644 --- a/templates/cocos2dx_files.json +++ b/templates/cocos2dx_files.json @@ -280,17 +280,8 @@ "cocos/base/CCConsole.h", "cocos/base/CCController-android.cpp", "cocos/base/CCController-iOS.mm", + "cocos/base/CCController.cpp", "cocos/base/CCController.h", - "cocos/base/CCControllerAxisInput.cpp", - "cocos/base/CCControllerAxisInput.h", - "cocos/base/CCControllerButtonInput.cpp", - "cocos/base/CCControllerButtonInput.h", - "cocos/base/CCControllerDirectionPad.cpp", - "cocos/base/CCControllerDirectionPad.h", - "cocos/base/CCControllerElement.cpp", - "cocos/base/CCControllerElement.h", - "cocos/base/CCControllerThumbstick.cpp", - "cocos/base/CCControllerThumbstick.h", "cocos/base/CCData.cpp", "cocos/base/CCData.h", "cocos/base/CCDataVisitor.cpp", @@ -333,8 +324,6 @@ "cocos/base/CCEventTouch.h", "cocos/base/CCEventType.h", "cocos/base/CCGameController.h", - "cocos/base/CCGamepad.cpp", - "cocos/base/CCGamepad.h", "cocos/base/CCIMEDelegate.h", "cocos/base/CCIMEDispatcher.cpp", "cocos/base/CCIMEDispatcher.h", diff --git a/templates/cpp-template-default/proj.android/jni/Application.mk b/templates/cpp-template-default/proj.android/jni/Application.mk index edd61073c3..93c859c1b0 100644 --- a/templates/cpp-template-default/proj.android/jni/Application.mk +++ b/templates/cpp-template-default/proj.android/jni/Application.mk @@ -1,5 +1,9 @@ -APP_STL := gnustl_static +APP_STL := c++_static +NDK_TOOLCHAIN_VERSION=clang + APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char +APP_LDFLAGS := -latomic + APP_DEBUG := $(strip $(NDK_DEBUG)) ifeq ($(APP_DEBUG),1) @@ -8,4 +12,4 @@ ifeq ($(APP_DEBUG),1) else APP_CPPFLAGS += -DNDEBUG APP_OPTIM := release -endif +endif \ No newline at end of file diff --git a/templates/lua-template-default/frameworks/runtime-src/proj.android/jni/Application.mk b/templates/lua-template-default/frameworks/runtime-src/proj.android/jni/Application.mk index edd61073c3..93c859c1b0 100644 --- a/templates/lua-template-default/frameworks/runtime-src/proj.android/jni/Application.mk +++ b/templates/lua-template-default/frameworks/runtime-src/proj.android/jni/Application.mk @@ -1,5 +1,9 @@ -APP_STL := gnustl_static +APP_STL := c++_static +NDK_TOOLCHAIN_VERSION=clang + APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char +APP_LDFLAGS := -latomic + APP_DEBUG := $(strip $(NDK_DEBUG)) ifeq ($(APP_DEBUG),1) @@ -8,4 +12,4 @@ ifeq ($(APP_DEBUG),1) else APP_CPPFLAGS += -DNDEBUG APP_OPTIM := release -endif +endif \ No newline at end of file diff --git a/templates/lua-template-default/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj b/templates/lua-template-default/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj index ea9894228d..067c0a1743 100644 --- a/templates/lua-template-default/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj +++ b/templates/lua-template-default/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj @@ -573,6 +573,7 @@ 5023813117EBBCE400990C9B /* Sources */, 5023813617EBBCE400990C9B /* Frameworks */, 5023814617EBBCE400990C9B /* Resources */, + 3EC03837196544AA00D72B70 /* ShellScript */, ); buildRules = ( ); @@ -596,6 +597,7 @@ F293B3C415EB7BE500256477 /* Sources */, F293B3C515EB7BE500256477 /* Frameworks */, F293B3C615EB7BE500256477 /* Resources */, + 3EC03838196544BB00D72B70 /* ShellScript */, ); buildRules = ( ); @@ -814,6 +816,35 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 3EC03837196544AA00D72B70 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "find ${SRCROOT}/../../../src/ -name \"*\" -exec touch -cm {} \\;\nfind ${SRCROOT}/../../../res/ -name \"*\" -exec touch -cm {} \\;"; + }; + 3EC03838196544BB00D72B70 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "find ${SRCROOT}/../../../src/ -name \"*\" -exec touch -cm {} \\;\nfind ${SRCROOT}/../../../res/ -name \"*\" -exec touch -cm {} \\;"; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 5023813117EBBCE400990C9B /* Sources */ = { isa = PBXSourcesBuildPhase; diff --git a/templates/lua-template-runtime/.project b/templates/lua-template-runtime/.project index e01d2304ee..960dbfb595 100644 --- a/templates/lua-template-runtime/.project +++ b/templates/lua-template-runtime/.project @@ -10,7 +10,4 @@ org.ccdt.cocosproject org.eclipse.koneki.ldt.nature - - 1.1 - diff --git a/templates/lua-template-runtime/.settings/version.json b/templates/lua-template-runtime/.settings/version.json new file mode 100644 index 0000000000..5f06abfbad --- /dev/null +++ b/templates/lua-template-runtime/.settings/version.json @@ -0,0 +1,4 @@ +{ + "templateVersion":"1.2", + "runtimeVersion":"1.2" +} \ No newline at end of file diff --git a/templates/lua-template-runtime/cocos-project-template.json b/templates/lua-template-runtime/cocos-project-template.json index 8bc74277ed..75e0860770 100644 --- a/templates/lua-template-runtime/cocos-project-template.json +++ b/templates/lua-template-runtime/cocos-project-template.json @@ -13,21 +13,6 @@ ] }, "append_dir": [ - { - "from": "templates/lua-template-runtime/runtime/rtres", - "to": "runtime/mac/PrebuiltRuntimeLua.app/Contents/Resources/rtres", - "exclude": [] - }, - { - "from": "templates/lua-template-runtime/runtime/rtres", - "to": "runtime/ios/PrebuiltRuntimeLua.app/rtres", - "exclude": [] - }, - { - "from": "templates/lua-template-runtime/runtime/rtres", - "to": "runtime/win32/rtres", - "exclude": [] - }, { "from": "cocos/scripting/lua-bindings/script", "to": "runtime/mac/PrebuiltRuntimeLua.app/Contents/Resources", diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/AppDelegate.cpp b/templates/lua-template-runtime/frameworks/runtime-src/Classes/AppDelegate.cpp index 6cac00e17c..1b2efff673 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/Classes/AppDelegate.cpp +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/AppDelegate.cpp @@ -54,6 +54,9 @@ bool AppDelegate::applicationDidFinishLaunching() auto engine = LuaEngine::getInstance(); ScriptEngineManager::getInstance()->setScriptEngine(engine); + + LuaStack* stack = engine->getLuaStack(); + stack->setXXTEAKeyAndSign("2dxLua", strlen("2dxLua"), "XXTEA", strlen("XXTEA")); //register custom function //LuaStack* stack = engine->getLuaStack(); diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/Runtime.cpp b/templates/lua-template-runtime/frameworks/runtime-src/Classes/Runtime.cpp deleted file mode 100644 index c8c3500d6a..0000000000 --- a/templates/lua-template-runtime/frameworks/runtime-src/Classes/Runtime.cpp +++ /dev/null @@ -1,901 +0,0 @@ -/**************************************************************************** -Copyright (c) 2013 cocos2d-x.org - -http://www.cocos2d-x.org - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -****************************************************************************/ - -#include "Runtime.h" -#include "lua_debugger.h" -#include "CCLuaEngine.h" -#include "cocos2d.h" -#include "json/document.h" -#include "json/filestream.h" -#include "json/stringbuffer.h" -#include "json/writer.h" -#include "LuaBasicConversions.h" -#include "VisibleRect.h" -#include "ConfigParser.h" - -#ifdef _WIN32 -#include -#else -#include -#endif - -#include -#include - -using namespace std; -using namespace cocos2d; - -std::string g_resourcePath; -static rapidjson::Document g_filecfgjson; -class ConnectWaitLayer; -static ConnectWaitLayer* s_pConnectLayer; -extern string getIPAddress(); -const char* getRuntimeVersion() -{ - return "1.1"; -} - -void hideRcvFile() { - s_pConnectLayer = nullptr; -} - -void startScript(string strDebugArg) -{ - hideRcvFile(); - // register lua engine - auto engine = LuaEngine::getInstance(); - if (!strDebugArg.empty()) - { - engine->executeString(strDebugArg.c_str()); - } - cocos2d::log("debug args = %s",strDebugArg.c_str()); - engine->executeScriptFile(ConfigParser::getInstance()->getEntryFile().c_str()); -} - -bool reloadScript(const string& modulefile) -{ - string strfile = modulefile; - if (strfile.empty()) - { - strfile = ConfigParser::getInstance()->getEntryFile().c_str(); - } - - auto director = Director::getInstance(); - FontFNT::purgeCachedData(); - if (director->getOpenGLView()) - { - SpriteFrameCache::getInstance()->removeSpriteFrames(); - director->getTextureCache()->removeAllTextures(); - } - FileUtils::getInstance()->purgeCachedEntries(); - - director->getScheduler()->unscheduleAll(); - director->getScheduler()->scheduleUpdate(director->getActionManager(), Scheduler::PRIORITY_SYSTEM, false); - - return (LuaEngine::getInstance()->reload(strfile.c_str())==0); -} - -class ConnectWaitLayer: public Layer -{ -private: - Label* _labelUploadFile; -public: - ConnectWaitLayer() - { - int designWidth = 1280; - int designHeight = 800; - Director::getInstance()->getOpenGLView()->setDesignResolutionSize(designWidth,designHeight,ResolutionPolicy::EXACT_FIT); - string playEnbleFile = "rtres/Play1.png"; - string shineFile = "rtres/shine.png"; - string backgroundFile = "rtres/landscape.png"; - if (!ConfigParser::getInstance()->isLanscape()) - { - backgroundFile = "rtres/portrait.png"; - Director::getInstance()->getOpenGLView()->setDesignResolutionSize(designHeight,designWidth,ResolutionPolicy::EXACT_FIT); - } - - auto background = Sprite::create(backgroundFile.c_str()); - if (background) - { - background->setAnchorPoint(Vec2(0,0)); - addChild(background,9999); - } - - auto playSprite = Sprite::create(playEnbleFile.c_str()); - if (playSprite) - { - playSprite->setPosition(Vec2(902,400)); - addChild(playSprite,9999); - }else - { - auto labelPlay = LabelTTF::create("play", "Arial", 108); - auto menuItem = MenuItemLabel::create(labelPlay, CC_CALLBACK_1(ConnectWaitLayer::playerCallback, this)); - auto menu = Menu::create(menuItem, NULL); - - menu->setPosition( Point::ZERO ); - menuItem->setPosition(Vec2(902,400)); - if (!ConfigParser::getInstance()->isLanscape()) menuItem->setPosition(Vec2(400,500)); - addChild(menu, 1); - } - - auto shineSprite = Sprite::create(shineFile.c_str()); - if (shineSprite) - { - shineSprite->setPosition(Vec2(902,400)); - shineSprite->runAction(RepeatForever::create(Sequence::createWithTwoActions(ScaleBy::create(1.0f, 1.08f),ScaleTo::create(1.0f, 1)))); - addChild(shineSprite,9999); - } - - string strip = getIPAddress(); - char szIPAddress[512]={0}; - sprintf(szIPAddress, "IP: %s",strip.c_str()); - auto IPlabel = Label::create(szIPAddress, "Arial", 72); - IPlabel->setAnchorPoint(Vec2(0,0)); - int spaceSizex = 72; - int spaceSizey = 200; - IPlabel->setPosition( Point(VisibleRect::leftTop().x+spaceSizex, VisibleRect::top().y -spaceSizey) ); - addChild(IPlabel, 9999); - - string strShowMsg = "waiting for file transfer ..."; - if (CC_PLATFORM_WIN32 == CC_TARGET_PLATFORM || CC_PLATFORM_MAC == CC_TARGET_PLATFORM) - { - strShowMsg = "waiting for debugger to connect ..."; - } - - _labelUploadFile = Label::create(strShowMsg.c_str(), "Arial", 36); - _labelUploadFile->setAnchorPoint(Vec2(0,0)); - _labelUploadFile->setPosition( Point(VisibleRect::leftTop().x+spaceSizex, IPlabel->getPositionY()-spaceSizex) ); - _labelUploadFile->setAlignment(TextHAlignment::LEFT); - addChild(_labelUploadFile, 10000); - - if (!ConfigParser::getInstance()->isLanscape()) - { - if (playSprite) playSprite->setPosition(400,500); - if (shineSprite) shineSprite->setPosition(400,500); - _labelUploadFile->setAlignment(TextHAlignment::LEFT); - } - - if (playSprite) - { - auto listener = EventListenerTouchOneByOne::create(); - listener->onTouchBegan = [](Touch* touch, Event *event)->bool{ - auto target = static_cast(event->getCurrentTarget()); - Vec2 point = target->convertToNodeSpace(Director::getInstance()->convertToGL(touch->getLocationInView())); - auto rect = Rect(0, 0, target->getContentSize().width, target->getContentSize().height); - if (!rect.containsPoint(point)) return false; - target->stopAllActions(); - target->runAction(Sequence::createWithTwoActions(ScaleBy::create(0.05f, 0.9f),ScaleTo::create(0.125f, 1))); - return true; - }; - listener->onTouchEnded = [](Touch* touch, Event *event){ - auto target = static_cast(event->getCurrentTarget()); - Vec2 point = target->convertToNodeSpace(Director::getInstance()->convertToGL(touch->getLocationInView())); - auto rect = Rect(0, 0, target->getContentSize().width, target->getContentSize().height); - if (!rect.containsPoint(point)) return; - startScript(""); - }; - _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, playSprite); - } - - } - - void playerCallback(Object* sender) - { - startScript(""); - } - - void showCurRcvFile(string fileName) { - _labelUploadFile->setString(fileName); - } -}; - -void showCurRcvFile(string fileName) { - if (NULL == s_pConnectLayer) return; - s_pConnectLayer->showCurRcvFile(fileName); -} - -#if defined(_MSC_VER) || defined(__MINGW32__) -#include -#include - -#define bzero(a, b) memset(a, 0, b); - -#else -#include -#include -#include -#include -#include -#include -#endif - -class FileServer -{ -public: - - FileServer() - { - _listenfd = -1; - _running = false; - _endThread = false; - } - - bool listenOnTCP(int port); - void stop(); - -private: - bool receiveFile(int fd); - void addClient(); - void loop(); - - // file descriptor: socket, console, etc. - int _listenfd; - int _maxfd; - std::vector _fds; - std::thread _thread; - fd_set _read_set; - bool _running; - bool _endThread; -}; - -bool FileServer::listenOnTCP(int port) -{ - int listenfd, n; - const int on = 1; - struct addrinfo hints, *res, *ressave; - char serv[30]; - - snprintf(serv, sizeof(serv)-1, "%d", port ); - serv[sizeof(serv)-1]=0; - - bzero(&hints, sizeof(struct addrinfo)); - hints.ai_flags = AI_PASSIVE; - hints.ai_family = AF_INET; // AF_UNSPEC: Do we need IPv6 ? - hints.ai_socktype = SOCK_STREAM; - -#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) - WSADATA wsaData; - n = WSAStartup(MAKEWORD(2, 2),&wsaData); -#endif - - if ( (n = getaddrinfo(NULL, serv, &hints, &res)) != 0) { - fprintf(stderr,"net_listen error for %s: %s", serv, gai_strerror(n)); - return false; - } - - ressave = res; - do { - listenfd = socket(res->ai_family, res->ai_socktype, res->ai_protocol); - if (listenfd < 0) - continue; /* error, try next one */ - - setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, (const char*)&on, sizeof(on)); - if (::bind(listenfd, res->ai_addr, res->ai_addrlen) == 0) - break; /* success */ - - close(listenfd); /* bind error, close and try next one */ - } while ( (res = res->ai_next) != NULL); - - if (res == NULL) { - perror("net_listen:"); - freeaddrinfo(ressave); - return false; - } - - listen(listenfd, 1); - - if (res->ai_family == AF_INET) - { - char buf[INET_ADDRSTRLEN] = ""; - struct sockaddr_in *sin = (struct sockaddr_in*) res->ai_addr; - if( inet_ntop(res->ai_family, &sin->sin_addr, buf, sizeof(buf)) != NULL ) - cocos2d::log("Console: listening on %s : %d", buf, ntohs(sin->sin_port)); - else - perror("inet_ntop"); - } else if (res->ai_family == AF_INET6) - { - char buf[INET6_ADDRSTRLEN] = ""; - struct sockaddr_in6 *sin = (struct sockaddr_in6*) res->ai_addr; - if( inet_ntop(res->ai_family, &sin->sin6_addr, buf, sizeof(buf)) != NULL ) - cocos2d::log("Console: listening on %s : %d", buf, ntohs(sin->sin6_port)); - else - perror("inet_ntop"); - } - freeaddrinfo(ressave); - _listenfd = listenfd; - _thread = std::thread( std::bind( &FileServer::loop, this) ); - return true; -} - -void FileServer::stop() -{ - if( _running ) { - _endThread = true; - _thread.join(); - } -} - -string& replaceAll(string& str,const string& old_value,const string& new_value) -{ - while(true) - { - int pos=0; - if((pos=str.find(old_value,0))!=string::npos) - str.replace(pos,old_value.length(),new_value); - else break; - } - return str; -} - -bool CreateDir(const char *sPathName) -{ - char DirName[256]={0}; - strcpy(DirName, sPathName); - int i,len = strlen(DirName); - if(DirName[len-1]!='/') - strcat(DirName, "/"); - - len = strlen(DirName); - for(i=1; i writer(buffer); - g_filecfgjson.Accept(writer); - const char* str = buffer.GetString(); - - string filecfg = g_resourcePath; - filecfg.append("/"); - filecfg.append("fileinfo_debug.json"); - FILE * pFile = fopen (filecfg.c_str() , "w"); - if (!pFile) - return false; - - fwrite(str,sizeof(char),strlen(str),pFile); - fclose(pFile); - - return true; -} - -static void readResFileFinfo() -{ - string filecfg = g_resourcePath; - filecfg.append("/"); - filecfg.append("fileinfo_debug.json"); - FILE * pFile = fopen (filecfg.c_str() , "r"); - if(pFile) - { - rapidjson::FileStream inputStream(pFile); - g_filecfgjson.ParseStream<0>(inputStream); - fclose(pFile); - } - if(!g_filecfgjson.IsObject()) - { - g_filecfgjson.SetObject(); - } -} - -bool FileServer::receiveFile(int fd) -{ - char headlen[5]={0}; - if (recv(fd, headlen, 4,0)<=0) { - return false; - } - char *headSeg = new char[atoi(headlen)+1]; - if (!headSeg) - { - return false; - } - memset(headSeg,0,atoi(headlen)+1); - - if (recv(fd, headSeg, atoi(headlen),0)<=0) { - return false; - } - rapidjson::Document headjson; - headjson.Parse<0>(headSeg); - if (headjson.HasMember("filename")) - { - string filename = headjson["filename"].GetString(); - char fullfilename[1024]={0}; - sprintf(fullfilename,"%s%s",g_resourcePath.c_str(),filename.c_str()); - string file(fullfilename); - file=replaceAll(file,"\\","/"); - sprintf(fullfilename, "%s", file.c_str()); - showCurRcvFile(filename.c_str()); - cocos2d::log("recv fullfilename = %s",fullfilename); - CreateDir(file.substr(0,file.find_last_of("/")).c_str()); - FILE *fp =fopen(fullfilename, "wb"); - int length =0; - while ((length=recv(fd, fullfilename, sizeof(fullfilename),0)) > 0) { - fwrite(fullfilename, sizeof(char), length,fp); - } - fclose(fp); - - if (headjson.HasMember("lastmodifytime")) - { - string filemodifytime = headjson["lastmodifytime"].GetString(); - if (g_filecfgjson.HasMember(filename.c_str())) - { - g_filecfgjson.RemoveMember(filename.c_str()); - } - rapidjson::Value filetimeValue(rapidjson::kStringType); - filetimeValue.SetString(filemodifytime.c_str(),g_filecfgjson.GetAllocator()); - rapidjson::Value filenameValue(rapidjson::kStringType); - filenameValue.SetString(filename.c_str(),g_filecfgjson.GetAllocator()); - g_filecfgjson.AddMember(filenameValue.GetString(),filetimeValue,g_filecfgjson.GetAllocator()); - updateResFileInfo(); - } - } - - if (headSeg) - { - delete [] headSeg; - headSeg =nullptr; - } - - string finish("finish\n"); - send(fd, finish.c_str(), finish.size(),0); - return true; -} - -void FileServer::addClient() -{ - struct sockaddr client; - socklen_t client_len; - - /* new client */ - client_len = sizeof( client ); - int fd = accept(_listenfd, (struct sockaddr *)&client, &client_len ); - - // add fd to list of FD - if( fd != -1 ) { - FD_SET(fd, &_read_set); - _fds.push_back(fd); - _maxfd = std::max(_maxfd,fd); - } -} - -void FileServer::loop() -{ - fd_set copy_set; - struct timeval timeout, timeout_copy; - - _running = true; - - FD_ZERO(&_read_set); - FD_SET(_listenfd, &_read_set); - _maxfd = _listenfd; - - timeout.tv_sec = 0; - - /* 0.016 seconds. Wake up once per frame at 60PFS */ - timeout.tv_usec = 16000; - - while(!_endThread) { - - copy_set = _read_set; - timeout_copy = timeout; - int nready = select(_maxfd+1, ©_set, NULL, NULL, &timeout_copy); - - if( nready == -1 ) - { - /* error */ - if(errno != EINTR) - log("Abnormal error in select()\n"); - continue; - } - else if( nready == 0 ) - { - /* timeout. do somethig ? */ - } - else - { - /* new client */ - if(FD_ISSET(_listenfd, ©_set)) { - addClient(); - if(--nready <= 0) - continue; - } - - /* data from client */ - std::vector to_remove; - for(const auto &fd: _fds) { - if(FD_ISSET(fd,©_set)) { - if( ! receiveFile(fd) ) { - to_remove.push_back(fd); - } - if(--nready <= 0) - break; - } - } - - /* remove closed conections */ - for(int fd: to_remove) { - FD_CLR(fd, &_read_set); - _fds.erase(std::remove(_fds.begin(), _fds.end(), fd), _fds.end()); - } - } - } - - // clean up: ignore stdin, stdout and stderr - for(const auto &fd: _fds ) - { -#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) - closesocket(fd); -#else - close(fd); -#endif - } - -#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) - closesocket(_listenfd); - WSACleanup(); -#else - close(_listenfd); -#endif - _running = false; -} - - -class ConsoleCustomCommand -{ -public: - ConsoleCustomCommand():_fileserver(nullptr) - { - cocos2d::Console *_console = Director::getInstance()->getConsole(); - static struct Console::Command commands[] = { - {"sendrequest","send command to runtime.Args[json format]",std::bind(&ConsoleCustomCommand::onSendCommand, this, std::placeholders::_1, std::placeholders::_2)}, - }; - for (int i=0;i< sizeof(commands)/sizeof(Console::Command);i++) { - _console->addCommand(commands[i]); - } - _console->listenOnTCP(6010); - - _fileserver=new FileServer(); - _fileserver->listenOnTCP(6020); - } - ~ConsoleCustomCommand() - { - Director::getInstance()->getConsole()->stop(); - _fileserver->stop(); - if (_fileserver) { - delete _fileserver; - _fileserver = nullptr; - } - } - - void onSendCommand(int fd, const std::string &args) - { - Director::getInstance()->getScheduler()->performFunctionInCocosThread([=](){ - rapidjson::Document dArgParse; - dArgParse.Parse<0>(args.c_str()); - if (dArgParse.HasMember("cmd")) - { - string strcmd = dArgParse["cmd"].GetString(); - - rapidjson::Document dReplyParse; - dReplyParse.SetObject(); - dReplyParse.AddMember("cmd",strcmd.c_str(),dReplyParse.GetAllocator()); - if (dArgParse.HasMember("seq")) { - dReplyParse.AddMember("seq",dArgParse["seq"],dReplyParse.GetAllocator()); - } - - if(strcmp(strcmd.c_str(),"start-logic")==0) - { - char szDebugArg[1024]={0}; - sprintf(szDebugArg, "require('debugger')(%s,'%s')",dArgParse["debugcfg"].GetString(),g_resourcePath.c_str()); - startScript(szDebugArg); - dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); - - }else if(strcmp(strcmd.c_str(),"reload")==0) - { - if (dArgParse.HasMember("modulefiles")) - { - rapidjson::Value bodyvalue(rapidjson::kObjectType); - const rapidjson::Value& objectfiles = dArgParse["modulefiles"]; - for (rapidjson::SizeType i = 0; i < objectfiles.Size(); i++) - { - if (!reloadScript(objectfiles[i].GetString())) { - bodyvalue.AddMember(objectfiles[i].GetString(),1,dReplyParse.GetAllocator()); - } - } - if (0 == objectfiles.Size()) - { - reloadScript(""); - } - - dReplyParse.AddMember("body",bodyvalue,dReplyParse.GetAllocator()); - } - dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); - }else if(strcmp(strcmd.c_str(),"getversion")==0) - { - rapidjson::Value bodyvalue(rapidjson::kObjectType); - bodyvalue.AddMember("version",getRuntimeVersion(),dReplyParse.GetAllocator()); - dReplyParse.AddMember("body",bodyvalue,dReplyParse.GetAllocator()); - dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); - }else if(strcmp(strcmd.c_str(),"getfileinfo")==0) - { - rapidjson::Value bodyvalue(rapidjson::kObjectType); - for (auto it=g_filecfgjson.MemberonBegin();it!=g_filecfgjson.MemberonEnd();++it) - { - bodyvalue.AddMember(it->name.GetString(),it->value.GetString(),dReplyParse.GetAllocator()); - } - dReplyParse.AddMember("body",bodyvalue,dReplyParse.GetAllocator()); - dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); - - }else if (strcmp(strcmd.c_str(),"getEntryfile")==0) - { - rapidjson::Value bodyvalue(rapidjson::kObjectType); - rapidjson::Value entryFileValue(rapidjson::kStringType); - entryFileValue.SetString(ConfigParser::getInstance()->getEntryFile().c_str(),dReplyParse.GetAllocator()); - bodyvalue.AddMember("entryfile",entryFileValue,dReplyParse.GetAllocator()); - dReplyParse.AddMember("body",bodyvalue,dReplyParse.GetAllocator()); - dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); - }else if(strcmp(strcmd.c_str(),"getIP")==0) - { - rapidjson::Value bodyvalue(rapidjson::kObjectType); - rapidjson::Value IPValue(rapidjson::kStringType); - IPValue.SetString(getIPAddress().c_str(),dReplyParse.GetAllocator()); - bodyvalue.AddMember("IP",IPValue,dReplyParse.GetAllocator()); - dReplyParse.AddMember("body",bodyvalue,dReplyParse.GetAllocator()); - dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); - - }else if(strcmp(strcmd.c_str(),"updatefileinfo")==0) - { - if(updateResFileInfo()) - { - dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); - }else - { - dReplyParse.AddMember("code",1,dReplyParse.GetAllocator()); - } - - }else if(strcmp(strcmd.c_str(),"remove")==0) - { - if (dArgParse.HasMember("files")) - { - rapidjson::Value bodyvalue(rapidjson::kObjectType); - const rapidjson::Value& objectfiles = dArgParse["files"]; - for (rapidjson::SizeType i = 0; i < objectfiles.Size(); i++) - { - string filename(g_resourcePath); - filename.append("/"); - filename.append(objectfiles[i].GetString()); - if (FileUtils::getInstance()->isFileExist(filename)) - { - if(remove(filename.c_str())==0) - { - if (g_filecfgjson.HasMember(objectfiles[i].GetString())) { - g_filecfgjson.RemoveMember(objectfiles[i].GetString()); - } - } - else - { - bodyvalue.AddMember(objectfiles[i].GetString(),2,dReplyParse.GetAllocator()); - } - }else - { - bodyvalue.AddMember(objectfiles[i].GetString(),1,dReplyParse.GetAllocator()); - } - - } - dReplyParse.AddMember("body",bodyvalue,dReplyParse.GetAllocator()); - updateResFileInfo(); - } - dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); - - }else if(strcmp(strcmd.c_str(),"shutdownapp")==0) - { -#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) - extern void shutDownApp(); - shutDownApp(); -#else - exit(0); -#endif - } - - rapidjson::StringBuffer buffer; - rapidjson::Writer< rapidjson::StringBuffer > writer(buffer); - dReplyParse.Accept(writer); - const char* str = buffer.GetString(); - char msgSize[64]={0x1,0}; - sprintf(msgSize+1,"%d:",strlen(str)); - string replymsg(msgSize); - replymsg.append(str); - send(fd,replymsg.c_str(),replymsg.size(),0); - } - }); - } -private: - FileServer* _fileserver; -}; - -int lua_cocos2dx_runtime_addSearchPath(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::FileUtils* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.FileUtils",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::FileUtils*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_FileUtils_addSearchPath'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - std::string arg0; - - ok &= luaval_to_std_string(tolua_S, 2,&arg0); - if(!ok) - return 0; - - if (!FileUtils::getInstance()->isAbsolutePath(arg0)) - arg0 = g_resourcePath+arg0; - - cobj->addSearchPath(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "addSearchPath",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 -tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_FileUtils_addSearchPath'.",&tolua_err); -#endif - - return 0; -} - -static void register_runtime_override_function(lua_State* tolua_S) -{ - lua_pushstring(tolua_S, "cc.FileUtils"); - lua_rawget(tolua_S, LUA_REGISTRYINDEX); - if (lua_istable(tolua_S,-1)) - { - tolua_function(tolua_S,"addSearchPath",lua_cocos2dx_runtime_addSearchPath); - } - lua_pop(tolua_S, 1); -} - -bool initRuntime() -{ -#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) -#ifndef _DEBUG - return false; -#endif -#elif(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) -#ifdef NDEBUG - return false; -#endif -#elif(CC_TARGET_PLATFORM == CC_PLATFORM_MAC || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) -#ifndef COCOS2D_DEBUG - return false; -#endif -#endif - - vector searchPathArray; - searchPathArray=FileUtils::getInstance()->getSearchPaths(); -#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32 || CC_TARGET_PLATFORM == CC_PLATFORM_MAC) - if (g_resourcePath.empty()) - { - extern std::string getCurAppPath(); - string resourcePath = getCurAppPath(); -#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) - resourcePath.append("/../../"); -#elif (CC_TARGET_PLATFORM == CC_PLATFORM_MAC) - resourcePath.append("/../../../"); -#endif - resourcePath =replaceAll(resourcePath,"\\","/"); - g_resourcePath = resourcePath; - } - -#else - g_resourcePath = FileUtils::getInstance()->getWritablePath(); - g_resourcePath += "debugruntime/"; -#endif - - g_resourcePath=replaceAll(g_resourcePath,"\\","/"); - if (g_resourcePath.at(g_resourcePath.length()-1) != '/') - { - g_resourcePath.append("/"); - } - - searchPathArray.insert(searchPathArray.begin(),g_resourcePath); - FileUtils::getInstance()->setSearchPaths(searchPathArray); - - return true; -} - -bool startRuntime() -{ -#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) -#ifndef _DEBUG - return false; -#endif -#elif(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) -#ifdef NDEBUG - return false; -#endif -#elif(CC_TARGET_PLATFORM == CC_PLATFORM_MAC || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) -#ifndef COCOS2D_DEBUG - return false; -#endif -#endif - - static ConsoleCustomCommand s_customCommand; - auto engine = LuaEngine::getInstance(); - ScriptEngineManager::getInstance()->setScriptEngine(engine); - - LuaStack* stack = engine->getLuaStack(); - register_runtime_override_function(stack->getLuaState()); - - luaopen_debugger(engine->getLuaStack()->getLuaState()); - - readResFileFinfo(); - auto scene = Scene::create(); - s_pConnectLayer = new ConnectWaitLayer(); - s_pConnectLayer->autorelease(); - auto director = Director::getInstance(); - scene->addChild(s_pConnectLayer); - director->runWithScene(scene); - return true; -} diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/config.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/config.h new file mode 100644 index 0000000000..e471ac7569 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/config.h @@ -0,0 +1,185 @@ +/* Version number of package */ +#define VERSION "2.5.0" + +#ifdef _WIN32 +/* protobuf config.h for MSVC. On other platforms, this is generated + * automatically by autoheader / autoconf / configure. */ + +/* the location of */ +#define HASH_MAP_H + +/* the namespace of hash_map/hash_set */ +// Apparently Microsoft decided to move hash_map *back* to the std namespace +// in MSVC 2010: +// http://blogs.msdn.com/vcblog/archive/2009/05/25/stl-breaking-changes-in-visual-studio-2010-beta-1.aspx +// TODO(kenton): Use unordered_map instead, which is available in MSVC 2010. +#if _MSC_VER < 1310 || _MSC_VER >= 1600 +#define HASH_NAMESPACE std +#else +#define HASH_NAMESPACE stdext +#endif + +/* the location of */ +#define HASH_SET_H + +/* define if the compiler has hash_map */ +#define HAVE_HASH_MAP 1 + +/* define if the compiler has hash_set */ +#define HAVE_HASH_SET 1 + +/* define if you want to use zlib. See readme.txt for additional + * requirements. */ +// #define HAVE_ZLIB 1 + + +#else + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* the name of */ +#define HASH_MAP_CLASS unordered_map + +/* the location of or */ +#define HASH_MAP_H + +/* the namespace of hash_map/hash_set */ +#define HASH_NAMESPACE std + +/* the name of */ +#define HASH_SET_CLASS unordered_set + +/* the location of or */ +#define HASH_SET_H + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ftruncate' function. */ +#define HAVE_FTRUNCATE 1 + +/* define if the compiler has hash_map */ +#define HAVE_HASH_MAP 1 + +/* define if the compiler has hash_set */ +#define HAVE_HASH_SET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkdir' function. */ +#define HAVE_MKDIR 1 + +/* Define if you have POSIX threads libraries and header files. */ +#define HAVE_PTHREAD 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Enable classes using zlib compression. */ +#define HAVE_ZLIB 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "protobuf" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "protobuf@googlegroups.com" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "Protocol Buffers" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "Protocol Buffers 2.5.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "protobuf" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "2.5.0" + +/* Define to necessary symbol if this constant uses a non-standard name on + your system. */ +/* #undef PTHREAD_CREATE_JOINABLE */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + +/* Define to 1 if on MINIX. */ +/* #undef _MINIX */ + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +/* #undef _POSIX_1_SOURCE */ + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +/* #undef _POSIX_SOURCE */ + +#endif \ No newline at end of file diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/extension_set.cc b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/extension_set.cc new file mode 100644 index 0000000000..2cbba8f546 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/extension_set.cc @@ -0,0 +1,1461 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace google { +namespace protobuf { +namespace internal { + +namespace { + +inline WireFormatLite::FieldType real_type(FieldType type) { + GOOGLE_DCHECK(type > 0 && type <= WireFormatLite::MAX_FIELD_TYPE); + return static_cast(type); +} + +inline WireFormatLite::CppType cpp_type(FieldType type) { + return WireFormatLite::FieldTypeToCppType(real_type(type)); +} + +// Registry stuff. +typedef hash_map, + ExtensionInfo> ExtensionRegistry; +ExtensionRegistry* registry_ = NULL; +GOOGLE_PROTOBUF_DECLARE_ONCE(registry_init_); + +void DeleteRegistry() { + delete registry_; + registry_ = NULL; +} + +void InitRegistry() { + registry_ = new ExtensionRegistry; + OnShutdown(&DeleteRegistry); +} + +// This function is only called at startup, so there is no need for thread- +// safety. +void Register(const MessageLite* containing_type, + int number, ExtensionInfo info) { + ::google::protobuf::GoogleOnceInit(®istry_init_, &InitRegistry); + + if (!InsertIfNotPresent(registry_, make_pair(containing_type, number), + info)) { + GOOGLE_LOG(FATAL) << "Multiple extension registrations for type \"" + << containing_type->GetTypeName() + << "\", field number " << number << "."; + } +} + +const ExtensionInfo* FindRegisteredExtension( + const MessageLite* containing_type, int number) { + return (registry_ == NULL) ? NULL : + FindOrNull(*registry_, make_pair(containing_type, number)); +} + +} // namespace + +ExtensionFinder::~ExtensionFinder() {} + +bool GeneratedExtensionFinder::Find(int number, ExtensionInfo* output) { + const ExtensionInfo* extension = + FindRegisteredExtension(containing_type_, number); + if (extension == NULL) { + return false; + } else { + *output = *extension; + return true; + } +} + +void ExtensionSet::RegisterExtension(const MessageLite* containing_type, + int number, FieldType type, + bool is_repeated, bool is_packed) { + GOOGLE_CHECK_NE(type, WireFormatLite::TYPE_ENUM); + GOOGLE_CHECK_NE(type, WireFormatLite::TYPE_MESSAGE); + GOOGLE_CHECK_NE(type, WireFormatLite::TYPE_GROUP); + ExtensionInfo info(type, is_repeated, is_packed); + Register(containing_type, number, info); +} + +static bool CallNoArgValidityFunc(const void* arg, int number) { + // Note: Must use C-style cast here rather than reinterpret_cast because + // the C++ standard at one point did not allow casts between function and + // data pointers and some compilers enforce this for C++-style casts. No + // compiler enforces it for C-style casts since lots of C-style code has + // relied on these kinds of casts for a long time, despite being + // technically undefined. See: + // http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#195 + // Also note: Some compilers do not allow function pointers to be "const". + // Which makes sense, I suppose, because it's meaningless. + return ((EnumValidityFunc*)arg)(number); +} + +void ExtensionSet::RegisterEnumExtension(const MessageLite* containing_type, + int number, FieldType type, + bool is_repeated, bool is_packed, + EnumValidityFunc* is_valid) { + GOOGLE_CHECK_EQ(type, WireFormatLite::TYPE_ENUM); + ExtensionInfo info(type, is_repeated, is_packed); + info.enum_validity_check.func = CallNoArgValidityFunc; + // See comment in CallNoArgValidityFunc() about why we use a c-style cast. + info.enum_validity_check.arg = (void*)is_valid; + Register(containing_type, number, info); +} + +void ExtensionSet::RegisterMessageExtension(const MessageLite* containing_type, + int number, FieldType type, + bool is_repeated, bool is_packed, + const MessageLite* prototype) { + GOOGLE_CHECK(type == WireFormatLite::TYPE_MESSAGE || + type == WireFormatLite::TYPE_GROUP); + ExtensionInfo info(type, is_repeated, is_packed); + info.message_prototype = prototype; + Register(containing_type, number, info); +} + + +// =================================================================== +// Constructors and basic methods. + +ExtensionSet::ExtensionSet() {} + +ExtensionSet::~ExtensionSet() { + for (map::iterator iter = extensions_.begin(); + iter != extensions_.end(); ++iter) { + iter->second.Free(); + } +} + +// Defined in extension_set_heavy.cc. +// void ExtensionSet::AppendToList(const Descriptor* containing_type, +// const DescriptorPool* pool, +// vector* output) const + +bool ExtensionSet::Has(int number) const { + map::const_iterator iter = extensions_.find(number); + if (iter == extensions_.end()) return false; + GOOGLE_DCHECK(!iter->second.is_repeated); + return !iter->second.is_cleared; +} + +int ExtensionSet::NumExtensions() const { + int result = 0; + for (map::const_iterator iter = extensions_.begin(); + iter != extensions_.end(); ++iter) { + if (!iter->second.is_cleared) { + ++result; + } + } + return result; +} + +int ExtensionSet::ExtensionSize(int number) const { + map::const_iterator iter = extensions_.find(number); + if (iter == extensions_.end()) return false; + return iter->second.GetSize(); +} + +FieldType ExtensionSet::ExtensionType(int number) const { + map::const_iterator iter = extensions_.find(number); + if (iter == extensions_.end()) { + GOOGLE_LOG(DFATAL) << "Don't lookup extension types if they aren't present (1). "; + return 0; + } + if (iter->second.is_cleared) { + GOOGLE_LOG(DFATAL) << "Don't lookup extension types if they aren't present (2). "; + } + return iter->second.type; +} + +void ExtensionSet::ClearExtension(int number) { + map::iterator iter = extensions_.find(number); + if (iter == extensions_.end()) return; + iter->second.Clear(); +} + +// =================================================================== +// Field accessors + +namespace { + +enum Cardinality { + REPEATED, + OPTIONAL +}; + +} // namespace + +#define GOOGLE_DCHECK_TYPE(EXTENSION, LABEL, CPPTYPE) \ + GOOGLE_DCHECK_EQ((EXTENSION).is_repeated ? REPEATED : OPTIONAL, LABEL); \ + GOOGLE_DCHECK_EQ(cpp_type((EXTENSION).type), WireFormatLite::CPPTYPE_##CPPTYPE) + +// ------------------------------------------------------------------- +// Primitives + +#define PRIMITIVE_ACCESSORS(UPPERCASE, LOWERCASE, CAMELCASE) \ + \ +LOWERCASE ExtensionSet::Get##CAMELCASE(int number, \ + LOWERCASE default_value) const { \ + map::const_iterator iter = extensions_.find(number); \ + if (iter == extensions_.end() || iter->second.is_cleared) { \ + return default_value; \ + } else { \ + GOOGLE_DCHECK_TYPE(iter->second, OPTIONAL, UPPERCASE); \ + return iter->second.LOWERCASE##_value; \ + } \ +} \ + \ +void ExtensionSet::Set##CAMELCASE(int number, FieldType type, \ + LOWERCASE value, \ + const FieldDescriptor* descriptor) { \ + Extension* extension; \ + if (MaybeNewExtension(number, descriptor, &extension)) { \ + extension->type = type; \ + GOOGLE_DCHECK_EQ(cpp_type(extension->type), WireFormatLite::CPPTYPE_##UPPERCASE); \ + extension->is_repeated = false; \ + } else { \ + GOOGLE_DCHECK_TYPE(*extension, OPTIONAL, UPPERCASE); \ + } \ + extension->is_cleared = false; \ + extension->LOWERCASE##_value = value; \ +} \ + \ +LOWERCASE ExtensionSet::GetRepeated##CAMELCASE(int number, int index) const { \ + map::const_iterator iter = extensions_.find(number); \ + GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty)."; \ + GOOGLE_DCHECK_TYPE(iter->second, REPEATED, UPPERCASE); \ + return iter->second.repeated_##LOWERCASE##_value->Get(index); \ +} \ + \ +void ExtensionSet::SetRepeated##CAMELCASE( \ + int number, int index, LOWERCASE value) { \ + map::iterator iter = extensions_.find(number); \ + GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty)."; \ + GOOGLE_DCHECK_TYPE(iter->second, REPEATED, UPPERCASE); \ + iter->second.repeated_##LOWERCASE##_value->Set(index, value); \ +} \ + \ +void ExtensionSet::Add##CAMELCASE(int number, FieldType type, \ + bool packed, LOWERCASE value, \ + const FieldDescriptor* descriptor) { \ + Extension* extension; \ + if (MaybeNewExtension(number, descriptor, &extension)) { \ + extension->type = type; \ + GOOGLE_DCHECK_EQ(cpp_type(extension->type), WireFormatLite::CPPTYPE_##UPPERCASE); \ + extension->is_repeated = true; \ + extension->is_packed = packed; \ + extension->repeated_##LOWERCASE##_value = new RepeatedField(); \ + } else { \ + GOOGLE_DCHECK_TYPE(*extension, REPEATED, UPPERCASE); \ + GOOGLE_DCHECK_EQ(extension->is_packed, packed); \ + } \ + extension->repeated_##LOWERCASE##_value->Add(value); \ +} + +PRIMITIVE_ACCESSORS( INT32, int32, Int32) +PRIMITIVE_ACCESSORS( INT64, int64, Int64) +PRIMITIVE_ACCESSORS(UINT32, uint32, UInt32) +PRIMITIVE_ACCESSORS(UINT64, uint64, UInt64) +PRIMITIVE_ACCESSORS( FLOAT, float, Float) +PRIMITIVE_ACCESSORS(DOUBLE, double, Double) +PRIMITIVE_ACCESSORS( BOOL, bool, Bool) + +#undef PRIMITIVE_ACCESSORS + +void* ExtensionSet::MutableRawRepeatedField(int number) { + // We assume that all the RepeatedField<>* pointers have the same + // size and alignment within the anonymous union in Extension. + map::const_iterator iter = extensions_.find(number); + GOOGLE_CHECK(iter != extensions_.end()) << "no extension numbered " << number; + return iter->second.repeated_int32_value; +} + +// ------------------------------------------------------------------- +// Enums + +int ExtensionSet::GetEnum(int number, int default_value) const { + map::const_iterator iter = extensions_.find(number); + if (iter == extensions_.end() || iter->second.is_cleared) { + // Not present. Return the default value. + return default_value; + } else { + GOOGLE_DCHECK_TYPE(iter->second, OPTIONAL, ENUM); + return iter->second.enum_value; + } +} + +void ExtensionSet::SetEnum(int number, FieldType type, int value, + const FieldDescriptor* descriptor) { + Extension* extension; + if (MaybeNewExtension(number, descriptor, &extension)) { + extension->type = type; + GOOGLE_DCHECK_EQ(cpp_type(extension->type), WireFormatLite::CPPTYPE_ENUM); + extension->is_repeated = false; + } else { + GOOGLE_DCHECK_TYPE(*extension, OPTIONAL, ENUM); + } + extension->is_cleared = false; + extension->enum_value = value; +} + +int ExtensionSet::GetRepeatedEnum(int number, int index) const { + map::const_iterator iter = extensions_.find(number); + GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty)."; + GOOGLE_DCHECK_TYPE(iter->second, REPEATED, ENUM); + return iter->second.repeated_enum_value->Get(index); +} + +void ExtensionSet::SetRepeatedEnum(int number, int index, int value) { + map::iterator iter = extensions_.find(number); + GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty)."; + GOOGLE_DCHECK_TYPE(iter->second, REPEATED, ENUM); + iter->second.repeated_enum_value->Set(index, value); +} + +void ExtensionSet::AddEnum(int number, FieldType type, + bool packed, int value, + const FieldDescriptor* descriptor) { + Extension* extension; + if (MaybeNewExtension(number, descriptor, &extension)) { + extension->type = type; + GOOGLE_DCHECK_EQ(cpp_type(extension->type), WireFormatLite::CPPTYPE_ENUM); + extension->is_repeated = true; + extension->is_packed = packed; + extension->repeated_enum_value = new RepeatedField(); + } else { + GOOGLE_DCHECK_TYPE(*extension, REPEATED, ENUM); + GOOGLE_DCHECK_EQ(extension->is_packed, packed); + } + extension->repeated_enum_value->Add(value); +} + +// ------------------------------------------------------------------- +// Strings + +const string& ExtensionSet::GetString(int number, + const string& default_value) const { + map::const_iterator iter = extensions_.find(number); + if (iter == extensions_.end() || iter->second.is_cleared) { + // Not present. Return the default value. + return default_value; + } else { + GOOGLE_DCHECK_TYPE(iter->second, OPTIONAL, STRING); + return *iter->second.string_value; + } +} + +string* ExtensionSet::MutableString(int number, FieldType type, + const FieldDescriptor* descriptor) { + Extension* extension; + if (MaybeNewExtension(number, descriptor, &extension)) { + extension->type = type; + GOOGLE_DCHECK_EQ(cpp_type(extension->type), WireFormatLite::CPPTYPE_STRING); + extension->is_repeated = false; + extension->string_value = new string; + } else { + GOOGLE_DCHECK_TYPE(*extension, OPTIONAL, STRING); + } + extension->is_cleared = false; + return extension->string_value; +} + +const string& ExtensionSet::GetRepeatedString(int number, int index) const { + map::const_iterator iter = extensions_.find(number); + GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty)."; + GOOGLE_DCHECK_TYPE(iter->second, REPEATED, STRING); + return iter->second.repeated_string_value->Get(index); +} + +string* ExtensionSet::MutableRepeatedString(int number, int index) { + map::iterator iter = extensions_.find(number); + GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty)."; + GOOGLE_DCHECK_TYPE(iter->second, REPEATED, STRING); + return iter->second.repeated_string_value->Mutable(index); +} + +string* ExtensionSet::AddString(int number, FieldType type, + const FieldDescriptor* descriptor) { + Extension* extension; + if (MaybeNewExtension(number, descriptor, &extension)) { + extension->type = type; + GOOGLE_DCHECK_EQ(cpp_type(extension->type), WireFormatLite::CPPTYPE_STRING); + extension->is_repeated = true; + extension->is_packed = false; + extension->repeated_string_value = new RepeatedPtrField(); + } else { + GOOGLE_DCHECK_TYPE(*extension, REPEATED, STRING); + } + return extension->repeated_string_value->Add(); +} + +// ------------------------------------------------------------------- +// Messages + +const MessageLite& ExtensionSet::GetMessage( + int number, const MessageLite& default_value) const { + map::const_iterator iter = extensions_.find(number); + if (iter == extensions_.end()) { + // Not present. Return the default value. + return default_value; + } else { + GOOGLE_DCHECK_TYPE(iter->second, OPTIONAL, MESSAGE); + if (iter->second.is_lazy) { + return iter->second.lazymessage_value->GetMessage(default_value); + } else { + return *iter->second.message_value; + } + } +} + +// Defined in extension_set_heavy.cc. +// const MessageLite& ExtensionSet::GetMessage(int number, +// const Descriptor* message_type, +// MessageFactory* factory) const + +MessageLite* ExtensionSet::MutableMessage(int number, FieldType type, + const MessageLite& prototype, + const FieldDescriptor* descriptor) { + Extension* extension; + if (MaybeNewExtension(number, descriptor, &extension)) { + extension->type = type; + GOOGLE_DCHECK_EQ(cpp_type(extension->type), WireFormatLite::CPPTYPE_MESSAGE); + extension->is_repeated = false; + extension->is_lazy = false; + extension->message_value = prototype.New(); + extension->is_cleared = false; + return extension->message_value; + } else { + GOOGLE_DCHECK_TYPE(*extension, OPTIONAL, MESSAGE); + extension->is_cleared = false; + if (extension->is_lazy) { + return extension->lazymessage_value->MutableMessage(prototype); + } else { + return extension->message_value; + } + } +} + +// Defined in extension_set_heavy.cc. +// MessageLite* ExtensionSet::MutableMessage(int number, FieldType type, +// const Descriptor* message_type, +// MessageFactory* factory) + +void ExtensionSet::SetAllocatedMessage(int number, FieldType type, + const FieldDescriptor* descriptor, + MessageLite* message) { + if (message == NULL) { + ClearExtension(number); + return; + } + Extension* extension; + if (MaybeNewExtension(number, descriptor, &extension)) { + extension->type = type; + GOOGLE_DCHECK_EQ(cpp_type(extension->type), WireFormatLite::CPPTYPE_MESSAGE); + extension->is_repeated = false; + extension->is_lazy = false; + extension->message_value = message; + } else { + GOOGLE_DCHECK_TYPE(*extension, OPTIONAL, MESSAGE); + if (extension->is_lazy) { + extension->lazymessage_value->SetAllocatedMessage(message); + } else { + delete extension->message_value; + extension->message_value = message; + } + } + extension->is_cleared = false; +} + +MessageLite* ExtensionSet::ReleaseMessage(int number, + const MessageLite& prototype) { + map::iterator iter = extensions_.find(number); + if (iter == extensions_.end()) { + // Not present. Return NULL. + return NULL; + } else { + GOOGLE_DCHECK_TYPE(iter->second, OPTIONAL, MESSAGE); + MessageLite* ret = NULL; + if (iter->second.is_lazy) { + ret = iter->second.lazymessage_value->ReleaseMessage(prototype); + delete iter->second.lazymessage_value; + } else { + ret = iter->second.message_value; + } + extensions_.erase(number); + return ret; + } +} + +// Defined in extension_set_heavy.cc. +// MessageLite* ExtensionSet::ReleaseMessage(const FieldDescriptor* descriptor, +// MessageFactory* factory); + +const MessageLite& ExtensionSet::GetRepeatedMessage( + int number, int index) const { + map::const_iterator iter = extensions_.find(number); + GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty)."; + GOOGLE_DCHECK_TYPE(iter->second, REPEATED, MESSAGE); + return iter->second.repeated_message_value->Get(index); +} + +MessageLite* ExtensionSet::MutableRepeatedMessage(int number, int index) { + map::iterator iter = extensions_.find(number); + GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty)."; + GOOGLE_DCHECK_TYPE(iter->second, REPEATED, MESSAGE); + return iter->second.repeated_message_value->Mutable(index); +} + +MessageLite* ExtensionSet::AddMessage(int number, FieldType type, + const MessageLite& prototype, + const FieldDescriptor* descriptor) { + Extension* extension; + if (MaybeNewExtension(number, descriptor, &extension)) { + extension->type = type; + GOOGLE_DCHECK_EQ(cpp_type(extension->type), WireFormatLite::CPPTYPE_MESSAGE); + extension->is_repeated = true; + extension->repeated_message_value = + new RepeatedPtrField(); + } else { + GOOGLE_DCHECK_TYPE(*extension, REPEATED, MESSAGE); + } + + // RepeatedPtrField does not know how to Add() since it cannot + // allocate an abstract object, so we have to be tricky. + MessageLite* result = extension->repeated_message_value + ->AddFromCleared >(); + if (result == NULL) { + result = prototype.New(); + extension->repeated_message_value->AddAllocated(result); + } + return result; +} + +// Defined in extension_set_heavy.cc. +// MessageLite* ExtensionSet::AddMessage(int number, FieldType type, +// const Descriptor* message_type, +// MessageFactory* factory) + +#undef GOOGLE_DCHECK_TYPE + +void ExtensionSet::RemoveLast(int number) { + map::iterator iter = extensions_.find(number); + GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty)."; + + Extension* extension = &iter->second; + GOOGLE_DCHECK(extension->is_repeated); + + switch(cpp_type(extension->type)) { + case WireFormatLite::CPPTYPE_INT32: + extension->repeated_int32_value->RemoveLast(); + break; + case WireFormatLite::CPPTYPE_INT64: + extension->repeated_int64_value->RemoveLast(); + break; + case WireFormatLite::CPPTYPE_UINT32: + extension->repeated_uint32_value->RemoveLast(); + break; + case WireFormatLite::CPPTYPE_UINT64: + extension->repeated_uint64_value->RemoveLast(); + break; + case WireFormatLite::CPPTYPE_FLOAT: + extension->repeated_float_value->RemoveLast(); + break; + case WireFormatLite::CPPTYPE_DOUBLE: + extension->repeated_double_value->RemoveLast(); + break; + case WireFormatLite::CPPTYPE_BOOL: + extension->repeated_bool_value->RemoveLast(); + break; + case WireFormatLite::CPPTYPE_ENUM: + extension->repeated_enum_value->RemoveLast(); + break; + case WireFormatLite::CPPTYPE_STRING: + extension->repeated_string_value->RemoveLast(); + break; + case WireFormatLite::CPPTYPE_MESSAGE: + extension->repeated_message_value->RemoveLast(); + break; + } +} + +MessageLite* ExtensionSet::ReleaseLast(int number) { + map::iterator iter = extensions_.find(number); + GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty)."; + + Extension* extension = &iter->second; + GOOGLE_DCHECK(extension->is_repeated); + GOOGLE_DCHECK(cpp_type(extension->type) == WireFormatLite::CPPTYPE_MESSAGE); + return extension->repeated_message_value->ReleaseLast(); +} + +void ExtensionSet::SwapElements(int number, int index1, int index2) { + map::iterator iter = extensions_.find(number); + GOOGLE_CHECK(iter != extensions_.end()) << "Index out-of-bounds (field is empty)."; + + Extension* extension = &iter->second; + GOOGLE_DCHECK(extension->is_repeated); + + switch(cpp_type(extension->type)) { + case WireFormatLite::CPPTYPE_INT32: + extension->repeated_int32_value->SwapElements(index1, index2); + break; + case WireFormatLite::CPPTYPE_INT64: + extension->repeated_int64_value->SwapElements(index1, index2); + break; + case WireFormatLite::CPPTYPE_UINT32: + extension->repeated_uint32_value->SwapElements(index1, index2); + break; + case WireFormatLite::CPPTYPE_UINT64: + extension->repeated_uint64_value->SwapElements(index1, index2); + break; + case WireFormatLite::CPPTYPE_FLOAT: + extension->repeated_float_value->SwapElements(index1, index2); + break; + case WireFormatLite::CPPTYPE_DOUBLE: + extension->repeated_double_value->SwapElements(index1, index2); + break; + case WireFormatLite::CPPTYPE_BOOL: + extension->repeated_bool_value->SwapElements(index1, index2); + break; + case WireFormatLite::CPPTYPE_ENUM: + extension->repeated_enum_value->SwapElements(index1, index2); + break; + case WireFormatLite::CPPTYPE_STRING: + extension->repeated_string_value->SwapElements(index1, index2); + break; + case WireFormatLite::CPPTYPE_MESSAGE: + extension->repeated_message_value->SwapElements(index1, index2); + break; + } +} + +// =================================================================== + +void ExtensionSet::Clear() { + for (map::iterator iter = extensions_.begin(); + iter != extensions_.end(); ++iter) { + iter->second.Clear(); + } +} + +void ExtensionSet::MergeFrom(const ExtensionSet& other) { + for (map::const_iterator iter = other.extensions_.begin(); + iter != other.extensions_.end(); ++iter) { + const Extension& other_extension = iter->second; + + if (other_extension.is_repeated) { + Extension* extension; + bool is_new = MaybeNewExtension(iter->first, other_extension.descriptor, + &extension); + if (is_new) { + // Extension did not already exist in set. + extension->type = other_extension.type; + extension->is_packed = other_extension.is_packed; + extension->is_repeated = true; + } else { + GOOGLE_DCHECK_EQ(extension->type, other_extension.type); + GOOGLE_DCHECK_EQ(extension->is_packed, other_extension.is_packed); + GOOGLE_DCHECK(extension->is_repeated); + } + + switch (cpp_type(other_extension.type)) { +#define HANDLE_TYPE(UPPERCASE, LOWERCASE, REPEATED_TYPE) \ + case WireFormatLite::CPPTYPE_##UPPERCASE: \ + if (is_new) { \ + extension->repeated_##LOWERCASE##_value = \ + new REPEATED_TYPE; \ + } \ + extension->repeated_##LOWERCASE##_value->MergeFrom( \ + *other_extension.repeated_##LOWERCASE##_value); \ + break; + + HANDLE_TYPE( INT32, int32, RepeatedField < int32>); + HANDLE_TYPE( INT64, int64, RepeatedField < int64>); + HANDLE_TYPE( UINT32, uint32, RepeatedField < uint32>); + HANDLE_TYPE( UINT64, uint64, RepeatedField < uint64>); + HANDLE_TYPE( FLOAT, float, RepeatedField < float>); + HANDLE_TYPE( DOUBLE, double, RepeatedField < double>); + HANDLE_TYPE( BOOL, bool, RepeatedField < bool>); + HANDLE_TYPE( ENUM, enum, RepeatedField < int>); + HANDLE_TYPE( STRING, string, RepeatedPtrField< string>); +#undef HANDLE_TYPE + + case WireFormatLite::CPPTYPE_MESSAGE: + if (is_new) { + extension->repeated_message_value = + new RepeatedPtrField(); + } + // We can't call RepeatedPtrField::MergeFrom() because + // it would attempt to allocate new objects. + RepeatedPtrField* other_repeated_message = + other_extension.repeated_message_value; + for (int i = 0; i < other_repeated_message->size(); i++) { + const MessageLite& other_message = other_repeated_message->Get(i); + MessageLite* target = extension->repeated_message_value + ->AddFromCleared >(); + if (target == NULL) { + target = other_message.New(); + extension->repeated_message_value->AddAllocated(target); + } + target->CheckTypeAndMergeFrom(other_message); + } + break; + } + } else { + if (!other_extension.is_cleared) { + switch (cpp_type(other_extension.type)) { +#define HANDLE_TYPE(UPPERCASE, LOWERCASE, CAMELCASE) \ + case WireFormatLite::CPPTYPE_##UPPERCASE: \ + Set##CAMELCASE(iter->first, other_extension.type, \ + other_extension.LOWERCASE##_value, \ + other_extension.descriptor); \ + break; + + HANDLE_TYPE( INT32, int32, Int32); + HANDLE_TYPE( INT64, int64, Int64); + HANDLE_TYPE(UINT32, uint32, UInt32); + HANDLE_TYPE(UINT64, uint64, UInt64); + HANDLE_TYPE( FLOAT, float, Float); + HANDLE_TYPE(DOUBLE, double, Double); + HANDLE_TYPE( BOOL, bool, Bool); + HANDLE_TYPE( ENUM, enum, Enum); +#undef HANDLE_TYPE + case WireFormatLite::CPPTYPE_STRING: + SetString(iter->first, other_extension.type, + *other_extension.string_value, + other_extension.descriptor); + break; + case WireFormatLite::CPPTYPE_MESSAGE: { + Extension* extension; + bool is_new = MaybeNewExtension(iter->first, + other_extension.descriptor, + &extension); + if (is_new) { + extension->type = other_extension.type; + extension->is_packed = other_extension.is_packed; + extension->is_repeated = false; + if (other_extension.is_lazy) { + extension->is_lazy = true; + extension->lazymessage_value = + other_extension.lazymessage_value->New(); + extension->lazymessage_value->MergeFrom( + *other_extension.lazymessage_value); + } else { + extension->is_lazy = false; + extension->message_value = + other_extension.message_value->New(); + extension->message_value->CheckTypeAndMergeFrom( + *other_extension.message_value); + } + } else { + GOOGLE_DCHECK_EQ(extension->type, other_extension.type); + GOOGLE_DCHECK_EQ(extension->is_packed,other_extension.is_packed); + GOOGLE_DCHECK(!extension->is_repeated); + if (other_extension.is_lazy) { + if (extension->is_lazy) { + extension->lazymessage_value->MergeFrom( + *other_extension.lazymessage_value); + } else { + extension->message_value->CheckTypeAndMergeFrom( + other_extension.lazymessage_value->GetMessage( + *extension->message_value)); + } + } else { + if (extension->is_lazy) { + extension->lazymessage_value->MutableMessage( + *other_extension.message_value)->CheckTypeAndMergeFrom( + *other_extension.message_value); + } else { + extension->message_value->CheckTypeAndMergeFrom( + *other_extension.message_value); + } + } + } + extension->is_cleared = false; + break; + } + } + } + } + } +} + +void ExtensionSet::Swap(ExtensionSet* x) { + extensions_.swap(x->extensions_); +} + +bool ExtensionSet::IsInitialized() const { + // Extensions are never required. However, we need to check that all + // embedded messages are initialized. + for (map::const_iterator iter = extensions_.begin(); + iter != extensions_.end(); ++iter) { + const Extension& extension = iter->second; + if (cpp_type(extension.type) == WireFormatLite::CPPTYPE_MESSAGE) { + if (extension.is_repeated) { + for (int i = 0; i < extension.repeated_message_value->size(); i++) { + if (!extension.repeated_message_value->Get(i).IsInitialized()) { + return false; + } + } + } else { + if (!extension.is_cleared) { + if (extension.is_lazy) { + if (!extension.lazymessage_value->IsInitialized()) return false; + } else { + if (!extension.message_value->IsInitialized()) return false; + } + } + } + } + } + + return true; +} + +bool ExtensionSet::FindExtensionInfoFromTag( + uint32 tag, ExtensionFinder* extension_finder, + int* field_number, ExtensionInfo* extension) { + *field_number = WireFormatLite::GetTagFieldNumber(tag); + WireFormatLite::WireType wire_type = WireFormatLite::GetTagWireType(tag); + + bool is_unknown; + if (!extension_finder->Find(*field_number, extension)) { + is_unknown = true; + } else if (extension->is_packed) { + is_unknown = (wire_type != WireFormatLite::WIRETYPE_LENGTH_DELIMITED); + } else { + WireFormatLite::WireType expected_wire_type = + WireFormatLite::WireTypeForFieldType(real_type(extension->type)); + is_unknown = (wire_type != expected_wire_type); + } + return !is_unknown; +} + +bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input, + ExtensionFinder* extension_finder, + FieldSkipper* field_skipper) { + int number; + ExtensionInfo extension; + if (!FindExtensionInfoFromTag(tag, extension_finder, &number, &extension)) { + return field_skipper->SkipField(input, tag); + } else { + return ParseFieldWithExtensionInfo(number, extension, input, field_skipper); + } +} + +bool ExtensionSet::ParseFieldWithExtensionInfo( + int number, const ExtensionInfo& extension, + io::CodedInputStream* input, + FieldSkipper* field_skipper) { + if (extension.is_packed) { + uint32 size; + if (!input->ReadVarint32(&size)) return false; + io::CodedInputStream::Limit limit = input->PushLimit(size); + + switch (extension.type) { +#define HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE) \ + case WireFormatLite::TYPE_##UPPERCASE: \ + while (input->BytesUntilLimit() > 0) { \ + CPP_LOWERCASE value; \ + if (!WireFormatLite::ReadPrimitive< \ + CPP_LOWERCASE, WireFormatLite::TYPE_##UPPERCASE>( \ + input, &value)) return false; \ + Add##CPP_CAMELCASE(number, WireFormatLite::TYPE_##UPPERCASE, \ + true, value, extension.descriptor); \ + } \ + break + + HANDLE_TYPE( INT32, Int32, int32); + HANDLE_TYPE( INT64, Int64, int64); + HANDLE_TYPE( UINT32, UInt32, uint32); + HANDLE_TYPE( UINT64, UInt64, uint64); + HANDLE_TYPE( SINT32, Int32, int32); + HANDLE_TYPE( SINT64, Int64, int64); + HANDLE_TYPE( FIXED32, UInt32, uint32); + HANDLE_TYPE( FIXED64, UInt64, uint64); + HANDLE_TYPE(SFIXED32, Int32, int32); + HANDLE_TYPE(SFIXED64, Int64, int64); + HANDLE_TYPE( FLOAT, Float, float); + HANDLE_TYPE( DOUBLE, Double, double); + HANDLE_TYPE( BOOL, Bool, bool); +#undef HANDLE_TYPE + + case WireFormatLite::TYPE_ENUM: + while (input->BytesUntilLimit() > 0) { + int value; + if (!WireFormatLite::ReadPrimitive( + input, &value)) return false; + if (extension.enum_validity_check.func( + extension.enum_validity_check.arg, value)) { + AddEnum(number, WireFormatLite::TYPE_ENUM, true, value, + extension.descriptor); + } + } + break; + + case WireFormatLite::TYPE_STRING: + case WireFormatLite::TYPE_BYTES: + case WireFormatLite::TYPE_GROUP: + case WireFormatLite::TYPE_MESSAGE: + GOOGLE_LOG(FATAL) << "Non-primitive types can't be packed."; + break; + } + + input->PopLimit(limit); + } else { + switch (extension.type) { +#define HANDLE_TYPE(UPPERCASE, CPP_CAMELCASE, CPP_LOWERCASE) \ + case WireFormatLite::TYPE_##UPPERCASE: { \ + CPP_LOWERCASE value; \ + if (!WireFormatLite::ReadPrimitive< \ + CPP_LOWERCASE, WireFormatLite::TYPE_##UPPERCASE>( \ + input, &value)) return false; \ + if (extension.is_repeated) { \ + Add##CPP_CAMELCASE(number, WireFormatLite::TYPE_##UPPERCASE, \ + false, value, extension.descriptor); \ + } else { \ + Set##CPP_CAMELCASE(number, WireFormatLite::TYPE_##UPPERCASE, value, \ + extension.descriptor); \ + } \ + } break + + HANDLE_TYPE( INT32, Int32, int32); + HANDLE_TYPE( INT64, Int64, int64); + HANDLE_TYPE( UINT32, UInt32, uint32); + HANDLE_TYPE( UINT64, UInt64, uint64); + HANDLE_TYPE( SINT32, Int32, int32); + HANDLE_TYPE( SINT64, Int64, int64); + HANDLE_TYPE( FIXED32, UInt32, uint32); + HANDLE_TYPE( FIXED64, UInt64, uint64); + HANDLE_TYPE(SFIXED32, Int32, int32); + HANDLE_TYPE(SFIXED64, Int64, int64); + HANDLE_TYPE( FLOAT, Float, float); + HANDLE_TYPE( DOUBLE, Double, double); + HANDLE_TYPE( BOOL, Bool, bool); +#undef HANDLE_TYPE + + case WireFormatLite::TYPE_ENUM: { + int value; + if (!WireFormatLite::ReadPrimitive( + input, &value)) return false; + + if (!extension.enum_validity_check.func( + extension.enum_validity_check.arg, value)) { + // Invalid value. Treat as unknown. + field_skipper->SkipUnknownEnum(number, value); + } else if (extension.is_repeated) { + AddEnum(number, WireFormatLite::TYPE_ENUM, false, value, + extension.descriptor); + } else { + SetEnum(number, WireFormatLite::TYPE_ENUM, value, + extension.descriptor); + } + break; + } + + case WireFormatLite::TYPE_STRING: { + string* value = extension.is_repeated ? + AddString(number, WireFormatLite::TYPE_STRING, extension.descriptor) : + MutableString(number, WireFormatLite::TYPE_STRING, + extension.descriptor); + if (!WireFormatLite::ReadString(input, value)) return false; + break; + } + + case WireFormatLite::TYPE_BYTES: { + string* value = extension.is_repeated ? + AddString(number, WireFormatLite::TYPE_BYTES, extension.descriptor) : + MutableString(number, WireFormatLite::TYPE_BYTES, + extension.descriptor); + if (!WireFormatLite::ReadBytes(input, value)) return false; + break; + } + + case WireFormatLite::TYPE_GROUP: { + MessageLite* value = extension.is_repeated ? + AddMessage(number, WireFormatLite::TYPE_GROUP, + *extension.message_prototype, extension.descriptor) : + MutableMessage(number, WireFormatLite::TYPE_GROUP, + *extension.message_prototype, extension.descriptor); + if (!WireFormatLite::ReadGroup(number, input, value)) return false; + break; + } + + case WireFormatLite::TYPE_MESSAGE: { + MessageLite* value = extension.is_repeated ? + AddMessage(number, WireFormatLite::TYPE_MESSAGE, + *extension.message_prototype, extension.descriptor) : + MutableMessage(number, WireFormatLite::TYPE_MESSAGE, + *extension.message_prototype, extension.descriptor); + if (!WireFormatLite::ReadMessage(input, value)) return false; + break; + } + } + } + + return true; +} + +bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input, + const MessageLite* containing_type) { + FieldSkipper skipper; + GeneratedExtensionFinder finder(containing_type); + return ParseField(tag, input, &finder, &skipper); +} + +// Defined in extension_set_heavy.cc. +// bool ExtensionSet::ParseField(uint32 tag, io::CodedInputStream* input, +// const MessageLite* containing_type, +// UnknownFieldSet* unknown_fields) + +// Defined in extension_set_heavy.cc. +// bool ExtensionSet::ParseMessageSet(io::CodedInputStream* input, +// const MessageLite* containing_type, +// UnknownFieldSet* unknown_fields); + +void ExtensionSet::SerializeWithCachedSizes( + int start_field_number, int end_field_number, + io::CodedOutputStream* output) const { + map::const_iterator iter; + for (iter = extensions_.lower_bound(start_field_number); + iter != extensions_.end() && iter->first < end_field_number; + ++iter) { + iter->second.SerializeFieldWithCachedSizes(iter->first, output); + } +} + +int ExtensionSet::ByteSize() const { + int total_size = 0; + + for (map::const_iterator iter = extensions_.begin(); + iter != extensions_.end(); ++iter) { + total_size += iter->second.ByteSize(iter->first); + } + + return total_size; +} + +// Defined in extension_set_heavy.cc. +// int ExtensionSet::SpaceUsedExcludingSelf() const + +bool ExtensionSet::MaybeNewExtension(int number, + const FieldDescriptor* descriptor, + Extension** result) { + pair::iterator, bool> insert_result = + extensions_.insert(make_pair(number, Extension())); + *result = &insert_result.first->second; + (*result)->descriptor = descriptor; + return insert_result.second; +} + +// =================================================================== +// Methods of ExtensionSet::Extension + +void ExtensionSet::Extension::Clear() { + if (is_repeated) { + switch (cpp_type(type)) { +#define HANDLE_TYPE(UPPERCASE, LOWERCASE) \ + case WireFormatLite::CPPTYPE_##UPPERCASE: \ + repeated_##LOWERCASE##_value->Clear(); \ + break + + HANDLE_TYPE( INT32, int32); + HANDLE_TYPE( INT64, int64); + HANDLE_TYPE( UINT32, uint32); + HANDLE_TYPE( UINT64, uint64); + HANDLE_TYPE( FLOAT, float); + HANDLE_TYPE( DOUBLE, double); + HANDLE_TYPE( BOOL, bool); + HANDLE_TYPE( ENUM, enum); + HANDLE_TYPE( STRING, string); + HANDLE_TYPE(MESSAGE, message); +#undef HANDLE_TYPE + } + } else { + if (!is_cleared) { + switch (cpp_type(type)) { + case WireFormatLite::CPPTYPE_STRING: + string_value->clear(); + break; + case WireFormatLite::CPPTYPE_MESSAGE: + if (is_lazy) { + lazymessage_value->Clear(); + } else { + message_value->Clear(); + } + break; + default: + // No need to do anything. Get*() will return the default value + // as long as is_cleared is true and Set*() will overwrite the + // previous value. + break; + } + + is_cleared = true; + } + } +} + +void ExtensionSet::Extension::SerializeFieldWithCachedSizes( + int number, + io::CodedOutputStream* output) const { + if (is_repeated) { + if (is_packed) { + if (cached_size == 0) return; + + WireFormatLite::WriteTag(number, + WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output); + output->WriteVarint32(cached_size); + + switch (real_type(type)) { +#define HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE) \ + case WireFormatLite::TYPE_##UPPERCASE: \ + for (int i = 0; i < repeated_##LOWERCASE##_value->size(); i++) { \ + WireFormatLite::Write##CAMELCASE##NoTag( \ + repeated_##LOWERCASE##_value->Get(i), output); \ + } \ + break + + HANDLE_TYPE( INT32, Int32, int32); + HANDLE_TYPE( INT64, Int64, int64); + HANDLE_TYPE( UINT32, UInt32, uint32); + HANDLE_TYPE( UINT64, UInt64, uint64); + HANDLE_TYPE( SINT32, SInt32, int32); + HANDLE_TYPE( SINT64, SInt64, int64); + HANDLE_TYPE( FIXED32, Fixed32, uint32); + HANDLE_TYPE( FIXED64, Fixed64, uint64); + HANDLE_TYPE(SFIXED32, SFixed32, int32); + HANDLE_TYPE(SFIXED64, SFixed64, int64); + HANDLE_TYPE( FLOAT, Float, float); + HANDLE_TYPE( DOUBLE, Double, double); + HANDLE_TYPE( BOOL, Bool, bool); + HANDLE_TYPE( ENUM, Enum, enum); +#undef HANDLE_TYPE + + case WireFormatLite::TYPE_STRING: + case WireFormatLite::TYPE_BYTES: + case WireFormatLite::TYPE_GROUP: + case WireFormatLite::TYPE_MESSAGE: + GOOGLE_LOG(FATAL) << "Non-primitive types can't be packed."; + break; + } + } else { + switch (real_type(type)) { +#define HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE) \ + case WireFormatLite::TYPE_##UPPERCASE: \ + for (int i = 0; i < repeated_##LOWERCASE##_value->size(); i++) { \ + WireFormatLite::Write##CAMELCASE(number, \ + repeated_##LOWERCASE##_value->Get(i), output); \ + } \ + break + + HANDLE_TYPE( INT32, Int32, int32); + HANDLE_TYPE( INT64, Int64, int64); + HANDLE_TYPE( UINT32, UInt32, uint32); + HANDLE_TYPE( UINT64, UInt64, uint64); + HANDLE_TYPE( SINT32, SInt32, int32); + HANDLE_TYPE( SINT64, SInt64, int64); + HANDLE_TYPE( FIXED32, Fixed32, uint32); + HANDLE_TYPE( FIXED64, Fixed64, uint64); + HANDLE_TYPE(SFIXED32, SFixed32, int32); + HANDLE_TYPE(SFIXED64, SFixed64, int64); + HANDLE_TYPE( FLOAT, Float, float); + HANDLE_TYPE( DOUBLE, Double, double); + HANDLE_TYPE( BOOL, Bool, bool); + HANDLE_TYPE( STRING, String, string); + HANDLE_TYPE( BYTES, Bytes, string); + HANDLE_TYPE( ENUM, Enum, enum); + HANDLE_TYPE( GROUP, Group, message); + HANDLE_TYPE( MESSAGE, Message, message); +#undef HANDLE_TYPE + } + } + } else if (!is_cleared) { + switch (real_type(type)) { +#define HANDLE_TYPE(UPPERCASE, CAMELCASE, VALUE) \ + case WireFormatLite::TYPE_##UPPERCASE: \ + WireFormatLite::Write##CAMELCASE(number, VALUE, output); \ + break + + HANDLE_TYPE( INT32, Int32, int32_value); + HANDLE_TYPE( INT64, Int64, int64_value); + HANDLE_TYPE( UINT32, UInt32, uint32_value); + HANDLE_TYPE( UINT64, UInt64, uint64_value); + HANDLE_TYPE( SINT32, SInt32, int32_value); + HANDLE_TYPE( SINT64, SInt64, int64_value); + HANDLE_TYPE( FIXED32, Fixed32, uint32_value); + HANDLE_TYPE( FIXED64, Fixed64, uint64_value); + HANDLE_TYPE(SFIXED32, SFixed32, int32_value); + HANDLE_TYPE(SFIXED64, SFixed64, int64_value); + HANDLE_TYPE( FLOAT, Float, float_value); + HANDLE_TYPE( DOUBLE, Double, double_value); + HANDLE_TYPE( BOOL, Bool, bool_value); + HANDLE_TYPE( STRING, String, *string_value); + HANDLE_TYPE( BYTES, Bytes, *string_value); + HANDLE_TYPE( ENUM, Enum, enum_value); + HANDLE_TYPE( GROUP, Group, *message_value); +#undef HANDLE_TYPE + case WireFormatLite::TYPE_MESSAGE: + if (is_lazy) { + lazymessage_value->WriteMessage(number, output); + } else { + WireFormatLite::WriteMessage(number, *message_value, output); + } + break; + } + } +} + +int ExtensionSet::Extension::ByteSize(int number) const { + int result = 0; + + if (is_repeated) { + if (is_packed) { + switch (real_type(type)) { +#define HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE) \ + case WireFormatLite::TYPE_##UPPERCASE: \ + for (int i = 0; i < repeated_##LOWERCASE##_value->size(); i++) { \ + result += WireFormatLite::CAMELCASE##Size( \ + repeated_##LOWERCASE##_value->Get(i)); \ + } \ + break + + HANDLE_TYPE( INT32, Int32, int32); + HANDLE_TYPE( INT64, Int64, int64); + HANDLE_TYPE( UINT32, UInt32, uint32); + HANDLE_TYPE( UINT64, UInt64, uint64); + HANDLE_TYPE( SINT32, SInt32, int32); + HANDLE_TYPE( SINT64, SInt64, int64); + HANDLE_TYPE( ENUM, Enum, enum); +#undef HANDLE_TYPE + + // Stuff with fixed size. +#define HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE) \ + case WireFormatLite::TYPE_##UPPERCASE: \ + result += WireFormatLite::k##CAMELCASE##Size * \ + repeated_##LOWERCASE##_value->size(); \ + break + HANDLE_TYPE( FIXED32, Fixed32, uint32); + HANDLE_TYPE( FIXED64, Fixed64, uint64); + HANDLE_TYPE(SFIXED32, SFixed32, int32); + HANDLE_TYPE(SFIXED64, SFixed64, int64); + HANDLE_TYPE( FLOAT, Float, float); + HANDLE_TYPE( DOUBLE, Double, double); + HANDLE_TYPE( BOOL, Bool, bool); +#undef HANDLE_TYPE + + case WireFormatLite::TYPE_STRING: + case WireFormatLite::TYPE_BYTES: + case WireFormatLite::TYPE_GROUP: + case WireFormatLite::TYPE_MESSAGE: + GOOGLE_LOG(FATAL) << "Non-primitive types can't be packed."; + break; + } + + cached_size = result; + if (result > 0) { + result += io::CodedOutputStream::VarintSize32(result); + result += io::CodedOutputStream::VarintSize32( + WireFormatLite::MakeTag(number, + WireFormatLite::WIRETYPE_LENGTH_DELIMITED)); + } + } else { + int tag_size = WireFormatLite::TagSize(number, real_type(type)); + + switch (real_type(type)) { +#define HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE) \ + case WireFormatLite::TYPE_##UPPERCASE: \ + result += tag_size * repeated_##LOWERCASE##_value->size(); \ + for (int i = 0; i < repeated_##LOWERCASE##_value->size(); i++) { \ + result += WireFormatLite::CAMELCASE##Size( \ + repeated_##LOWERCASE##_value->Get(i)); \ + } \ + break + + HANDLE_TYPE( INT32, Int32, int32); + HANDLE_TYPE( INT64, Int64, int64); + HANDLE_TYPE( UINT32, UInt32, uint32); + HANDLE_TYPE( UINT64, UInt64, uint64); + HANDLE_TYPE( SINT32, SInt32, int32); + HANDLE_TYPE( SINT64, SInt64, int64); + HANDLE_TYPE( STRING, String, string); + HANDLE_TYPE( BYTES, Bytes, string); + HANDLE_TYPE( ENUM, Enum, enum); + HANDLE_TYPE( GROUP, Group, message); + HANDLE_TYPE( MESSAGE, Message, message); +#undef HANDLE_TYPE + + // Stuff with fixed size. +#define HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE) \ + case WireFormatLite::TYPE_##UPPERCASE: \ + result += (tag_size + WireFormatLite::k##CAMELCASE##Size) * \ + repeated_##LOWERCASE##_value->size(); \ + break + HANDLE_TYPE( FIXED32, Fixed32, uint32); + HANDLE_TYPE( FIXED64, Fixed64, uint64); + HANDLE_TYPE(SFIXED32, SFixed32, int32); + HANDLE_TYPE(SFIXED64, SFixed64, int64); + HANDLE_TYPE( FLOAT, Float, float); + HANDLE_TYPE( DOUBLE, Double, double); + HANDLE_TYPE( BOOL, Bool, bool); +#undef HANDLE_TYPE + } + } + } else if (!is_cleared) { + result += WireFormatLite::TagSize(number, real_type(type)); + switch (real_type(type)) { +#define HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE) \ + case WireFormatLite::TYPE_##UPPERCASE: \ + result += WireFormatLite::CAMELCASE##Size(LOWERCASE); \ + break + + HANDLE_TYPE( INT32, Int32, int32_value); + HANDLE_TYPE( INT64, Int64, int64_value); + HANDLE_TYPE( UINT32, UInt32, uint32_value); + HANDLE_TYPE( UINT64, UInt64, uint64_value); + HANDLE_TYPE( SINT32, SInt32, int32_value); + HANDLE_TYPE( SINT64, SInt64, int64_value); + HANDLE_TYPE( STRING, String, *string_value); + HANDLE_TYPE( BYTES, Bytes, *string_value); + HANDLE_TYPE( ENUM, Enum, enum_value); + HANDLE_TYPE( GROUP, Group, *message_value); +#undef HANDLE_TYPE + case WireFormatLite::TYPE_MESSAGE: { + if (is_lazy) { + int size = lazymessage_value->ByteSize(); + result += io::CodedOutputStream::VarintSize32(size) + size; + } else { + result += WireFormatLite::MessageSize(*message_value); + } + break; + } + + // Stuff with fixed size. +#define HANDLE_TYPE(UPPERCASE, CAMELCASE) \ + case WireFormatLite::TYPE_##UPPERCASE: \ + result += WireFormatLite::k##CAMELCASE##Size; \ + break + HANDLE_TYPE( FIXED32, Fixed32); + HANDLE_TYPE( FIXED64, Fixed64); + HANDLE_TYPE(SFIXED32, SFixed32); + HANDLE_TYPE(SFIXED64, SFixed64); + HANDLE_TYPE( FLOAT, Float); + HANDLE_TYPE( DOUBLE, Double); + HANDLE_TYPE( BOOL, Bool); +#undef HANDLE_TYPE + } + } + + return result; +} + +int ExtensionSet::Extension::GetSize() const { + GOOGLE_DCHECK(is_repeated); + switch (cpp_type(type)) { +#define HANDLE_TYPE(UPPERCASE, LOWERCASE) \ + case WireFormatLite::CPPTYPE_##UPPERCASE: \ + return repeated_##LOWERCASE##_value->size() + + HANDLE_TYPE( INT32, int32); + HANDLE_TYPE( INT64, int64); + HANDLE_TYPE( UINT32, uint32); + HANDLE_TYPE( UINT64, uint64); + HANDLE_TYPE( FLOAT, float); + HANDLE_TYPE( DOUBLE, double); + HANDLE_TYPE( BOOL, bool); + HANDLE_TYPE( ENUM, enum); + HANDLE_TYPE( STRING, string); + HANDLE_TYPE(MESSAGE, message); +#undef HANDLE_TYPE + } + + GOOGLE_LOG(FATAL) << "Can't get here."; + return 0; +} + +void ExtensionSet::Extension::Free() { + if (is_repeated) { + switch (cpp_type(type)) { +#define HANDLE_TYPE(UPPERCASE, LOWERCASE) \ + case WireFormatLite::CPPTYPE_##UPPERCASE: \ + delete repeated_##LOWERCASE##_value; \ + break + + HANDLE_TYPE( INT32, int32); + HANDLE_TYPE( INT64, int64); + HANDLE_TYPE( UINT32, uint32); + HANDLE_TYPE( UINT64, uint64); + HANDLE_TYPE( FLOAT, float); + HANDLE_TYPE( DOUBLE, double); + HANDLE_TYPE( BOOL, bool); + HANDLE_TYPE( ENUM, enum); + HANDLE_TYPE( STRING, string); + HANDLE_TYPE(MESSAGE, message); +#undef HANDLE_TYPE + } + } else { + switch (cpp_type(type)) { + case WireFormatLite::CPPTYPE_STRING: + delete string_value; + break; + case WireFormatLite::CPPTYPE_MESSAGE: + if (is_lazy) { + delete lazymessage_value; + } else { + delete message_value; + } + break; + default: + break; + } + } +} + +// Defined in extension_set_heavy.cc. +// int ExtensionSet::Extension::SpaceUsedExcludingSelf() const + +} // namespace internal +} // namespace protobuf +} // namespace google diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/extension_set.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/extension_set.h new file mode 100644 index 0000000000..df8f1f3683 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/extension_set.h @@ -0,0 +1,1007 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This header is logically internal, but is made public because it is used +// from protocol-compiler-generated code, which may reside in other components. + +#ifndef GOOGLE_PROTOBUF_EXTENSION_SET_H__ +#define GOOGLE_PROTOBUF_EXTENSION_SET_H__ + +#include +#include +#include +#include + + +#include + +namespace google { + +namespace protobuf { + class Descriptor; // descriptor.h + class FieldDescriptor; // descriptor.h + class DescriptorPool; // descriptor.h + class MessageLite; // message_lite.h + class Message; // message.h + class MessageFactory; // message.h + class UnknownFieldSet; // unknown_field_set.h + namespace io { + class CodedInputStream; // coded_stream.h + class CodedOutputStream; // coded_stream.h + } + namespace internal { + class FieldSkipper; // wire_format_lite.h + class RepeatedPtrFieldBase; // repeated_field.h + } + template class RepeatedField; // repeated_field.h + template class RepeatedPtrField; // repeated_field.h +} + +namespace protobuf { +namespace internal { + +// Used to store values of type WireFormatLite::FieldType without having to +// #include wire_format_lite.h. Also, ensures that we use only one byte to +// store these values, which is important to keep the layout of +// ExtensionSet::Extension small. +typedef uint8 FieldType; + +// A function which, given an integer value, returns true if the number +// matches one of the defined values for the corresponding enum type. This +// is used with RegisterEnumExtension, below. +typedef bool EnumValidityFunc(int number); + +// Version of the above which takes an argument. This is needed to deal with +// extensions that are not compiled in. +typedef bool EnumValidityFuncWithArg(const void* arg, int number); + +// Information about a registered extension. +struct ExtensionInfo { + inline ExtensionInfo() {} + inline ExtensionInfo(FieldType type_param, bool isrepeated, bool ispacked) + : type(type_param), is_repeated(isrepeated), is_packed(ispacked), + descriptor(NULL) {} + + FieldType type; + bool is_repeated; + bool is_packed; + + struct EnumValidityCheck { + EnumValidityFuncWithArg* func; + const void* arg; + }; + + union { + EnumValidityCheck enum_validity_check; + const MessageLite* message_prototype; + }; + + // The descriptor for this extension, if one exists and is known. May be + // NULL. Must not be NULL if the descriptor for the extension does not + // live in the same pool as the descriptor for the containing type. + const FieldDescriptor* descriptor; +}; + +// Abstract interface for an object which looks up extension definitions. Used +// when parsing. +class LIBPROTOBUF_EXPORT ExtensionFinder { + public: + virtual ~ExtensionFinder(); + + // Find the extension with the given containing type and number. + virtual bool Find(int number, ExtensionInfo* output) = 0; +}; + +// Implementation of ExtensionFinder which finds extensions defined in .proto +// files which have been compiled into the binary. +class LIBPROTOBUF_EXPORT GeneratedExtensionFinder : public ExtensionFinder { + public: + GeneratedExtensionFinder(const MessageLite* containing_type) + : containing_type_(containing_type) {} + virtual ~GeneratedExtensionFinder() {} + + // Returns true and fills in *output if found, otherwise returns false. + virtual bool Find(int number, ExtensionInfo* output); + + private: + const MessageLite* containing_type_; +}; + +// Note: extension_set_heavy.cc defines DescriptorPoolExtensionFinder for +// finding extensions from a DescriptorPool. + +// This is an internal helper class intended for use within the protocol buffer +// library and generated classes. Clients should not use it directly. Instead, +// use the generated accessors such as GetExtension() of the class being +// extended. +// +// This class manages extensions for a protocol message object. The +// message's HasExtension(), GetExtension(), MutableExtension(), and +// ClearExtension() methods are just thin wrappers around the embedded +// ExtensionSet. When parsing, if a tag number is encountered which is +// inside one of the message type's extension ranges, the tag is passed +// off to the ExtensionSet for parsing. Etc. +class LIBPROTOBUF_EXPORT ExtensionSet { + public: + ExtensionSet(); + ~ExtensionSet(); + + // These are called at startup by protocol-compiler-generated code to + // register known extensions. The registrations are used by ParseField() + // to look up extensions for parsed field numbers. Note that dynamic parsing + // does not use ParseField(); only protocol-compiler-generated parsing + // methods do. + static void RegisterExtension(const MessageLite* containing_type, + int number, FieldType type, + bool is_repeated, bool is_packed); + static void RegisterEnumExtension(const MessageLite* containing_type, + int number, FieldType type, + bool is_repeated, bool is_packed, + EnumValidityFunc* is_valid); + static void RegisterMessageExtension(const MessageLite* containing_type, + int number, FieldType type, + bool is_repeated, bool is_packed, + const MessageLite* prototype); + + // ================================================================= + + // Add all fields which are currently present to the given vector. This + // is useful to implement Reflection::ListFields(). + void AppendToList(const Descriptor* containing_type, + const DescriptorPool* pool, + vector* output) const; + + // ================================================================= + // Accessors + // + // Generated message classes include type-safe templated wrappers around + // these methods. Generally you should use those rather than call these + // directly, unless you are doing low-level memory management. + // + // When calling any of these accessors, the extension number requested + // MUST exist in the DescriptorPool provided to the constructor. Otheriwse, + // the method will fail an assert. Normally, though, you would not call + // these directly; you would either call the generated accessors of your + // message class (e.g. GetExtension()) or you would call the accessors + // of the reflection interface. In both cases, it is impossible to + // trigger this assert failure: the generated accessors only accept + // linked-in extension types as parameters, while the Reflection interface + // requires you to provide the FieldDescriptor describing the extension. + // + // When calling any of these accessors, a protocol-compiler-generated + // implementation of the extension corresponding to the number MUST + // be linked in, and the FieldDescriptor used to refer to it MUST be + // the one generated by that linked-in code. Otherwise, the method will + // die on an assert failure. The message objects returned by the message + // accessors are guaranteed to be of the correct linked-in type. + // + // These methods pretty much match Reflection except that: + // - They're not virtual. + // - They identify fields by number rather than FieldDescriptors. + // - They identify enum values using integers rather than descriptors. + // - Strings provide Mutable() in addition to Set() accessors. + + bool Has(int number) const; + int ExtensionSize(int number) const; // Size of a repeated extension. + int NumExtensions() const; // The number of extensions + FieldType ExtensionType(int number) const; + void ClearExtension(int number); + + // singular fields ------------------------------------------------- + + int32 GetInt32 (int number, int32 default_value) const; + int64 GetInt64 (int number, int64 default_value) const; + uint32 GetUInt32(int number, uint32 default_value) const; + uint64 GetUInt64(int number, uint64 default_value) const; + float GetFloat (int number, float default_value) const; + double GetDouble(int number, double default_value) const; + bool GetBool (int number, bool default_value) const; + int GetEnum (int number, int default_value) const; + const string & GetString (int number, const string& default_value) const; + const MessageLite& GetMessage(int number, + const MessageLite& default_value) const; + const MessageLite& GetMessage(int number, const Descriptor* message_type, + MessageFactory* factory) const; + + // |descriptor| may be NULL so long as it is known that the descriptor for + // the extension lives in the same pool as the descriptor for the containing + // type. +#define desc const FieldDescriptor* descriptor // avoid line wrapping + void SetInt32 (int number, FieldType type, int32 value, desc); + void SetInt64 (int number, FieldType type, int64 value, desc); + void SetUInt32(int number, FieldType type, uint32 value, desc); + void SetUInt64(int number, FieldType type, uint64 value, desc); + void SetFloat (int number, FieldType type, float value, desc); + void SetDouble(int number, FieldType type, double value, desc); + void SetBool (int number, FieldType type, bool value, desc); + void SetEnum (int number, FieldType type, int value, desc); + void SetString(int number, FieldType type, const string& value, desc); + string * MutableString (int number, FieldType type, desc); + MessageLite* MutableMessage(int number, FieldType type, + const MessageLite& prototype, desc); + MessageLite* MutableMessage(const FieldDescriptor* decsriptor, + MessageFactory* factory); + // Adds the given message to the ExtensionSet, taking ownership of the + // message object. Existing message with the same number will be deleted. + // If "message" is NULL, this is equivalent to "ClearExtension(number)". + void SetAllocatedMessage(int number, FieldType type, + const FieldDescriptor* descriptor, + MessageLite* message); + MessageLite* ReleaseMessage(int number, const MessageLite& prototype); + MessageLite* ReleaseMessage(const FieldDescriptor* descriptor, + MessageFactory* factory); +#undef desc + + // repeated fields ------------------------------------------------- + + void* MutableRawRepeatedField(int number); + + int32 GetRepeatedInt32 (int number, int index) const; + int64 GetRepeatedInt64 (int number, int index) const; + uint32 GetRepeatedUInt32(int number, int index) const; + uint64 GetRepeatedUInt64(int number, int index) const; + float GetRepeatedFloat (int number, int index) const; + double GetRepeatedDouble(int number, int index) const; + bool GetRepeatedBool (int number, int index) const; + int GetRepeatedEnum (int number, int index) const; + const string & GetRepeatedString (int number, int index) const; + const MessageLite& GetRepeatedMessage(int number, int index) const; + + void SetRepeatedInt32 (int number, int index, int32 value); + void SetRepeatedInt64 (int number, int index, int64 value); + void SetRepeatedUInt32(int number, int index, uint32 value); + void SetRepeatedUInt64(int number, int index, uint64 value); + void SetRepeatedFloat (int number, int index, float value); + void SetRepeatedDouble(int number, int index, double value); + void SetRepeatedBool (int number, int index, bool value); + void SetRepeatedEnum (int number, int index, int value); + void SetRepeatedString(int number, int index, const string& value); + string * MutableRepeatedString (int number, int index); + MessageLite* MutableRepeatedMessage(int number, int index); + +#define desc const FieldDescriptor* descriptor // avoid line wrapping + void AddInt32 (int number, FieldType type, bool packed, int32 value, desc); + void AddInt64 (int number, FieldType type, bool packed, int64 value, desc); + void AddUInt32(int number, FieldType type, bool packed, uint32 value, desc); + void AddUInt64(int number, FieldType type, bool packed, uint64 value, desc); + void AddFloat (int number, FieldType type, bool packed, float value, desc); + void AddDouble(int number, FieldType type, bool packed, double value, desc); + void AddBool (int number, FieldType type, bool packed, bool value, desc); + void AddEnum (int number, FieldType type, bool packed, int value, desc); + void AddString(int number, FieldType type, const string& value, desc); + string * AddString (int number, FieldType type, desc); + MessageLite* AddMessage(int number, FieldType type, + const MessageLite& prototype, desc); + MessageLite* AddMessage(const FieldDescriptor* descriptor, + MessageFactory* factory); +#undef desc + + void RemoveLast(int number); + MessageLite* ReleaseLast(int number); + void SwapElements(int number, int index1, int index2); + + // ----------------------------------------------------------------- + // TODO(kenton): Hardcore memory management accessors + + // ================================================================= + // convenience methods for implementing methods of Message + // + // These could all be implemented in terms of the other methods of this + // class, but providing them here helps keep the generated code size down. + + void Clear(); + void MergeFrom(const ExtensionSet& other); + void Swap(ExtensionSet* other); + bool IsInitialized() const; + + // Parses a single extension from the input. The input should start out + // positioned immediately after the tag. + bool ParseField(uint32 tag, io::CodedInputStream* input, + ExtensionFinder* extension_finder, + FieldSkipper* field_skipper); + + // Specific versions for lite or full messages (constructs the appropriate + // FieldSkipper automatically). |containing_type| is the default + // instance for the containing message; it is used only to look up the + // extension by number. See RegisterExtension(), above. Unlike the other + // methods of ExtensionSet, this only works for generated message types -- + // it looks up extensions registered using RegisterExtension(). + bool ParseField(uint32 tag, io::CodedInputStream* input, + const MessageLite* containing_type); + bool ParseField(uint32 tag, io::CodedInputStream* input, + const Message* containing_type, + UnknownFieldSet* unknown_fields); + + // Parse an entire message in MessageSet format. Such messages have no + // fields, only extensions. + bool ParseMessageSet(io::CodedInputStream* input, + ExtensionFinder* extension_finder, + FieldSkipper* field_skipper); + + // Specific versions for lite or full messages (constructs the appropriate + // FieldSkipper automatically). + bool ParseMessageSet(io::CodedInputStream* input, + const MessageLite* containing_type); + bool ParseMessageSet(io::CodedInputStream* input, + const Message* containing_type, + UnknownFieldSet* unknown_fields); + + // Write all extension fields with field numbers in the range + // [start_field_number, end_field_number) + // to the output stream, using the cached sizes computed when ByteSize() was + // last called. Note that the range bounds are inclusive-exclusive. + void SerializeWithCachedSizes(int start_field_number, + int end_field_number, + io::CodedOutputStream* output) const; + + // Same as SerializeWithCachedSizes, but without any bounds checking. + // The caller must ensure that target has sufficient capacity for the + // serialized extensions. + // + // Returns a pointer past the last written byte. + uint8* SerializeWithCachedSizesToArray(int start_field_number, + int end_field_number, + uint8* target) const; + + // Like above but serializes in MessageSet format. + void SerializeMessageSetWithCachedSizes(io::CodedOutputStream* output) const; + uint8* SerializeMessageSetWithCachedSizesToArray(uint8* target) const; + + // Returns the total serialized size of all the extensions. + int ByteSize() const; + + // Like ByteSize() but uses MessageSet format. + int MessageSetByteSize() const; + + // Returns (an estimate of) the total number of bytes used for storing the + // extensions in memory, excluding sizeof(*this). If the ExtensionSet is + // for a lite message (and thus possibly contains lite messages), the results + // are undefined (might work, might crash, might corrupt data, might not even + // be linked in). It's up to the protocol compiler to avoid calling this on + // such ExtensionSets (easy enough since lite messages don't implement + // SpaceUsed()). + int SpaceUsedExcludingSelf() const; + + private: + + // Interface of a lazily parsed singular message extension. + class LIBPROTOBUF_EXPORT LazyMessageExtension { + public: + LazyMessageExtension() {} + virtual ~LazyMessageExtension() {} + + virtual LazyMessageExtension* New() const = 0; + virtual const MessageLite& GetMessage( + const MessageLite& prototype) const = 0; + virtual MessageLite* MutableMessage(const MessageLite& prototype) = 0; + virtual void SetAllocatedMessage(MessageLite *message) = 0; + virtual MessageLite* ReleaseMessage(const MessageLite& prototype) = 0; + + virtual bool IsInitialized() const = 0; + virtual int ByteSize() const = 0; + virtual int SpaceUsed() const = 0; + + virtual void MergeFrom(const LazyMessageExtension& other) = 0; + virtual void Clear() = 0; + + virtual bool ReadMessage(const MessageLite& prototype, + io::CodedInputStream* input) = 0; + virtual void WriteMessage(int number, + io::CodedOutputStream* output) const = 0; + virtual uint8* WriteMessageToArray(int number, uint8* target) const = 0; + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(LazyMessageExtension); + }; + struct Extension { + // The order of these fields packs Extension into 24 bytes when using 8 + // byte alignment. Consider this when adding or removing fields here. + union { + int32 int32_value; + int64 int64_value; + uint32 uint32_value; + uint64 uint64_value; + float float_value; + double double_value; + bool bool_value; + int enum_value; + string* string_value; + MessageLite* message_value; + LazyMessageExtension* lazymessage_value; + + RepeatedField * repeated_int32_value; + RepeatedField * repeated_int64_value; + RepeatedField * repeated_uint32_value; + RepeatedField * repeated_uint64_value; + RepeatedField * repeated_float_value; + RepeatedField * repeated_double_value; + RepeatedField * repeated_bool_value; + RepeatedField * repeated_enum_value; + RepeatedPtrField* repeated_string_value; + RepeatedPtrField* repeated_message_value; + }; + + FieldType type; + bool is_repeated; + + // For singular types, indicates if the extension is "cleared". This + // happens when an extension is set and then later cleared by the caller. + // We want to keep the Extension object around for reuse, so instead of + // removing it from the map, we just set is_cleared = true. This has no + // meaning for repeated types; for those, the size of the RepeatedField + // simply becomes zero when cleared. + bool is_cleared : 4; + + // For singular message types, indicates whether lazy parsing is enabled + // for this extension. This field is only valid when type == TYPE_MESSAGE + // and !is_repeated because we only support lazy parsing for singular + // message types currently. If is_lazy = true, the extension is stored in + // lazymessage_value. Otherwise, the extension will be message_value. + bool is_lazy : 4; + + // For repeated types, this indicates if the [packed=true] option is set. + bool is_packed; + + // For packed fields, the size of the packed data is recorded here when + // ByteSize() is called then used during serialization. + // TODO(kenton): Use atomic when C++ supports it. + mutable int cached_size; + + // The descriptor for this extension, if one exists and is known. May be + // NULL. Must not be NULL if the descriptor for the extension does not + // live in the same pool as the descriptor for the containing type. + const FieldDescriptor* descriptor; + + // Some helper methods for operations on a single Extension. + void SerializeFieldWithCachedSizes( + int number, + io::CodedOutputStream* output) const; + uint8* SerializeFieldWithCachedSizesToArray( + int number, + uint8* target) const; + void SerializeMessageSetItemWithCachedSizes( + int number, + io::CodedOutputStream* output) const; + uint8* SerializeMessageSetItemWithCachedSizesToArray( + int number, + uint8* target) const; + int ByteSize(int number) const; + int MessageSetItemByteSize(int number) const; + void Clear(); + int GetSize() const; + void Free(); + int SpaceUsedExcludingSelf() const; + }; + + + // Returns true and fills field_number and extension if extension is found. + bool FindExtensionInfoFromTag(uint32 tag, ExtensionFinder* extension_finder, + int* field_number, ExtensionInfo* extension); + + // Parses a single extension from the input. The input should start out + // positioned immediately after the wire tag. This method is called in + // ParseField() after field number is extracted from the wire tag and + // ExtensionInfo is found by the field number. + bool ParseFieldWithExtensionInfo(int field_number, + const ExtensionInfo& extension, + io::CodedInputStream* input, + FieldSkipper* field_skipper); + + // Like ParseField(), but this method may parse singular message extensions + // lazily depending on the value of FLAGS_eagerly_parse_message_sets. + bool ParseFieldMaybeLazily(uint32 tag, io::CodedInputStream* input, + ExtensionFinder* extension_finder, + FieldSkipper* field_skipper); + + // Gets the extension with the given number, creating it if it does not + // already exist. Returns true if the extension did not already exist. + bool MaybeNewExtension(int number, const FieldDescriptor* descriptor, + Extension** result); + + // Parse a single MessageSet item -- called just after the item group start + // tag has been read. + bool ParseMessageSetItem(io::CodedInputStream* input, + ExtensionFinder* extension_finder, + FieldSkipper* field_skipper); + + + // Hack: RepeatedPtrFieldBase declares ExtensionSet as a friend. This + // friendship should automatically extend to ExtensionSet::Extension, but + // unfortunately some older compilers (e.g. GCC 3.4.4) do not implement this + // correctly. So, we must provide helpers for calling methods of that + // class. + + // Defined in extension_set_heavy.cc. + static inline int RepeatedMessage_SpaceUsedExcludingSelf( + RepeatedPtrFieldBase* field); + + // The Extension struct is small enough to be passed by value, so we use it + // directly as the value type in the map rather than use pointers. We use + // a map rather than hash_map here because we expect most ExtensionSets will + // only contain a small number of extensions whereas hash_map is optimized + // for 100 elements or more. Also, we want AppendToList() to order fields + // by field number. + std::map extensions_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ExtensionSet); +}; + +// These are just for convenience... +inline void ExtensionSet::SetString(int number, FieldType type, + const string& value, + const FieldDescriptor* descriptor) { + MutableString(number, type, descriptor)->assign(value); +} +inline void ExtensionSet::SetRepeatedString(int number, int index, + const string& value) { + MutableRepeatedString(number, index)->assign(value); +} +inline void ExtensionSet::AddString(int number, FieldType type, + const string& value, + const FieldDescriptor* descriptor) { + AddString(number, type, descriptor)->assign(value); +} + +// =================================================================== +// Glue for generated extension accessors + +// ------------------------------------------------------------------- +// Template magic + +// First we have a set of classes representing "type traits" for different +// field types. A type traits class knows how to implement basic accessors +// for extensions of a particular type given an ExtensionSet. The signature +// for a type traits class looks like this: +// +// class TypeTraits { +// public: +// typedef ? ConstType; +// typedef ? MutableType; +// +// static inline ConstType Get(int number, const ExtensionSet& set); +// static inline void Set(int number, ConstType value, ExtensionSet* set); +// static inline MutableType Mutable(int number, ExtensionSet* set); +// +// // Variants for repeated fields. +// static inline ConstType Get(int number, const ExtensionSet& set, +// int index); +// static inline void Set(int number, int index, +// ConstType value, ExtensionSet* set); +// static inline MutableType Mutable(int number, int index, +// ExtensionSet* set); +// static inline void Add(int number, ConstType value, ExtensionSet* set); +// static inline MutableType Add(int number, ExtensionSet* set); +// }; +// +// Not all of these methods make sense for all field types. For example, the +// "Mutable" methods only make sense for strings and messages, and the +// repeated methods only make sense for repeated types. So, each type +// traits class implements only the set of methods from this signature that it +// actually supports. This will cause a compiler error if the user tries to +// access an extension using a method that doesn't make sense for its type. +// For example, if "foo" is an extension of type "optional int32", then if you +// try to write code like: +// my_message.MutableExtension(foo) +// you will get a compile error because PrimitiveTypeTraits does not +// have a "Mutable()" method. + +// ------------------------------------------------------------------- +// PrimitiveTypeTraits + +// Since the ExtensionSet has different methods for each primitive type, +// we must explicitly define the methods of the type traits class for each +// known type. +template +class PrimitiveTypeTraits { + public: + typedef Type ConstType; + + static inline ConstType Get(int number, const ExtensionSet& set, + ConstType default_value); + static inline void Set(int number, FieldType field_type, + ConstType value, ExtensionSet* set); +}; + +template +class RepeatedPrimitiveTypeTraits { + public: + typedef Type ConstType; + + static inline Type Get(int number, const ExtensionSet& set, int index); + static inline void Set(int number, int index, Type value, ExtensionSet* set); + static inline void Add(int number, FieldType field_type, + bool is_packed, Type value, ExtensionSet* set); +}; + +#define PROTOBUF_DEFINE_PRIMITIVE_TYPE(TYPE, METHOD) \ +template<> inline TYPE PrimitiveTypeTraits::Get( \ + int number, const ExtensionSet& set, TYPE default_value) { \ + return set.Get##METHOD(number, default_value); \ +} \ +template<> inline void PrimitiveTypeTraits::Set( \ + int number, FieldType field_type, TYPE value, ExtensionSet* set) { \ + set->Set##METHOD(number, field_type, value, NULL); \ +} \ + \ +template<> inline TYPE RepeatedPrimitiveTypeTraits::Get( \ + int number, const ExtensionSet& set, int index) { \ + return set.GetRepeated##METHOD(number, index); \ +} \ +template<> inline void RepeatedPrimitiveTypeTraits::Set( \ + int number, int index, TYPE value, ExtensionSet* set) { \ + set->SetRepeated##METHOD(number, index, value); \ +} \ +template<> inline void RepeatedPrimitiveTypeTraits::Add( \ + int number, FieldType field_type, bool is_packed, \ + TYPE value, ExtensionSet* set) { \ + set->Add##METHOD(number, field_type, is_packed, value, NULL); \ +} + +PROTOBUF_DEFINE_PRIMITIVE_TYPE( int32, Int32) +PROTOBUF_DEFINE_PRIMITIVE_TYPE( int64, Int64) +PROTOBUF_DEFINE_PRIMITIVE_TYPE(uint32, UInt32) +PROTOBUF_DEFINE_PRIMITIVE_TYPE(uint64, UInt64) +PROTOBUF_DEFINE_PRIMITIVE_TYPE( float, Float) +PROTOBUF_DEFINE_PRIMITIVE_TYPE(double, Double) +PROTOBUF_DEFINE_PRIMITIVE_TYPE( bool, Bool) + +#undef PROTOBUF_DEFINE_PRIMITIVE_TYPE + +// ------------------------------------------------------------------- +// StringTypeTraits + +// Strings support both Set() and Mutable(). +class LIBPROTOBUF_EXPORT StringTypeTraits { + public: + typedef const string& ConstType; + typedef string* MutableType; + + static inline const string& Get(int number, const ExtensionSet& set, + ConstType default_value) { + return set.GetString(number, default_value); + } + static inline void Set(int number, FieldType field_type, + const string& value, ExtensionSet* set) { + set->SetString(number, field_type, value, NULL); + } + static inline string* Mutable(int number, FieldType field_type, + ExtensionSet* set) { + return set->MutableString(number, field_type, NULL); + } +}; + +class LIBPROTOBUF_EXPORT RepeatedStringTypeTraits { + public: + typedef const string& ConstType; + typedef string* MutableType; + + static inline const string& Get(int number, const ExtensionSet& set, + int index) { + return set.GetRepeatedString(number, index); + } + static inline void Set(int number, int index, + const string& value, ExtensionSet* set) { + set->SetRepeatedString(number, index, value); + } + static inline string* Mutable(int number, int index, ExtensionSet* set) { + return set->MutableRepeatedString(number, index); + } + static inline void Add(int number, FieldType field_type, + bool /*is_packed*/, const string& value, + ExtensionSet* set) { + set->AddString(number, field_type, value, NULL); + } + static inline string* Add(int number, FieldType field_type, + ExtensionSet* set) { + return set->AddString(number, field_type, NULL); + } +}; + +// ------------------------------------------------------------------- +// EnumTypeTraits + +// ExtensionSet represents enums using integers internally, so we have to +// static_cast around. +template +class EnumTypeTraits { + public: + typedef Type ConstType; + + static inline ConstType Get(int number, const ExtensionSet& set, + ConstType default_value) { + return static_cast(set.GetEnum(number, default_value)); + } + static inline void Set(int number, FieldType field_type, + ConstType value, ExtensionSet* set) { + GOOGLE_DCHECK(IsValid(value)); + set->SetEnum(number, field_type, value, NULL); + } +}; + +template +class RepeatedEnumTypeTraits { + public: + typedef Type ConstType; + + static inline ConstType Get(int number, const ExtensionSet& set, int index) { + return static_cast(set.GetRepeatedEnum(number, index)); + } + static inline void Set(int number, int index, + ConstType value, ExtensionSet* set) { + GOOGLE_DCHECK(IsValid(value)); + set->SetRepeatedEnum(number, index, value); + } + static inline void Add(int number, FieldType field_type, + bool is_packed, ConstType value, ExtensionSet* set) { + GOOGLE_DCHECK(IsValid(value)); + set->AddEnum(number, field_type, is_packed, value, NULL); + } +}; + +// ------------------------------------------------------------------- +// MessageTypeTraits + +// ExtensionSet guarantees that when manipulating extensions with message +// types, the implementation used will be the compiled-in class representing +// that type. So, we can static_cast down to the exact type we expect. +template +class MessageTypeTraits { + public: + typedef const Type& ConstType; + typedef Type* MutableType; + + static inline ConstType Get(int number, const ExtensionSet& set, + ConstType default_value) { + return static_cast( + set.GetMessage(number, default_value)); + } + static inline MutableType Mutable(int number, FieldType field_type, + ExtensionSet* set) { + return static_cast( + set->MutableMessage(number, field_type, Type::default_instance(), NULL)); + } + static inline void SetAllocated(int number, FieldType field_type, + MutableType message, ExtensionSet* set) { + set->SetAllocatedMessage(number, field_type, NULL, message); + } + static inline MutableType Release(int number, FieldType field_type, + ExtensionSet* set) { + return static_cast(set->ReleaseMessage( + number, Type::default_instance())); + } +}; + +template +class RepeatedMessageTypeTraits { + public: + typedef const Type& ConstType; + typedef Type* MutableType; + + static inline ConstType Get(int number, const ExtensionSet& set, int index) { + return static_cast(set.GetRepeatedMessage(number, index)); + } + static inline MutableType Mutable(int number, int index, ExtensionSet* set) { + return static_cast(set->MutableRepeatedMessage(number, index)); + } + static inline MutableType Add(int number, FieldType field_type, + ExtensionSet* set) { + return static_cast( + set->AddMessage(number, field_type, Type::default_instance(), NULL)); + } +}; + +// ------------------------------------------------------------------- +// ExtensionIdentifier + +// This is the type of actual extension objects. E.g. if you have: +// extends Foo with optional int32 bar = 1234; +// then "bar" will be defined in C++ as: +// ExtensionIdentifier, 1, false> bar(1234); +// +// Note that we could, in theory, supply the field number as a template +// parameter, and thus make an instance of ExtensionIdentifier have no +// actual contents. However, if we did that, then using at extension +// identifier would not necessarily cause the compiler to output any sort +// of reference to any simple defined in the extension's .pb.o file. Some +// linkers will actually drop object files that are not explicitly referenced, +// but that would be bad because it would cause this extension to not be +// registered at static initialization, and therefore using it would crash. + +template +class ExtensionIdentifier { + public: + typedef TypeTraitsType TypeTraits; + typedef ExtendeeType Extendee; + + ExtensionIdentifier(int number, typename TypeTraits::ConstType default_value) + : number_(number), default_value_(default_value) {} + inline int number() const { return number_; } + typename TypeTraits::ConstType default_value() const { + return default_value_; + } + + private: + const int number_; + typename TypeTraits::ConstType default_value_; +}; + +// ------------------------------------------------------------------- +// Generated accessors + +// This macro should be expanded in the context of a generated type which +// has extensions. +// +// We use "_proto_TypeTraits" as a type name below because "TypeTraits" +// causes problems if the class has a nested message or enum type with that +// name and "_TypeTraits" is technically reserved for the C++ library since +// it starts with an underscore followed by a capital letter. +// +// For similar reason, we use "_field_type" and "_is_packed" as parameter names +// below, so that "field_type" and "is_packed" can be used as field names. +#define GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(CLASSNAME) \ + /* Has, Size, Clear */ \ + template \ + inline bool HasExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const { \ + return _extensions_.Has(id.number()); \ + } \ + \ + template \ + inline void ClearExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \ + _extensions_.ClearExtension(id.number()); \ + } \ + \ + template \ + inline int ExtensionSize( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const { \ + return _extensions_.ExtensionSize(id.number()); \ + } \ + \ + /* Singular accessors */ \ + template \ + inline typename _proto_TypeTraits::ConstType GetExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) const { \ + return _proto_TypeTraits::Get(id.number(), _extensions_, \ + id.default_value()); \ + } \ + \ + template \ + inline typename _proto_TypeTraits::MutableType MutableExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \ + return _proto_TypeTraits::Mutable(id.number(), _field_type, \ + &_extensions_); \ + } \ + \ + template \ + inline void SetExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ + typename _proto_TypeTraits::ConstType value) { \ + _proto_TypeTraits::Set(id.number(), _field_type, value, &_extensions_); \ + } \ + \ + template \ + inline void SetAllocatedExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ + typename _proto_TypeTraits::MutableType value) { \ + _proto_TypeTraits::SetAllocated(id.number(), _field_type, \ + value, &_extensions_); \ + } \ + template \ + inline typename _proto_TypeTraits::MutableType ReleaseExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \ + return _proto_TypeTraits::Release(id.number(), _field_type, \ + &_extensions_); \ + } \ + \ + /* Repeated accessors */ \ + template \ + inline typename _proto_TypeTraits::ConstType GetExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ + int index) const { \ + return _proto_TypeTraits::Get(id.number(), _extensions_, index); \ + } \ + \ + template \ + inline typename _proto_TypeTraits::MutableType MutableExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ + int index) { \ + return _proto_TypeTraits::Mutable(id.number(), index, &_extensions_); \ + } \ + \ + template \ + inline void SetExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ + int index, typename _proto_TypeTraits::ConstType value) { \ + _proto_TypeTraits::Set(id.number(), index, value, &_extensions_); \ + } \ + \ + template \ + inline typename _proto_TypeTraits::MutableType AddExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id) { \ + return _proto_TypeTraits::Add(id.number(), _field_type, &_extensions_); \ + } \ + \ + template \ + inline void AddExtension( \ + const ::google::protobuf::internal::ExtensionIdentifier< \ + CLASSNAME, _proto_TypeTraits, _field_type, _is_packed>& id, \ + typename _proto_TypeTraits::ConstType value) { \ + _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, \ + value, &_extensions_); \ + } + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_EXTENSION_SET_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/generated_message_util.cc b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/generated_message_util.cc new file mode 100644 index 0000000000..ac32150146 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/generated_message_util.cc @@ -0,0 +1,54 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. + +#include + +#include + +namespace google { +namespace protobuf { +namespace internal { + +double Infinity() { + return std::numeric_limits::infinity(); +} +double NaN() { + return std::numeric_limits::quiet_NaN(); +} + +const ::std::string kEmptyString; + +} // namespace internal +} // namespace protobuf +} // namespace google diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/generated_message_util.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/generated_message_util.h new file mode 100644 index 0000000000..b2fb8f0be2 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/generated_message_util.h @@ -0,0 +1,77 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This file contains miscellaneous helper code used by generated code -- +// including lite types -- but which should not be used directly by users. + +#ifndef GOOGLE_PROTOBUF_GENERATED_MESSAGE_UTIL_H__ +#define GOOGLE_PROTOBUF_GENERATED_MESSAGE_UTIL_H__ + +#include + +#include +namespace google { +namespace protobuf { +namespace internal { + +// Annotation for the compiler to emit a deprecation message if a field marked +// with option 'deprecated=true' is used in the code, or for other things in +// generated code which are deprecated. +// +// For internal use in the pb.cc files, deprecation warnings are suppressed +// there. +#undef DEPRECATED_PROTOBUF_FIELD +#define PROTOBUF_DEPRECATED + + +// Constants for special floating point values. +LIBPROTOBUF_EXPORT double Infinity(); +LIBPROTOBUF_EXPORT double NaN(); + +// Constant used for empty default strings. +LIBPROTOBUF_EXPORT extern const ::std::string kEmptyString; + +// Defined in generated_message_reflection.cc -- not actually part of the lite +// library. +// +// TODO(jasonh): The various callers get this declaration from a variety of +// places: probably in most cases repeated_field.h. Clean these up so they all +// get the declaration from this file. +LIBPROTOBUF_EXPORT int StringSpaceUsedExcludingSelf(const string& str); + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_GENERATED_MESSAGE_UTIL_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/coded_stream.cc b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/coded_stream.cc new file mode 100644 index 0000000000..36add8c3e4 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/coded_stream.cc @@ -0,0 +1,857 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This implementation is heavily optimized to make reads and writes +// of small values (especially varints) as fast as possible. In +// particular, we optimize for the common case that a read or a write +// will not cross the end of the buffer, since we can avoid a lot +// of branching in this case. + +#include +#include +#include +#include +#include +#include + + +namespace google { +namespace protobuf { +namespace io { + +namespace { + +static const int kMaxVarintBytes = 10; +static const int kMaxVarint32Bytes = 5; + + +inline bool NextNonEmpty(ZeroCopyInputStream* input, + const void** data, int* size) { + bool success; + do { + success = input->Next(data, size); + } while (success && *size == 0); + return success; +} + +} // namespace + +// CodedInputStream ================================================== + +CodedInputStream::~CodedInputStream() { + if (input_ != NULL) { + BackUpInputToCurrentPosition(); + } + + if (total_bytes_warning_threshold_ == -2) { + GOOGLE_LOG(WARNING) << "The total number of bytes read was " << total_bytes_read_; + } +} + +// Static. +int CodedInputStream::default_recursion_limit_ = 100; + + +void CodedInputStream::BackUpInputToCurrentPosition() { + int backup_bytes = BufferSize() + buffer_size_after_limit_ + overflow_bytes_; + if (backup_bytes > 0) { + input_->BackUp(backup_bytes); + + // total_bytes_read_ doesn't include overflow_bytes_. + total_bytes_read_ -= BufferSize() + buffer_size_after_limit_; + buffer_end_ = buffer_; + buffer_size_after_limit_ = 0; + overflow_bytes_ = 0; + } +} + +inline void CodedInputStream::RecomputeBufferLimits() { + buffer_end_ += buffer_size_after_limit_; + int closest_limit = min(current_limit_, total_bytes_limit_); + if (closest_limit < total_bytes_read_) { + // The limit position is in the current buffer. We must adjust + // the buffer size accordingly. + buffer_size_after_limit_ = total_bytes_read_ - closest_limit; + buffer_end_ -= buffer_size_after_limit_; + } else { + buffer_size_after_limit_ = 0; + } +} + +CodedInputStream::Limit CodedInputStream::PushLimit(int byte_limit) { + // Current position relative to the beginning of the stream. + int current_position = CurrentPosition(); + + Limit old_limit = current_limit_; + + // security: byte_limit is possibly evil, so check for negative values + // and overflow. + if (byte_limit >= 0 && + byte_limit <= INT_MAX - current_position) { + current_limit_ = current_position + byte_limit; + } else { + // Negative or overflow. + current_limit_ = INT_MAX; + } + + // We need to enforce all limits, not just the new one, so if the previous + // limit was before the new requested limit, we continue to enforce the + // previous limit. + current_limit_ = min(current_limit_, old_limit); + + RecomputeBufferLimits(); + return old_limit; +} + +void CodedInputStream::PopLimit(Limit limit) { + // The limit passed in is actually the *old* limit, which we returned from + // PushLimit(). + current_limit_ = limit; + RecomputeBufferLimits(); + + // We may no longer be at a legitimate message end. ReadTag() needs to be + // called again to find out. + legitimate_message_end_ = false; +} + +int CodedInputStream::BytesUntilLimit() const { + if (current_limit_ == INT_MAX) return -1; + int current_position = CurrentPosition(); + + return current_limit_ - current_position; +} + +void CodedInputStream::SetTotalBytesLimit( + int total_bytes_limit, int warning_threshold) { + // Make sure the limit isn't already past, since this could confuse other + // code. + int current_position = CurrentPosition(); + total_bytes_limit_ = max(current_position, total_bytes_limit); + if (warning_threshold >= 0) { + total_bytes_warning_threshold_ = warning_threshold; + } else { + // warning_threshold is negative + total_bytes_warning_threshold_ = -1; + } + RecomputeBufferLimits(); +} + +void CodedInputStream::PrintTotalBytesLimitError() { + GOOGLE_LOG(ERROR) << "A protocol message was rejected because it was too " + "big (more than " << total_bytes_limit_ + << " bytes). To increase the limit (or to disable these " + "warnings), see CodedInputStream::SetTotalBytesLimit() " + "in google/protobuf/io/coded_stream.h."; +} + +bool CodedInputStream::Skip(int count) { + if (count < 0) return false; // security: count is often user-supplied + + const int original_buffer_size = BufferSize(); + + if (count <= original_buffer_size) { + // Just skipping within the current buffer. Easy. + Advance(count); + return true; + } + + if (buffer_size_after_limit_ > 0) { + // We hit a limit inside this buffer. Advance to the limit and fail. + Advance(original_buffer_size); + return false; + } + + count -= original_buffer_size; + buffer_ = NULL; + buffer_end_ = buffer_; + + // Make sure this skip doesn't try to skip past the current limit. + int closest_limit = min(current_limit_, total_bytes_limit_); + int bytes_until_limit = closest_limit - total_bytes_read_; + if (bytes_until_limit < count) { + // We hit the limit. Skip up to it then fail. + if (bytes_until_limit > 0) { + total_bytes_read_ = closest_limit; + input_->Skip(bytes_until_limit); + } + return false; + } + + total_bytes_read_ += count; + return input_->Skip(count); +} + +bool CodedInputStream::GetDirectBufferPointer(const void** data, int* size) { + if (BufferSize() == 0 && !Refresh()) return false; + + *data = buffer_; + *size = BufferSize(); + return true; +} + +bool CodedInputStream::ReadRaw(void* buffer, int size) { + int current_buffer_size; + while ((current_buffer_size = BufferSize()) < size) { + // Reading past end of buffer. Copy what we have, then refresh. + memcpy(buffer, buffer_, current_buffer_size); + buffer = reinterpret_cast(buffer) + current_buffer_size; + size -= current_buffer_size; + Advance(current_buffer_size); + if (!Refresh()) return false; + } + + memcpy(buffer, buffer_, size); + Advance(size); + + return true; +} + +bool CodedInputStream::ReadString(string* buffer, int size) { + if (size < 0) return false; // security: size is often user-supplied + return InternalReadStringInline(buffer, size); +} + +bool CodedInputStream::ReadStringFallback(string* buffer, int size) { + if (!buffer->empty()) { + buffer->clear(); + } + + int current_buffer_size; + while ((current_buffer_size = BufferSize()) < size) { + // Some STL implementations "helpfully" crash on buffer->append(NULL, 0). + if (current_buffer_size != 0) { + // Note: string1.append(string2) is O(string2.size()) (as opposed to + // O(string1.size() + string2.size()), which would be bad). + buffer->append(reinterpret_cast(buffer_), + current_buffer_size); + } + size -= current_buffer_size; + Advance(current_buffer_size); + if (!Refresh()) return false; + } + + buffer->append(reinterpret_cast(buffer_), size); + Advance(size); + + return true; +} + + +bool CodedInputStream::ReadLittleEndian32Fallback(uint32* value) { + uint8 bytes[sizeof(*value)]; + + const uint8* ptr; + if (BufferSize() >= sizeof(*value)) { + // Fast path: Enough bytes in the buffer to read directly. + ptr = buffer_; + Advance(sizeof(*value)); + } else { + // Slow path: Had to read past the end of the buffer. + if (!ReadRaw(bytes, sizeof(*value))) return false; + ptr = bytes; + } + ReadLittleEndian32FromArray(ptr, value); + return true; +} + +bool CodedInputStream::ReadLittleEndian64Fallback(uint64* value) { + uint8 bytes[sizeof(*value)]; + + const uint8* ptr; + if (BufferSize() >= sizeof(*value)) { + // Fast path: Enough bytes in the buffer to read directly. + ptr = buffer_; + Advance(sizeof(*value)); + } else { + // Slow path: Had to read past the end of the buffer. + if (!ReadRaw(bytes, sizeof(*value))) return false; + ptr = bytes; + } + ReadLittleEndian64FromArray(ptr, value); + return true; +} + +namespace { + +inline const uint8* ReadVarint32FromArray( + const uint8* buffer, uint32* value) GOOGLE_ATTRIBUTE_ALWAYS_INLINE; +inline const uint8* ReadVarint32FromArray(const uint8* buffer, uint32* value) { + // Fast path: We have enough bytes left in the buffer to guarantee that + // this read won't cross the end, so we can skip the checks. + const uint8* ptr = buffer; + uint32 b; + uint32 result; + + b = *(ptr++); result = (b & 0x7F) ; if (!(b & 0x80)) goto done; + b = *(ptr++); result |= (b & 0x7F) << 7; if (!(b & 0x80)) goto done; + b = *(ptr++); result |= (b & 0x7F) << 14; if (!(b & 0x80)) goto done; + b = *(ptr++); result |= (b & 0x7F) << 21; if (!(b & 0x80)) goto done; + b = *(ptr++); result |= b << 28; if (!(b & 0x80)) goto done; + + // If the input is larger than 32 bits, we still need to read it all + // and discard the high-order bits. + for (int i = 0; i < kMaxVarintBytes - kMaxVarint32Bytes; i++) { + b = *(ptr++); if (!(b & 0x80)) goto done; + } + + // We have overrun the maximum size of a varint (10 bytes). Assume + // the data is corrupt. + return NULL; + + done: + *value = result; + return ptr; +} + +} // namespace + +bool CodedInputStream::ReadVarint32Slow(uint32* value) { + uint64 result; + // Directly invoke ReadVarint64Fallback, since we already tried to optimize + // for one-byte varints. + if (!ReadVarint64Fallback(&result)) return false; + *value = (uint32)result; + return true; +} + +bool CodedInputStream::ReadVarint32Fallback(uint32* value) { + if (BufferSize() >= kMaxVarintBytes || + // Optimization: If the varint ends at exactly the end of the buffer, + // we can detect that and still use the fast path. + (buffer_end_ > buffer_ && !(buffer_end_[-1] & 0x80))) { + const uint8* end = ReadVarint32FromArray(buffer_, value); + if (end == NULL) return false; + buffer_ = end; + return true; + } else { + // Really slow case: we will incur the cost of an extra function call here, + // but moving this out of line reduces the size of this function, which + // improves the common case. In micro benchmarks, this is worth about 10-15% + return ReadVarint32Slow(value); + } +} + +uint32 CodedInputStream::ReadTagSlow() { + if (buffer_ == buffer_end_) { + // Call refresh. + if (!Refresh()) { + // Refresh failed. Make sure that it failed due to EOF, not because + // we hit total_bytes_limit_, which, unlike normal limits, is not a + // valid place to end a message. + int current_position = total_bytes_read_ - buffer_size_after_limit_; + if (current_position >= total_bytes_limit_) { + // Hit total_bytes_limit_. But if we also hit the normal limit, + // we're still OK. + legitimate_message_end_ = current_limit_ == total_bytes_limit_; + } else { + legitimate_message_end_ = true; + } + return 0; + } + } + + // For the slow path, just do a 64-bit read. Try to optimize for one-byte tags + // again, since we have now refreshed the buffer. + uint64 result = 0; + if (!ReadVarint64(&result)) return 0; + return static_cast(result); +} + +uint32 CodedInputStream::ReadTagFallback() { + const int buf_size = BufferSize(); + if (buf_size >= kMaxVarintBytes || + // Optimization: If the varint ends at exactly the end of the buffer, + // we can detect that and still use the fast path. + (buf_size > 0 && !(buffer_end_[-1] & 0x80))) { + uint32 tag; + const uint8* end = ReadVarint32FromArray(buffer_, &tag); + if (end == NULL) { + return 0; + } + buffer_ = end; + return tag; + } else { + // We are commonly at a limit when attempting to read tags. Try to quickly + // detect this case without making another function call. + if ((buf_size == 0) && + ((buffer_size_after_limit_ > 0) || + (total_bytes_read_ == current_limit_)) && + // Make sure that the limit we hit is not total_bytes_limit_, since + // in that case we still need to call Refresh() so that it prints an + // error. + total_bytes_read_ - buffer_size_after_limit_ < total_bytes_limit_) { + // We hit a byte limit. + legitimate_message_end_ = true; + return 0; + } + return ReadTagSlow(); + } +} + +bool CodedInputStream::ReadVarint64Slow(uint64* value) { + // Slow path: This read might cross the end of the buffer, so we + // need to check and refresh the buffer if and when it does. + + uint64 result = 0; + int count = 0; + uint32 b; + + do { + if (count == kMaxVarintBytes) return false; + while (buffer_ == buffer_end_) { + if (!Refresh()) return false; + } + b = *buffer_; + result |= static_cast(b & 0x7F) << (7 * count); + Advance(1); + ++count; + } while (b & 0x80); + + *value = result; + return true; +} + +bool CodedInputStream::ReadVarint64Fallback(uint64* value) { + if (BufferSize() >= kMaxVarintBytes || + // Optimization: If the varint ends at exactly the end of the buffer, + // we can detect that and still use the fast path. + (buffer_end_ > buffer_ && !(buffer_end_[-1] & 0x80))) { + // Fast path: We have enough bytes left in the buffer to guarantee that + // this read won't cross the end, so we can skip the checks. + + const uint8* ptr = buffer_; + uint32 b; + + // Splitting into 32-bit pieces gives better performance on 32-bit + // processors. + uint32 part0 = 0, part1 = 0, part2 = 0; + + b = *(ptr++); part0 = (b & 0x7F) ; if (!(b & 0x80)) goto done; + b = *(ptr++); part0 |= (b & 0x7F) << 7; if (!(b & 0x80)) goto done; + b = *(ptr++); part0 |= (b & 0x7F) << 14; if (!(b & 0x80)) goto done; + b = *(ptr++); part0 |= (b & 0x7F) << 21; if (!(b & 0x80)) goto done; + b = *(ptr++); part1 = (b & 0x7F) ; if (!(b & 0x80)) goto done; + b = *(ptr++); part1 |= (b & 0x7F) << 7; if (!(b & 0x80)) goto done; + b = *(ptr++); part1 |= (b & 0x7F) << 14; if (!(b & 0x80)) goto done; + b = *(ptr++); part1 |= (b & 0x7F) << 21; if (!(b & 0x80)) goto done; + b = *(ptr++); part2 = (b & 0x7F) ; if (!(b & 0x80)) goto done; + b = *(ptr++); part2 |= (b & 0x7F) << 7; if (!(b & 0x80)) goto done; + + // We have overrun the maximum size of a varint (10 bytes). The data + // must be corrupt. + return false; + + done: + Advance(ptr - buffer_); + *value = (static_cast(part0) ) | + (static_cast(part1) << 28) | + (static_cast(part2) << 56); + return true; + } else { + return ReadVarint64Slow(value); + } +} + +bool CodedInputStream::Refresh() { + GOOGLE_DCHECK_EQ(0, BufferSize()); + + if (buffer_size_after_limit_ > 0 || overflow_bytes_ > 0 || + total_bytes_read_ == current_limit_) { + // We've hit a limit. Stop. + int current_position = total_bytes_read_ - buffer_size_after_limit_; + + if (current_position >= total_bytes_limit_ && + total_bytes_limit_ != current_limit_) { + // Hit total_bytes_limit_. + PrintTotalBytesLimitError(); + } + + return false; + } + + if (total_bytes_warning_threshold_ >= 0 && + total_bytes_read_ >= total_bytes_warning_threshold_) { + GOOGLE_LOG(WARNING) << "Reading dangerously large protocol message. If the " + "message turns out to be larger than " + << total_bytes_limit_ << " bytes, parsing will be halted " + "for security reasons. To increase the limit (or to " + "disable these warnings), see " + "CodedInputStream::SetTotalBytesLimit() in " + "google/protobuf/io/coded_stream.h."; + + // Don't warn again for this stream, and print total size at the end. + total_bytes_warning_threshold_ = -2; + } + + const void* void_buffer; + int buffer_size; + if (NextNonEmpty(input_, &void_buffer, &buffer_size)) { + buffer_ = reinterpret_cast(void_buffer); + buffer_end_ = buffer_ + buffer_size; + GOOGLE_CHECK_GE(buffer_size, 0); + + if (total_bytes_read_ <= INT_MAX - buffer_size) { + total_bytes_read_ += buffer_size; + } else { + // Overflow. Reset buffer_end_ to not include the bytes beyond INT_MAX. + // We can't get that far anyway, because total_bytes_limit_ is guaranteed + // to be less than it. We need to keep track of the number of bytes + // we discarded, though, so that we can call input_->BackUp() to back + // up over them on destruction. + + // The following line is equivalent to: + // overflow_bytes_ = total_bytes_read_ + buffer_size - INT_MAX; + // except that it avoids overflows. Signed integer overflow has + // undefined results according to the C standard. + overflow_bytes_ = total_bytes_read_ - (INT_MAX - buffer_size); + buffer_end_ -= overflow_bytes_; + total_bytes_read_ = INT_MAX; + } + + RecomputeBufferLimits(); + return true; + } else { + buffer_ = NULL; + buffer_end_ = NULL; + return false; + } +} + +// CodedOutputStream ================================================= + +CodedOutputStream::CodedOutputStream(ZeroCopyOutputStream* output) + : output_(output), + buffer_(NULL), + buffer_size_(0), + total_bytes_(0), + had_error_(false) { + // Eagerly Refresh() so buffer space is immediately available. + Refresh(); + // The Refresh() may have failed. If the client doesn't write any data, + // though, don't consider this an error. If the client does write data, then + // another Refresh() will be attempted and it will set the error once again. + had_error_ = false; +} + +CodedOutputStream::~CodedOutputStream() { + if (buffer_size_ > 0) { + output_->BackUp(buffer_size_); + } +} + +bool CodedOutputStream::Skip(int count) { + if (count < 0) return false; + + while (count > buffer_size_) { + count -= buffer_size_; + if (!Refresh()) return false; + } + + Advance(count); + return true; +} + +bool CodedOutputStream::GetDirectBufferPointer(void** data, int* size) { + if (buffer_size_ == 0 && !Refresh()) return false; + + *data = buffer_; + *size = buffer_size_; + return true; +} + +void CodedOutputStream::WriteRaw(const void* data, int size) { + while (buffer_size_ < size) { + memcpy(buffer_, data, buffer_size_); + size -= buffer_size_; + data = reinterpret_cast(data) + buffer_size_; + if (!Refresh()) return; + } + + memcpy(buffer_, data, size); + Advance(size); +} + +uint8* CodedOutputStream::WriteRawToArray( + const void* data, int size, uint8* target) { + memcpy(target, data, size); + return target + size; +} + + +void CodedOutputStream::WriteLittleEndian32(uint32 value) { + uint8 bytes[sizeof(value)]; + + bool use_fast = buffer_size_ >= sizeof(value); + uint8* ptr = use_fast ? buffer_ : bytes; + + WriteLittleEndian32ToArray(value, ptr); + + if (use_fast) { + Advance(sizeof(value)); + } else { + WriteRaw(bytes, sizeof(value)); + } +} + +void CodedOutputStream::WriteLittleEndian64(uint64 value) { + uint8 bytes[sizeof(value)]; + + bool use_fast = buffer_size_ >= sizeof(value); + uint8* ptr = use_fast ? buffer_ : bytes; + + WriteLittleEndian64ToArray(value, ptr); + + if (use_fast) { + Advance(sizeof(value)); + } else { + WriteRaw(bytes, sizeof(value)); + } +} + +inline uint8* CodedOutputStream::WriteVarint32FallbackToArrayInline( + uint32 value, uint8* target) { + target[0] = static_cast(value | 0x80); + if (value >= (1 << 7)) { + target[1] = static_cast((value >> 7) | 0x80); + if (value >= (1 << 14)) { + target[2] = static_cast((value >> 14) | 0x80); + if (value >= (1 << 21)) { + target[3] = static_cast((value >> 21) | 0x80); + if (value >= (1 << 28)) { + target[4] = static_cast(value >> 28); + return target + 5; + } else { + target[3] &= 0x7F; + return target + 4; + } + } else { + target[2] &= 0x7F; + return target + 3; + } + } else { + target[1] &= 0x7F; + return target + 2; + } + } else { + target[0] &= 0x7F; + return target + 1; + } +} + +void CodedOutputStream::WriteVarint32(uint32 value) { + if (buffer_size_ >= kMaxVarint32Bytes) { + // Fast path: We have enough bytes left in the buffer to guarantee that + // this write won't cross the end, so we can skip the checks. + uint8* target = buffer_; + uint8* end = WriteVarint32FallbackToArrayInline(value, target); + int size = end - target; + Advance(size); + } else { + // Slow path: This write might cross the end of the buffer, so we + // compose the bytes first then use WriteRaw(). + uint8 bytes[kMaxVarint32Bytes]; + int size = 0; + while (value > 0x7F) { + bytes[size++] = (static_cast(value) & 0x7F) | 0x80; + value >>= 7; + } + bytes[size++] = static_cast(value) & 0x7F; + WriteRaw(bytes, size); + } +} + +uint8* CodedOutputStream::WriteVarint32FallbackToArray( + uint32 value, uint8* target) { + return WriteVarint32FallbackToArrayInline(value, target); +} + +inline uint8* CodedOutputStream::WriteVarint64ToArrayInline( + uint64 value, uint8* target) { + // Splitting into 32-bit pieces gives better performance on 32-bit + // processors. + uint32 part0 = static_cast(value ); + uint32 part1 = static_cast(value >> 28); + uint32 part2 = static_cast(value >> 56); + + int size; + + // Here we can't really optimize for small numbers, since the value is + // split into three parts. Cheking for numbers < 128, for instance, + // would require three comparisons, since you'd have to make sure part1 + // and part2 are zero. However, if the caller is using 64-bit integers, + // it is likely that they expect the numbers to often be very large, so + // we probably don't want to optimize for small numbers anyway. Thus, + // we end up with a hardcoded binary search tree... + if (part2 == 0) { + if (part1 == 0) { + if (part0 < (1 << 14)) { + if (part0 < (1 << 7)) { + size = 1; goto size1; + } else { + size = 2; goto size2; + } + } else { + if (part0 < (1 << 21)) { + size = 3; goto size3; + } else { + size = 4; goto size4; + } + } + } else { + if (part1 < (1 << 14)) { + if (part1 < (1 << 7)) { + size = 5; goto size5; + } else { + size = 6; goto size6; + } + } else { + if (part1 < (1 << 21)) { + size = 7; goto size7; + } else { + size = 8; goto size8; + } + } + } + } else { + if (part2 < (1 << 7)) { + size = 9; goto size9; + } else { + size = 10; goto size10; + } + } + + GOOGLE_LOG(FATAL) << "Can't get here."; + + size10: target[9] = static_cast((part2 >> 7) | 0x80); + size9 : target[8] = static_cast((part2 ) | 0x80); + size8 : target[7] = static_cast((part1 >> 21) | 0x80); + size7 : target[6] = static_cast((part1 >> 14) | 0x80); + size6 : target[5] = static_cast((part1 >> 7) | 0x80); + size5 : target[4] = static_cast((part1 ) | 0x80); + size4 : target[3] = static_cast((part0 >> 21) | 0x80); + size3 : target[2] = static_cast((part0 >> 14) | 0x80); + size2 : target[1] = static_cast((part0 >> 7) | 0x80); + size1 : target[0] = static_cast((part0 ) | 0x80); + + target[size-1] &= 0x7F; + return target + size; +} + +void CodedOutputStream::WriteVarint64(uint64 value) { + if (buffer_size_ >= kMaxVarintBytes) { + // Fast path: We have enough bytes left in the buffer to guarantee that + // this write won't cross the end, so we can skip the checks. + uint8* target = buffer_; + + uint8* end = WriteVarint64ToArrayInline(value, target); + int size = end - target; + Advance(size); + } else { + // Slow path: This write might cross the end of the buffer, so we + // compose the bytes first then use WriteRaw(). + uint8 bytes[kMaxVarintBytes]; + int size = 0; + while (value > 0x7F) { + bytes[size++] = (static_cast(value) & 0x7F) | 0x80; + value >>= 7; + } + bytes[size++] = static_cast(value) & 0x7F; + WriteRaw(bytes, size); + } +} + +uint8* CodedOutputStream::WriteVarint64ToArray( + uint64 value, uint8* target) { + return WriteVarint64ToArrayInline(value, target); +} + +bool CodedOutputStream::Refresh() { + void* void_buffer; + if (output_->Next(&void_buffer, &buffer_size_)) { + buffer_ = reinterpret_cast(void_buffer); + total_bytes_ += buffer_size_; + return true; + } else { + buffer_ = NULL; + buffer_size_ = 0; + had_error_ = true; + return false; + } +} + +int CodedOutputStream::VarintSize32Fallback(uint32 value) { + if (value < (1 << 7)) { + return 1; + } else if (value < (1 << 14)) { + return 2; + } else if (value < (1 << 21)) { + return 3; + } else if (value < (1 << 28)) { + return 4; + } else { + return 5; + } +} + +int CodedOutputStream::VarintSize64(uint64 value) { + if (value < (1ull << 35)) { + if (value < (1ull << 7)) { + return 1; + } else if (value < (1ull << 14)) { + return 2; + } else if (value < (1ull << 21)) { + return 3; + } else if (value < (1ull << 28)) { + return 4; + } else { + return 5; + } + } else { + if (value < (1ull << 42)) { + return 6; + } else if (value < (1ull << 49)) { + return 7; + } else if (value < (1ull << 56)) { + return 8; + } else if (value < (1ull << 63)) { + return 9; + } else { + return 10; + } + } +} + +} // namespace io +} // namespace protobuf +} // namespace google diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/coded_stream.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/coded_stream.h new file mode 100644 index 0000000000..66cbee0038 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/coded_stream.h @@ -0,0 +1,1136 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This file contains the CodedInputStream and CodedOutputStream classes, +// which wrap a ZeroCopyInputStream or ZeroCopyOutputStream, respectively, +// and allow you to read or write individual pieces of data in various +// formats. In particular, these implement the varint encoding for +// integers, a simple variable-length encoding in which smaller numbers +// take fewer bytes. +// +// Typically these classes will only be used internally by the protocol +// buffer library in order to encode and decode protocol buffers. Clients +// of the library only need to know about this class if they wish to write +// custom message parsing or serialization procedures. +// +// CodedOutputStream example: +// // Write some data to "myfile". First we write a 4-byte "magic number" +// // to identify the file type, then write a length-delimited string. The +// // string is composed of a varint giving the length followed by the raw +// // bytes. +// int fd = open("myfile", O_WRONLY); +// ZeroCopyOutputStream* raw_output = new FileOutputStream(fd); +// CodedOutputStream* coded_output = new CodedOutputStream(raw_output); +// +// int magic_number = 1234; +// char text[] = "Hello world!"; +// coded_output->WriteLittleEndian32(magic_number); +// coded_output->WriteVarint32(strlen(text)); +// coded_output->WriteRaw(text, strlen(text)); +// +// delete coded_output; +// delete raw_output; +// close(fd); +// +// CodedInputStream example: +// // Read a file created by the above code. +// int fd = open("myfile", O_RDONLY); +// ZeroCopyInputStream* raw_input = new FileInputStream(fd); +// CodedInputStream coded_input = new CodedInputStream(raw_input); +// +// coded_input->ReadLittleEndian32(&magic_number); +// if (magic_number != 1234) { +// cerr << "File not in expected format." << endl; +// return; +// } +// +// uint32 size; +// coded_input->ReadVarint32(&size); +// +// char* text = new char[size + 1]; +// coded_input->ReadRaw(buffer, size); +// text[size] = '\0'; +// +// delete coded_input; +// delete raw_input; +// close(fd); +// +// cout << "Text is: " << text << endl; +// delete [] text; +// +// For those who are interested, varint encoding is defined as follows: +// +// The encoding operates on unsigned integers of up to 64 bits in length. +// Each byte of the encoded value has the format: +// * bits 0-6: Seven bits of the number being encoded. +// * bit 7: Zero if this is the last byte in the encoding (in which +// case all remaining bits of the number are zero) or 1 if +// more bytes follow. +// The first byte contains the least-significant 7 bits of the number, the +// second byte (if present) contains the next-least-significant 7 bits, +// and so on. So, the binary number 1011000101011 would be encoded in two +// bytes as "10101011 00101100". +// +// In theory, varint could be used to encode integers of any length. +// However, for practicality we set a limit at 64 bits. The maximum encoded +// length of a number is thus 10 bytes. + +#ifndef GOOGLE_PROTOBUF_IO_CODED_STREAM_H__ +#define GOOGLE_PROTOBUF_IO_CODED_STREAM_H__ + +#include +#ifdef _MSC_VER + #if defined(_M_IX86) && \ + !defined(PROTOBUF_DISABLE_LITTLE_ENDIAN_OPT_FOR_TEST) + #define PROTOBUF_LITTLE_ENDIAN 1 + #endif + #if _MSC_VER >= 1300 + // If MSVC has "/RTCc" set, it will complain about truncating casts at + // runtime. This file contains some intentional truncating casts. + #pragma runtime_checks("c", off) + #endif +#else + #include // __BYTE_ORDER + #if defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN && \ + !defined(PROTOBUF_DISABLE_LITTLE_ENDIAN_OPT_FOR_TEST) + #define PROTOBUF_LITTLE_ENDIAN 1 + #endif +#endif +#include + + +namespace google { +namespace protobuf { + +class DescriptorPool; +class MessageFactory; + +namespace io { + +// Defined in this file. +class CodedInputStream; +class CodedOutputStream; + +// Defined in other files. +class ZeroCopyInputStream; // zero_copy_stream.h +class ZeroCopyOutputStream; // zero_copy_stream.h + +// Class which reads and decodes binary data which is composed of varint- +// encoded integers and fixed-width pieces. Wraps a ZeroCopyInputStream. +// Most users will not need to deal with CodedInputStream. +// +// Most methods of CodedInputStream that return a bool return false if an +// underlying I/O error occurs or if the data is malformed. Once such a +// failure occurs, the CodedInputStream is broken and is no longer useful. +class LIBPROTOBUF_EXPORT CodedInputStream { + public: + // Create a CodedInputStream that reads from the given ZeroCopyInputStream. + explicit CodedInputStream(ZeroCopyInputStream* input); + + // Create a CodedInputStream that reads from the given flat array. This is + // faster than using an ArrayInputStream. PushLimit(size) is implied by + // this constructor. + explicit CodedInputStream(const uint8* buffer, int size); + + // Destroy the CodedInputStream and position the underlying + // ZeroCopyInputStream at the first unread byte. If an error occurred while + // reading (causing a method to return false), then the exact position of + // the input stream may be anywhere between the last value that was read + // successfully and the stream's byte limit. + ~CodedInputStream(); + + // Return true if this CodedInputStream reads from a flat array instead of + // a ZeroCopyInputStream. + inline bool IsFlat() const; + + // Skips a number of bytes. Returns false if an underlying read error + // occurs. + bool Skip(int count); + + // Sets *data to point directly at the unread part of the CodedInputStream's + // underlying buffer, and *size to the size of that buffer, but does not + // advance the stream's current position. This will always either produce + // a non-empty buffer or return false. If the caller consumes any of + // this data, it should then call Skip() to skip over the consumed bytes. + // This may be useful for implementing external fast parsing routines for + // types of data not covered by the CodedInputStream interface. + bool GetDirectBufferPointer(const void** data, int* size); + + // Like GetDirectBufferPointer, but this method is inlined, and does not + // attempt to Refresh() if the buffer is currently empty. + inline void GetDirectBufferPointerInline(const void** data, + int* size) GOOGLE_ATTRIBUTE_ALWAYS_INLINE; + + // Read raw bytes, copying them into the given buffer. + bool ReadRaw(void* buffer, int size); + + // Like ReadRaw, but reads into a string. + // + // Implementation Note: ReadString() grows the string gradually as it + // reads in the data, rather than allocating the entire requested size + // upfront. This prevents denial-of-service attacks in which a client + // could claim that a string is going to be MAX_INT bytes long in order to + // crash the server because it can't allocate this much space at once. + bool ReadString(string* buffer, int size); + // Like the above, with inlined optimizations. This should only be used + // by the protobuf implementation. + inline bool InternalReadStringInline(string* buffer, + int size) GOOGLE_ATTRIBUTE_ALWAYS_INLINE; + + + // Read a 32-bit little-endian integer. + bool ReadLittleEndian32(uint32* value); + // Read a 64-bit little-endian integer. + bool ReadLittleEndian64(uint64* value); + + // These methods read from an externally provided buffer. The caller is + // responsible for ensuring that the buffer has sufficient space. + // Read a 32-bit little-endian integer. + static const uint8* ReadLittleEndian32FromArray(const uint8* buffer, + uint32* value); + // Read a 64-bit little-endian integer. + static const uint8* ReadLittleEndian64FromArray(const uint8* buffer, + uint64* value); + + // Read an unsigned integer with Varint encoding, truncating to 32 bits. + // Reading a 32-bit value is equivalent to reading a 64-bit one and casting + // it to uint32, but may be more efficient. + bool ReadVarint32(uint32* value); + // Read an unsigned integer with Varint encoding. + bool ReadVarint64(uint64* value); + + // Read a tag. This calls ReadVarint32() and returns the result, or returns + // zero (which is not a valid tag) if ReadVarint32() fails. Also, it updates + // the last tag value, which can be checked with LastTagWas(). + // Always inline because this is only called in once place per parse loop + // but it is called for every iteration of said loop, so it should be fast. + // GCC doesn't want to inline this by default. + uint32 ReadTag() GOOGLE_ATTRIBUTE_ALWAYS_INLINE; + + // Usually returns true if calling ReadVarint32() now would produce the given + // value. Will always return false if ReadVarint32() would not return the + // given value. If ExpectTag() returns true, it also advances past + // the varint. For best performance, use a compile-time constant as the + // parameter. + // Always inline because this collapses to a small number of instructions + // when given a constant parameter, but GCC doesn't want to inline by default. + bool ExpectTag(uint32 expected) GOOGLE_ATTRIBUTE_ALWAYS_INLINE; + + // Like above, except this reads from the specified buffer. The caller is + // responsible for ensuring that the buffer is large enough to read a varint + // of the expected size. For best performance, use a compile-time constant as + // the expected tag parameter. + // + // Returns a pointer beyond the expected tag if it was found, or NULL if it + // was not. + static const uint8* ExpectTagFromArray( + const uint8* buffer, + uint32 expected) GOOGLE_ATTRIBUTE_ALWAYS_INLINE; + + // Usually returns true if no more bytes can be read. Always returns false + // if more bytes can be read. If ExpectAtEnd() returns true, a subsequent + // call to LastTagWas() will act as if ReadTag() had been called and returned + // zero, and ConsumedEntireMessage() will return true. + bool ExpectAtEnd(); + + // If the last call to ReadTag() returned the given value, returns true. + // Otherwise, returns false; + // + // This is needed because parsers for some types of embedded messages + // (with field type TYPE_GROUP) don't actually know that they've reached the + // end of a message until they see an ENDGROUP tag, which was actually part + // of the enclosing message. The enclosing message would like to check that + // tag to make sure it had the right number, so it calls LastTagWas() on + // return from the embedded parser to check. + bool LastTagWas(uint32 expected); + + // When parsing message (but NOT a group), this method must be called + // immediately after MergeFromCodedStream() returns (if it returns true) + // to further verify that the message ended in a legitimate way. For + // example, this verifies that parsing did not end on an end-group tag. + // It also checks for some cases where, due to optimizations, + // MergeFromCodedStream() can incorrectly return true. + bool ConsumedEntireMessage(); + + // Limits ---------------------------------------------------------- + // Limits are used when parsing length-delimited embedded messages. + // After the message's length is read, PushLimit() is used to prevent + // the CodedInputStream from reading beyond that length. Once the + // embedded message has been parsed, PopLimit() is called to undo the + // limit. + + // Opaque type used with PushLimit() and PopLimit(). Do not modify + // values of this type yourself. The only reason that this isn't a + // struct with private internals is for efficiency. + typedef int Limit; + + // Places a limit on the number of bytes that the stream may read, + // starting from the current position. Once the stream hits this limit, + // it will act like the end of the input has been reached until PopLimit() + // is called. + // + // As the names imply, the stream conceptually has a stack of limits. The + // shortest limit on the stack is always enforced, even if it is not the + // top limit. + // + // The value returned by PushLimit() is opaque to the caller, and must + // be passed unchanged to the corresponding call to PopLimit(). + Limit PushLimit(int byte_limit); + + // Pops the last limit pushed by PushLimit(). The input must be the value + // returned by that call to PushLimit(). + void PopLimit(Limit limit); + + // Returns the number of bytes left until the nearest limit on the + // stack is hit, or -1 if no limits are in place. + int BytesUntilLimit() const; + + // Returns current position relative to the beginning of the input stream. + int CurrentPosition() const; + + // Total Bytes Limit ----------------------------------------------- + // To prevent malicious users from sending excessively large messages + // and causing integer overflows or memory exhaustion, CodedInputStream + // imposes a hard limit on the total number of bytes it will read. + + // Sets the maximum number of bytes that this CodedInputStream will read + // before refusing to continue. To prevent integer overflows in the + // protocol buffers implementation, as well as to prevent servers from + // allocating enormous amounts of memory to hold parsed messages, the + // maximum message length should be limited to the shortest length that + // will not harm usability. The theoretical shortest message that could + // cause integer overflows is 512MB. The default limit is 64MB. Apps + // should set shorter limits if possible. If warning_threshold is not -1, + // a warning will be printed to stderr after warning_threshold bytes are + // read. For backwards compatibility all negative values get squached to -1, + // as other negative values might have special internal meanings. + // An error will always be printed to stderr if the limit is reached. + // + // This is unrelated to PushLimit()/PopLimit(). + // + // Hint: If you are reading this because your program is printing a + // warning about dangerously large protocol messages, you may be + // confused about what to do next. The best option is to change your + // design such that excessively large messages are not necessary. + // For example, try to design file formats to consist of many small + // messages rather than a single large one. If this is infeasible, + // you will need to increase the limit. Chances are, though, that + // your code never constructs a CodedInputStream on which the limit + // can be set. You probably parse messages by calling things like + // Message::ParseFromString(). In this case, you will need to change + // your code to instead construct some sort of ZeroCopyInputStream + // (e.g. an ArrayInputStream), construct a CodedInputStream around + // that, then call Message::ParseFromCodedStream() instead. Then + // you can adjust the limit. Yes, it's more work, but you're doing + // something unusual. + void SetTotalBytesLimit(int total_bytes_limit, int warning_threshold); + + // Recursion Limit ------------------------------------------------- + // To prevent corrupt or malicious messages from causing stack overflows, + // we must keep track of the depth of recursion when parsing embedded + // messages and groups. CodedInputStream keeps track of this because it + // is the only object that is passed down the stack during parsing. + + // Sets the maximum recursion depth. The default is 100. + void SetRecursionLimit(int limit); + + + // Increments the current recursion depth. Returns true if the depth is + // under the limit, false if it has gone over. + bool IncrementRecursionDepth(); + + // Decrements the recursion depth. + void DecrementRecursionDepth(); + + // Extension Registry ---------------------------------------------- + // ADVANCED USAGE: 99.9% of people can ignore this section. + // + // By default, when parsing extensions, the parser looks for extension + // definitions in the pool which owns the outer message's Descriptor. + // However, you may call SetExtensionRegistry() to provide an alternative + // pool instead. This makes it possible, for example, to parse a message + // using a generated class, but represent some extensions using + // DynamicMessage. + + // Set the pool used to look up extensions. Most users do not need to call + // this as the correct pool will be chosen automatically. + // + // WARNING: It is very easy to misuse this. Carefully read the requirements + // below. Do not use this unless you are sure you need it. Almost no one + // does. + // + // Let's say you are parsing a message into message object m, and you want + // to take advantage of SetExtensionRegistry(). You must follow these + // requirements: + // + // The given DescriptorPool must contain m->GetDescriptor(). It is not + // sufficient for it to simply contain a descriptor that has the same name + // and content -- it must be the *exact object*. In other words: + // assert(pool->FindMessageTypeByName(m->GetDescriptor()->full_name()) == + // m->GetDescriptor()); + // There are two ways to satisfy this requirement: + // 1) Use m->GetDescriptor()->pool() as the pool. This is generally useless + // because this is the pool that would be used anyway if you didn't call + // SetExtensionRegistry() at all. + // 2) Use a DescriptorPool which has m->GetDescriptor()->pool() as an + // "underlay". Read the documentation for DescriptorPool for more + // information about underlays. + // + // You must also provide a MessageFactory. This factory will be used to + // construct Message objects representing extensions. The factory's + // GetPrototype() MUST return non-NULL for any Descriptor which can be found + // through the provided pool. + // + // If the provided factory might return instances of protocol-compiler- + // generated (i.e. compiled-in) types, or if the outer message object m is + // a generated type, then the given factory MUST have this property: If + // GetPrototype() is given a Descriptor which resides in + // DescriptorPool::generated_pool(), the factory MUST return the same + // prototype which MessageFactory::generated_factory() would return. That + // is, given a descriptor for a generated type, the factory must return an + // instance of the generated class (NOT DynamicMessage). However, when + // given a descriptor for a type that is NOT in generated_pool, the factory + // is free to return any implementation. + // + // The reason for this requirement is that generated sub-objects may be + // accessed via the standard (non-reflection) extension accessor methods, + // and these methods will down-cast the object to the generated class type. + // If the object is not actually of that type, the results would be undefined. + // On the other hand, if an extension is not compiled in, then there is no + // way the code could end up accessing it via the standard accessors -- the + // only way to access the extension is via reflection. When using reflection, + // DynamicMessage and generated messages are indistinguishable, so it's fine + // if these objects are represented using DynamicMessage. + // + // Using DynamicMessageFactory on which you have called + // SetDelegateToGeneratedFactory(true) should be sufficient to satisfy the + // above requirement. + // + // If either pool or factory is NULL, both must be NULL. + // + // Note that this feature is ignored when parsing "lite" messages as they do + // not have descriptors. + void SetExtensionRegistry(const DescriptorPool* pool, + MessageFactory* factory); + + // Get the DescriptorPool set via SetExtensionRegistry(), or NULL if no pool + // has been provided. + const DescriptorPool* GetExtensionPool(); + + // Get the MessageFactory set via SetExtensionRegistry(), or NULL if no + // factory has been provided. + MessageFactory* GetExtensionFactory(); + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CodedInputStream); + + ZeroCopyInputStream* input_; + const uint8* buffer_; + const uint8* buffer_end_; // pointer to the end of the buffer. + int total_bytes_read_; // total bytes read from input_, including + // the current buffer + + // If total_bytes_read_ surpasses INT_MAX, we record the extra bytes here + // so that we can BackUp() on destruction. + int overflow_bytes_; + + // LastTagWas() stuff. + uint32 last_tag_; // result of last ReadTag(). + + // This is set true by ReadTag{Fallback/Slow}() if it is called when exactly + // at EOF, or by ExpectAtEnd() when it returns true. This happens when we + // reach the end of a message and attempt to read another tag. + bool legitimate_message_end_; + + // See EnableAliasing(). + bool aliasing_enabled_; + + // Limits + Limit current_limit_; // if position = -1, no limit is applied + + // For simplicity, if the current buffer crosses a limit (either a normal + // limit created by PushLimit() or the total bytes limit), buffer_size_ + // only tracks the number of bytes before that limit. This field + // contains the number of bytes after it. Note that this implies that if + // buffer_size_ == 0 and buffer_size_after_limit_ > 0, we know we've + // hit a limit. However, if both are zero, it doesn't necessarily mean + // we aren't at a limit -- the buffer may have ended exactly at the limit. + int buffer_size_after_limit_; + + // Maximum number of bytes to read, period. This is unrelated to + // current_limit_. Set using SetTotalBytesLimit(). + int total_bytes_limit_; + + // If positive/0: Limit for bytes read after which a warning due to size + // should be logged. + // If -1: Printing of warning disabled. Can be set by client. + // If -2: Internal: Limit has been reached, print full size when destructing. + int total_bytes_warning_threshold_; + + // Current recursion depth, controlled by IncrementRecursionDepth() and + // DecrementRecursionDepth(). + int recursion_depth_; + // Recursion depth limit, set by SetRecursionLimit(). + int recursion_limit_; + + // See SetExtensionRegistry(). + const DescriptorPool* extension_pool_; + MessageFactory* extension_factory_; + + // Private member functions. + + // Advance the buffer by a given number of bytes. + void Advance(int amount); + + // Back up input_ to the current buffer position. + void BackUpInputToCurrentPosition(); + + // Recomputes the value of buffer_size_after_limit_. Must be called after + // current_limit_ or total_bytes_limit_ changes. + void RecomputeBufferLimits(); + + // Writes an error message saying that we hit total_bytes_limit_. + void PrintTotalBytesLimitError(); + + // Called when the buffer runs out to request more data. Implies an + // Advance(BufferSize()). + bool Refresh(); + + // When parsing varints, we optimize for the common case of small values, and + // then optimize for the case when the varint fits within the current buffer + // piece. The Fallback method is used when we can't use the one-byte + // optimization. The Slow method is yet another fallback when the buffer is + // not large enough. Making the slow path out-of-line speeds up the common + // case by 10-15%. The slow path is fairly uncommon: it only triggers when a + // message crosses multiple buffers. + bool ReadVarint32Fallback(uint32* value); + bool ReadVarint64Fallback(uint64* value); + bool ReadVarint32Slow(uint32* value); + bool ReadVarint64Slow(uint64* value); + bool ReadLittleEndian32Fallback(uint32* value); + bool ReadLittleEndian64Fallback(uint64* value); + // Fallback/slow methods for reading tags. These do not update last_tag_, + // but will set legitimate_message_end_ if we are at the end of the input + // stream. + uint32 ReadTagFallback(); + uint32 ReadTagSlow(); + bool ReadStringFallback(string* buffer, int size); + + // Return the size of the buffer. + int BufferSize() const; + + static const int kDefaultTotalBytesLimit = 64 << 20; // 64MB + + static const int kDefaultTotalBytesWarningThreshold = 32 << 20; // 32MB + + static int default_recursion_limit_; // 100 by default. +}; + +// Class which encodes and writes binary data which is composed of varint- +// encoded integers and fixed-width pieces. Wraps a ZeroCopyOutputStream. +// Most users will not need to deal with CodedOutputStream. +// +// Most methods of CodedOutputStream which return a bool return false if an +// underlying I/O error occurs. Once such a failure occurs, the +// CodedOutputStream is broken and is no longer useful. The Write* methods do +// not return the stream status, but will invalidate the stream if an error +// occurs. The client can probe HadError() to determine the status. +// +// Note that every method of CodedOutputStream which writes some data has +// a corresponding static "ToArray" version. These versions write directly +// to the provided buffer, returning a pointer past the last written byte. +// They require that the buffer has sufficient capacity for the encoded data. +// This allows an optimization where we check if an output stream has enough +// space for an entire message before we start writing and, if there is, we +// call only the ToArray methods to avoid doing bound checks for each +// individual value. +// i.e., in the example above: +// +// CodedOutputStream coded_output = new CodedOutputStream(raw_output); +// int magic_number = 1234; +// char text[] = "Hello world!"; +// +// int coded_size = sizeof(magic_number) + +// CodedOutputStream::VarintSize32(strlen(text)) + +// strlen(text); +// +// uint8* buffer = +// coded_output->GetDirectBufferForNBytesAndAdvance(coded_size); +// if (buffer != NULL) { +// // The output stream has enough space in the buffer: write directly to +// // the array. +// buffer = CodedOutputStream::WriteLittleEndian32ToArray(magic_number, +// buffer); +// buffer = CodedOutputStream::WriteVarint32ToArray(strlen(text), buffer); +// buffer = CodedOutputStream::WriteRawToArray(text, strlen(text), buffer); +// } else { +// // Make bound-checked writes, which will ask the underlying stream for +// // more space as needed. +// coded_output->WriteLittleEndian32(magic_number); +// coded_output->WriteVarint32(strlen(text)); +// coded_output->WriteRaw(text, strlen(text)); +// } +// +// delete coded_output; +class LIBPROTOBUF_EXPORT CodedOutputStream { + public: + // Create an CodedOutputStream that writes to the given ZeroCopyOutputStream. + explicit CodedOutputStream(ZeroCopyOutputStream* output); + + // Destroy the CodedOutputStream and position the underlying + // ZeroCopyOutputStream immediately after the last byte written. + ~CodedOutputStream(); + + // Skips a number of bytes, leaving the bytes unmodified in the underlying + // buffer. Returns false if an underlying write error occurs. This is + // mainly useful with GetDirectBufferPointer(). + bool Skip(int count); + + // Sets *data to point directly at the unwritten part of the + // CodedOutputStream's underlying buffer, and *size to the size of that + // buffer, but does not advance the stream's current position. This will + // always either produce a non-empty buffer or return false. If the caller + // writes any data to this buffer, it should then call Skip() to skip over + // the consumed bytes. This may be useful for implementing external fast + // serialization routines for types of data not covered by the + // CodedOutputStream interface. + bool GetDirectBufferPointer(void** data, int* size); + + // If there are at least "size" bytes available in the current buffer, + // returns a pointer directly into the buffer and advances over these bytes. + // The caller may then write directly into this buffer (e.g. using the + // *ToArray static methods) rather than go through CodedOutputStream. If + // there are not enough bytes available, returns NULL. The return pointer is + // invalidated as soon as any other non-const method of CodedOutputStream + // is called. + inline uint8* GetDirectBufferForNBytesAndAdvance(int size); + + // Write raw bytes, copying them from the given buffer. + void WriteRaw(const void* buffer, int size); + // Like WriteRaw() but writing directly to the target array. + // This is _not_ inlined, as the compiler often optimizes memcpy into inline + // copy loops. Since this gets called by every field with string or bytes + // type, inlining may lead to a significant amount of code bloat, with only a + // minor performance gain. + static uint8* WriteRawToArray(const void* buffer, int size, uint8* target); + + // Equivalent to WriteRaw(str.data(), str.size()). + void WriteString(const string& str); + // Like WriteString() but writing directly to the target array. + static uint8* WriteStringToArray(const string& str, uint8* target); + + + // Write a 32-bit little-endian integer. + void WriteLittleEndian32(uint32 value); + // Like WriteLittleEndian32() but writing directly to the target array. + static uint8* WriteLittleEndian32ToArray(uint32 value, uint8* target); + // Write a 64-bit little-endian integer. + void WriteLittleEndian64(uint64 value); + // Like WriteLittleEndian64() but writing directly to the target array. + static uint8* WriteLittleEndian64ToArray(uint64 value, uint8* target); + + // Write an unsigned integer with Varint encoding. Writing a 32-bit value + // is equivalent to casting it to uint64 and writing it as a 64-bit value, + // but may be more efficient. + void WriteVarint32(uint32 value); + // Like WriteVarint32() but writing directly to the target array. + static uint8* WriteVarint32ToArray(uint32 value, uint8* target); + // Write an unsigned integer with Varint encoding. + void WriteVarint64(uint64 value); + // Like WriteVarint64() but writing directly to the target array. + static uint8* WriteVarint64ToArray(uint64 value, uint8* target); + + // Equivalent to WriteVarint32() except when the value is negative, + // in which case it must be sign-extended to a full 10 bytes. + void WriteVarint32SignExtended(int32 value); + // Like WriteVarint32SignExtended() but writing directly to the target array. + static uint8* WriteVarint32SignExtendedToArray(int32 value, uint8* target); + + // This is identical to WriteVarint32(), but optimized for writing tags. + // In particular, if the input is a compile-time constant, this method + // compiles down to a couple instructions. + // Always inline because otherwise the aformentioned optimization can't work, + // but GCC by default doesn't want to inline this. + void WriteTag(uint32 value); + // Like WriteTag() but writing directly to the target array. + static uint8* WriteTagToArray( + uint32 value, uint8* target) GOOGLE_ATTRIBUTE_ALWAYS_INLINE; + + // Returns the number of bytes needed to encode the given value as a varint. + static int VarintSize32(uint32 value); + // Returns the number of bytes needed to encode the given value as a varint. + static int VarintSize64(uint64 value); + + // If negative, 10 bytes. Otheriwse, same as VarintSize32(). + static int VarintSize32SignExtended(int32 value); + + // Compile-time equivalent of VarintSize32(). + template + struct StaticVarintSize32 { + static const int value = + (Value < (1 << 7)) + ? 1 + : (Value < (1 << 14)) + ? 2 + : (Value < (1 << 21)) + ? 3 + : (Value < (1 << 28)) + ? 4 + : 5; + }; + + // Returns the total number of bytes written since this object was created. + inline int ByteCount() const; + + // Returns true if there was an underlying I/O error since this object was + // created. + bool HadError() const { return had_error_; } + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CodedOutputStream); + + ZeroCopyOutputStream* output_; + uint8* buffer_; + int buffer_size_; + int total_bytes_; // Sum of sizes of all buffers seen so far. + bool had_error_; // Whether an error occurred during output. + + // Advance the buffer by a given number of bytes. + void Advance(int amount); + + // Called when the buffer runs out to request more data. Implies an + // Advance(buffer_size_). + bool Refresh(); + + static uint8* WriteVarint32FallbackToArray(uint32 value, uint8* target); + + // Always-inlined versions of WriteVarint* functions so that code can be + // reused, while still controlling size. For instance, WriteVarint32ToArray() + // should not directly call this: since it is inlined itself, doing so + // would greatly increase the size of generated code. Instead, it should call + // WriteVarint32FallbackToArray. Meanwhile, WriteVarint32() is already + // out-of-line, so it should just invoke this directly to avoid any extra + // function call overhead. + static uint8* WriteVarint32FallbackToArrayInline( + uint32 value, uint8* target) GOOGLE_ATTRIBUTE_ALWAYS_INLINE; + static uint8* WriteVarint64ToArrayInline( + uint64 value, uint8* target) GOOGLE_ATTRIBUTE_ALWAYS_INLINE; + + static int VarintSize32Fallback(uint32 value); +}; + +// inline methods ==================================================== +// The vast majority of varints are only one byte. These inline +// methods optimize for that case. + +inline bool CodedInputStream::ReadVarint32(uint32* value) { + if (GOOGLE_PREDICT_TRUE(buffer_ < buffer_end_) && *buffer_ < 0x80) { + *value = *buffer_; + Advance(1); + return true; + } else { + return ReadVarint32Fallback(value); + } +} + +inline bool CodedInputStream::ReadVarint64(uint64* value) { + if (GOOGLE_PREDICT_TRUE(buffer_ < buffer_end_) && *buffer_ < 0x80) { + *value = *buffer_; + Advance(1); + return true; + } else { + return ReadVarint64Fallback(value); + } +} + +// static +inline const uint8* CodedInputStream::ReadLittleEndian32FromArray( + const uint8* buffer, + uint32* value) { +#if defined(PROTOBUF_LITTLE_ENDIAN) + memcpy(value, buffer, sizeof(*value)); + return buffer + sizeof(*value); +#else + *value = (static_cast(buffer[0]) ) | + (static_cast(buffer[1]) << 8) | + (static_cast(buffer[2]) << 16) | + (static_cast(buffer[3]) << 24); + return buffer + sizeof(*value); +#endif +} +// static +inline const uint8* CodedInputStream::ReadLittleEndian64FromArray( + const uint8* buffer, + uint64* value) { +#if defined(PROTOBUF_LITTLE_ENDIAN) + memcpy(value, buffer, sizeof(*value)); + return buffer + sizeof(*value); +#else + uint32 part0 = (static_cast(buffer[0]) ) | + (static_cast(buffer[1]) << 8) | + (static_cast(buffer[2]) << 16) | + (static_cast(buffer[3]) << 24); + uint32 part1 = (static_cast(buffer[4]) ) | + (static_cast(buffer[5]) << 8) | + (static_cast(buffer[6]) << 16) | + (static_cast(buffer[7]) << 24); + *value = static_cast(part0) | + (static_cast(part1) << 32); + return buffer + sizeof(*value); +#endif +} + +inline bool CodedInputStream::ReadLittleEndian32(uint32* value) { +#if defined(PROTOBUF_LITTLE_ENDIAN) + if (GOOGLE_PREDICT_TRUE(BufferSize() >= static_cast(sizeof(*value)))) { + memcpy(value, buffer_, sizeof(*value)); + Advance(sizeof(*value)); + return true; + } else { + return ReadLittleEndian32Fallback(value); + } +#else + return ReadLittleEndian32Fallback(value); +#endif +} + +inline bool CodedInputStream::ReadLittleEndian64(uint64* value) { +#if defined(PROTOBUF_LITTLE_ENDIAN) + if (GOOGLE_PREDICT_TRUE(BufferSize() >= static_cast(sizeof(*value)))) { + memcpy(value, buffer_, sizeof(*value)); + Advance(sizeof(*value)); + return true; + } else { + return ReadLittleEndian64Fallback(value); + } +#else + return ReadLittleEndian64Fallback(value); +#endif +} + +inline uint32 CodedInputStream::ReadTag() { + if (GOOGLE_PREDICT_TRUE(buffer_ < buffer_end_) && buffer_[0] < 0x80) { + last_tag_ = buffer_[0]; + Advance(1); + return last_tag_; + } else { + last_tag_ = ReadTagFallback(); + return last_tag_; + } +} + +inline bool CodedInputStream::LastTagWas(uint32 expected) { + return last_tag_ == expected; +} + +inline bool CodedInputStream::ConsumedEntireMessage() { + return legitimate_message_end_; +} + +inline bool CodedInputStream::ExpectTag(uint32 expected) { + if (expected < (1 << 7)) { + if (GOOGLE_PREDICT_TRUE(buffer_ < buffer_end_) && buffer_[0] == expected) { + Advance(1); + return true; + } else { + return false; + } + } else if (expected < (1 << 14)) { + if (GOOGLE_PREDICT_TRUE(BufferSize() >= 2) && + buffer_[0] == static_cast(expected | 0x80) && + buffer_[1] == static_cast(expected >> 7)) { + Advance(2); + return true; + } else { + return false; + } + } else { + // Don't bother optimizing for larger values. + return false; + } +} + +inline const uint8* CodedInputStream::ExpectTagFromArray( + const uint8* buffer, uint32 expected) { + if (expected < (1 << 7)) { + if (buffer[0] == expected) { + return buffer + 1; + } + } else if (expected < (1 << 14)) { + if (buffer[0] == static_cast(expected | 0x80) && + buffer[1] == static_cast(expected >> 7)) { + return buffer + 2; + } + } + return NULL; +} + +inline void CodedInputStream::GetDirectBufferPointerInline(const void** data, + int* size) { + *data = buffer_; + *size = buffer_end_ - buffer_; +} + +inline bool CodedInputStream::ExpectAtEnd() { + // If we are at a limit we know no more bytes can be read. Otherwise, it's + // hard to say without calling Refresh(), and we'd rather not do that. + + if (buffer_ == buffer_end_ && + ((buffer_size_after_limit_ != 0) || + (total_bytes_read_ == current_limit_))) { + last_tag_ = 0; // Pretend we called ReadTag()... + legitimate_message_end_ = true; // ... and it hit EOF. + return true; + } else { + return false; + } +} + +inline int CodedInputStream::CurrentPosition() const { + return total_bytes_read_ - (BufferSize() + buffer_size_after_limit_); +} + +inline uint8* CodedOutputStream::GetDirectBufferForNBytesAndAdvance(int size) { + if (buffer_size_ < size) { + return NULL; + } else { + uint8* result = buffer_; + Advance(size); + return result; + } +} + +inline uint8* CodedOutputStream::WriteVarint32ToArray(uint32 value, + uint8* target) { + if (value < 0x80) { + *target = value; + return target + 1; + } else { + return WriteVarint32FallbackToArray(value, target); + } +} + +inline void CodedOutputStream::WriteVarint32SignExtended(int32 value) { + if (value < 0) { + WriteVarint64(static_cast(value)); + } else { + WriteVarint32(static_cast(value)); + } +} + +inline uint8* CodedOutputStream::WriteVarint32SignExtendedToArray( + int32 value, uint8* target) { + if (value < 0) { + return WriteVarint64ToArray(static_cast(value), target); + } else { + return WriteVarint32ToArray(static_cast(value), target); + } +} + +inline uint8* CodedOutputStream::WriteLittleEndian32ToArray(uint32 value, + uint8* target) { +#if defined(PROTOBUF_LITTLE_ENDIAN) + memcpy(target, &value, sizeof(value)); +#else + target[0] = static_cast(value); + target[1] = static_cast(value >> 8); + target[2] = static_cast(value >> 16); + target[3] = static_cast(value >> 24); +#endif + return target + sizeof(value); +} + +inline uint8* CodedOutputStream::WriteLittleEndian64ToArray(uint64 value, + uint8* target) { +#if defined(PROTOBUF_LITTLE_ENDIAN) + memcpy(target, &value, sizeof(value)); +#else + uint32 part0 = static_cast(value); + uint32 part1 = static_cast(value >> 32); + + target[0] = static_cast(part0); + target[1] = static_cast(part0 >> 8); + target[2] = static_cast(part0 >> 16); + target[3] = static_cast(part0 >> 24); + target[4] = static_cast(part1); + target[5] = static_cast(part1 >> 8); + target[6] = static_cast(part1 >> 16); + target[7] = static_cast(part1 >> 24); +#endif + return target + sizeof(value); +} + +inline void CodedOutputStream::WriteTag(uint32 value) { + WriteVarint32(value); +} + +inline uint8* CodedOutputStream::WriteTagToArray( + uint32 value, uint8* target) { + if (value < (1 << 7)) { + target[0] = value; + return target + 1; + } else if (value < (1 << 14)) { + target[0] = static_cast(value | 0x80); + target[1] = static_cast(value >> 7); + return target + 2; + } else { + return WriteVarint32FallbackToArray(value, target); + } +} + +inline int CodedOutputStream::VarintSize32(uint32 value) { + if (value < (1 << 7)) { + return 1; + } else { + return VarintSize32Fallback(value); + } +} + +inline int CodedOutputStream::VarintSize32SignExtended(int32 value) { + if (value < 0) { + return 10; // TODO(kenton): Make this a symbolic constant. + } else { + return VarintSize32(static_cast(value)); + } +} + +inline void CodedOutputStream::WriteString(const string& str) { + WriteRaw(str.data(), static_cast(str.size())); +} + +inline uint8* CodedOutputStream::WriteStringToArray( + const string& str, uint8* target) { + return WriteRawToArray(str.data(), static_cast(str.size()), target); +} + +inline int CodedOutputStream::ByteCount() const { + return total_bytes_ - buffer_size_; +} + +inline void CodedInputStream::Advance(int amount) { + buffer_ += amount; +} + +inline void CodedOutputStream::Advance(int amount) { + buffer_ += amount; + buffer_size_ -= amount; +} + +inline void CodedInputStream::SetRecursionLimit(int limit) { + recursion_limit_ = limit; +} + +inline bool CodedInputStream::IncrementRecursionDepth() { + ++recursion_depth_; + return recursion_depth_ <= recursion_limit_; +} + +inline void CodedInputStream::DecrementRecursionDepth() { + if (recursion_depth_ > 0) --recursion_depth_; +} + +inline void CodedInputStream::SetExtensionRegistry(const DescriptorPool* pool, + MessageFactory* factory) { + extension_pool_ = pool; + extension_factory_ = factory; +} + +inline const DescriptorPool* CodedInputStream::GetExtensionPool() { + return extension_pool_; +} + +inline MessageFactory* CodedInputStream::GetExtensionFactory() { + return extension_factory_; +} + +inline int CodedInputStream::BufferSize() const { + return buffer_end_ - buffer_; +} + +inline CodedInputStream::CodedInputStream(ZeroCopyInputStream* input) + : input_(input), + buffer_(NULL), + buffer_end_(NULL), + total_bytes_read_(0), + overflow_bytes_(0), + last_tag_(0), + legitimate_message_end_(false), + aliasing_enabled_(false), + current_limit_(kint32max), + buffer_size_after_limit_(0), + total_bytes_limit_(kDefaultTotalBytesLimit), + total_bytes_warning_threshold_(kDefaultTotalBytesWarningThreshold), + recursion_depth_(0), + recursion_limit_(default_recursion_limit_), + extension_pool_(NULL), + extension_factory_(NULL) { + // Eagerly Refresh() so buffer space is immediately available. + Refresh(); +} + +inline CodedInputStream::CodedInputStream(const uint8* buffer, int size) + : input_(NULL), + buffer_(buffer), + buffer_end_(buffer + size), + total_bytes_read_(size), + overflow_bytes_(0), + last_tag_(0), + legitimate_message_end_(false), + aliasing_enabled_(false), + current_limit_(size), + buffer_size_after_limit_(0), + total_bytes_limit_(kDefaultTotalBytesLimit), + total_bytes_warning_threshold_(kDefaultTotalBytesWarningThreshold), + recursion_depth_(0), + recursion_limit_(default_recursion_limit_), + extension_pool_(NULL), + extension_factory_(NULL) { + // Note that setting current_limit_ == size is important to prevent some + // code paths from trying to access input_ and segfaulting. +} + +inline bool CodedInputStream::IsFlat() const { + return input_ == NULL; +} + +} // namespace io +} // namespace protobuf + + +#if defined(_MSC_VER) && _MSC_VER >= 1300 + #pragma runtime_checks("c", restore) +#endif // _MSC_VER + +} // namespace google +#endif // GOOGLE_PROTOBUF_IO_CODED_STREAM_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/coded_stream_inl.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/coded_stream_inl.h new file mode 100644 index 0000000000..144f44f063 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/coded_stream_inl.h @@ -0,0 +1,68 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: jasonh@google.com (Jason Hsueh) +// +// Implements methods of coded_stream.h that need to be inlined for performance +// reasons, but should not be defined in a public header. + +#ifndef GOOGLE_PROTOBUF_IO_CODED_STREAM_INL_H__ +#define GOOGLE_PROTOBUF_IO_CODED_STREAM_INL_H__ + +#include +#include +#include + +namespace google { +namespace protobuf { +namespace io { + +inline bool CodedInputStream::InternalReadStringInline(string* buffer, + int size) { + if (size < 0) return false; // security: size is often user-supplied + + if (BufferSize() >= size) { + STLStringResizeUninitialized(buffer, size); + // When buffer is empty, string_as_array(buffer) will return NULL but memcpy + // requires non-NULL pointers even when size is 0. Hench this check. + if (size > 0) { + memcpy(string_as_array(buffer), buffer_, size); + Advance(size); + } + return true; + } + + return ReadStringFallback(buffer, size); +} + +} // namespace io +} // namespace protobuf +} // namespace google +#endif // GOOGLE_PROTOBUF_IO_CODED_STREAM_INL_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream.cc b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream.cc new file mode 100644 index 0000000000..dad6ff1446 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream.cc @@ -0,0 +1,48 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. + +#include + + +namespace google { +namespace protobuf { +namespace io { + +ZeroCopyInputStream::~ZeroCopyInputStream() {} +ZeroCopyOutputStream::~ZeroCopyOutputStream() {} + + +} // namespace io +} // namespace protobuf +} // namespace google diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream.h new file mode 100644 index 0000000000..db5326f703 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream.h @@ -0,0 +1,238 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This file contains the ZeroCopyInputStream and ZeroCopyOutputStream +// interfaces, which represent abstract I/O streams to and from which +// protocol buffers can be read and written. For a few simple +// implementations of these interfaces, see zero_copy_stream_impl.h. +// +// These interfaces are different from classic I/O streams in that they +// try to minimize the amount of data copying that needs to be done. +// To accomplish this, responsibility for allocating buffers is moved to +// the stream object, rather than being the responsibility of the caller. +// So, the stream can return a buffer which actually points directly into +// the final data structure where the bytes are to be stored, and the caller +// can interact directly with that buffer, eliminating an intermediate copy +// operation. +// +// As an example, consider the common case in which you are reading bytes +// from an array that is already in memory (or perhaps an mmap()ed file). +// With classic I/O streams, you would do something like: +// char buffer[BUFFER_SIZE]; +// input->Read(buffer, BUFFER_SIZE); +// DoSomething(buffer, BUFFER_SIZE); +// Then, the stream basically just calls memcpy() to copy the data from +// the array into your buffer. With a ZeroCopyInputStream, you would do +// this instead: +// const void* buffer; +// int size; +// input->Next(&buffer, &size); +// DoSomething(buffer, size); +// Here, no copy is performed. The input stream returns a pointer directly +// into the backing array, and the caller ends up reading directly from it. +// +// If you want to be able to read the old-fashion way, you can create +// a CodedInputStream or CodedOutputStream wrapping these objects and use +// their ReadRaw()/WriteRaw() methods. These will, of course, add a copy +// step, but Coded*Stream will handle buffering so at least it will be +// reasonably efficient. +// +// ZeroCopyInputStream example: +// // Read in a file and print its contents to stdout. +// int fd = open("myfile", O_RDONLY); +// ZeroCopyInputStream* input = new FileInputStream(fd); +// +// const void* buffer; +// int size; +// while (input->Next(&buffer, &size)) { +// cout.write(buffer, size); +// } +// +// delete input; +// close(fd); +// +// ZeroCopyOutputStream example: +// // Copy the contents of "infile" to "outfile", using plain read() for +// // "infile" but a ZeroCopyOutputStream for "outfile". +// int infd = open("infile", O_RDONLY); +// int outfd = open("outfile", O_WRONLY); +// ZeroCopyOutputStream* output = new FileOutputStream(outfd); +// +// void* buffer; +// int size; +// while (output->Next(&buffer, &size)) { +// int bytes = read(infd, buffer, size); +// if (bytes < size) { +// // Reached EOF. +// output->BackUp(size - bytes); +// break; +// } +// } +// +// delete output; +// close(infd); +// close(outfd); + +#ifndef GOOGLE_PROTOBUF_IO_ZERO_COPY_STREAM_H__ +#define GOOGLE_PROTOBUF_IO_ZERO_COPY_STREAM_H__ + +#include +#include + +namespace google { + +namespace protobuf { +namespace io { + +// Defined in this file. +class ZeroCopyInputStream; +class ZeroCopyOutputStream; + +// Abstract interface similar to an input stream but designed to minimize +// copying. +class LIBPROTOBUF_EXPORT ZeroCopyInputStream { + public: + inline ZeroCopyInputStream() {} + virtual ~ZeroCopyInputStream(); + + // Obtains a chunk of data from the stream. + // + // Preconditions: + // * "size" and "data" are not NULL. + // + // Postconditions: + // * If the returned value is false, there is no more data to return or + // an error occurred. All errors are permanent. + // * Otherwise, "size" points to the actual number of bytes read and "data" + // points to a pointer to a buffer containing these bytes. + // * Ownership of this buffer remains with the stream, and the buffer + // remains valid only until some other method of the stream is called + // or the stream is destroyed. + // * It is legal for the returned buffer to have zero size, as long + // as repeatedly calling Next() eventually yields a buffer with non-zero + // size. + virtual bool Next(const void** data, int* size) = 0; + + // Backs up a number of bytes, so that the next call to Next() returns + // data again that was already returned by the last call to Next(). This + // is useful when writing procedures that are only supposed to read up + // to a certain point in the input, then return. If Next() returns a + // buffer that goes beyond what you wanted to read, you can use BackUp() + // to return to the point where you intended to finish. + // + // Preconditions: + // * The last method called must have been Next(). + // * count must be less than or equal to the size of the last buffer + // returned by Next(). + // + // Postconditions: + // * The last "count" bytes of the last buffer returned by Next() will be + // pushed back into the stream. Subsequent calls to Next() will return + // the same data again before producing new data. + virtual void BackUp(int count) = 0; + + // Skips a number of bytes. Returns false if the end of the stream is + // reached or some input error occurred. In the end-of-stream case, the + // stream is advanced to the end of the stream (so ByteCount() will return + // the total size of the stream). + virtual bool Skip(int count) = 0; + + // Returns the total number of bytes read since this object was created. + virtual int64 ByteCount() const = 0; + + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ZeroCopyInputStream); +}; + +// Abstract interface similar to an output stream but designed to minimize +// copying. +class LIBPROTOBUF_EXPORT ZeroCopyOutputStream { + public: + inline ZeroCopyOutputStream() {} + virtual ~ZeroCopyOutputStream(); + + // Obtains a buffer into which data can be written. Any data written + // into this buffer will eventually (maybe instantly, maybe later on) + // be written to the output. + // + // Preconditions: + // * "size" and "data" are not NULL. + // + // Postconditions: + // * If the returned value is false, an error occurred. All errors are + // permanent. + // * Otherwise, "size" points to the actual number of bytes in the buffer + // and "data" points to the buffer. + // * Ownership of this buffer remains with the stream, and the buffer + // remains valid only until some other method of the stream is called + // or the stream is destroyed. + // * Any data which the caller stores in this buffer will eventually be + // written to the output (unless BackUp() is called). + // * It is legal for the returned buffer to have zero size, as long + // as repeatedly calling Next() eventually yields a buffer with non-zero + // size. + virtual bool Next(void** data, int* size) = 0; + + // Backs up a number of bytes, so that the end of the last buffer returned + // by Next() is not actually written. This is needed when you finish + // writing all the data you want to write, but the last buffer was bigger + // than you needed. You don't want to write a bunch of garbage after the + // end of your data, so you use BackUp() to back up. + // + // Preconditions: + // * The last method called must have been Next(). + // * count must be less than or equal to the size of the last buffer + // returned by Next(). + // * The caller must not have written anything to the last "count" bytes + // of that buffer. + // + // Postconditions: + // * The last "count" bytes of the last buffer returned by Next() will be + // ignored. + virtual void BackUp(int count) = 0; + + // Returns the total number of bytes written since this object was created. + virtual int64 ByteCount() const = 0; + + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ZeroCopyOutputStream); +}; + +} // namespace io +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_IO_ZERO_COPY_STREAM_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h new file mode 100644 index 0000000000..9fedb00576 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream_impl.h @@ -0,0 +1,357 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This file contains common implementations of the interfaces defined in +// zero_copy_stream.h which are only included in the full (non-lite) +// protobuf library. These implementations include Unix file descriptors +// and C++ iostreams. See also: zero_copy_stream_impl_lite.h + +#ifndef GOOGLE_PROTOBUF_IO_ZERO_COPY_STREAM_IMPL_H__ +#define GOOGLE_PROTOBUF_IO_ZERO_COPY_STREAM_IMPL_H__ + +#include +#include +#include +#include +#include + + +namespace google { +namespace protobuf { +namespace io { + + +// =================================================================== + +// A ZeroCopyInputStream which reads from a file descriptor. +// +// FileInputStream is preferred over using an ifstream with IstreamInputStream. +// The latter will introduce an extra layer of buffering, harming performance. +// Also, it's conceivable that FileInputStream could someday be enhanced +// to use zero-copy file descriptors on OSs which support them. +class LIBPROTOBUF_EXPORT FileInputStream : public ZeroCopyInputStream { + public: + // Creates a stream that reads from the given Unix file descriptor. + // If a block_size is given, it specifies the number of bytes that + // should be read and returned with each call to Next(). Otherwise, + // a reasonable default is used. + explicit FileInputStream(int file_descriptor, int block_size = -1); + ~FileInputStream(); + + // Flushes any buffers and closes the underlying file. Returns false if + // an error occurs during the process; use GetErrno() to examine the error. + // Even if an error occurs, the file descriptor is closed when this returns. + bool Close(); + + // By default, the file descriptor is not closed when the stream is + // destroyed. Call SetCloseOnDelete(true) to change that. WARNING: + // This leaves no way for the caller to detect if close() fails. If + // detecting close() errors is important to you, you should arrange + // to close the descriptor yourself. + void SetCloseOnDelete(bool value) { copying_input_.SetCloseOnDelete(value); } + + // If an I/O error has occurred on this file descriptor, this is the + // errno from that error. Otherwise, this is zero. Once an error + // occurs, the stream is broken and all subsequent operations will + // fail. + int GetErrno() { return copying_input_.GetErrno(); } + + // implements ZeroCopyInputStream ---------------------------------- + bool Next(const void** data, int* size); + void BackUp(int count); + bool Skip(int count); + int64 ByteCount() const; + + private: + class LIBPROTOBUF_EXPORT CopyingFileInputStream : public CopyingInputStream { + public: + CopyingFileInputStream(int file_descriptor); + ~CopyingFileInputStream(); + + bool Close(); + void SetCloseOnDelete(bool value) { close_on_delete_ = value; } + int GetErrno() { return errno_; } + + // implements CopyingInputStream --------------------------------- + int Read(void* buffer, int size); + int Skip(int count); + + private: + // The file descriptor. + const int file_; + bool close_on_delete_; + bool is_closed_; + + // The errno of the I/O error, if one has occurred. Otherwise, zero. + int errno_; + + // Did we try to seek once and fail? If so, we assume this file descriptor + // doesn't support seeking and won't try again. + bool previous_seek_failed_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CopyingFileInputStream); + }; + + CopyingFileInputStream copying_input_; + CopyingInputStreamAdaptor impl_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileInputStream); +}; + +// =================================================================== + +// A ZeroCopyOutputStream which writes to a file descriptor. +// +// FileOutputStream is preferred over using an ofstream with +// OstreamOutputStream. The latter will introduce an extra layer of buffering, +// harming performance. Also, it's conceivable that FileOutputStream could +// someday be enhanced to use zero-copy file descriptors on OSs which +// support them. +class LIBPROTOBUF_EXPORT FileOutputStream : public ZeroCopyOutputStream { + public: + // Creates a stream that writes to the given Unix file descriptor. + // If a block_size is given, it specifies the size of the buffers + // that should be returned by Next(). Otherwise, a reasonable default + // is used. + explicit FileOutputStream(int file_descriptor, int block_size = -1); + ~FileOutputStream(); + + // Flushes any buffers and closes the underlying file. Returns false if + // an error occurs during the process; use GetErrno() to examine the error. + // Even if an error occurs, the file descriptor is closed when this returns. + bool Close(); + + // Flushes FileOutputStream's buffers but does not close the + // underlying file. No special measures are taken to ensure that + // underlying operating system file object is synchronized to disk. + bool Flush(); + + // By default, the file descriptor is not closed when the stream is + // destroyed. Call SetCloseOnDelete(true) to change that. WARNING: + // This leaves no way for the caller to detect if close() fails. If + // detecting close() errors is important to you, you should arrange + // to close the descriptor yourself. + void SetCloseOnDelete(bool value) { copying_output_.SetCloseOnDelete(value); } + + // If an I/O error has occurred on this file descriptor, this is the + // errno from that error. Otherwise, this is zero. Once an error + // occurs, the stream is broken and all subsequent operations will + // fail. + int GetErrno() { return copying_output_.GetErrno(); } + + // implements ZeroCopyOutputStream --------------------------------- + bool Next(void** data, int* size); + void BackUp(int count); + int64 ByteCount() const; + + private: + class LIBPROTOBUF_EXPORT CopyingFileOutputStream : public CopyingOutputStream { + public: + CopyingFileOutputStream(int file_descriptor); + ~CopyingFileOutputStream(); + + bool Close(); + void SetCloseOnDelete(bool value) { close_on_delete_ = value; } + int GetErrno() { return errno_; } + + // implements CopyingOutputStream -------------------------------- + bool Write(const void* buffer, int size); + + private: + // The file descriptor. + const int file_; + bool close_on_delete_; + bool is_closed_; + + // The errno of the I/O error, if one has occurred. Otherwise, zero. + int errno_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CopyingFileOutputStream); + }; + + CopyingFileOutputStream copying_output_; + CopyingOutputStreamAdaptor impl_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileOutputStream); +}; + +// =================================================================== + +// A ZeroCopyInputStream which reads from a C++ istream. +// +// Note that for reading files (or anything represented by a file descriptor), +// FileInputStream is more efficient. +class LIBPROTOBUF_EXPORT IstreamInputStream : public ZeroCopyInputStream { + public: + // Creates a stream that reads from the given C++ istream. + // If a block_size is given, it specifies the number of bytes that + // should be read and returned with each call to Next(). Otherwise, + // a reasonable default is used. + explicit IstreamInputStream(istream* stream, int block_size = -1); + ~IstreamInputStream(); + + // implements ZeroCopyInputStream ---------------------------------- + bool Next(const void** data, int* size); + void BackUp(int count); + bool Skip(int count); + int64 ByteCount() const; + + private: + class LIBPROTOBUF_EXPORT CopyingIstreamInputStream : public CopyingInputStream { + public: + CopyingIstreamInputStream(istream* input); + ~CopyingIstreamInputStream(); + + // implements CopyingInputStream --------------------------------- + int Read(void* buffer, int size); + // (We use the default implementation of Skip().) + + private: + // The stream. + istream* input_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CopyingIstreamInputStream); + }; + + CopyingIstreamInputStream copying_input_; + CopyingInputStreamAdaptor impl_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(IstreamInputStream); +}; + +// =================================================================== + +// A ZeroCopyOutputStream which writes to a C++ ostream. +// +// Note that for writing files (or anything represented by a file descriptor), +// FileOutputStream is more efficient. +class LIBPROTOBUF_EXPORT OstreamOutputStream : public ZeroCopyOutputStream { + public: + // Creates a stream that writes to the given C++ ostream. + // If a block_size is given, it specifies the size of the buffers + // that should be returned by Next(). Otherwise, a reasonable default + // is used. + explicit OstreamOutputStream(ostream* stream, int block_size = -1); + ~OstreamOutputStream(); + + // implements ZeroCopyOutputStream --------------------------------- + bool Next(void** data, int* size); + void BackUp(int count); + int64 ByteCount() const; + + private: + class LIBPROTOBUF_EXPORT CopyingOstreamOutputStream : public CopyingOutputStream { + public: + CopyingOstreamOutputStream(ostream* output); + ~CopyingOstreamOutputStream(); + + // implements CopyingOutputStream -------------------------------- + bool Write(const void* buffer, int size); + + private: + // The stream. + ostream* output_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CopyingOstreamOutputStream); + }; + + CopyingOstreamOutputStream copying_output_; + CopyingOutputStreamAdaptor impl_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(OstreamOutputStream); +}; + +// =================================================================== + +// A ZeroCopyInputStream which reads from several other streams in sequence. +// ConcatenatingInputStream is unable to distinguish between end-of-stream +// and read errors in the underlying streams, so it assumes any errors mean +// end-of-stream. So, if the underlying streams fail for any other reason, +// ConcatenatingInputStream may do odd things. It is suggested that you do +// not use ConcatenatingInputStream on streams that might produce read errors +// other than end-of-stream. +class LIBPROTOBUF_EXPORT ConcatenatingInputStream : public ZeroCopyInputStream { + public: + // All streams passed in as well as the array itself must remain valid + // until the ConcatenatingInputStream is destroyed. + ConcatenatingInputStream(ZeroCopyInputStream* const streams[], int count); + ~ConcatenatingInputStream(); + + // implements ZeroCopyInputStream ---------------------------------- + bool Next(const void** data, int* size); + void BackUp(int count); + bool Skip(int count); + int64 ByteCount() const; + + + private: + // As streams are retired, streams_ is incremented and count_ is + // decremented. + ZeroCopyInputStream* const* streams_; + int stream_count_; + int64 bytes_retired_; // Bytes read from previous streams. + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ConcatenatingInputStream); +}; + +// =================================================================== + +// A ZeroCopyInputStream which wraps some other stream and limits it to +// a particular byte count. +class LIBPROTOBUF_EXPORT LimitingInputStream : public ZeroCopyInputStream { + public: + LimitingInputStream(ZeroCopyInputStream* input, int64 limit); + ~LimitingInputStream(); + + // implements ZeroCopyInputStream ---------------------------------- + bool Next(const void** data, int* size); + void BackUp(int count); + bool Skip(int count); + int64 ByteCount() const; + + + private: + ZeroCopyInputStream* input_; + int64 limit_; // Decreases as we go, becomes negative if we overshoot. + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(LimitingInputStream); +}; + +// =================================================================== + +} // namespace io +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_IO_ZERO_COPY_STREAM_IMPL_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.cc b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.cc new file mode 100644 index 0000000000..f552e1f885 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.cc @@ -0,0 +1,393 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. + +#include +#include +#include + +namespace google { +namespace protobuf { +namespace io { + +namespace { + +// Default block size for Copying{In,Out}putStreamAdaptor. +static const int kDefaultBlockSize = 8192; + +} // namespace + +// =================================================================== + +ArrayInputStream::ArrayInputStream(const void* data, int size, + int block_size) + : data_(reinterpret_cast(data)), + size_(size), + block_size_(block_size > 0 ? block_size : size), + position_(0), + last_returned_size_(0) { +} + +ArrayInputStream::~ArrayInputStream() { +} + +bool ArrayInputStream::Next(const void** data, int* size) { + if (position_ < size_) { + last_returned_size_ = min(block_size_, size_ - position_); + *data = data_ + position_; + *size = last_returned_size_; + position_ += last_returned_size_; + return true; + } else { + // We're at the end of the array. + last_returned_size_ = 0; // Don't let caller back up. + return false; + } +} + +void ArrayInputStream::BackUp(int count) { + GOOGLE_CHECK_GT(last_returned_size_, 0) + << "BackUp() can only be called after a successful Next()."; + GOOGLE_CHECK_LE(count, last_returned_size_); + GOOGLE_CHECK_GE(count, 0); + position_ -= count; + last_returned_size_ = 0; // Don't let caller back up further. +} + +bool ArrayInputStream::Skip(int count) { + GOOGLE_CHECK_GE(count, 0); + last_returned_size_ = 0; // Don't let caller back up. + if (count > size_ - position_) { + position_ = size_; + return false; + } else { + position_ += count; + return true; + } +} + +int64 ArrayInputStream::ByteCount() const { + return position_; +} + + +// =================================================================== + +ArrayOutputStream::ArrayOutputStream(void* data, int size, int block_size) + : data_(reinterpret_cast(data)), + size_(size), + block_size_(block_size > 0 ? block_size : size), + position_(0), + last_returned_size_(0) { +} + +ArrayOutputStream::~ArrayOutputStream() { +} + +bool ArrayOutputStream::Next(void** data, int* size) { + if (position_ < size_) { + last_returned_size_ = min(block_size_, size_ - position_); + *data = data_ + position_; + *size = last_returned_size_; + position_ += last_returned_size_; + return true; + } else { + // We're at the end of the array. + last_returned_size_ = 0; // Don't let caller back up. + return false; + } +} + +void ArrayOutputStream::BackUp(int count) { + GOOGLE_CHECK_GT(last_returned_size_, 0) + << "BackUp() can only be called after a successful Next()."; + GOOGLE_CHECK_LE(count, last_returned_size_); + GOOGLE_CHECK_GE(count, 0); + position_ -= count; + last_returned_size_ = 0; // Don't let caller back up further. +} + +int64 ArrayOutputStream::ByteCount() const { + return position_; +} + +// =================================================================== + +StringOutputStream::StringOutputStream(string* target) + : target_(target) { +} + +StringOutputStream::~StringOutputStream() { +} + +bool StringOutputStream::Next(void** data, int* size) { + int old_size = target_->size(); + + // Grow the string. + if (old_size < target_->capacity()) { + // Resize the string to match its capacity, since we can get away + // without a memory allocation this way. + STLStringResizeUninitialized(target_, target_->capacity()); + } else { + // Size has reached capacity, so double the size. Also make sure + // that the new size is at least kMinimumSize. + STLStringResizeUninitialized( + target_, + max(old_size * 2, + kMinimumSize + 0)); // "+ 0" works around GCC4 weirdness. + } + + *data = string_as_array(target_) + old_size; + *size = target_->size() - old_size; + return true; +} + +void StringOutputStream::BackUp(int count) { + GOOGLE_CHECK_GE(count, 0); + GOOGLE_CHECK_LE(count, target_->size()); + target_->resize(target_->size() - count); +} + +int64 StringOutputStream::ByteCount() const { + return target_->size(); +} + +// =================================================================== + +CopyingInputStream::~CopyingInputStream() {} + +int CopyingInputStream::Skip(int count) { + char junk[4096]; + int skipped = 0; + while (skipped < count) { + int bytes = Read(junk, min(count - skipped, + implicit_cast(sizeof(junk)))); + if (bytes <= 0) { + // EOF or read error. + return skipped; + } + skipped += bytes; + } + return skipped; +} + +CopyingInputStreamAdaptor::CopyingInputStreamAdaptor( + CopyingInputStream* copying_stream, int block_size) + : copying_stream_(copying_stream), + owns_copying_stream_(false), + failed_(false), + position_(0), + buffer_size_(block_size > 0 ? block_size : kDefaultBlockSize), + buffer_used_(0), + backup_bytes_(0) { +} + +CopyingInputStreamAdaptor::~CopyingInputStreamAdaptor() { + if (owns_copying_stream_) { + delete copying_stream_; + } +} + +bool CopyingInputStreamAdaptor::Next(const void** data, int* size) { + if (failed_) { + // Already failed on a previous read. + return false; + } + + AllocateBufferIfNeeded(); + + if (backup_bytes_ > 0) { + // We have data left over from a previous BackUp(), so just return that. + *data = buffer_.get() + buffer_used_ - backup_bytes_; + *size = backup_bytes_; + backup_bytes_ = 0; + return true; + } + + // Read new data into the buffer. + buffer_used_ = copying_stream_->Read(buffer_.get(), buffer_size_); + if (buffer_used_ <= 0) { + // EOF or read error. We don't need the buffer anymore. + if (buffer_used_ < 0) { + // Read error (not EOF). + failed_ = true; + } + FreeBuffer(); + return false; + } + position_ += buffer_used_; + + *size = buffer_used_; + *data = buffer_.get(); + return true; +} + +void CopyingInputStreamAdaptor::BackUp(int count) { + GOOGLE_CHECK(backup_bytes_ == 0 && buffer_.get() != NULL) + << " BackUp() can only be called after Next()."; + GOOGLE_CHECK_LE(count, buffer_used_) + << " Can't back up over more bytes than were returned by the last call" + " to Next()."; + GOOGLE_CHECK_GE(count, 0) + << " Parameter to BackUp() can't be negative."; + + backup_bytes_ = count; +} + +bool CopyingInputStreamAdaptor::Skip(int count) { + GOOGLE_CHECK_GE(count, 0); + + if (failed_) { + // Already failed on a previous read. + return false; + } + + // First skip any bytes left over from a previous BackUp(). + if (backup_bytes_ >= count) { + // We have more data left over than we're trying to skip. Just chop it. + backup_bytes_ -= count; + return true; + } + + count -= backup_bytes_; + backup_bytes_ = 0; + + int skipped = copying_stream_->Skip(count); + position_ += skipped; + return skipped == count; +} + +int64 CopyingInputStreamAdaptor::ByteCount() const { + return position_ - backup_bytes_; +} + +void CopyingInputStreamAdaptor::AllocateBufferIfNeeded() { + if (buffer_.get() == NULL) { + buffer_.reset(new uint8[buffer_size_]); + } +} + +void CopyingInputStreamAdaptor::FreeBuffer() { + GOOGLE_CHECK_EQ(backup_bytes_, 0); + buffer_used_ = 0; + buffer_.reset(); +} + +// =================================================================== + +CopyingOutputStream::~CopyingOutputStream() {} + +CopyingOutputStreamAdaptor::CopyingOutputStreamAdaptor( + CopyingOutputStream* copying_stream, int block_size) + : copying_stream_(copying_stream), + owns_copying_stream_(false), + failed_(false), + position_(0), + buffer_size_(block_size > 0 ? block_size : kDefaultBlockSize), + buffer_used_(0) { +} + +CopyingOutputStreamAdaptor::~CopyingOutputStreamAdaptor() { + WriteBuffer(); + if (owns_copying_stream_) { + delete copying_stream_; + } +} + +bool CopyingOutputStreamAdaptor::Flush() { + return WriteBuffer(); +} + +bool CopyingOutputStreamAdaptor::Next(void** data, int* size) { + if (buffer_used_ == buffer_size_) { + if (!WriteBuffer()) return false; + } + + AllocateBufferIfNeeded(); + + *data = buffer_.get() + buffer_used_; + *size = buffer_size_ - buffer_used_; + buffer_used_ = buffer_size_; + return true; +} + +void CopyingOutputStreamAdaptor::BackUp(int count) { + GOOGLE_CHECK_GE(count, 0); + GOOGLE_CHECK_EQ(buffer_used_, buffer_size_) + << " BackUp() can only be called after Next()."; + GOOGLE_CHECK_LE(count, buffer_used_) + << " Can't back up over more bytes than were returned by the last call" + " to Next()."; + + buffer_used_ -= count; +} + +int64 CopyingOutputStreamAdaptor::ByteCount() const { + return position_ + buffer_used_; +} + +bool CopyingOutputStreamAdaptor::WriteBuffer() { + if (failed_) { + // Already failed on a previous write. + return false; + } + + if (buffer_used_ == 0) return true; + + if (copying_stream_->Write(buffer_.get(), buffer_used_)) { + position_ += buffer_used_; + buffer_used_ = 0; + return true; + } else { + failed_ = true; + FreeBuffer(); + return false; + } +} + +void CopyingOutputStreamAdaptor::AllocateBufferIfNeeded() { + if (buffer_ == NULL) { + buffer_.reset(new uint8[buffer_size_]); + } +} + +void CopyingOutputStreamAdaptor::FreeBuffer() { + buffer_used_ = 0; + buffer_.reset(); +} + +// =================================================================== + +} // namespace io +} // namespace protobuf +} // namespace google diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h new file mode 100644 index 0000000000..153f543ee4 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.h @@ -0,0 +1,340 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This file contains common implementations of the interfaces defined in +// zero_copy_stream.h which are included in the "lite" protobuf library. +// These implementations cover I/O on raw arrays and strings, as well as +// adaptors which make it easy to implement streams based on traditional +// streams. Of course, many users will probably want to write their own +// implementations of these interfaces specific to the particular I/O +// abstractions they prefer to use, but these should cover the most common +// cases. + +#ifndef GOOGLE_PROTOBUF_IO_ZERO_COPY_STREAM_IMPL_LITE_H__ +#define GOOGLE_PROTOBUF_IO_ZERO_COPY_STREAM_IMPL_LITE_H__ + +#include +#include +#include +#include + + +namespace google { +namespace protobuf { +namespace io { + +// =================================================================== + +// A ZeroCopyInputStream backed by an in-memory array of bytes. +class LIBPROTOBUF_EXPORT ArrayInputStream : public ZeroCopyInputStream { + public: + // Create an InputStream that returns the bytes pointed to by "data". + // "data" remains the property of the caller but must remain valid until + // the stream is destroyed. If a block_size is given, calls to Next() + // will return data blocks no larger than the given size. Otherwise, the + // first call to Next() returns the entire array. block_size is mainly + // useful for testing; in production you would probably never want to set + // it. + ArrayInputStream(const void* data, int size, int block_size = -1); + ~ArrayInputStream(); + + // implements ZeroCopyInputStream ---------------------------------- + bool Next(const void** data, int* size); + void BackUp(int count); + bool Skip(int count); + int64 ByteCount() const; + + + private: + const uint8* const data_; // The byte array. + const int size_; // Total size of the array. + const int block_size_; // How many bytes to return at a time. + + int position_; + int last_returned_size_; // How many bytes we returned last time Next() + // was called (used for error checking only). + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ArrayInputStream); +}; + +// =================================================================== + +// A ZeroCopyOutputStream backed by an in-memory array of bytes. +class LIBPROTOBUF_EXPORT ArrayOutputStream : public ZeroCopyOutputStream { + public: + // Create an OutputStream that writes to the bytes pointed to by "data". + // "data" remains the property of the caller but must remain valid until + // the stream is destroyed. If a block_size is given, calls to Next() + // will return data blocks no larger than the given size. Otherwise, the + // first call to Next() returns the entire array. block_size is mainly + // useful for testing; in production you would probably never want to set + // it. + ArrayOutputStream(void* data, int size, int block_size = -1); + ~ArrayOutputStream(); + + // implements ZeroCopyOutputStream --------------------------------- + bool Next(void** data, int* size); + void BackUp(int count); + int64 ByteCount() const; + + private: + uint8* const data_; // The byte array. + const int size_; // Total size of the array. + const int block_size_; // How many bytes to return at a time. + + int position_; + int last_returned_size_; // How many bytes we returned last time Next() + // was called (used for error checking only). + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ArrayOutputStream); +}; + +// =================================================================== + +// A ZeroCopyOutputStream which appends bytes to a string. +class LIBPROTOBUF_EXPORT StringOutputStream : public ZeroCopyOutputStream { + public: + // Create a StringOutputStream which appends bytes to the given string. + // The string remains property of the caller, but it MUST NOT be accessed + // in any way until the stream is destroyed. + // + // Hint: If you call target->reserve(n) before creating the stream, + // the first call to Next() will return at least n bytes of buffer + // space. + explicit StringOutputStream(string* target); + ~StringOutputStream(); + + // implements ZeroCopyOutputStream --------------------------------- + bool Next(void** data, int* size); + void BackUp(int count); + int64 ByteCount() const; + + private: + static const int kMinimumSize = 16; + + string* target_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringOutputStream); +}; + +// Note: There is no StringInputStream. Instead, just create an +// ArrayInputStream as follows: +// ArrayInputStream input(str.data(), str.size()); + +// =================================================================== + +// A generic traditional input stream interface. +// +// Lots of traditional input streams (e.g. file descriptors, C stdio +// streams, and C++ iostreams) expose an interface where every read +// involves copying bytes into a buffer. If you want to take such an +// interface and make a ZeroCopyInputStream based on it, simply implement +// CopyingInputStream and then use CopyingInputStreamAdaptor. +// +// CopyingInputStream implementations should avoid buffering if possible. +// CopyingInputStreamAdaptor does its own buffering and will read data +// in large blocks. +class LIBPROTOBUF_EXPORT CopyingInputStream { + public: + virtual ~CopyingInputStream(); + + // Reads up to "size" bytes into the given buffer. Returns the number of + // bytes read. Read() waits until at least one byte is available, or + // returns zero if no bytes will ever become available (EOF), or -1 if a + // permanent read error occurred. + virtual int Read(void* buffer, int size) = 0; + + // Skips the next "count" bytes of input. Returns the number of bytes + // actually skipped. This will always be exactly equal to "count" unless + // EOF was reached or a permanent read error occurred. + // + // The default implementation just repeatedly calls Read() into a scratch + // buffer. + virtual int Skip(int count); +}; + +// A ZeroCopyInputStream which reads from a CopyingInputStream. This is +// useful for implementing ZeroCopyInputStreams that read from traditional +// streams. Note that this class is not really zero-copy. +// +// If you want to read from file descriptors or C++ istreams, this is +// already implemented for you: use FileInputStream or IstreamInputStream +// respectively. +class LIBPROTOBUF_EXPORT CopyingInputStreamAdaptor : public ZeroCopyInputStream { + public: + // Creates a stream that reads from the given CopyingInputStream. + // If a block_size is given, it specifies the number of bytes that + // should be read and returned with each call to Next(). Otherwise, + // a reasonable default is used. The caller retains ownership of + // copying_stream unless SetOwnsCopyingStream(true) is called. + explicit CopyingInputStreamAdaptor(CopyingInputStream* copying_stream, + int block_size = -1); + ~CopyingInputStreamAdaptor(); + + // Call SetOwnsCopyingStream(true) to tell the CopyingInputStreamAdaptor to + // delete the underlying CopyingInputStream when it is destroyed. + void SetOwnsCopyingStream(bool value) { owns_copying_stream_ = value; } + + // implements ZeroCopyInputStream ---------------------------------- + bool Next(const void** data, int* size); + void BackUp(int count); + bool Skip(int count); + int64 ByteCount() const; + + private: + // Insures that buffer_ is not NULL. + void AllocateBufferIfNeeded(); + // Frees the buffer and resets buffer_used_. + void FreeBuffer(); + + // The underlying copying stream. + CopyingInputStream* copying_stream_; + bool owns_copying_stream_; + + // True if we have seen a permenant error from the underlying stream. + bool failed_; + + // The current position of copying_stream_, relative to the point where + // we started reading. + int64 position_; + + // Data is read into this buffer. It may be NULL if no buffer is currently + // in use. Otherwise, it points to an array of size buffer_size_. + scoped_array buffer_; + const int buffer_size_; + + // Number of valid bytes currently in the buffer (i.e. the size last + // returned by Next()). 0 <= buffer_used_ <= buffer_size_. + int buffer_used_; + + // Number of bytes in the buffer which were backed up over by a call to + // BackUp(). These need to be returned again. + // 0 <= backup_bytes_ <= buffer_used_ + int backup_bytes_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CopyingInputStreamAdaptor); +}; + +// =================================================================== + +// A generic traditional output stream interface. +// +// Lots of traditional output streams (e.g. file descriptors, C stdio +// streams, and C++ iostreams) expose an interface where every write +// involves copying bytes from a buffer. If you want to take such an +// interface and make a ZeroCopyOutputStream based on it, simply implement +// CopyingOutputStream and then use CopyingOutputStreamAdaptor. +// +// CopyingOutputStream implementations should avoid buffering if possible. +// CopyingOutputStreamAdaptor does its own buffering and will write data +// in large blocks. +class LIBPROTOBUF_EXPORT CopyingOutputStream { + public: + virtual ~CopyingOutputStream(); + + // Writes "size" bytes from the given buffer to the output. Returns true + // if successful, false on a write error. + virtual bool Write(const void* buffer, int size) = 0; +}; + +// A ZeroCopyOutputStream which writes to a CopyingOutputStream. This is +// useful for implementing ZeroCopyOutputStreams that write to traditional +// streams. Note that this class is not really zero-copy. +// +// If you want to write to file descriptors or C++ ostreams, this is +// already implemented for you: use FileOutputStream or OstreamOutputStream +// respectively. +class LIBPROTOBUF_EXPORT CopyingOutputStreamAdaptor : public ZeroCopyOutputStream { + public: + // Creates a stream that writes to the given Unix file descriptor. + // If a block_size is given, it specifies the size of the buffers + // that should be returned by Next(). Otherwise, a reasonable default + // is used. + explicit CopyingOutputStreamAdaptor(CopyingOutputStream* copying_stream, + int block_size = -1); + ~CopyingOutputStreamAdaptor(); + + // Writes all pending data to the underlying stream. Returns false if a + // write error occurred on the underlying stream. (The underlying + // stream itself is not necessarily flushed.) + bool Flush(); + + // Call SetOwnsCopyingStream(true) to tell the CopyingOutputStreamAdaptor to + // delete the underlying CopyingOutputStream when it is destroyed. + void SetOwnsCopyingStream(bool value) { owns_copying_stream_ = value; } + + // implements ZeroCopyOutputStream --------------------------------- + bool Next(void** data, int* size); + void BackUp(int count); + int64 ByteCount() const; + + private: + // Write the current buffer, if it is present. + bool WriteBuffer(); + // Insures that buffer_ is not NULL. + void AllocateBufferIfNeeded(); + // Frees the buffer. + void FreeBuffer(); + + // The underlying copying stream. + CopyingOutputStream* copying_stream_; + bool owns_copying_stream_; + + // True if we have seen a permenant error from the underlying stream. + bool failed_; + + // The current position of copying_stream_, relative to the point where + // we started writing. + int64 position_; + + // Data is written from this buffer. It may be NULL if no buffer is + // currently in use. Otherwise, it points to an array of size buffer_size_. + scoped_array buffer_; + const int buffer_size_; + + // Number of valid bytes currently in the buffer (i.e. the size last + // returned by Next()). When BackUp() is called, we just reduce this. + // 0 <= buffer_used_ <= buffer_size_. + int buffer_used_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(CopyingOutputStreamAdaptor); +}; + +// =================================================================== + +} // namespace io +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_IO_ZERO_COPY_STREAM_IMPL_LITE_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/message_lite.cc b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/message_lite.cc new file mode 100644 index 0000000000..49dbe6e09d --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/message_lite.cc @@ -0,0 +1,334 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Authors: wink@google.com (Wink Saville), +// kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. + +#include +#include +#include +#include +#include +#include + +namespace google { +namespace protobuf { + +MessageLite::~MessageLite() {} + +string MessageLite::InitializationErrorString() const { + return "(cannot determine missing fields for lite message)"; +} + +namespace { + +// When serializing, we first compute the byte size, then serialize the message. +// If serialization produces a different number of bytes than expected, we +// call this function, which crashes. The problem could be due to a bug in the +// protobuf implementation but is more likely caused by concurrent modification +// of the message. This function attempts to distinguish between the two and +// provide a useful error message. +void ByteSizeConsistencyError(int byte_size_before_serialization, + int byte_size_after_serialization, + int bytes_produced_by_serialization) { + GOOGLE_CHECK_EQ(byte_size_before_serialization, byte_size_after_serialization) + << "Protocol message was modified concurrently during serialization."; + GOOGLE_CHECK_EQ(bytes_produced_by_serialization, byte_size_before_serialization) + << "Byte size calculation and serialization were inconsistent. This " + "may indicate a bug in protocol buffers or it may be caused by " + "concurrent modification of the message."; + GOOGLE_LOG(FATAL) << "This shouldn't be called if all the sizes are equal."; +} + +string InitializationErrorMessage(const char* action, + const MessageLite& message) { + // Note: We want to avoid depending on strutil in the lite library, otherwise + // we'd use: + // + // return strings::Substitute( + // "Can't $0 message of type \"$1\" because it is missing required " + // "fields: $2", + // action, message.GetTypeName(), + // message.InitializationErrorString()); + + string result; + result += "Can't "; + result += action; + result += " message of type \""; + result += message.GetTypeName(); + result += "\" because it is missing required fields: "; + result += message.InitializationErrorString(); + return result; +} + +// Several of the Parse methods below just do one thing and then call another +// method. In a naive implementation, we might have ParseFromString() call +// ParseFromArray() which would call ParseFromZeroCopyStream() which would call +// ParseFromCodedStream() which would call MergeFromCodedStream() which would +// call MergePartialFromCodedStream(). However, when parsing very small +// messages, every function call introduces significant overhead. To avoid +// this without reproducing code, we use these forced-inline helpers. +// +// Note: GCC only allows GOOGLE_ATTRIBUTE_ALWAYS_INLINE on declarations, not +// definitions. +inline bool InlineMergeFromCodedStream(io::CodedInputStream* input, + MessageLite* message) + GOOGLE_ATTRIBUTE_ALWAYS_INLINE; +inline bool InlineParseFromCodedStream(io::CodedInputStream* input, + MessageLite* message) + GOOGLE_ATTRIBUTE_ALWAYS_INLINE; +inline bool InlineParsePartialFromCodedStream(io::CodedInputStream* input, + MessageLite* message) + GOOGLE_ATTRIBUTE_ALWAYS_INLINE; +inline bool InlineParseFromArray(const void* data, int size, + MessageLite* message) + GOOGLE_ATTRIBUTE_ALWAYS_INLINE; +inline bool InlineParsePartialFromArray(const void* data, int size, + MessageLite* message) + GOOGLE_ATTRIBUTE_ALWAYS_INLINE; + +bool InlineMergeFromCodedStream(io::CodedInputStream* input, + MessageLite* message) { + if (!message->MergePartialFromCodedStream(input)) return false; + if (!message->IsInitialized()) { + GOOGLE_LOG(ERROR) << InitializationErrorMessage("parse", *message); + return false; + } + return true; +} + +bool InlineParseFromCodedStream(io::CodedInputStream* input, + MessageLite* message) { + message->Clear(); + return InlineMergeFromCodedStream(input, message); +} + +bool InlineParsePartialFromCodedStream(io::CodedInputStream* input, + MessageLite* message) { + message->Clear(); + return message->MergePartialFromCodedStream(input); +} + +bool InlineParseFromArray(const void* data, int size, MessageLite* message) { + io::CodedInputStream input(reinterpret_cast(data), size); + return InlineParseFromCodedStream(&input, message) && + input.ConsumedEntireMessage(); +} + +bool InlineParsePartialFromArray(const void* data, int size, + MessageLite* message) { + io::CodedInputStream input(reinterpret_cast(data), size); + return InlineParsePartialFromCodedStream(&input, message) && + input.ConsumedEntireMessage(); +} + +} // namespace + +bool MessageLite::MergeFromCodedStream(io::CodedInputStream* input) { + return InlineMergeFromCodedStream(input, this); +} + +bool MessageLite::ParseFromCodedStream(io::CodedInputStream* input) { + return InlineParseFromCodedStream(input, this); +} + +bool MessageLite::ParsePartialFromCodedStream(io::CodedInputStream* input) { + return InlineParsePartialFromCodedStream(input, this); +} + +bool MessageLite::ParseFromZeroCopyStream(io::ZeroCopyInputStream* input) { + io::CodedInputStream decoder(input); + return ParseFromCodedStream(&decoder) && decoder.ConsumedEntireMessage(); +} + +bool MessageLite::ParsePartialFromZeroCopyStream( + io::ZeroCopyInputStream* input) { + io::CodedInputStream decoder(input); + return ParsePartialFromCodedStream(&decoder) && + decoder.ConsumedEntireMessage(); +} + +bool MessageLite::ParseFromBoundedZeroCopyStream( + io::ZeroCopyInputStream* input, int size) { + io::CodedInputStream decoder(input); + decoder.PushLimit(size); + return ParseFromCodedStream(&decoder) && + decoder.ConsumedEntireMessage() && + decoder.BytesUntilLimit() == 0; +} + +bool MessageLite::ParsePartialFromBoundedZeroCopyStream( + io::ZeroCopyInputStream* input, int size) { + io::CodedInputStream decoder(input); + decoder.PushLimit(size); + return ParsePartialFromCodedStream(&decoder) && + decoder.ConsumedEntireMessage() && + decoder.BytesUntilLimit() == 0; +} + +bool MessageLite::ParseFromString(const string& data) { + return InlineParseFromArray(data.data(), data.size(), this); +} + +bool MessageLite::ParsePartialFromString(const string& data) { + return InlineParsePartialFromArray(data.data(), data.size(), this); +} + +bool MessageLite::ParseFromArray(const void* data, int size) { + return InlineParseFromArray(data, size, this); +} + +bool MessageLite::ParsePartialFromArray(const void* data, int size) { + return InlineParsePartialFromArray(data, size, this); +} + + +// =================================================================== + +uint8* MessageLite::SerializeWithCachedSizesToArray(uint8* target) const { + // We only optimize this when using optimize_for = SPEED. In other cases + // we just use the CodedOutputStream path. + int size = GetCachedSize(); + io::ArrayOutputStream out(target, size); + io::CodedOutputStream coded_out(&out); + SerializeWithCachedSizes(&coded_out); + GOOGLE_CHECK(!coded_out.HadError()); + return target + size; +} + +bool MessageLite::SerializeToCodedStream(io::CodedOutputStream* output) const { + GOOGLE_DCHECK(IsInitialized()) << InitializationErrorMessage("serialize", *this); + return SerializePartialToCodedStream(output); +} + +bool MessageLite::SerializePartialToCodedStream( + io::CodedOutputStream* output) const { + const int size = ByteSize(); // Force size to be cached. + uint8* buffer = output->GetDirectBufferForNBytesAndAdvance(size); + if (buffer != NULL) { + uint8* end = SerializeWithCachedSizesToArray(buffer); + if (end - buffer != size) { + ByteSizeConsistencyError(size, ByteSize(), end - buffer); + } + return true; + } else { + int original_byte_count = output->ByteCount(); + SerializeWithCachedSizes(output); + if (output->HadError()) { + return false; + } + int final_byte_count = output->ByteCount(); + + if (final_byte_count - original_byte_count != size) { + ByteSizeConsistencyError(size, ByteSize(), + final_byte_count - original_byte_count); + } + + return true; + } +} + +bool MessageLite::SerializeToZeroCopyStream( + io::ZeroCopyOutputStream* output) const { + io::CodedOutputStream encoder(output); + return SerializeToCodedStream(&encoder); +} + +bool MessageLite::SerializePartialToZeroCopyStream( + io::ZeroCopyOutputStream* output) const { + io::CodedOutputStream encoder(output); + return SerializePartialToCodedStream(&encoder); +} + +bool MessageLite::AppendToString(string* output) const { + GOOGLE_DCHECK(IsInitialized()) << InitializationErrorMessage("serialize", *this); + return AppendPartialToString(output); +} + +bool MessageLite::AppendPartialToString(string* output) const { + int old_size = output->size(); + int byte_size = ByteSize(); + STLStringResizeUninitialized(output, old_size + byte_size); + uint8* start = reinterpret_cast(string_as_array(output) + old_size); + uint8* end = SerializeWithCachedSizesToArray(start); + if (end - start != byte_size) { + ByteSizeConsistencyError(byte_size, ByteSize(), end - start); + } + return true; +} + +bool MessageLite::SerializeToString(string* output) const { + output->clear(); + return AppendToString(output); +} + +bool MessageLite::SerializePartialToString(string* output) const { + output->clear(); + return AppendPartialToString(output); +} + +bool MessageLite::SerializeToArray(void* data, int size) const { + GOOGLE_DCHECK(IsInitialized()) << InitializationErrorMessage("serialize", *this); + return SerializePartialToArray(data, size); +} + +bool MessageLite::SerializePartialToArray(void* data, int size) const { + int byte_size = ByteSize(); + if (size < byte_size) return false; + uint8* start = reinterpret_cast(data); + uint8* end = SerializeWithCachedSizesToArray(start); + if (end - start != byte_size) { + ByteSizeConsistencyError(byte_size, ByteSize(), end - start); + } + return true; +} + +string MessageLite::SerializeAsString() const { + // If the compiler implements the (Named) Return Value Optimization, + // the local variable 'result' will not actually reside on the stack + // of this function, but will be overlaid with the object that the + // caller supplied for the return value to be constructed in. + string output; + if (!AppendToString(&output)) + output.clear(); + return output; +} + +string MessageLite::SerializePartialAsString() const { + string output; + if (!AppendPartialToString(&output)) + output.clear(); + return output; +} + +} // namespace protobuf +} // namespace google diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/message_lite.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/message_lite.h new file mode 100644 index 0000000000..1ec3068cfa --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/message_lite.h @@ -0,0 +1,246 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Authors: wink@google.com (Wink Saville), +// kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// Defines MessageLite, the abstract interface implemented by all (lite +// and non-lite) protocol message objects. + +#ifndef GOOGLE_PROTOBUF_MESSAGE_LITE_H__ +#define GOOGLE_PROTOBUF_MESSAGE_LITE_H__ + +#include + +namespace google { +namespace protobuf { + +namespace io { + class CodedInputStream; + class CodedOutputStream; + class ZeroCopyInputStream; + class ZeroCopyOutputStream; +} + +// Interface to light weight protocol messages. +// +// This interface is implemented by all protocol message objects. Non-lite +// messages additionally implement the Message interface, which is a +// subclass of MessageLite. Use MessageLite instead when you only need +// the subset of features which it supports -- namely, nothing that uses +// descriptors or reflection. You can instruct the protocol compiler +// to generate classes which implement only MessageLite, not the full +// Message interface, by adding the following line to the .proto file: +// +// option optimize_for = LITE_RUNTIME; +// +// This is particularly useful on resource-constrained systems where +// the full protocol buffers runtime library is too big. +// +// Note that on non-constrained systems (e.g. servers) when you need +// to link in lots of protocol definitions, a better way to reduce +// total code footprint is to use optimize_for = CODE_SIZE. This +// will make the generated code smaller while still supporting all the +// same features (at the expense of speed). optimize_for = LITE_RUNTIME +// is best when you only have a small number of message types linked +// into your binary, in which case the size of the protocol buffers +// runtime itself is the biggest problem. +class LIBPROTOBUF_EXPORT MessageLite { + public: + inline MessageLite() {} + virtual ~MessageLite(); + + // Basic Operations ------------------------------------------------ + + // Get the name of this message type, e.g. "foo.bar.BazProto". + virtual string GetTypeName() const = 0; + + // Construct a new instance of the same type. Ownership is passed to the + // caller. + virtual MessageLite* New() const = 0; + + // Clear all fields of the message and set them to their default values. + // Clear() avoids freeing memory, assuming that any memory allocated + // to hold parts of the message will be needed again to hold the next + // message. If you actually want to free the memory used by a Message, + // you must delete it. + virtual void Clear() = 0; + + // Quickly check if all required fields have values set. + virtual bool IsInitialized() const = 0; + + // This is not implemented for Lite messages -- it just returns "(cannot + // determine missing fields for lite message)". However, it is implemented + // for full messages. See message.h. + virtual string InitializationErrorString() const; + + // If |other| is the exact same class as this, calls MergeFrom(). Otherwise, + // results are undefined (probably crash). + virtual void CheckTypeAndMergeFrom(const MessageLite& other) = 0; + + // Parsing --------------------------------------------------------- + // Methods for parsing in protocol buffer format. Most of these are + // just simple wrappers around MergeFromCodedStream(). + + // Fill the message with a protocol buffer parsed from the given input + // stream. Returns false on a read error or if the input is in the + // wrong format. + bool ParseFromCodedStream(io::CodedInputStream* input); + // Like ParseFromCodedStream(), but accepts messages that are missing + // required fields. + bool ParsePartialFromCodedStream(io::CodedInputStream* input); + // Read a protocol buffer from the given zero-copy input stream. If + // successful, the entire input will be consumed. + bool ParseFromZeroCopyStream(io::ZeroCopyInputStream* input); + // Like ParseFromZeroCopyStream(), but accepts messages that are missing + // required fields. + bool ParsePartialFromZeroCopyStream(io::ZeroCopyInputStream* input); + // Read a protocol buffer from the given zero-copy input stream, expecting + // the message to be exactly "size" bytes long. If successful, exactly + // this many bytes will have been consumed from the input. + bool ParseFromBoundedZeroCopyStream(io::ZeroCopyInputStream* input, int size); + // Like ParseFromBoundedZeroCopyStream(), but accepts messages that are + // missing required fields. + bool ParsePartialFromBoundedZeroCopyStream(io::ZeroCopyInputStream* input, + int size); + // Parse a protocol buffer contained in a string. + bool ParseFromString(const string& data); + // Like ParseFromString(), but accepts messages that are missing + // required fields. + bool ParsePartialFromString(const string& data); + // Parse a protocol buffer contained in an array of bytes. + bool ParseFromArray(const void* data, int size); + // Like ParseFromArray(), but accepts messages that are missing + // required fields. + bool ParsePartialFromArray(const void* data, int size); + + + // Reads a protocol buffer from the stream and merges it into this + // Message. Singular fields read from the input overwrite what is + // already in the Message and repeated fields are appended to those + // already present. + // + // It is the responsibility of the caller to call input->LastTagWas() + // (for groups) or input->ConsumedEntireMessage() (for non-groups) after + // this returns to verify that the message's end was delimited correctly. + // + // ParsefromCodedStream() is implemented as Clear() followed by + // MergeFromCodedStream(). + bool MergeFromCodedStream(io::CodedInputStream* input); + + // Like MergeFromCodedStream(), but succeeds even if required fields are + // missing in the input. + // + // MergeFromCodedStream() is just implemented as MergePartialFromCodedStream() + // followed by IsInitialized(). + virtual bool MergePartialFromCodedStream(io::CodedInputStream* input) = 0; + + + // Serialization --------------------------------------------------- + // Methods for serializing in protocol buffer format. Most of these + // are just simple wrappers around ByteSize() and SerializeWithCachedSizes(). + + // Write a protocol buffer of this message to the given output. Returns + // false on a write error. If the message is missing required fields, + // this may GOOGLE_CHECK-fail. + bool SerializeToCodedStream(io::CodedOutputStream* output) const; + // Like SerializeToCodedStream(), but allows missing required fields. + bool SerializePartialToCodedStream(io::CodedOutputStream* output) const; + // Write the message to the given zero-copy output stream. All required + // fields must be set. + bool SerializeToZeroCopyStream(io::ZeroCopyOutputStream* output) const; + // Like SerializeToZeroCopyStream(), but allows missing required fields. + bool SerializePartialToZeroCopyStream(io::ZeroCopyOutputStream* output) const; + // Serialize the message and store it in the given string. All required + // fields must be set. + bool SerializeToString(string* output) const; + // Like SerializeToString(), but allows missing required fields. + bool SerializePartialToString(string* output) const; + // Serialize the message and store it in the given byte array. All required + // fields must be set. + bool SerializeToArray(void* data, int size) const; + // Like SerializeToArray(), but allows missing required fields. + bool SerializePartialToArray(void* data, int size) const; + + // Make a string encoding the message. Is equivalent to calling + // SerializeToString() on a string and using that. Returns the empty + // string if SerializeToString() would have returned an error. + // Note: If you intend to generate many such strings, you may + // reduce heap fragmentation by instead re-using the same string + // object with calls to SerializeToString(). + string SerializeAsString() const; + // Like SerializeAsString(), but allows missing required fields. + string SerializePartialAsString() const; + + // Like SerializeToString(), but appends to the data to the string's existing + // contents. All required fields must be set. + bool AppendToString(string* output) const; + // Like AppendToString(), but allows missing required fields. + bool AppendPartialToString(string* output) const; + + // Computes the serialized size of the message. This recursively calls + // ByteSize() on all embedded messages. If a subclass does not override + // this, it MUST override SetCachedSize(). + virtual int ByteSize() const = 0; + + // Serializes the message without recomputing the size. The message must + // not have changed since the last call to ByteSize(); if it has, the results + // are undefined. + virtual void SerializeWithCachedSizes( + io::CodedOutputStream* output) const = 0; + + // Like SerializeWithCachedSizes, but writes directly to *target, returning + // a pointer to the byte immediately after the last byte written. "target" + // must point at a byte array of at least ByteSize() bytes. + virtual uint8* SerializeWithCachedSizesToArray(uint8* target) const; + + // Returns the result of the last call to ByteSize(). An embedded message's + // size is needed both to serialize it (because embedded messages are + // length-delimited) and to compute the outer message's size. Caching + // the size avoids computing it multiple times. + // + // ByteSize() does not automatically use the cached size when available + // because this would require invalidating it every time the message was + // modified, which would be too hard and expensive. (E.g. if a deeply-nested + // sub-message is changed, all of its parents' cached sizes would need to be + // invalidated, which is too much work for an otherwise inlined setter + // method.) + virtual int GetCachedSize() const = 0; + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageLite); +}; + +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_MESSAGE_LITE_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/repeated_field.cc b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/repeated_field.cc new file mode 100644 index 0000000000..2c1f74c58a --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/repeated_field.cc @@ -0,0 +1,87 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. + +#include + +#include +#include + +namespace google { +namespace protobuf { + +namespace internal { + +void RepeatedPtrFieldBase::Reserve(int new_size) { + if (total_size_ >= new_size) return; + + void** old_elements = elements_; + total_size_ = max(kMinRepeatedFieldAllocationSize, + max(total_size_ * 2, new_size)); + elements_ = new void*[total_size_]; + if (old_elements != NULL) { + memcpy(elements_, old_elements, allocated_size_ * sizeof(elements_[0])); + delete [] old_elements; + } +} + +void RepeatedPtrFieldBase::Swap(RepeatedPtrFieldBase* other) { + if (this == other) return; + void** swap_elements = elements_; + int swap_current_size = current_size_; + int swap_allocated_size = allocated_size_; + int swap_total_size = total_size_; + + elements_ = other->elements_; + current_size_ = other->current_size_; + allocated_size_ = other->allocated_size_; + total_size_ = other->total_size_; + + other->elements_ = swap_elements; + other->current_size_ = swap_current_size; + other->allocated_size_ = swap_allocated_size; + other->total_size_ = swap_total_size; +} + +string* StringTypeHandlerBase::New() { + return new string; +} +void StringTypeHandlerBase::Delete(string* value) { + delete value; +} + +} // namespace internal + + +} // namespace protobuf +} // namespace google diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/repeated_field.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/repeated_field.h new file mode 100644 index 0000000000..570d4b7512 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/repeated_field.h @@ -0,0 +1,1519 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// RepeatedField and RepeatedPtrField are used by generated protocol message +// classes to manipulate repeated fields. These classes are very similar to +// STL's vector, but include a number of optimizations found to be useful +// specifically in the case of Protocol Buffers. RepeatedPtrField is +// particularly different from STL vector as it manages ownership of the +// pointers that it contains. +// +// Typically, clients should not need to access RepeatedField objects directly, +// but should instead use the accessor functions generated automatically by the +// protocol compiler. + +#ifndef GOOGLE_PROTOBUF_REPEATED_FIELD_H__ +#define GOOGLE_PROTOBUF_REPEATED_FIELD_H__ + +#include +#include +#include +#include +#include +#include +#include + +namespace google { + +namespace upb { +namespace google_opensource { +class GMR_Handlers; +} // namespace google_opensource +} // namespace upb + +namespace protobuf { + +class Message; + +namespace internal { + +static const int kMinRepeatedFieldAllocationSize = 4; + +// A utility function for logging that doesn't need any template types. +void LogIndexOutOfBounds(int index, int size); +} // namespace internal + + +// RepeatedField is used to represent repeated fields of a primitive type (in +// other words, everything except strings and nested Messages). Most users will +// not ever use a RepeatedField directly; they will use the get-by-index, +// set-by-index, and add accessors that are generated for all repeated fields. +template +class RepeatedField { + public: + RepeatedField(); + RepeatedField(const RepeatedField& other); + template + RepeatedField(Iter begin, const Iter& end); + ~RepeatedField(); + + RepeatedField& operator=(const RepeatedField& other); + + int size() const; + + const Element& Get(int index) const; + Element* Mutable(int index); + void Set(int index, const Element& value); + void Add(const Element& value); + Element* Add(); + // Remove the last element in the array. + void RemoveLast(); + + // Extract elements with indices in "[start .. start+num-1]". + // Copy them into "elements[0 .. num-1]" if "elements" is not NULL. + // Caution: implementation also moves elements with indices [start+num ..]. + // Calling this routine inside a loop can cause quadratic behavior. + void ExtractSubrange(int start, int num, Element* elements); + + void Clear(); + void MergeFrom(const RepeatedField& other); + void CopyFrom(const RepeatedField& other); + + // Reserve space to expand the field to at least the given size. If the + // array is grown, it will always be at least doubled in size. + void Reserve(int new_size); + + // Resize the RepeatedField to a new, smaller size. This is O(1). + void Truncate(int new_size); + + void AddAlreadyReserved(const Element& value); + Element* AddAlreadyReserved(); + int Capacity() const; + + // Gets the underlying array. This pointer is possibly invalidated by + // any add or remove operation. + Element* mutable_data(); + const Element* data() const; + + // Swap entire contents with "other". + void Swap(RepeatedField* other); + + // Swap two elements. + void SwapElements(int index1, int index2); + + // STL-like iterator support + typedef Element* iterator; + typedef const Element* const_iterator; + typedef Element value_type; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef value_type* pointer; + typedef const value_type* const_pointer; + typedef int size_type; + typedef ptrdiff_t difference_type; + + iterator begin(); + const_iterator begin() const; + iterator end(); + const_iterator end() const; + + // Reverse iterator support + typedef std::reverse_iterator const_reverse_iterator; + typedef std::reverse_iterator reverse_iterator; + reverse_iterator rbegin() { + return reverse_iterator(end()); + } + const_reverse_iterator rbegin() const { + return const_reverse_iterator(end()); + } + reverse_iterator rend() { + return reverse_iterator(begin()); + } + const_reverse_iterator rend() const { + return const_reverse_iterator(begin()); + } + + // Returns the number of bytes used by the repeated field, excluding + // sizeof(*this) + int SpaceUsedExcludingSelf() const; + + private: + static const int kInitialSize = 0; + + Element* elements_; + int current_size_; + int total_size_; + + // Move the contents of |from| into |to|, possibly clobbering |from| in the + // process. For primitive types this is just a memcpy(), but it could be + // specialized for non-primitive types to, say, swap each element instead. + void MoveArray(Element to[], Element from[], int size); + + // Copy the elements of |from| into |to|. + void CopyArray(Element to[], const Element from[], int size); +}; + +namespace internal { +template class RepeatedPtrIterator; +template class RepeatedPtrOverPtrsIterator; +} // namespace internal + +namespace internal { + +// This is a helper template to copy an array of elements effeciently when they +// have a trivial copy constructor, and correctly otherwise. This really +// shouldn't be necessary, but our compiler doesn't optimize std::copy very +// effectively. +template ::value> +struct ElementCopier { + void operator()(Element to[], const Element from[], int array_size); +}; + +} // namespace internal + +namespace internal { + +// This is the common base class for RepeatedPtrFields. It deals only in void* +// pointers. Users should not use this interface directly. +// +// The methods of this interface correspond to the methods of RepeatedPtrField, +// but may have a template argument called TypeHandler. Its signature is: +// class TypeHandler { +// public: +// typedef MyType Type; +// static Type* New(); +// static void Delete(Type*); +// static void Clear(Type*); +// static void Merge(const Type& from, Type* to); +// +// // Only needs to be implemented if SpaceUsedExcludingSelf() is called. +// static int SpaceUsed(const Type&); +// }; +class LIBPROTOBUF_EXPORT RepeatedPtrFieldBase { + protected: + // The reflection implementation needs to call protected methods directly, + // reinterpreting pointers as being to Message instead of a specific Message + // subclass. + friend class GeneratedMessageReflection; + + // ExtensionSet stores repeated message extensions as + // RepeatedPtrField, but non-lite ExtensionSets need to + // implement SpaceUsed(), and thus need to call SpaceUsedExcludingSelf() + // reinterpreting MessageLite as Message. ExtensionSet also needs to make + // use of AddFromCleared(), which is not part of the public interface. + friend class ExtensionSet; + + // To parse directly into a proto2 generated class, the upb class GMR_Handlers + // needs to be able to modify a RepeatedPtrFieldBase directly. + friend class LIBPROTOBUF_EXPORT upb::google_opensource::GMR_Handlers; + + RepeatedPtrFieldBase(); + + // Must be called from destructor. + template + void Destroy(); + + int size() const; + + template + const typename TypeHandler::Type& Get(int index) const; + template + typename TypeHandler::Type* Mutable(int index); + template + typename TypeHandler::Type* Add(); + template + void RemoveLast(); + template + void Clear(); + template + void MergeFrom(const RepeatedPtrFieldBase& other); + template + void CopyFrom(const RepeatedPtrFieldBase& other); + + void CloseGap(int start, int num) { + // Close up a gap of "num" elements starting at offset "start". + for (int i = start + num; i < allocated_size_; ++i) + elements_[i - num] = elements_[i]; + current_size_ -= num; + allocated_size_ -= num; + } + + void Reserve(int new_size); + + int Capacity() const; + + // Used for constructing iterators. + void* const* raw_data() const; + void** raw_mutable_data() const; + + template + typename TypeHandler::Type** mutable_data(); + template + const typename TypeHandler::Type* const* data() const; + + void Swap(RepeatedPtrFieldBase* other); + + void SwapElements(int index1, int index2); + + template + int SpaceUsedExcludingSelf() const; + + + // Advanced memory management -------------------------------------- + + // Like Add(), but if there are no cleared objects to use, returns NULL. + template + typename TypeHandler::Type* AddFromCleared(); + + template + void AddAllocated(typename TypeHandler::Type* value); + template + typename TypeHandler::Type* ReleaseLast(); + + int ClearedCount() const; + template + void AddCleared(typename TypeHandler::Type* value); + template + typename TypeHandler::Type* ReleaseCleared(); + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedPtrFieldBase); + + static const int kInitialSize = 0; + + void** elements_; + int current_size_; + int allocated_size_; + int total_size_; + + template + static inline typename TypeHandler::Type* cast(void* element) { + return reinterpret_cast(element); + } + template + static inline const typename TypeHandler::Type* cast(const void* element) { + return reinterpret_cast(element); + } +}; + +template +class GenericTypeHandler { + public: + typedef GenericType Type; + static GenericType* New() { return new GenericType; } + static void Delete(GenericType* value) { delete value; } + static void Clear(GenericType* value) { value->Clear(); } + static void Merge(const GenericType& from, GenericType* to) { + to->MergeFrom(from); + } + static int SpaceUsed(const GenericType& value) { return value.SpaceUsed(); } + static const Type& default_instance() { return Type::default_instance(); } +}; + +template <> +inline void GenericTypeHandler::Merge( + const MessageLite& from, MessageLite* to) { + to->CheckTypeAndMergeFrom(from); +} + +template <> +inline const MessageLite& GenericTypeHandler::default_instance() { + // Yes, the behavior of the code is undefined, but this function is only + // called when we're already deep into the world of undefined, because the + // caller called Get(index) out of bounds. + MessageLite* null = NULL; + return *null; +} + +template <> +inline const Message& GenericTypeHandler::default_instance() { + // Yes, the behavior of the code is undefined, but this function is only + // called when we're already deep into the world of undefined, because the + // caller called Get(index) out of bounds. + Message* null = NULL; + return *null; +} + + +// HACK: If a class is declared as DLL-exported in MSVC, it insists on +// generating copies of all its methods -- even inline ones -- to include +// in the DLL. But SpaceUsed() calls StringSpaceUsedExcludingSelf() which +// isn't in the lite library, therefore the lite library cannot link if +// StringTypeHandler is exported. So, we factor out StringTypeHandlerBase, +// export that, then make StringTypeHandler be a subclass which is NOT +// exported. +// TODO(kenton): There has to be a better way. +class LIBPROTOBUF_EXPORT StringTypeHandlerBase { + public: + typedef string Type; + static string* New(); + static void Delete(string* value); + static void Clear(string* value) { value->clear(); } + static void Merge(const string& from, string* to) { *to = from; } + static const Type& default_instance() { + return ::google::protobuf::internal::kEmptyString; + } +}; + +class StringTypeHandler : public StringTypeHandlerBase { + public: + static int SpaceUsed(const string& value) { + return sizeof(value) + StringSpaceUsedExcludingSelf(value); + } +}; + + +} // namespace internal + +// RepeatedPtrField is like RepeatedField, but used for repeated strings or +// Messages. +template +class RepeatedPtrField : public internal::RepeatedPtrFieldBase { + public: + RepeatedPtrField(); + RepeatedPtrField(const RepeatedPtrField& other); + template + RepeatedPtrField(Iter begin, const Iter& end); + ~RepeatedPtrField(); + + RepeatedPtrField& operator=(const RepeatedPtrField& other); + + int size() const; + + const Element& Get(int index) const; + Element* Mutable(int index); + Element* Add(); + + // Remove the last element in the array. + // Ownership of the element is retained by the array. + void RemoveLast(); + + // Delete elements with indices in the range [start .. start+num-1]. + // Caution: implementation moves all elements with indices [start+num .. ]. + // Calling this routine inside a loop can cause quadratic behavior. + void DeleteSubrange(int start, int num); + + void Clear(); + void MergeFrom(const RepeatedPtrField& other); + void CopyFrom(const RepeatedPtrField& other); + + // Reserve space to expand the field to at least the given size. This only + // resizes the pointer array; it doesn't allocate any objects. If the + // array is grown, it will always be at least doubled in size. + void Reserve(int new_size); + + int Capacity() const; + + // Gets the underlying array. This pointer is possibly invalidated by + // any add or remove operation. + Element** mutable_data(); + const Element* const* data() const; + + // Swap entire contents with "other". + void Swap(RepeatedPtrField* other); + + // Swap two elements. + void SwapElements(int index1, int index2); + + // STL-like iterator support + typedef internal::RepeatedPtrIterator iterator; + typedef internal::RepeatedPtrIterator const_iterator; + typedef Element value_type; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef value_type* pointer; + typedef const value_type* const_pointer; + typedef int size_type; + typedef ptrdiff_t difference_type; + + iterator begin(); + const_iterator begin() const; + iterator end(); + const_iterator end() const; + + // Reverse iterator support + typedef std::reverse_iterator const_reverse_iterator; + typedef std::reverse_iterator reverse_iterator; + reverse_iterator rbegin() { + return reverse_iterator(end()); + } + const_reverse_iterator rbegin() const { + return const_reverse_iterator(end()); + } + reverse_iterator rend() { + return reverse_iterator(begin()); + } + const_reverse_iterator rend() const { + return const_reverse_iterator(begin()); + } + + // Custom STL-like iterator that iterates over and returns the underlying + // pointers to Element rather than Element itself. + typedef internal::RepeatedPtrOverPtrsIterator + pointer_iterator; + typedef internal::RepeatedPtrOverPtrsIterator + const_pointer_iterator; + pointer_iterator pointer_begin(); + const_pointer_iterator pointer_begin() const; + pointer_iterator pointer_end(); + const_pointer_iterator pointer_end() const; + + // Returns (an estimate of) the number of bytes used by the repeated field, + // excluding sizeof(*this). + int SpaceUsedExcludingSelf() const; + + // Advanced memory management -------------------------------------- + // When hardcore memory management becomes necessary -- as it sometimes + // does here at Google -- the following methods may be useful. + + // Add an already-allocated object, passing ownership to the + // RepeatedPtrField. + void AddAllocated(Element* value); + // Remove the last element and return it, passing ownership to the caller. + // Requires: size() > 0 + Element* ReleaseLast(); + + // Extract elements with indices in the range "[start .. start+num-1]". + // The caller assumes ownership of the extracted elements and is responsible + // for deleting them when they are no longer needed. + // If "elements" is non-NULL, then pointers to the extracted elements + // are stored in "elements[0 .. num-1]" for the convenience of the caller. + // If "elements" is NULL, then the caller must use some other mechanism + // to perform any further operations (like deletion) on these elements. + // Caution: implementation also moves elements with indices [start+num ..]. + // Calling this routine inside a loop can cause quadratic behavior. + void ExtractSubrange(int start, int num, Element** elements); + + // When elements are removed by calls to RemoveLast() or Clear(), they + // are not actually freed. Instead, they are cleared and kept so that + // they can be reused later. This can save lots of CPU time when + // repeatedly reusing a protocol message for similar purposes. + // + // Hardcore programs may choose to manipulate these cleared objects + // to better optimize memory management using the following routines. + + // Get the number of cleared objects that are currently being kept + // around for reuse. + int ClearedCount() const; + // Add an element to the pool of cleared objects, passing ownership to + // the RepeatedPtrField. The element must be cleared prior to calling + // this method. + void AddCleared(Element* value); + // Remove a single element from the cleared pool and return it, passing + // ownership to the caller. The element is guaranteed to be cleared. + // Requires: ClearedCount() > 0 + Element* ReleaseCleared(); + + protected: + // Note: RepeatedPtrField SHOULD NOT be subclassed by users. We only + // subclass it in one place as a hack for compatibility with proto1. The + // subclass needs to know about TypeHandler in order to call protected + // methods on RepeatedPtrFieldBase. + class TypeHandler; + +}; + +// implementation ==================================================== + +template +inline RepeatedField::RepeatedField() + : elements_(NULL), + current_size_(0), + total_size_(kInitialSize) { +} + +template +inline RepeatedField::RepeatedField(const RepeatedField& other) + : elements_(NULL), + current_size_(0), + total_size_(kInitialSize) { + CopyFrom(other); +} + +template +template +inline RepeatedField::RepeatedField(Iter begin, const Iter& end) + : elements_(NULL), + current_size_(0), + total_size_(kInitialSize) { + for (; begin != end; ++begin) { + Add(*begin); + } +} + +template +RepeatedField::~RepeatedField() { + delete [] elements_; +} + +template +inline RepeatedField& +RepeatedField::operator=(const RepeatedField& other) { + if (this != &other) + CopyFrom(other); + return *this; +} + +template +inline int RepeatedField::size() const { + return current_size_; +} + +template +inline int RepeatedField::Capacity() const { + return total_size_; +} + +template +inline void RepeatedField::AddAlreadyReserved(const Element& value) { + GOOGLE_DCHECK_LT(size(), Capacity()); + elements_[current_size_++] = value; +} + +template +inline Element* RepeatedField::AddAlreadyReserved() { + GOOGLE_DCHECK_LT(size(), Capacity()); + return &elements_[current_size_++]; +} + +template +inline const Element& RepeatedField::Get(int index) const { + GOOGLE_DCHECK_LT(index, size()); + return elements_[index]; +} + +template +inline Element* RepeatedField::Mutable(int index) { + GOOGLE_DCHECK_LT(index, size()); + return elements_ + index; +} + +template +inline void RepeatedField::Set(int index, const Element& value) { + GOOGLE_DCHECK_LT(index, size()); + elements_[index] = value; +} + +template +inline void RepeatedField::Add(const Element& value) { + if (current_size_ == total_size_) Reserve(total_size_ + 1); + elements_[current_size_++] = value; +} + +template +inline Element* RepeatedField::Add() { + if (current_size_ == total_size_) Reserve(total_size_ + 1); + return &elements_[current_size_++]; +} + +template +inline void RepeatedField::RemoveLast() { + GOOGLE_DCHECK_GT(current_size_, 0); + --current_size_; +} + +template +void RepeatedField::ExtractSubrange( + int start, int num, Element* elements) { + GOOGLE_DCHECK_GE(start, 0); + GOOGLE_DCHECK_GE(num, 0); + GOOGLE_DCHECK_LE(start + num, this->size()); + + // Save the values of the removed elements if requested. + if (elements != NULL) { + for (int i = 0; i < num; ++i) + elements[i] = this->Get(i + start); + } + + // Slide remaining elements down to fill the gap. + if (num > 0) { + for (int i = start + num; i < this->size(); ++i) + this->Set(i - num, this->Get(i)); + this->Truncate(this->size() - num); + } +} + +template +inline void RepeatedField::Clear() { + current_size_ = 0; +} + +template +inline void RepeatedField::MergeFrom(const RepeatedField& other) { + if (other.current_size_ != 0) { + Reserve(current_size_ + other.current_size_); + CopyArray(elements_ + current_size_, other.elements_, other.current_size_); + current_size_ += other.current_size_; + } +} + +template +inline void RepeatedField::CopyFrom(const RepeatedField& other) { + Clear(); + MergeFrom(other); +} + +template +inline Element* RepeatedField::mutable_data() { + return elements_; +} + +template +inline const Element* RepeatedField::data() const { + return elements_; +} + + +template +void RepeatedField::Swap(RepeatedField* other) { + if (this == other) return; + Element* swap_elements = elements_; + int swap_current_size = current_size_; + int swap_total_size = total_size_; + + elements_ = other->elements_; + current_size_ = other->current_size_; + total_size_ = other->total_size_; + + other->elements_ = swap_elements; + other->current_size_ = swap_current_size; + other->total_size_ = swap_total_size; +} + +template +void RepeatedField::SwapElements(int index1, int index2) { + std::swap(elements_[index1], elements_[index2]); +} + +template +inline typename RepeatedField::iterator +RepeatedField::begin() { + return elements_; +} +template +inline typename RepeatedField::const_iterator +RepeatedField::begin() const { + return elements_; +} +template +inline typename RepeatedField::iterator +RepeatedField::end() { + return elements_ + current_size_; +} +template +inline typename RepeatedField::const_iterator +RepeatedField::end() const { + return elements_ + current_size_; +} + +template +inline int RepeatedField::SpaceUsedExcludingSelf() const { + return (elements_ != NULL) ? total_size_ * sizeof(elements_[0]) : 0; +} + +// Avoid inlining of Reserve(): new, copy, and delete[] lead to a significant +// amount of code bloat. +template +void RepeatedField::Reserve(int new_size) { + if (total_size_ >= new_size) return; + + Element* old_elements = elements_; + total_size_ = max(google::protobuf::internal::kMinRepeatedFieldAllocationSize, + max(total_size_ * 2, new_size)); + elements_ = new Element[total_size_]; + if (old_elements != NULL) { + MoveArray(elements_, old_elements, current_size_); + delete [] old_elements; + } +} + +template +inline void RepeatedField::Truncate(int new_size) { + GOOGLE_DCHECK_LE(new_size, current_size_); + current_size_ = new_size; +} + +template +inline void RepeatedField::MoveArray( + Element to[], Element from[], int array_size) { + CopyArray(to, from, array_size); +} + +template +inline void RepeatedField::CopyArray( + Element to[], const Element from[], int array_size) { + internal::ElementCopier()(to, from, array_size); +} + +namespace internal { + +template +void ElementCopier::operator()( + Element to[], const Element from[], int array_size) { + std::copy(from, from + array_size, to); +} + +template +struct ElementCopier { + void operator()(Element to[], const Element from[], int array_size) { + memcpy(to, from, array_size * sizeof(Element)); + } +}; + +} // namespace internal + + +// ------------------------------------------------------------------- + +namespace internal { + +inline RepeatedPtrFieldBase::RepeatedPtrFieldBase() + : elements_(NULL), + current_size_(0), + allocated_size_(0), + total_size_(kInitialSize) { +} + +template +void RepeatedPtrFieldBase::Destroy() { + for (int i = 0; i < allocated_size_; i++) { + TypeHandler::Delete(cast(elements_[i])); + } + delete [] elements_; +} + +inline int RepeatedPtrFieldBase::size() const { + return current_size_; +} + +template +inline const typename TypeHandler::Type& +RepeatedPtrFieldBase::Get(int index) const { + GOOGLE_DCHECK_LT(index, size()); + return *cast(elements_[index]); +} + + +template +inline typename TypeHandler::Type* +RepeatedPtrFieldBase::Mutable(int index) { + GOOGLE_DCHECK_LT(index, size()); + return cast(elements_[index]); +} + +template +inline typename TypeHandler::Type* RepeatedPtrFieldBase::Add() { + if (current_size_ < allocated_size_) { + return cast(elements_[current_size_++]); + } + if (allocated_size_ == total_size_) Reserve(total_size_ + 1); + ++allocated_size_; + typename TypeHandler::Type* result = TypeHandler::New(); + elements_[current_size_++] = result; + return result; +} + +template +inline void RepeatedPtrFieldBase::RemoveLast() { + GOOGLE_DCHECK_GT(current_size_, 0); + TypeHandler::Clear(cast(elements_[--current_size_])); +} + +template +void RepeatedPtrFieldBase::Clear() { + for (int i = 0; i < current_size_; i++) { + TypeHandler::Clear(cast(elements_[i])); + } + current_size_ = 0; +} + +template +inline void RepeatedPtrFieldBase::MergeFrom(const RepeatedPtrFieldBase& other) { + Reserve(current_size_ + other.current_size_); + for (int i = 0; i < other.current_size_; i++) { + TypeHandler::Merge(other.template Get(i), Add()); + } +} + +template +inline void RepeatedPtrFieldBase::CopyFrom(const RepeatedPtrFieldBase& other) { + RepeatedPtrFieldBase::Clear(); + RepeatedPtrFieldBase::MergeFrom(other); +} + +inline int RepeatedPtrFieldBase::Capacity() const { + return total_size_; +} + +inline void* const* RepeatedPtrFieldBase::raw_data() const { + return elements_; +} + +inline void** RepeatedPtrFieldBase::raw_mutable_data() const { + return elements_; +} + +template +inline typename TypeHandler::Type** RepeatedPtrFieldBase::mutable_data() { + // TODO(kenton): Breaks C++ aliasing rules. We should probably remove this + // method entirely. + return reinterpret_cast(elements_); +} + +template +inline const typename TypeHandler::Type* const* +RepeatedPtrFieldBase::data() const { + // TODO(kenton): Breaks C++ aliasing rules. We should probably remove this + // method entirely. + return reinterpret_cast(elements_); +} + +inline void RepeatedPtrFieldBase::SwapElements(int index1, int index2) { + std::swap(elements_[index1], elements_[index2]); +} + +template +inline int RepeatedPtrFieldBase::SpaceUsedExcludingSelf() const { + int allocated_bytes = + (elements_ != NULL) ? total_size_ * sizeof(elements_[0]) : 0; + for (int i = 0; i < allocated_size_; ++i) { + allocated_bytes += TypeHandler::SpaceUsed(*cast(elements_[i])); + } + return allocated_bytes; +} + +template +inline typename TypeHandler::Type* RepeatedPtrFieldBase::AddFromCleared() { + if (current_size_ < allocated_size_) { + return cast(elements_[current_size_++]); + } else { + return NULL; + } +} + +template +void RepeatedPtrFieldBase::AddAllocated( + typename TypeHandler::Type* value) { + // Make room for the new pointer. + if (current_size_ == total_size_) { + // The array is completely full with no cleared objects, so grow it. + Reserve(total_size_ + 1); + ++allocated_size_; + } else if (allocated_size_ == total_size_) { + // There is no more space in the pointer array because it contains some + // cleared objects awaiting reuse. We don't want to grow the array in this + // case because otherwise a loop calling AddAllocated() followed by Clear() + // would leak memory. + TypeHandler::Delete(cast(elements_[current_size_])); + } else if (current_size_ < allocated_size_) { + // We have some cleared objects. We don't care about their order, so we + // can just move the first one to the end to make space. + elements_[allocated_size_] = elements_[current_size_]; + ++allocated_size_; + } else { + // There are no cleared objects. + ++allocated_size_; + } + + elements_[current_size_++] = value; +} + +template +inline typename TypeHandler::Type* RepeatedPtrFieldBase::ReleaseLast() { + GOOGLE_DCHECK_GT(current_size_, 0); + typename TypeHandler::Type* result = + cast(elements_[--current_size_]); + --allocated_size_; + if (current_size_ < allocated_size_) { + // There are cleared elements on the end; replace the removed element + // with the last allocated element. + elements_[current_size_] = elements_[allocated_size_]; + } + return result; +} + +inline int RepeatedPtrFieldBase::ClearedCount() const { + return allocated_size_ - current_size_; +} + +template +inline void RepeatedPtrFieldBase::AddCleared( + typename TypeHandler::Type* value) { + if (allocated_size_ == total_size_) Reserve(total_size_ + 1); + elements_[allocated_size_++] = value; +} + +template +inline typename TypeHandler::Type* RepeatedPtrFieldBase::ReleaseCleared() { + GOOGLE_DCHECK_GT(allocated_size_, current_size_); + return cast(elements_[--allocated_size_]); +} + +} // namespace internal + +// ------------------------------------------------------------------- + +template +class RepeatedPtrField::TypeHandler + : public internal::GenericTypeHandler { +}; + +template <> +class RepeatedPtrField::TypeHandler + : public internal::StringTypeHandler { +}; + + +template +inline RepeatedPtrField::RepeatedPtrField() {} + +template +inline RepeatedPtrField::RepeatedPtrField( + const RepeatedPtrField& other) { + CopyFrom(other); +} + +template +template +inline RepeatedPtrField::RepeatedPtrField( + Iter begin, const Iter& end) { + for (; begin != end; ++begin) { + *Add() = *begin; + } +} + +template +RepeatedPtrField::~RepeatedPtrField() { + Destroy(); +} + +template +inline RepeatedPtrField& RepeatedPtrField::operator=( + const RepeatedPtrField& other) { + if (this != &other) + CopyFrom(other); + return *this; +} + +template +inline int RepeatedPtrField::size() const { + return RepeatedPtrFieldBase::size(); +} + +template +inline const Element& RepeatedPtrField::Get(int index) const { + return RepeatedPtrFieldBase::Get(index); +} + + +template +inline Element* RepeatedPtrField::Mutable(int index) { + return RepeatedPtrFieldBase::Mutable(index); +} + +template +inline Element* RepeatedPtrField::Add() { + return RepeatedPtrFieldBase::Add(); +} + +template +inline void RepeatedPtrField::RemoveLast() { + RepeatedPtrFieldBase::RemoveLast(); +} + +template +inline void RepeatedPtrField::DeleteSubrange(int start, int num) { + GOOGLE_DCHECK_GE(start, 0); + GOOGLE_DCHECK_GE(num, 0); + GOOGLE_DCHECK_LE(start + num, size()); + for (int i = 0; i < num; ++i) + delete RepeatedPtrFieldBase::Mutable(start + i); + ExtractSubrange(start, num, NULL); +} + +template +inline void RepeatedPtrField::ExtractSubrange( + int start, int num, Element** elements) { + GOOGLE_DCHECK_GE(start, 0); + GOOGLE_DCHECK_GE(num, 0); + GOOGLE_DCHECK_LE(start + num, size()); + + if (num > 0) { + // Save the values of the removed elements if requested. + if (elements != NULL) { + for (int i = 0; i < num; ++i) + elements[i] = RepeatedPtrFieldBase::Mutable(i + start); + } + CloseGap(start, num); + } +} + +template +inline void RepeatedPtrField::Clear() { + RepeatedPtrFieldBase::Clear(); +} + +template +inline void RepeatedPtrField::MergeFrom( + const RepeatedPtrField& other) { + RepeatedPtrFieldBase::MergeFrom(other); +} + +template +inline void RepeatedPtrField::CopyFrom( + const RepeatedPtrField& other) { + RepeatedPtrFieldBase::CopyFrom(other); +} + +template +inline Element** RepeatedPtrField::mutable_data() { + return RepeatedPtrFieldBase::mutable_data(); +} + +template +inline const Element* const* RepeatedPtrField::data() const { + return RepeatedPtrFieldBase::data(); +} + +template +void RepeatedPtrField::Swap(RepeatedPtrField* other) { + RepeatedPtrFieldBase::Swap(other); +} + +template +void RepeatedPtrField::SwapElements(int index1, int index2) { + RepeatedPtrFieldBase::SwapElements(index1, index2); +} + +template +inline int RepeatedPtrField::SpaceUsedExcludingSelf() const { + return RepeatedPtrFieldBase::SpaceUsedExcludingSelf(); +} + +template +inline void RepeatedPtrField::AddAllocated(Element* value) { + RepeatedPtrFieldBase::AddAllocated(value); +} + +template +inline Element* RepeatedPtrField::ReleaseLast() { + return RepeatedPtrFieldBase::ReleaseLast(); +} + + +template +inline int RepeatedPtrField::ClearedCount() const { + return RepeatedPtrFieldBase::ClearedCount(); +} + +template +inline void RepeatedPtrField::AddCleared(Element* value) { + return RepeatedPtrFieldBase::AddCleared(value); +} + +template +inline Element* RepeatedPtrField::ReleaseCleared() { + return RepeatedPtrFieldBase::ReleaseCleared(); +} + +template +inline void RepeatedPtrField::Reserve(int new_size) { + return RepeatedPtrFieldBase::Reserve(new_size); +} + +template +inline int RepeatedPtrField::Capacity() const { + return RepeatedPtrFieldBase::Capacity(); +} + +// ------------------------------------------------------------------- + +namespace internal { + +// STL-like iterator implementation for RepeatedPtrField. You should not +// refer to this class directly; use RepeatedPtrField::iterator instead. +// +// The iterator for RepeatedPtrField, RepeatedPtrIterator, is +// very similar to iterator_ptr in util/gtl/iterator_adaptors.h, +// but adds random-access operators and is modified to wrap a void** base +// iterator (since RepeatedPtrField stores its array as a void* array and +// casting void** to T** would violate C++ aliasing rules). +// +// This code based on net/proto/proto-array-internal.h by Jeffrey Yasskin +// (jyasskin@google.com). +template +class RepeatedPtrIterator + : public std::iterator< + std::random_access_iterator_tag, Element> { + public: + typedef RepeatedPtrIterator iterator; + typedef std::iterator< + std::random_access_iterator_tag, Element> superclass; + + // Let the compiler know that these are type names, so we don't have to + // write "typename" in front of them everywhere. + typedef typename superclass::reference reference; + typedef typename superclass::pointer pointer; + typedef typename superclass::difference_type difference_type; + + RepeatedPtrIterator() : it_(NULL) {} + explicit RepeatedPtrIterator(void* const* it) : it_(it) {} + + // Allow "upcasting" from RepeatedPtrIterator to + // RepeatedPtrIterator. + template + RepeatedPtrIterator(const RepeatedPtrIterator& other) + : it_(other.it_) { + // Force a compiler error if the other type is not convertible to ours. + if (false) { + implicit_cast(0); + } + } + + // dereferenceable + reference operator*() const { return *reinterpret_cast(*it_); } + pointer operator->() const { return &(operator*()); } + + // {inc,dec}rementable + iterator& operator++() { ++it_; return *this; } + iterator operator++(int) { return iterator(it_++); } + iterator& operator--() { --it_; return *this; } + iterator operator--(int) { return iterator(it_--); } + + // equality_comparable + bool operator==(const iterator& x) const { return it_ == x.it_; } + bool operator!=(const iterator& x) const { return it_ != x.it_; } + + // less_than_comparable + bool operator<(const iterator& x) const { return it_ < x.it_; } + bool operator<=(const iterator& x) const { return it_ <= x.it_; } + bool operator>(const iterator& x) const { return it_ > x.it_; } + bool operator>=(const iterator& x) const { return it_ >= x.it_; } + + // addable, subtractable + iterator& operator+=(difference_type d) { + it_ += d; + return *this; + } + friend iterator operator+(iterator it, difference_type d) { + it += d; + return it; + } + friend iterator operator+(difference_type d, iterator it) { + it += d; + return it; + } + iterator& operator-=(difference_type d) { + it_ -= d; + return *this; + } + friend iterator operator-(iterator it, difference_type d) { + it -= d; + return it; + } + + // indexable + reference operator[](difference_type d) const { return *(*this + d); } + + // random access iterator + difference_type operator-(const iterator& x) const { return it_ - x.it_; } + + private: + template + friend class RepeatedPtrIterator; + + // The internal iterator. + void* const* it_; +}; + +// Provide an iterator that operates on pointers to the underlying objects +// rather than the objects themselves as RepeatedPtrIterator does. +// Consider using this when working with stl algorithms that change +// the array. +// The VoidPtr template parameter holds the type-agnostic pointer value +// referenced by the iterator. It should either be "void *" for a mutable +// iterator, or "const void *" for a constant iterator. +template +class RepeatedPtrOverPtrsIterator + : public std::iterator { + public: + typedef RepeatedPtrOverPtrsIterator iterator; + typedef std::iterator< + std::random_access_iterator_tag, Element*> superclass; + + // Let the compiler know that these are type names, so we don't have to + // write "typename" in front of them everywhere. + typedef typename superclass::reference reference; + typedef typename superclass::pointer pointer; + typedef typename superclass::difference_type difference_type; + + RepeatedPtrOverPtrsIterator() : it_(NULL) {} + explicit RepeatedPtrOverPtrsIterator(VoidPtr* it) : it_(it) {} + + // dereferenceable + reference operator*() const { return *reinterpret_cast(it_); } + pointer operator->() const { return &(operator*()); } + + // {inc,dec}rementable + iterator& operator++() { ++it_; return *this; } + iterator operator++(int) { return iterator(it_++); } + iterator& operator--() { --it_; return *this; } + iterator operator--(int) { return iterator(it_--); } + + // equality_comparable + bool operator==(const iterator& x) const { return it_ == x.it_; } + bool operator!=(const iterator& x) const { return it_ != x.it_; } + + // less_than_comparable + bool operator<(const iterator& x) const { return it_ < x.it_; } + bool operator<=(const iterator& x) const { return it_ <= x.it_; } + bool operator>(const iterator& x) const { return it_ > x.it_; } + bool operator>=(const iterator& x) const { return it_ >= x.it_; } + + // addable, subtractable + iterator& operator+=(difference_type d) { + it_ += d; + return *this; + } + friend iterator operator+(iterator it, difference_type d) { + it += d; + return it; + } + friend iterator operator+(difference_type d, iterator it) { + it += d; + return it; + } + iterator& operator-=(difference_type d) { + it_ -= d; + return *this; + } + friend iterator operator-(iterator it, difference_type d) { + it -= d; + return it; + } + + // indexable + reference operator[](difference_type d) const { return *(*this + d); } + + // random access iterator + difference_type operator-(const iterator& x) const { return it_ - x.it_; } + + private: + template + friend class RepeatedPtrIterator; + + // The internal iterator. + VoidPtr* it_; +}; + +} // namespace internal + +template +inline typename RepeatedPtrField::iterator +RepeatedPtrField::begin() { + return iterator(raw_data()); +} +template +inline typename RepeatedPtrField::const_iterator +RepeatedPtrField::begin() const { + return iterator(raw_data()); +} +template +inline typename RepeatedPtrField::iterator +RepeatedPtrField::end() { + return iterator(raw_data() + size()); +} +template +inline typename RepeatedPtrField::const_iterator +RepeatedPtrField::end() const { + return iterator(raw_data() + size()); +} + +template +inline typename RepeatedPtrField::pointer_iterator +RepeatedPtrField::pointer_begin() { + return pointer_iterator(raw_mutable_data()); +} +template +inline typename RepeatedPtrField::const_pointer_iterator +RepeatedPtrField::pointer_begin() const { + return const_pointer_iterator(const_cast(raw_mutable_data())); +} +template +inline typename RepeatedPtrField::pointer_iterator +RepeatedPtrField::pointer_end() { + return pointer_iterator(raw_mutable_data() + size()); +} +template +inline typename RepeatedPtrField::const_pointer_iterator +RepeatedPtrField::pointer_end() const { + return const_pointer_iterator( + const_cast(raw_mutable_data() + size())); +} + + +// Iterators and helper functions that follow the spirit of the STL +// std::back_insert_iterator and std::back_inserter but are tailor-made +// for RepeatedField and RepatedPtrField. Typical usage would be: +// +// std::copy(some_sequence.begin(), some_sequence.end(), +// google::protobuf::RepeatedFieldBackInserter(proto.mutable_sequence())); +// +// Ported by johannes from util/gtl/proto-array-iterators.h + +namespace internal { +// A back inserter for RepeatedField objects. +template class RepeatedFieldBackInsertIterator + : public std::iterator { + public: + explicit RepeatedFieldBackInsertIterator( + RepeatedField* const mutable_field) + : field_(mutable_field) { + } + RepeatedFieldBackInsertIterator& operator=(const T& value) { + field_->Add(value); + return *this; + } + RepeatedFieldBackInsertIterator& operator*() { + return *this; + } + RepeatedFieldBackInsertIterator& operator++() { + return *this; + } + RepeatedFieldBackInsertIterator& operator++(int /* unused */) { + return *this; + } + + private: + RepeatedField* field_; +}; + +// A back inserter for RepeatedPtrField objects. +template class RepeatedPtrFieldBackInsertIterator + : public std::iterator { + public: + RepeatedPtrFieldBackInsertIterator( + RepeatedPtrField* const mutable_field) + : field_(mutable_field) { + } + RepeatedPtrFieldBackInsertIterator& operator=(const T& value) { + *field_->Add() = value; + return *this; + } + RepeatedPtrFieldBackInsertIterator& operator=( + const T* const ptr_to_value) { + *field_->Add() = *ptr_to_value; + return *this; + } + RepeatedPtrFieldBackInsertIterator& operator*() { + return *this; + } + RepeatedPtrFieldBackInsertIterator& operator++() { + return *this; + } + RepeatedPtrFieldBackInsertIterator& operator++(int /* unused */) { + return *this; + } + + private: + RepeatedPtrField* field_; +}; + +// A back inserter for RepeatedPtrFields that inserts by transfering ownership +// of a pointer. +template class AllocatedRepeatedPtrFieldBackInsertIterator + : public std::iterator { + public: + explicit AllocatedRepeatedPtrFieldBackInsertIterator( + RepeatedPtrField* const mutable_field) + : field_(mutable_field) { + } + AllocatedRepeatedPtrFieldBackInsertIterator& operator=( + T* const ptr_to_value) { + field_->AddAllocated(ptr_to_value); + return *this; + } + AllocatedRepeatedPtrFieldBackInsertIterator& operator*() { + return *this; + } + AllocatedRepeatedPtrFieldBackInsertIterator& operator++() { + return *this; + } + AllocatedRepeatedPtrFieldBackInsertIterator& operator++( + int /* unused */) { + return *this; + } + + private: + RepeatedPtrField* field_; +}; +} // namespace internal + +// Provides a back insert iterator for RepeatedField instances, +// similar to std::back_inserter(). +template internal::RepeatedFieldBackInsertIterator +RepeatedFieldBackInserter(RepeatedField* const mutable_field) { + return internal::RepeatedFieldBackInsertIterator(mutable_field); +} + +// Provides a back insert iterator for RepeatedPtrField instances, +// similar to std::back_inserter(). +template internal::RepeatedPtrFieldBackInsertIterator +RepeatedPtrFieldBackInserter(RepeatedPtrField* const mutable_field) { + return internal::RepeatedPtrFieldBackInsertIterator(mutable_field); +} + +// Special back insert iterator for RepeatedPtrField instances, just in +// case someone wants to write generic template code that can access both +// RepeatedFields and RepeatedPtrFields using a common name. +template internal::RepeatedPtrFieldBackInsertIterator +RepeatedFieldBackInserter(RepeatedPtrField* const mutable_field) { + return internal::RepeatedPtrFieldBackInsertIterator(mutable_field); +} + +// Provides a back insert iterator for RepeatedPtrField instances +// similar to std::back_inserter() which transfers the ownership while +// copying elements. +template internal::AllocatedRepeatedPtrFieldBackInsertIterator +AllocatedRepeatedPtrFieldBackInserter( + RepeatedPtrField* const mutable_field) { + return internal::AllocatedRepeatedPtrFieldBackInsertIterator( + mutable_field); +} + +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_REPEATED_FIELD_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops.h new file mode 100644 index 0000000000..883b12530a --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops.h @@ -0,0 +1,206 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// The routines exported by this module are subtle. If you use them, even if +// you get the code right, it will depend on careful reasoning about atomicity +// and memory ordering; it will be less readable, and harder to maintain. If +// you plan to use these routines, you should have a good reason, such as solid +// evidence that performance would otherwise suffer, or there being no +// alternative. You should assume only properties explicitly guaranteed by the +// specifications in this file. You are almost certainly _not_ writing code +// just for the x86; if you assume x86 semantics, x86 hardware bugs and +// implementations on other archtectures will cause your code to break. If you +// do not know what you are doing, avoid these routines, and use a Mutex. +// +// It is incorrect to make direct assignments to/from an atomic variable. +// You should use one of the Load or Store routines. The NoBarrier +// versions are provided when no barriers are needed: +// NoBarrier_Store() +// NoBarrier_Load() +// Although there are currently no compiler enforcement, you are encouraged +// to use these. + +// This header and the implementations for each platform (located in +// atomicops_internals_*) must be kept in sync with the upstream code (V8). + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_H_ + +// Don't include this file for people not concerned about thread safety. +#ifndef GOOGLE_PROTOBUF_NO_THREAD_SAFETY + +#include + +namespace google { +namespace protobuf { +namespace internal { + +typedef int32 Atomic32; +#ifdef GOOGLE_PROTOBUF_ARCH_64_BIT +// We need to be able to go between Atomic64 and AtomicWord implicitly. This +// means Atomic64 and AtomicWord should be the same type on 64-bit. +#if defined(GOOGLE_PROTOBUF_OS_NACL) +// NaCl's intptr_t is not actually 64-bits on 64-bit! +// http://code.google.com/p/nativeclient/issues/detail?id=1162 +typedef int64 Atomic64; +#else +typedef intptr_t Atomic64; +#endif +#endif + +// Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or +// Atomic64 routines below, depending on your architecture. +typedef intptr_t AtomicWord; + +// Atomically execute: +// result = *ptr; +// if (*ptr == old_value) +// *ptr = new_value; +// return result; +// +// I.e., replace "*ptr" with "new_value" if "*ptr" used to be "old_value". +// Always return the old value of "*ptr" +// +// This routine implies no memory barriers. +Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value); + +// Atomically store new_value into *ptr, returning the previous value held in +// *ptr. This routine implies no memory barriers. +Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, Atomic32 new_value); + +// Atomically increment *ptr by "increment". Returns the new value of +// *ptr with the increment applied. This routine implies no memory barriers. +Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, Atomic32 increment); + +Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment); + +// These following lower-level operations are typically useful only to people +// implementing higher-level synchronization operations like spinlocks, +// mutexes, and condition-variables. They combine CompareAndSwap(), a load, or +// a store with appropriate memory-ordering instructions. "Acquire" operations +// ensure that no later memory access can be reordered ahead of the operation. +// "Release" operations ensure that no previous memory access can be reordered +// after the operation. "Barrier" operations have both "Acquire" and "Release" +// semantics. A MemoryBarrier() has "Barrier" semantics, but does no memory +// access. +Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value); +Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value); + +void MemoryBarrier(); +void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value); +void Acquire_Store(volatile Atomic32* ptr, Atomic32 value); +void Release_Store(volatile Atomic32* ptr, Atomic32 value); + +Atomic32 NoBarrier_Load(volatile const Atomic32* ptr); +Atomic32 Acquire_Load(volatile const Atomic32* ptr); +Atomic32 Release_Load(volatile const Atomic32* ptr); + +// 64-bit atomic operations (only available on 64-bit processors). +#ifdef GOOGLE_PROTOBUF_ARCH_64_BIT +Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value); +Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, Atomic64 new_value); +Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, Atomic64 increment); +Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, Atomic64 increment); + +Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value); +Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value); +void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value); +void Acquire_Store(volatile Atomic64* ptr, Atomic64 value); +void Release_Store(volatile Atomic64* ptr, Atomic64 value); +Atomic64 NoBarrier_Load(volatile const Atomic64* ptr); +Atomic64 Acquire_Load(volatile const Atomic64* ptr); +Atomic64 Release_Load(volatile const Atomic64* ptr); +#endif // GOOGLE_PROTOBUF_ARCH_64_BIT + +} // namespace internal +} // namespace protobuf +} // namespace google + +// Include our platform specific implementation. +#define GOOGLE_PROTOBUF_ATOMICOPS_ERROR \ +#error "Atomic operations are not supported on your platform" + +// MSVC. +#if defined(_MSC_VER) +#if defined(GOOGLE_PROTOBUF_ARCH_IA32) || defined(GOOGLE_PROTOBUF_ARCH_X64) +#include +#else +GOOGLE_PROTOBUF_ATOMICOPS_ERROR +#endif + +// Apple. +#elif defined(GOOGLE_PROTOBUF_OS_APPLE) +#include + +// GCC. +#elif defined(__GNUC__) +#if defined(GOOGLE_PROTOBUF_ARCH_IA32) || defined(GOOGLE_PROTOBUF_ARCH_X64) +#include +#elif defined(GOOGLE_PROTOBUF_ARCH_ARM) +#include +#elif defined(GOOGLE_PROTOBUF_ARCH_ARM_QNX) +#include +#elif defined(GOOGLE_PROTOBUF_ARCH_MIPS) +#include +#elif defined(__pnacl__) +#include +#else +#include +#endif + +// Unknown. +#else +GOOGLE_PROTOBUF_ATOMICOPS_ERROR +#endif + +// On some platforms we need additional declarations to make AtomicWord +// compatible with our other Atomic* types. +#if defined(GOOGLE_PROTOBUF_OS_APPLE) +#include +#endif + +#undef GOOGLE_PROTOBUF_ATOMICOPS_ERROR + +#endif // GOOGLE_PROTOBUF_NO_THREAD_SAFETY + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_H_ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_arm_gcc.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_arm_gcc.h new file mode 100644 index 0000000000..1f4dedc0f3 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_arm_gcc.h @@ -0,0 +1,151 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. +// +// LinuxKernelCmpxchg and Barrier_AtomicIncrement are from Google Gears. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ARM_GCC_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ARM_GCC_H_ + +namespace google { +namespace protobuf { +namespace internal { + +// 0xffff0fc0 is the hard coded address of a function provided by +// the kernel which implements an atomic compare-exchange. On older +// ARM architecture revisions (pre-v6) this may be implemented using +// a syscall. This address is stable, and in active use (hard coded) +// by at least glibc-2.7 and the Android C library. +typedef Atomic32 (*LinuxKernelCmpxchgFunc)(Atomic32 old_value, + Atomic32 new_value, + volatile Atomic32* ptr); +LinuxKernelCmpxchgFunc pLinuxKernelCmpxchg __attribute__((weak)) = + (LinuxKernelCmpxchgFunc) 0xffff0fc0; + +typedef void (*LinuxKernelMemoryBarrierFunc)(void); +LinuxKernelMemoryBarrierFunc pLinuxKernelMemoryBarrier __attribute__((weak)) = + (LinuxKernelMemoryBarrierFunc) 0xffff0fa0; + + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 prev_value = *ptr; + do { + if (!pLinuxKernelCmpxchg(old_value, new_value, + const_cast(ptr))) { + return old_value; + } + prev_value = *ptr; + } while (prev_value == old_value); + return prev_value; +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + Atomic32 old_value; + do { + old_value = *ptr; + } while (pLinuxKernelCmpxchg(old_value, new_value, + const_cast(ptr))); + return old_value; +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return Barrier_AtomicIncrement(ptr, increment); +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + for (;;) { + // Atomic exchange the old value with an incremented one. + Atomic32 old_value = *ptr; + Atomic32 new_value = old_value + increment; + if (pLinuxKernelCmpxchg(old_value, new_value, + const_cast(ptr)) == 0) { + // The exchange took place as expected. + return new_value; + } + // Otherwise, *ptr changed mid-loop and we need to retry. + } +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; +} + +inline void MemoryBarrier() { + pLinuxKernelMemoryBarrier(); +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + MemoryBarrier(); + *ptr = value; +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return *ptr; +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + Atomic32 value = *ptr; + MemoryBarrier(); + return value; +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + MemoryBarrier(); + return *ptr; +} + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ARM_GCC_H_ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_atomicword_compat.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_atomicword_compat.h new file mode 100644 index 0000000000..e9d86797b5 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_atomicword_compat.h @@ -0,0 +1,122 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_ + +// AtomicWord is a synonym for intptr_t, and Atomic32 is a synonym for int32, +// which in turn means int. On some LP32 platforms, intptr_t is an int, but +// on others, it's a long. When AtomicWord and Atomic32 are based on different +// fundamental types, their pointers are incompatible. +// +// This file defines function overloads to allow both AtomicWord and Atomic32 +// data to be used with this interface. +// +// On LP64 platforms, AtomicWord and Atomic64 are both always long, +// so this problem doesn't occur. + +#if !defined(GOOGLE_PROTOBUF_ARCH_64_BIT) + +namespace google { +namespace protobuf { +namespace internal { + +inline AtomicWord NoBarrier_CompareAndSwap(volatile AtomicWord* ptr, + AtomicWord old_value, + AtomicWord new_value) { + return NoBarrier_CompareAndSwap( + reinterpret_cast(ptr), old_value, new_value); +} + +inline AtomicWord NoBarrier_AtomicExchange(volatile AtomicWord* ptr, + AtomicWord new_value) { + return NoBarrier_AtomicExchange( + reinterpret_cast(ptr), new_value); +} + +inline AtomicWord NoBarrier_AtomicIncrement(volatile AtomicWord* ptr, + AtomicWord increment) { + return NoBarrier_AtomicIncrement( + reinterpret_cast(ptr), increment); +} + +inline AtomicWord Barrier_AtomicIncrement(volatile AtomicWord* ptr, + AtomicWord increment) { + return Barrier_AtomicIncrement( + reinterpret_cast(ptr), increment); +} + +inline AtomicWord Acquire_CompareAndSwap(volatile AtomicWord* ptr, + AtomicWord old_value, + AtomicWord new_value) { + return Acquire_CompareAndSwap( + reinterpret_cast(ptr), old_value, new_value); +} + +inline AtomicWord Release_CompareAndSwap(volatile AtomicWord* ptr, + AtomicWord old_value, + AtomicWord new_value) { + return Release_CompareAndSwap( + reinterpret_cast(ptr), old_value, new_value); +} + +inline void NoBarrier_Store(volatile AtomicWord *ptr, AtomicWord value) { + NoBarrier_Store(reinterpret_cast(ptr), value); +} + +inline void Acquire_Store(volatile AtomicWord* ptr, AtomicWord value) { + return Acquire_Store(reinterpret_cast(ptr), value); +} + +inline void Release_Store(volatile AtomicWord* ptr, AtomicWord value) { + return Release_Store(reinterpret_cast(ptr), value); +} + +inline AtomicWord NoBarrier_Load(volatile const AtomicWord *ptr) { + return NoBarrier_Load(reinterpret_cast(ptr)); +} + +inline AtomicWord Acquire_Load(volatile const AtomicWord* ptr) { + return Acquire_Load(reinterpret_cast(ptr)); +} + +inline AtomicWord Release_Load(volatile const AtomicWord* ptr) { + return Release_Load(reinterpret_cast(ptr)); +} + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // !defined(GOOGLE_PROTOBUF_ARCH_64_BIT) + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_ATOMICWORD_COMPAT_H_ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_generic_gcc.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_generic_gcc.h new file mode 100644 index 0000000000..3fabcc2f59 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_generic_gcc.h @@ -0,0 +1,139 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2013 Red Hat Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Red Hat Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_GENERIC_GCC_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_GENERIC_GCC_H_ + +namespace google { +namespace protobuf { +namespace internal { + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + __atomic_compare_exchange_n(ptr, &old_value, new_value, true, + __ATOMIC_RELAXED, __ATOMIC_RELAXED); + return old_value; +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + return __atomic_exchange_n(ptr, new_value, __ATOMIC_RELAXED); +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return __atomic_add_fetch(ptr, increment, __ATOMIC_RELAXED); +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return __atomic_add_fetch(ptr, increment, __ATOMIC_SEQ_CST); +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + __atomic_compare_exchange(ptr, &old_value, &new_value, true, + __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE); + return old_value; +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + __atomic_compare_exchange_n(ptr, &old_value, new_value, true, + __ATOMIC_RELEASE, __ATOMIC_ACQUIRE); + return old_value; +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + __atomic_store_n(ptr, value, __ATOMIC_RELAXED); +} + +inline void MemoryBarrier() { + __sync_synchronize(); +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + __atomic_store_n(ptr, value, __ATOMIC_ACQUIRE); +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + __atomic_store_n(ptr, value, __ATOMIC_RELEASE); +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return __atomic_load_n(ptr, __ATOMIC_RELAXED); +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + return __atomic_load_n(ptr, __ATOMIC_ACQUIRE); +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + return __atomic_load_n(ptr, __ATOMIC_RELEASE); +} + +#ifdef __LP64__ + +inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { + __atomic_store_n(ptr, value, __ATOMIC_RELEASE); +} + +inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { + return __atomic_load_n(ptr, __ATOMIC_ACQUIRE); +} + +inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + __atomic_compare_exchange_n(ptr, &old_value, new_value, true, + __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE); + return old_value; +} + +inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + __atomic_compare_exchange_n(ptr, &old_value, new_value, true, + __ATOMIC_RELAXED, __ATOMIC_RELAXED); + return old_value; +} + +#endif // defined(__LP64__) + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_GENERIC_GCC_H_ \ No newline at end of file diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_macosx.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_macosx.h new file mode 100644 index 0000000000..f9b7581ad5 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_macosx.h @@ -0,0 +1,225 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_MACOSX_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_MACOSX_H_ + +#include + +namespace google { +namespace protobuf { +namespace internal { + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 prev_value; + do { + if (OSAtomicCompareAndSwap32(old_value, new_value, + const_cast(ptr))) { + return old_value; + } + prev_value = *ptr; + } while (prev_value == old_value); + return prev_value; +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + Atomic32 old_value; + do { + old_value = *ptr; + } while (!OSAtomicCompareAndSwap32(old_value, new_value, + const_cast(ptr))); + return old_value; +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return OSAtomicAdd32(increment, const_cast(ptr)); +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return OSAtomicAdd32Barrier(increment, const_cast(ptr)); +} + +inline void MemoryBarrier() { + OSMemoryBarrier(); +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 prev_value; + do { + if (OSAtomicCompareAndSwap32Barrier(old_value, new_value, + const_cast(ptr))) { + return old_value; + } + prev_value = *ptr; + } while (prev_value == old_value); + return prev_value; +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return Acquire_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + MemoryBarrier(); + *ptr = value; +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return *ptr; +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + Atomic32 value = *ptr; + MemoryBarrier(); + return value; +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + MemoryBarrier(); + return *ptr; +} + +#ifdef __LP64__ + +// 64-bit implementation on 64-bit platform + +inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 prev_value; + do { + if (OSAtomicCompareAndSwap64(old_value, new_value, + reinterpret_cast(ptr))) { + return old_value; + } + prev_value = *ptr; + } while (prev_value == old_value); + return prev_value; +} + +inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, + Atomic64 new_value) { + Atomic64 old_value; + do { + old_value = *ptr; + } while (!OSAtomicCompareAndSwap64(old_value, new_value, + reinterpret_cast(ptr))); + return old_value; +} + +inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + return OSAtomicAdd64(increment, reinterpret_cast(ptr)); +} + +inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + return OSAtomicAdd64Barrier(increment, + reinterpret_cast(ptr)); +} + +inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 prev_value; + do { + if (OSAtomicCompareAndSwap64Barrier( + old_value, new_value, reinterpret_cast(ptr))) { + return old_value; + } + prev_value = *ptr; + } while (prev_value == old_value); + return prev_value; +} + +inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + // The lib kern interface does not distinguish between + // Acquire and Release memory barriers; they are equivalent. + return Acquire_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { + MemoryBarrier(); + *ptr = value; +} + +inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { + return *ptr; +} + +inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { + Atomic64 value = *ptr; + MemoryBarrier(); + return value; +} + +inline Atomic64 Release_Load(volatile const Atomic64* ptr) { + MemoryBarrier(); + return *ptr; +} + +#endif // defined(__LP64__) + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_MACOSX_H_ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_x86_gcc.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_x86_gcc.h new file mode 100644 index 0000000000..5324dfbcb7 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_x86_gcc.h @@ -0,0 +1,293 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_GCC_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_GCC_H_ + +namespace google { +namespace protobuf { +namespace internal { + +// This struct is not part of the public API of this module; clients may not +// use it. +// Features of this x86. Values may not be correct before main() is run, +// but are set conservatively. +struct AtomicOps_x86CPUFeatureStruct { + bool has_amd_lock_mb_bug; // Processor has AMD memory-barrier bug; do lfence + // after acquire compare-and-swap. + bool has_sse2; // Processor has SSE2. +}; +extern struct AtomicOps_x86CPUFeatureStruct AtomicOps_Internalx86CPUFeatures; + +#define ATOMICOPS_COMPILER_BARRIER() __asm__ __volatile__("" : : : "memory") + +// 32-bit low-level operations on any platform. + +inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 prev; + __asm__ __volatile__("lock; cmpxchgl %1,%2" + : "=a" (prev) + : "q" (new_value), "m" (*ptr), "0" (old_value) + : "memory"); + return prev; +} + +inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + __asm__ __volatile__("xchgl %1,%0" // The lock prefix is implicit for xchg. + : "=r" (new_value) + : "m" (*ptr), "0" (new_value) + : "memory"); + return new_value; // Now it's the previous value. +} + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + Atomic32 temp = increment; + __asm__ __volatile__("lock; xaddl %0,%1" + : "+r" (temp), "+m" (*ptr) + : : "memory"); + // temp now holds the old value of *ptr + return temp + increment; +} + +inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + Atomic32 temp = increment; + __asm__ __volatile__("lock; xaddl %0,%1" + : "+r" (temp), "+m" (*ptr) + : : "memory"); + // temp now holds the old value of *ptr + if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) { + __asm__ __volatile__("lfence" : : : "memory"); + } + return temp + increment; +} + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + Atomic32 x = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) { + __asm__ __volatile__("lfence" : : : "memory"); + } + return x; +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; +} + +#if defined(__x86_64__) + +// 64-bit implementations of memory barrier can be simpler, because it +// "mfence" is guaranteed to exist. +inline void MemoryBarrier() { + __asm__ __volatile__("mfence" : : : "memory"); +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; + MemoryBarrier(); +} + +#else + +inline void MemoryBarrier() { + if (AtomicOps_Internalx86CPUFeatures.has_sse2) { + __asm__ __volatile__("mfence" : : : "memory"); + } else { // mfence is faster but not present on PIII + Atomic32 x = 0; + NoBarrier_AtomicExchange(&x, 0); // acts as a barrier on PIII + } +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + if (AtomicOps_Internalx86CPUFeatures.has_sse2) { + *ptr = value; + __asm__ __volatile__("mfence" : : : "memory"); + } else { + NoBarrier_AtomicExchange(ptr, value); + // acts as a barrier on PIII + } +} +#endif + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + ATOMICOPS_COMPILER_BARRIER(); + *ptr = value; // An x86 store acts as a release barrier. + // See comments in Atomic64 version of Release_Store(), below. +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return *ptr; +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + Atomic32 value = *ptr; // An x86 load acts as a acquire barrier. + // See comments in Atomic64 version of Release_Store(), below. + ATOMICOPS_COMPILER_BARRIER(); + return value; +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + MemoryBarrier(); + return *ptr; +} + +#if defined(__x86_64__) + +// 64-bit low-level operations on 64-bit platform. + +inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 prev; + __asm__ __volatile__("lock; cmpxchgq %1,%2" + : "=a" (prev) + : "q" (new_value), "m" (*ptr), "0" (old_value) + : "memory"); + return prev; +} + +inline Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, + Atomic64 new_value) { + __asm__ __volatile__("xchgq %1,%0" // The lock prefix is implicit for xchg. + : "=r" (new_value) + : "m" (*ptr), "0" (new_value) + : "memory"); + return new_value; // Now it's the previous value. +} + +inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + Atomic64 temp = increment; + __asm__ __volatile__("lock; xaddq %0,%1" + : "+r" (temp), "+m" (*ptr) + : : "memory"); + // temp now contains the previous value of *ptr + return temp + increment; +} + +inline Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + Atomic64 temp = increment; + __asm__ __volatile__("lock; xaddq %0,%1" + : "+r" (temp), "+m" (*ptr) + : : "memory"); + // temp now contains the previous value of *ptr + if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) { + __asm__ __volatile__("lfence" : : : "memory"); + } + return temp + increment; +} + +inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; + MemoryBarrier(); +} + +inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { + ATOMICOPS_COMPILER_BARRIER(); + + *ptr = value; // An x86 store acts as a release barrier + // for current AMD/Intel chips as of Jan 2008. + // See also Acquire_Load(), below. + + // When new chips come out, check: + // IA-32 Intel Architecture Software Developer's Manual, Volume 3: + // System Programming Guide, Chatper 7: Multiple-processor management, + // Section 7.2, Memory Ordering. + // Last seen at: + // http://developer.intel.com/design/pentium4/manuals/index_new.htm + // + // x86 stores/loads fail to act as barriers for a few instructions (clflush + // maskmovdqu maskmovq movntdq movnti movntpd movntps movntq) but these are + // not generated by the compiler, and are rare. Users of these instructions + // need to know about cache behaviour in any case since all of these involve + // either flushing cache lines or non-temporal cache hints. +} + +inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { + return *ptr; +} + +inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { + Atomic64 value = *ptr; // An x86 load acts as a acquire barrier, + // for current AMD/Intel chips as of Jan 2008. + // See also Release_Store(), above. + ATOMICOPS_COMPILER_BARRIER(); + return value; +} + +inline Atomic64 Release_Load(volatile const Atomic64* ptr) { + MemoryBarrier(); + return *ptr; +} + +inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + Atomic64 x = NoBarrier_CompareAndSwap(ptr, old_value, new_value); + if (AtomicOps_Internalx86CPUFeatures.has_amd_lock_mb_bug) { + __asm__ __volatile__("lfence" : : : "memory"); + } + return x; +} + +inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +#endif // defined(__x86_64__) + +} // namespace internal +} // namespace protobuf +} // namespace google + +#undef ATOMICOPS_COMPILER_BARRIER + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_GCC_H_ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_x86_msvc.cc b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_x86_msvc.cc new file mode 100644 index 0000000000..0b359796ed --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_x86_msvc.cc @@ -0,0 +1,112 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// The compilation of extension_set.cc fails when windows.h is included. +// Therefore we move the code depending on windows.h to this separate cc file. + +// Don't compile this file for people not concerned about thread safety. +#ifndef GOOGLE_PROTOBUF_NO_THREAD_SAFETY + +#include + +#ifdef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_MSVC_H_ + +#include + +namespace google { +namespace protobuf { +namespace internal { + +inline void MemoryBarrier() { + // We use MemoryBarrier from WinNT.h + ::MemoryBarrier(); +} + +Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + LONG result = InterlockedCompareExchange( + reinterpret_cast(ptr), + static_cast(new_value), + static_cast(old_value)); + return static_cast(result); +} + +Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, + Atomic32 new_value) { + LONG result = InterlockedExchange( + reinterpret_cast(ptr), + static_cast(new_value)); + return static_cast(result); +} + +Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return InterlockedExchangeAdd( + reinterpret_cast(ptr), + static_cast(increment)) + increment; +} + +#if defined(_WIN64) + +// 64-bit low-level operations on 64-bit platform. + +Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + PVOID result = InterlockedCompareExchangePointer( + reinterpret_cast(ptr), + reinterpret_cast(new_value), reinterpret_cast(old_value)); + return reinterpret_cast(result); +} + +Atomic64 NoBarrier_AtomicExchange(volatile Atomic64* ptr, + Atomic64 new_value) { + PVOID result = InterlockedExchangePointer( + reinterpret_cast(ptr), + reinterpret_cast(new_value)); + return reinterpret_cast(result); +} + +Atomic64 Barrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + return InterlockedExchangeAdd64( + reinterpret_cast(ptr), + static_cast(increment)) + increment; +} + +#endif // defined(_WIN64) + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_MSVC_H_ +#endif // GOOGLE_PROTOBUF_NO_THREAD_SAFETY diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_x86_msvc.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_x86_msvc.h new file mode 100644 index 0000000000..6f9869d1fc --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/atomicops_internals_x86_msvc.h @@ -0,0 +1,150 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This file is an internal atomic implementation, use atomicops.h instead. + +#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_MSVC_H_ +#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_MSVC_H_ + +namespace google { +namespace protobuf { +namespace internal { + +inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, + Atomic32 increment) { + return Barrier_AtomicIncrement(ptr, increment); +} + +#if !(defined(_MSC_VER) && _MSC_VER >= 1400) +#error "We require at least vs2005 for MemoryBarrier" +#endif + +inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, + Atomic32 old_value, + Atomic32 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { + NoBarrier_AtomicExchange(ptr, value); + // acts as a barrier in this implementation +} + +inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { + *ptr = value; // works w/o barrier for current Intel chips as of June 2005 + // See comments in Atomic64 version of Release_Store() below. +} + +inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { + return *ptr; +} + +inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { + Atomic32 value = *ptr; + return value; +} + +inline Atomic32 Release_Load(volatile const Atomic32* ptr) { + MemoryBarrier(); + return *ptr; +} + +#if defined(_WIN64) + +// 64-bit low-level operations on 64-bit platform. + +inline Atomic64 NoBarrier_AtomicIncrement(volatile Atomic64* ptr, + Atomic64 increment) { + return Barrier_AtomicIncrement(ptr, increment); +} + +inline void NoBarrier_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; +} + +inline void Acquire_Store(volatile Atomic64* ptr, Atomic64 value) { + NoBarrier_AtomicExchange(ptr, value); + // acts as a barrier in this implementation +} + +inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { + *ptr = value; // works w/o barrier for current Intel chips as of June 2005 + + // When new chips come out, check: + // IA-32 Intel Architecture Software Developer's Manual, Volume 3: + // System Programming Guide, Chatper 7: Multiple-processor management, + // Section 7.2, Memory Ordering. + // Last seen at: + // http://developer.intel.com/design/pentium4/manuals/index_new.htm +} + +inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { + return *ptr; +} + +inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { + Atomic64 value = *ptr; + return value; +} + +inline Atomic64 Release_Load(volatile const Atomic64* ptr) { + MemoryBarrier(); + return *ptr; +} + +inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, + Atomic64 new_value) { + return NoBarrier_CompareAndSwap(ptr, old_value, new_value); +} + +#endif // defined(_WIN64) + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_X86_MSVC_H_ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/common.cc b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/common.cc new file mode 100644 index 0000000000..e604502677 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/common.cc @@ -0,0 +1,395 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) + +#include +#include +#include +#include +#include + +#include "config.h" + +#ifdef _WIN32 +#define WIN32_LEAN_AND_MEAN // We only need minimal includes +#include +#define snprintf _snprintf // see comment in strutil.cc +#elif defined(HAVE_PTHREAD) +#include +#else +#error "No suitable threading library available." +#endif + +namespace google { +namespace protobuf { + +namespace internal { + +void VerifyVersion(int headerVersion, + int minLibraryVersion, + const char* filename) { + if (GOOGLE_PROTOBUF_VERSION < minLibraryVersion) { + // Library is too old for headers. + GOOGLE_LOG(FATAL) + << "This program requires version " << VersionString(minLibraryVersion) + << " of the Protocol Buffer runtime library, but the installed version " + "is " << VersionString(GOOGLE_PROTOBUF_VERSION) << ". Please update " + "your library. If you compiled the program yourself, make sure that " + "your headers are from the same version of Protocol Buffers as your " + "link-time library. (Version verification failed in \"" + << filename << "\".)"; + } + if (headerVersion < kMinHeaderVersionForLibrary) { + // Headers are too old for library. + GOOGLE_LOG(FATAL) + << "This program was compiled against version " + << VersionString(headerVersion) << " of the Protocol Buffer runtime " + "library, which is not compatible with the installed version (" + << VersionString(GOOGLE_PROTOBUF_VERSION) << "). Contact the program " + "author for an update. If you compiled the program yourself, make " + "sure that your headers are from the same version of Protocol Buffers " + "as your link-time library. (Version verification failed in \"" + << filename << "\".)"; + } +} + +string VersionString(int version) { + int major = version / 1000000; + int minor = (version / 1000) % 1000; + int micro = version % 1000; + + // 128 bytes should always be enough, but we use snprintf() anyway to be + // safe. + char buffer[128]; + snprintf(buffer, sizeof(buffer), "%d.%d.%d", major, minor, micro); + + // Guard against broken MSVC snprintf(). + buffer[sizeof(buffer)-1] = '\0'; + + return buffer; +} + +} // namespace internal + +// =================================================================== +// emulates google3/base/logging.cc + +namespace internal { + +void DefaultLogHandler(LogLevel level, const char* filename, int line, + const string& message) { + static const char* level_names[] = { "INFO", "WARNING", "ERROR", "FATAL" }; + + // We use fprintf() instead of cerr because we want this to work at static + // initialization time. + fprintf(stderr, "[libprotobuf %s %s:%d] %s\n", + level_names[level], filename, line, message.c_str()); + fflush(stderr); // Needed on MSVC. +} + +void NullLogHandler(LogLevel level, const char* filename, int line, + const string& message) { + // Nothing. +} + +static LogHandler* log_handler_ = &DefaultLogHandler; +static int log_silencer_count_ = 0; + +static Mutex* log_silencer_count_mutex_ = NULL; +GOOGLE_PROTOBUF_DECLARE_ONCE(log_silencer_count_init_); + +void DeleteLogSilencerCount() { + delete log_silencer_count_mutex_; + log_silencer_count_mutex_ = NULL; +} +void InitLogSilencerCount() { + log_silencer_count_mutex_ = new Mutex; + OnShutdown(&DeleteLogSilencerCount); +} +void InitLogSilencerCountOnce() { + GoogleOnceInit(&log_silencer_count_init_, &InitLogSilencerCount); +} + +LogMessage& LogMessage::operator<<(const string& value) { + message_ += value; + return *this; +} + +LogMessage& LogMessage::operator<<(const char* value) { + message_ += value; + return *this; +} + +// Since this is just for logging, we don't care if the current locale changes +// the results -- in fact, we probably prefer that. So we use snprintf() +// instead of Simple*toa(). +#undef DECLARE_STREAM_OPERATOR +#define DECLARE_STREAM_OPERATOR(TYPE, FORMAT) \ + LogMessage& LogMessage::operator<<(TYPE value) { \ + /* 128 bytes should be big enough for any of the primitive */ \ + /* values which we print with this, but well use snprintf() */ \ + /* anyway to be extra safe. */ \ + char buffer[128]; \ + snprintf(buffer, sizeof(buffer), FORMAT, value); \ + /* Guard against broken MSVC snprintf(). */ \ + buffer[sizeof(buffer)-1] = '\0'; \ + message_ += buffer; \ + return *this; \ + } + +DECLARE_STREAM_OPERATOR(char , "%c" ) +DECLARE_STREAM_OPERATOR(int , "%d" ) +DECLARE_STREAM_OPERATOR(uint , "%u" ) +DECLARE_STREAM_OPERATOR(long , "%ld") +DECLARE_STREAM_OPERATOR(unsigned long, "%lu") +DECLARE_STREAM_OPERATOR(double , "%g" ) +#undef DECLARE_STREAM_OPERATOR + +LogMessage::LogMessage(LogLevel level, const char* filename, int line) + : level_(level), filename_(filename), line_(line) {} +LogMessage::~LogMessage() {} + +void LogMessage::Finish() { + bool suppress = false; + + if (level_ != LOGLEVEL_FATAL) { + InitLogSilencerCountOnce(); + MutexLock lock(log_silencer_count_mutex_); + suppress = log_silencer_count_ > 0; + } + + if (!suppress) { + log_handler_(level_, filename_, line_, message_); + } + + if (level_ == LOGLEVEL_FATAL) { +#if PROTOBUF_USE_EXCEPTIONS + throw FatalException(filename_, line_, message_); +#else + abort(); +#endif + } +} + +void LogFinisher::operator=(LogMessage& other) { + other.Finish(); +} + +} // namespace internal + +LogHandler* SetLogHandler(LogHandler* new_func) { + LogHandler* old = internal::log_handler_; + if (old == &internal::NullLogHandler) { + old = NULL; + } + if (new_func == NULL) { + internal::log_handler_ = &internal::NullLogHandler; + } else { + internal::log_handler_ = new_func; + } + return old; +} + +LogSilencer::LogSilencer() { + internal::InitLogSilencerCountOnce(); + MutexLock lock(internal::log_silencer_count_mutex_); + ++internal::log_silencer_count_; +}; + +LogSilencer::~LogSilencer() { + internal::InitLogSilencerCountOnce(); + MutexLock lock(internal::log_silencer_count_mutex_); + --internal::log_silencer_count_; +}; + +// =================================================================== +// emulates google3/base/callback.cc + +Closure::~Closure() {} + +namespace internal { FunctionClosure0::~FunctionClosure0() {} } + +void DoNothing() {} + +// =================================================================== +// emulates google3/base/mutex.cc + +#ifdef _WIN32 + +struct Mutex::Internal { + CRITICAL_SECTION mutex; +#ifndef NDEBUG + // Used only to implement AssertHeld(). + DWORD thread_id; +#endif +}; + +Mutex::Mutex() + : mInternal(new Internal) { + InitializeCriticalSection(&mInternal->mutex); +} + +Mutex::~Mutex() { + DeleteCriticalSection(&mInternal->mutex); + delete mInternal; +} + +void Mutex::Lock() { + EnterCriticalSection(&mInternal->mutex); +#ifndef NDEBUG + mInternal->thread_id = GetCurrentThreadId(); +#endif +} + +void Mutex::Unlock() { +#ifndef NDEBUG + mInternal->thread_id = 0; +#endif + LeaveCriticalSection(&mInternal->mutex); +} + +void Mutex::AssertHeld() { +#ifndef NDEBUG + GOOGLE_DCHECK_EQ(mInternal->thread_id, GetCurrentThreadId()); +#endif +} + +#elif defined(HAVE_PTHREAD) + +struct Mutex::Internal { + pthread_mutex_t mutex; +}; + +Mutex::Mutex() + : mInternal(new Internal) { + pthread_mutex_init(&mInternal->mutex, NULL); +} + +Mutex::~Mutex() { + pthread_mutex_destroy(&mInternal->mutex); + delete mInternal; +} + +void Mutex::Lock() { + int result = pthread_mutex_lock(&mInternal->mutex); + if (result != 0) { + GOOGLE_LOG(FATAL) << "pthread_mutex_lock: " << strerror(result); + } +} + +void Mutex::Unlock() { + int result = pthread_mutex_unlock(&mInternal->mutex); + if (result != 0) { + GOOGLE_LOG(FATAL) << "pthread_mutex_unlock: " << strerror(result); + } +} + +void Mutex::AssertHeld() { + // pthreads dosn't provide a way to check which thread holds the mutex. + // TODO(kenton): Maybe keep track of locking thread ID like with WIN32? +} + +#endif + +// =================================================================== +// emulates google3/util/endian/endian.h +// +// TODO(xiaofeng): PROTOBUF_LITTLE_ENDIAN is unfortunately defined in +// google/protobuf/io/coded_stream.h and therefore can not be used here. +// Maybe move that macro definition here in the furture. +uint32 ghtonl(uint32 x) { + union { + uint32 result; + uint8 result_array[4]; + }; + result_array[0] = static_cast(x >> 24); + result_array[1] = static_cast((x >> 16) & 0xFF); + result_array[2] = static_cast((x >> 8) & 0xFF); + result_array[3] = static_cast(x & 0xFF); + return result; +} + +// =================================================================== +// Shutdown support. + +namespace internal { + +typedef void OnShutdownFunc(); +vector* shutdown_functions = NULL; +Mutex* shutdown_functions_mutex = NULL; +GOOGLE_PROTOBUF_DECLARE_ONCE(shutdown_functions_init); + +void InitShutdownFunctions() { + shutdown_functions = new vector; + shutdown_functions_mutex = new Mutex; +} + +inline void InitShutdownFunctionsOnce() { + GoogleOnceInit(&shutdown_functions_init, &InitShutdownFunctions); +} + +void OnShutdown(void (*func)()) { + InitShutdownFunctionsOnce(); + MutexLock lock(shutdown_functions_mutex); + shutdown_functions->push_back(func); +} + +} // namespace internal + +void ShutdownProtobufLibrary() { + internal::InitShutdownFunctionsOnce(); + + // We don't need to lock shutdown_functions_mutex because it's up to the + // caller to make sure that no one is using the library before this is + // called. + + // Make it safe to call this multiple times. + if (internal::shutdown_functions == NULL) return; + + for (int i = 0; i < internal::shutdown_functions->size(); i++) { + internal::shutdown_functions->at(i)(); + } + delete internal::shutdown_functions; + internal::shutdown_functions = NULL; + delete internal::shutdown_functions_mutex; + internal::shutdown_functions_mutex = NULL; +} + +#if PROTOBUF_USE_EXCEPTIONS +FatalException::~FatalException() throw() {} + +const char* FatalException::what() const throw() { + return message_.c_str(); +} +#endif + +} // namespace protobuf +} // namespace google diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/common.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/common.h new file mode 100644 index 0000000000..f287ddfbc8 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/common.h @@ -0,0 +1,1223 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) and others +// +// Contains basic types and utilities used by the rest of the library. + +#ifndef GOOGLE_PROTOBUF_COMMON_H__ +#define GOOGLE_PROTOBUF_COMMON_H__ + +#include +#include +#include +#include +#include +#if defined(__osf__) +// Tru64 lacks stdint.h, but has inttypes.h which defines a superset of +// what stdint.h would define. +#include +#elif !defined(_MSC_VER) +#include +#endif + +#ifndef PROTOBUF_USE_EXCEPTIONS +#if defined(_MSC_VER) && defined(_CPPUNWIND) + #define PROTOBUF_USE_EXCEPTIONS 1 +#elif defined(__EXCEPTIONS) + #define PROTOBUF_USE_EXCEPTIONS 1 +#else + #define PROTOBUF_USE_EXCEPTIONS 0 +#endif +#endif + +#if PROTOBUF_USE_EXCEPTIONS +#include +#endif + +#if defined(_WIN32) && defined(GetMessage) +// Allow GetMessage to be used as a valid method name in protobuf classes. +// windows.h defines GetMessage() as a macro. Let's re-define it as an inline +// function. The inline function should be equivalent for C++ users. +inline BOOL GetMessage_Win32( + LPMSG lpMsg, HWND hWnd, + UINT wMsgFilterMin, UINT wMsgFilterMax) { + return GetMessage(lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax); +} +#undef GetMessage +inline BOOL GetMessage( + LPMSG lpMsg, HWND hWnd, + UINT wMsgFilterMin, UINT wMsgFilterMax) { + return GetMessage_Win32(lpMsg, hWnd, wMsgFilterMin, wMsgFilterMax); +} +#endif + + +namespace std {} + +namespace google { +namespace protobuf { + +#undef GOOGLE_DISALLOW_EVIL_CONSTRUCTORS +#define GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(TypeName) \ + TypeName(const TypeName&); \ + void operator=(const TypeName&) + +#if defined(_MSC_VER) && defined(PROTOBUF_USE_DLLS) + #ifdef LIBPROTOBUF_EXPORTS + #define LIBPROTOBUF_EXPORT __declspec(dllexport) + #else + #define LIBPROTOBUF_EXPORT __declspec(dllimport) + #endif + #ifdef LIBPROTOC_EXPORTS + #define LIBPROTOC_EXPORT __declspec(dllexport) + #else + #define LIBPROTOC_EXPORT __declspec(dllimport) + #endif +#else + #define LIBPROTOBUF_EXPORT + #define LIBPROTOC_EXPORT +#endif + +namespace internal { + +// Some of these constants are macros rather than const ints so that they can +// be used in #if directives. + +// The current version, represented as a single integer to make comparison +// easier: major * 10^6 + minor * 10^3 + micro +#define GOOGLE_PROTOBUF_VERSION 2005000 + +// The minimum library version which works with the current version of the +// headers. +#define GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION 2005000 + +// The minimum header version which works with the current version of +// the library. This constant should only be used by protoc's C++ code +// generator. +static const int kMinHeaderVersionForLibrary = 2005000; + +// The minimum protoc version which works with the current version of the +// headers. +#define GOOGLE_PROTOBUF_MIN_PROTOC_VERSION 2005000 + +// The minimum header version which works with the current version of +// protoc. This constant should only be used in VerifyVersion(). +static const int kMinHeaderVersionForProtoc = 2005000; + +// Verifies that the headers and libraries are compatible. Use the macro +// below to call this. +void LIBPROTOBUF_EXPORT VerifyVersion(int headerVersion, int minLibraryVersion, + const char* filename); + +// Converts a numeric version number to a string. +std::string LIBPROTOBUF_EXPORT VersionString(int version); + +} // namespace internal + +// Place this macro in your main() function (or somewhere before you attempt +// to use the protobuf library) to verify that the version you link against +// matches the headers you compiled against. If a version mismatch is +// detected, the process will abort. +#define GOOGLE_PROTOBUF_VERIFY_VERSION \ + ::google::protobuf::internal::VerifyVersion( \ + GOOGLE_PROTOBUF_VERSION, GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION, \ + __FILE__) + +// =================================================================== +// from google3/base/port.h + +typedef unsigned int uint; + +#ifdef _MSC_VER +typedef __int8 int8; +typedef __int16 int16; +typedef __int32 int32; +typedef __int64 int64; + +typedef unsigned __int8 uint8; +typedef unsigned __int16 uint16; +typedef unsigned __int32 uint32; +typedef unsigned __int64 uint64; +#else +typedef int8_t int8; +typedef int16_t int16; +typedef int32_t int32; +typedef int64_t int64; + +typedef uint8_t uint8; +typedef uint16_t uint16; +typedef uint32_t uint32; +typedef uint64_t uint64; +#endif + +// long long macros to be used because gcc and vc++ use different suffixes, +// and different size specifiers in format strings +#undef GOOGLE_LONGLONG +#undef GOOGLE_ULONGLONG +#undef GOOGLE_LL_FORMAT + +#ifdef _MSC_VER +#define GOOGLE_LONGLONG(x) x##I64 +#define GOOGLE_ULONGLONG(x) x##UI64 +#define GOOGLE_LL_FORMAT "I64" // As in printf("%I64d", ...) +#else +#define GOOGLE_LONGLONG(x) x##LL +#define GOOGLE_ULONGLONG(x) x##ULL +#define GOOGLE_LL_FORMAT "ll" // As in "%lld". Note that "q" is poor form also. +#endif + +static const int32 kint32max = 0x7FFFFFFF; +static const int32 kint32min = -kint32max - 1; +static const int64 kint64max = GOOGLE_LONGLONG(0x7FFFFFFFFFFFFFFF); +static const int64 kint64min = -kint64max - 1; +static const uint32 kuint32max = 0xFFFFFFFFu; +static const uint64 kuint64max = GOOGLE_ULONGLONG(0xFFFFFFFFFFFFFFFF); + +// ------------------------------------------------------------------- +// Annotations: Some parts of the code have been annotated in ways that might +// be useful to some compilers or tools, but are not supported universally. +// You can #define these annotations yourself if the default implementation +// is not right for you. + +#ifndef GOOGLE_ATTRIBUTE_ALWAYS_INLINE +#if defined(__GNUC__) && (__GNUC__ > 3 ||(__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) +// For functions we want to force inline. +// Introduced in gcc 3.1. +#define GOOGLE_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((always_inline)) +#else +// Other compilers will have to figure it out for themselves. +#define GOOGLE_ATTRIBUTE_ALWAYS_INLINE +#endif +#endif + +#ifndef GOOGLE_ATTRIBUTE_DEPRECATED +#ifdef __GNUC__ +// If the method/variable/type is used anywhere, produce a warning. +#define GOOGLE_ATTRIBUTE_DEPRECATED __attribute__((deprecated)) +#else +#define GOOGLE_ATTRIBUTE_DEPRECATED +#endif +#endif + +#ifndef GOOGLE_PREDICT_TRUE +#ifdef __GNUC__ +// Provided at least since GCC 3.0. +#define GOOGLE_PREDICT_TRUE(x) (__builtin_expect(!!(x), 1)) +#else +#define GOOGLE_PREDICT_TRUE +#endif +#endif + +// Delimits a block of code which may write to memory which is simultaneously +// written by other threads, but which has been determined to be thread-safe +// (e.g. because it is an idempotent write). +#ifndef GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN +#define GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN() +#endif +#ifndef GOOGLE_SAFE_CONCURRENT_WRITES_END +#define GOOGLE_SAFE_CONCURRENT_WRITES_END() +#endif + +// =================================================================== +// from google3/base/basictypes.h + +// The GOOGLE_ARRAYSIZE(arr) macro returns the # of elements in an array arr. +// The expression is a compile-time constant, and therefore can be +// used in defining new arrays, for example. +// +// GOOGLE_ARRAYSIZE catches a few type errors. If you see a compiler error +// +// "warning: division by zero in ..." +// +// when using GOOGLE_ARRAYSIZE, you are (wrongfully) giving it a pointer. +// You should only use GOOGLE_ARRAYSIZE on statically allocated arrays. +// +// The following comments are on the implementation details, and can +// be ignored by the users. +// +// ARRAYSIZE(arr) works by inspecting sizeof(arr) (the # of bytes in +// the array) and sizeof(*(arr)) (the # of bytes in one array +// element). If the former is divisible by the latter, perhaps arr is +// indeed an array, in which case the division result is the # of +// elements in the array. Otherwise, arr cannot possibly be an array, +// and we generate a compiler error to prevent the code from +// compiling. +// +// Since the size of bool is implementation-defined, we need to cast +// !(sizeof(a) & sizeof(*(a))) to size_t in order to ensure the final +// result has type size_t. +// +// This macro is not perfect as it wrongfully accepts certain +// pointers, namely where the pointer size is divisible by the pointee +// size. Since all our code has to go through a 32-bit compiler, +// where a pointer is 4 bytes, this means all pointers to a type whose +// size is 3 or greater than 4 will be (righteously) rejected. +// +// Kudos to Jorg Brown for this simple and elegant implementation. + +#undef GOOGLE_ARRAYSIZE +#define GOOGLE_ARRAYSIZE(a) \ + ((sizeof(a) / sizeof(*(a))) / \ + static_cast(!(sizeof(a) % sizeof(*(a))))) + +namespace internal { + +// Use implicit_cast as a safe version of static_cast or const_cast +// for upcasting in the type hierarchy (i.e. casting a pointer to Foo +// to a pointer to SuperclassOfFoo or casting a pointer to Foo to +// a const pointer to Foo). +// When you use implicit_cast, the compiler checks that the cast is safe. +// Such explicit implicit_casts are necessary in surprisingly many +// situations where C++ demands an exact type match instead of an +// argument type convertable to a target type. +// +// The From type can be inferred, so the preferred syntax for using +// implicit_cast is the same as for static_cast etc.: +// +// implicit_cast(expr) +// +// implicit_cast would have been part of the C++ standard library, +// but the proposal was submitted too late. It will probably make +// its way into the language in the future. +template +inline To implicit_cast(From const &f) { + return f; +} + +// When you upcast (that is, cast a pointer from type Foo to type +// SuperclassOfFoo), it's fine to use implicit_cast<>, since upcasts +// always succeed. When you downcast (that is, cast a pointer from +// type Foo to type SubclassOfFoo), static_cast<> isn't safe, because +// how do you know the pointer is really of type SubclassOfFoo? It +// could be a bare Foo, or of type DifferentSubclassOfFoo. Thus, +// when you downcast, you should use this macro. In debug mode, we +// use dynamic_cast<> to double-check the downcast is legal (we die +// if it's not). In normal mode, we do the efficient static_cast<> +// instead. Thus, it's important to test in debug mode to make sure +// the cast is legal! +// This is the only place in the code we should use dynamic_cast<>. +// In particular, you SHOULDN'T be using dynamic_cast<> in order to +// do RTTI (eg code like this: +// if (dynamic_cast(foo)) HandleASubclass1Object(foo); +// if (dynamic_cast(foo)) HandleASubclass2Object(foo); +// You should design the code some other way not to need this. + +template // use like this: down_cast(foo); +inline To down_cast(From* f) { // so we only accept pointers + // Ensures that To is a sub-type of From *. This test is here only + // for compile-time type checking, and has no overhead in an + // optimized build at run-time, as it will be optimized away + // completely. + if (false) { + implicit_cast(0); + } + +#if !defined(NDEBUG) && !defined(GOOGLE_PROTOBUF_NO_RTTI) + assert(f == NULL || dynamic_cast(f) != NULL); // RTTI: debug mode only! +#endif + return static_cast(f); +} + +} // namespace internal + +// We made these internal so that they would show up as such in the docs, +// but we don't want to stick "internal::" in front of them everywhere. +using internal::implicit_cast; +using internal::down_cast; + +// The COMPILE_ASSERT macro can be used to verify that a compile time +// expression is true. For example, you could use it to verify the +// size of a static array: +// +// COMPILE_ASSERT(ARRAYSIZE(content_type_names) == CONTENT_NUM_TYPES, +// content_type_names_incorrect_size); +// +// or to make sure a struct is smaller than a certain size: +// +// COMPILE_ASSERT(sizeof(foo) < 128, foo_too_large); +// +// The second argument to the macro is the name of the variable. If +// the expression is false, most compilers will issue a warning/error +// containing the name of the variable. + +namespace internal { + +template +struct CompileAssert { +}; + +} // namespace internal + +#undef GOOGLE_COMPILE_ASSERT +#define GOOGLE_COMPILE_ASSERT(expr, msg) \ + typedef ::google::protobuf::internal::CompileAssert<(bool(expr))> \ + msg[bool(expr) ? 1 : -1] + + +// Implementation details of COMPILE_ASSERT: +// +// - COMPILE_ASSERT works by defining an array type that has -1 +// elements (and thus is invalid) when the expression is false. +// +// - The simpler definition +// +// #define COMPILE_ASSERT(expr, msg) typedef char msg[(expr) ? 1 : -1] +// +// does not work, as gcc supports variable-length arrays whose sizes +// are determined at run-time (this is gcc's extension and not part +// of the C++ standard). As a result, gcc fails to reject the +// following code with the simple definition: +// +// int foo; +// COMPILE_ASSERT(foo, msg); // not supposed to compile as foo is +// // not a compile-time constant. +// +// - By using the type CompileAssert<(bool(expr))>, we ensures that +// expr is a compile-time constant. (Template arguments must be +// determined at compile-time.) +// +// - The outter parentheses in CompileAssert<(bool(expr))> are necessary +// to work around a bug in gcc 3.4.4 and 4.0.1. If we had written +// +// CompileAssert +// +// instead, these compilers will refuse to compile +// +// COMPILE_ASSERT(5 > 0, some_message); +// +// (They seem to think the ">" in "5 > 0" marks the end of the +// template argument list.) +// +// - The array size is (bool(expr) ? 1 : -1), instead of simply +// +// ((expr) ? 1 : -1). +// +// This is to avoid running into a bug in MS VC 7.1, which +// causes ((0.0) ? 1 : -1) to incorrectly evaluate to 1. + +// =================================================================== +// from google3/base/scoped_ptr.h + +namespace internal { + +// This is an implementation designed to match the anticipated future TR2 +// implementation of the scoped_ptr class, and its closely-related brethren, +// scoped_array, scoped_ptr_malloc, and make_scoped_ptr. + +template class scoped_ptr; +template class scoped_array; + +// A scoped_ptr is like a T*, except that the destructor of scoped_ptr +// automatically deletes the pointer it holds (if any). +// That is, scoped_ptr owns the T object that it points to. +// Like a T*, a scoped_ptr may hold either NULL or a pointer to a T object. +// +// The size of a scoped_ptr is small: +// sizeof(scoped_ptr) == sizeof(C*) +template +class scoped_ptr { + public: + + // The element type + typedef C element_type; + + // Constructor. Defaults to intializing with NULL. + // There is no way to create an uninitialized scoped_ptr. + // The input parameter must be allocated with new. + explicit scoped_ptr(C* p = NULL) : ptr_(p) { } + + // Destructor. If there is a C object, delete it. + // We don't need to test ptr_ == NULL because C++ does that for us. + ~scoped_ptr() { + enum { type_must_be_complete = sizeof(C) }; + delete ptr_; + } + + // Reset. Deletes the current owned object, if any. + // Then takes ownership of a new object, if given. + // this->reset(this->get()) works. + void reset(C* p = NULL) { + if (p != ptr_) { + enum { type_must_be_complete = sizeof(C) }; + delete ptr_; + ptr_ = p; + } + } + + // Accessors to get the owned object. + // operator* and operator-> will assert() if there is no current object. + C& operator*() const { + assert(ptr_ != NULL); + return *ptr_; + } + C* operator->() const { + assert(ptr_ != NULL); + return ptr_; + } + C* get() const { return ptr_; } + + // Comparison operators. + // These return whether two scoped_ptr refer to the same object, not just to + // two different but equal objects. + bool operator==(C* p) const { return ptr_ == p; } + bool operator!=(C* p) const { return ptr_ != p; } + + // Swap two scoped pointers. + void swap(scoped_ptr& p2) { + C* tmp = ptr_; + ptr_ = p2.ptr_; + p2.ptr_ = tmp; + } + + // Release a pointer. + // The return value is the current pointer held by this object. + // If this object holds a NULL pointer, the return value is NULL. + // After this operation, this object will hold a NULL pointer, + // and will not own the object any more. + C* release() { + C* retVal = ptr_; + ptr_ = NULL; + return retVal; + } + + private: + C* ptr_; + + // Forbid comparison of scoped_ptr types. If C2 != C, it totally doesn't + // make sense, and if C2 == C, it still doesn't make sense because you should + // never have the same object owned by two different scoped_ptrs. + template bool operator==(scoped_ptr const& p2) const; + template bool operator!=(scoped_ptr const& p2) const; + + // Disallow evil constructors + scoped_ptr(const scoped_ptr&); + void operator=(const scoped_ptr&); +}; + +// scoped_array is like scoped_ptr, except that the caller must allocate +// with new [] and the destructor deletes objects with delete []. +// +// As with scoped_ptr, a scoped_array either points to an object +// or is NULL. A scoped_array owns the object that it points to. +// +// Size: sizeof(scoped_array) == sizeof(C*) +template +class scoped_array { + public: + + // The element type + typedef C element_type; + + // Constructor. Defaults to intializing with NULL. + // There is no way to create an uninitialized scoped_array. + // The input parameter must be allocated with new []. + explicit scoped_array(C* p = NULL) : array_(p) { } + + // Destructor. If there is a C object, delete it. + // We don't need to test ptr_ == NULL because C++ does that for us. + ~scoped_array() { + enum { type_must_be_complete = sizeof(C) }; + delete[] array_; + } + + // Reset. Deletes the current owned object, if any. + // Then takes ownership of a new object, if given. + // this->reset(this->get()) works. + void reset(C* p = NULL) { + if (p != array_) { + enum { type_must_be_complete = sizeof(C) }; + delete[] array_; + array_ = p; + } + } + + // Get one element of the current object. + // Will assert() if there is no current object, or index i is negative. + C& operator[](std::ptrdiff_t i) const { + assert(i >= 0); + assert(array_ != NULL); + return array_[i]; + } + + // Get a pointer to the zeroth element of the current object. + // If there is no current object, return NULL. + C* get() const { + return array_; + } + + // Comparison operators. + // These return whether two scoped_array refer to the same object, not just to + // two different but equal objects. + bool operator==(C* p) const { return array_ == p; } + bool operator!=(C* p) const { return array_ != p; } + + // Swap two scoped arrays. + void swap(scoped_array& p2) { + C* tmp = array_; + array_ = p2.array_; + p2.array_ = tmp; + } + + // Release an array. + // The return value is the current pointer held by this object. + // If this object holds a NULL pointer, the return value is NULL. + // After this operation, this object will hold a NULL pointer, + // and will not own the object any more. + C* release() { + C* retVal = array_; + array_ = NULL; + return retVal; + } + + private: + C* array_; + + // Forbid comparison of different scoped_array types. + template bool operator==(scoped_array const& p2) const; + template bool operator!=(scoped_array const& p2) const; + + // Disallow evil constructors + scoped_array(const scoped_array&); + void operator=(const scoped_array&); +}; + +} // namespace internal + +// We made these internal so that they would show up as such in the docs, +// but we don't want to stick "internal::" in front of them everywhere. +using internal::scoped_ptr; +using internal::scoped_array; + +// =================================================================== +// emulates google3/base/logging.h + +enum LogLevel { + LOGLEVEL_INFO, // Informational. This is never actually used by + // libprotobuf. + LOGLEVEL_WARNING, // Warns about issues that, although not technically a + // problem now, could cause problems in the future. For + // example, a // warning will be printed when parsing a + // message that is near the message size limit. + LOGLEVEL_ERROR, // An error occurred which should never happen during + // normal use. + LOGLEVEL_FATAL, // An error occurred from which the library cannot + // recover. This usually indicates a programming error + // in the code which calls the library, especially when + // compiled in debug mode. + +#ifdef NDEBUG + LOGLEVEL_DFATAL = LOGLEVEL_ERROR +#else + LOGLEVEL_DFATAL = LOGLEVEL_FATAL +#endif +}; + +namespace internal { + +class LogFinisher; + +class LIBPROTOBUF_EXPORT LogMessage { + public: + LogMessage(LogLevel level, const char* filename, int line); + ~LogMessage(); + + LogMessage& operator<<(const std::string& value); + LogMessage& operator<<(const char* value); + LogMessage& operator<<(char value); + LogMessage& operator<<(int value); + LogMessage& operator<<(uint value); + LogMessage& operator<<(long value); + LogMessage& operator<<(unsigned long value); + LogMessage& operator<<(double value); + + private: + friend class LogFinisher; + void Finish(); + + LogLevel level_; + const char* filename_; + int line_; + std::string message_; +}; + +// Used to make the entire "LOG(BLAH) << etc." expression have a void return +// type and print a newline after each message. +class LIBPROTOBUF_EXPORT LogFinisher { + public: + void operator=(LogMessage& other); +}; + +} // namespace internal + +// Undef everything in case we're being mixed with some other Google library +// which already defined them itself. Presumably all Google libraries will +// support the same syntax for these so it should not be a big deal if they +// end up using our definitions instead. +#undef GOOGLE_LOG +#undef GOOGLE_LOG_IF + +#undef GOOGLE_CHECK +#undef GOOGLE_CHECK_EQ +#undef GOOGLE_CHECK_NE +#undef GOOGLE_CHECK_LT +#undef GOOGLE_CHECK_LE +#undef GOOGLE_CHECK_GT +#undef GOOGLE_CHECK_GE +#undef GOOGLE_CHECK_NOTNULL + +#undef GOOGLE_DLOG +#undef GOOGLE_DCHECK +#undef GOOGLE_DCHECK_EQ +#undef GOOGLE_DCHECK_NE +#undef GOOGLE_DCHECK_LT +#undef GOOGLE_DCHECK_LE +#undef GOOGLE_DCHECK_GT +#undef GOOGLE_DCHECK_GE + +#define GOOGLE_LOG(LEVEL) \ + ::google::protobuf::internal::LogFinisher() = \ + ::google::protobuf::internal::LogMessage( \ + ::google::protobuf::LOGLEVEL_##LEVEL, __FILE__, __LINE__) +#define GOOGLE_LOG_IF(LEVEL, CONDITION) \ + !(CONDITION) ? (void)0 : GOOGLE_LOG(LEVEL) + +#define GOOGLE_CHECK(EXPRESSION) \ + GOOGLE_LOG_IF(FATAL, !(EXPRESSION)) << "CHECK failed: " #EXPRESSION ": " +#define GOOGLE_CHECK_EQ(A, B) GOOGLE_CHECK((A) == (B)) +#define GOOGLE_CHECK_NE(A, B) GOOGLE_CHECK((A) != (B)) +#define GOOGLE_CHECK_LT(A, B) GOOGLE_CHECK((A) < (B)) +#define GOOGLE_CHECK_LE(A, B) GOOGLE_CHECK((A) <= (B)) +#define GOOGLE_CHECK_GT(A, B) GOOGLE_CHECK((A) > (B)) +#define GOOGLE_CHECK_GE(A, B) GOOGLE_CHECK((A) >= (B)) + +namespace internal { +template +T* CheckNotNull(const char *file, int line, const char *name, T* val) { + if (val == NULL) { + GOOGLE_LOG(FATAL) << name; + } + return val; +} +} // namespace internal +#define GOOGLE_CHECK_NOTNULL(A) \ + internal::CheckNotNull(__FILE__, __LINE__, "'" #A "' must not be NULL", (A)) + +#ifdef NDEBUG + +#define GOOGLE_DLOG GOOGLE_LOG_IF(INFO, false) + +#define GOOGLE_DCHECK(EXPRESSION) while(false) GOOGLE_CHECK(EXPRESSION) +#define GOOGLE_DCHECK_EQ(A, B) GOOGLE_DCHECK((A) == (B)) +#define GOOGLE_DCHECK_NE(A, B) GOOGLE_DCHECK((A) != (B)) +#define GOOGLE_DCHECK_LT(A, B) GOOGLE_DCHECK((A) < (B)) +#define GOOGLE_DCHECK_LE(A, B) GOOGLE_DCHECK((A) <= (B)) +#define GOOGLE_DCHECK_GT(A, B) GOOGLE_DCHECK((A) > (B)) +#define GOOGLE_DCHECK_GE(A, B) GOOGLE_DCHECK((A) >= (B)) + +#else // NDEBUG + +#define GOOGLE_DLOG GOOGLE_LOG + +#define GOOGLE_DCHECK GOOGLE_CHECK +#define GOOGLE_DCHECK_EQ GOOGLE_CHECK_EQ +#define GOOGLE_DCHECK_NE GOOGLE_CHECK_NE +#define GOOGLE_DCHECK_LT GOOGLE_CHECK_LT +#define GOOGLE_DCHECK_LE GOOGLE_CHECK_LE +#define GOOGLE_DCHECK_GT GOOGLE_CHECK_GT +#define GOOGLE_DCHECK_GE GOOGLE_CHECK_GE + +#endif // !NDEBUG + +typedef void LogHandler(LogLevel level, const char* filename, int line, + const std::string& message); + +// The protobuf library sometimes writes warning and error messages to +// stderr. These messages are primarily useful for developers, but may +// also help end users figure out a problem. If you would prefer that +// these messages be sent somewhere other than stderr, call SetLogHandler() +// to set your own handler. This returns the old handler. Set the handler +// to NULL to ignore log messages (but see also LogSilencer, below). +// +// Obviously, SetLogHandler is not thread-safe. You should only call it +// at initialization time, and probably not from library code. If you +// simply want to suppress log messages temporarily (e.g. because you +// have some code that tends to trigger them frequently and you know +// the warnings are not important to you), use the LogSilencer class +// below. +LIBPROTOBUF_EXPORT LogHandler* SetLogHandler(LogHandler* new_func); + +// Create a LogSilencer if you want to temporarily suppress all log +// messages. As long as any LogSilencer objects exist, non-fatal +// log messages will be discarded (the current LogHandler will *not* +// be called). Constructing a LogSilencer is thread-safe. You may +// accidentally suppress log messages occurring in another thread, but +// since messages are generally for debugging purposes only, this isn't +// a big deal. If you want to intercept log messages, use SetLogHandler(). +class LIBPROTOBUF_EXPORT LogSilencer { + public: + LogSilencer(); + ~LogSilencer(); +}; + +// =================================================================== +// emulates google3/base/callback.h + +// Abstract interface for a callback. When calling an RPC, you must provide +// a Closure to call when the procedure completes. See the Service interface +// in service.h. +// +// To automatically construct a Closure which calls a particular function or +// method with a particular set of parameters, use the NewCallback() function. +// Example: +// void FooDone(const FooResponse* response) { +// ... +// } +// +// void CallFoo() { +// ... +// // When done, call FooDone() and pass it a pointer to the response. +// Closure* callback = NewCallback(&FooDone, response); +// // Make the call. +// service->Foo(controller, request, response, callback); +// } +// +// Example that calls a method: +// class Handler { +// public: +// ... +// +// void FooDone(const FooResponse* response) { +// ... +// } +// +// void CallFoo() { +// ... +// // When done, call FooDone() and pass it a pointer to the response. +// Closure* callback = NewCallback(this, &Handler::FooDone, response); +// // Make the call. +// service->Foo(controller, request, response, callback); +// } +// }; +// +// Currently NewCallback() supports binding zero, one, or two arguments. +// +// Callbacks created with NewCallback() automatically delete themselves when +// executed. They should be used when a callback is to be called exactly +// once (usually the case with RPC callbacks). If a callback may be called +// a different number of times (including zero), create it with +// NewPermanentCallback() instead. You are then responsible for deleting the +// callback (using the "delete" keyword as normal). +// +// Note that NewCallback() is a bit touchy regarding argument types. Generally, +// the values you provide for the parameter bindings must exactly match the +// types accepted by the callback function. For example: +// void Foo(string s); +// NewCallback(&Foo, "foo"); // WON'T WORK: const char* != string +// NewCallback(&Foo, string("foo")); // WORKS +// Also note that the arguments cannot be references: +// void Foo(const string& s); +// string my_str; +// NewCallback(&Foo, my_str); // WON'T WORK: Can't use referecnes. +// However, correctly-typed pointers will work just fine. +class LIBPROTOBUF_EXPORT Closure { + public: + Closure() {} + virtual ~Closure(); + + virtual void Run() = 0; + + private: + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(Closure); +}; + +namespace internal { + +class LIBPROTOBUF_EXPORT FunctionClosure0 : public Closure { + public: + typedef void (*FunctionType)(); + + FunctionClosure0(FunctionType function, bool self_deleting) + : function_(function), self_deleting_(self_deleting) {} + ~FunctionClosure0(); + + void Run() { + bool needs_delete = self_deleting_; // read in case callback deletes + function_(); + if (needs_delete) delete this; + } + + private: + FunctionType function_; + bool self_deleting_; +}; + +template +class MethodClosure0 : public Closure { + public: + typedef void (Class::*MethodType)(); + + MethodClosure0(Class* object, MethodType method, bool self_deleting) + : object_(object), method_(method), self_deleting_(self_deleting) {} + ~MethodClosure0() {} + + void Run() { + bool needs_delete = self_deleting_; // read in case callback deletes + (object_->*method_)(); + if (needs_delete) delete this; + } + + private: + Class* object_; + MethodType method_; + bool self_deleting_; +}; + +template +class FunctionClosure1 : public Closure { + public: + typedef void (*FunctionType)(Arg1 arg1); + + FunctionClosure1(FunctionType function, bool self_deleting, + Arg1 arg1) + : function_(function), self_deleting_(self_deleting), + arg1_(arg1) {} + ~FunctionClosure1() {} + + void Run() { + bool needs_delete = self_deleting_; // read in case callback deletes + function_(arg1_); + if (needs_delete) delete this; + } + + private: + FunctionType function_; + bool self_deleting_; + Arg1 arg1_; +}; + +template +class MethodClosure1 : public Closure { + public: + typedef void (Class::*MethodType)(Arg1 arg1); + + MethodClosure1(Class* object, MethodType method, bool self_deleting, + Arg1 arg1) + : object_(object), method_(method), self_deleting_(self_deleting), + arg1_(arg1) {} + ~MethodClosure1() {} + + void Run() { + bool needs_delete = self_deleting_; // read in case callback deletes + (object_->*method_)(arg1_); + if (needs_delete) delete this; + } + + private: + Class* object_; + MethodType method_; + bool self_deleting_; + Arg1 arg1_; +}; + +template +class FunctionClosure2 : public Closure { + public: + typedef void (*FunctionType)(Arg1 arg1, Arg2 arg2); + + FunctionClosure2(FunctionType function, bool self_deleting, + Arg1 arg1, Arg2 arg2) + : function_(function), self_deleting_(self_deleting), + arg1_(arg1), arg2_(arg2) {} + ~FunctionClosure2() {} + + void Run() { + bool needs_delete = self_deleting_; // read in case callback deletes + function_(arg1_, arg2_); + if (needs_delete) delete this; + } + + private: + FunctionType function_; + bool self_deleting_; + Arg1 arg1_; + Arg2 arg2_; +}; + +template +class MethodClosure2 : public Closure { + public: + typedef void (Class::*MethodType)(Arg1 arg1, Arg2 arg2); + + MethodClosure2(Class* object, MethodType method, bool self_deleting, + Arg1 arg1, Arg2 arg2) + : object_(object), method_(method), self_deleting_(self_deleting), + arg1_(arg1), arg2_(arg2) {} + ~MethodClosure2() {} + + void Run() { + bool needs_delete = self_deleting_; // read in case callback deletes + (object_->*method_)(arg1_, arg2_); + if (needs_delete) delete this; + } + + private: + Class* object_; + MethodType method_; + bool self_deleting_; + Arg1 arg1_; + Arg2 arg2_; +}; + +} // namespace internal + +// See Closure. +inline Closure* NewCallback(void (*function)()) { + return new internal::FunctionClosure0(function, true); +} + +// See Closure. +inline Closure* NewPermanentCallback(void (*function)()) { + return new internal::FunctionClosure0(function, false); +} + +// See Closure. +template +inline Closure* NewCallback(Class* object, void (Class::*method)()) { + return new internal::MethodClosure0(object, method, true); +} + +// See Closure. +template +inline Closure* NewPermanentCallback(Class* object, void (Class::*method)()) { + return new internal::MethodClosure0(object, method, false); +} + +// See Closure. +template +inline Closure* NewCallback(void (*function)(Arg1), + Arg1 arg1) { + return new internal::FunctionClosure1(function, true, arg1); +} + +// See Closure. +template +inline Closure* NewPermanentCallback(void (*function)(Arg1), + Arg1 arg1) { + return new internal::FunctionClosure1(function, false, arg1); +} + +// See Closure. +template +inline Closure* NewCallback(Class* object, void (Class::*method)(Arg1), + Arg1 arg1) { + return new internal::MethodClosure1(object, method, true, arg1); +} + +// See Closure. +template +inline Closure* NewPermanentCallback(Class* object, void (Class::*method)(Arg1), + Arg1 arg1) { + return new internal::MethodClosure1(object, method, false, arg1); +} + +// See Closure. +template +inline Closure* NewCallback(void (*function)(Arg1, Arg2), + Arg1 arg1, Arg2 arg2) { + return new internal::FunctionClosure2( + function, true, arg1, arg2); +} + +// See Closure. +template +inline Closure* NewPermanentCallback(void (*function)(Arg1, Arg2), + Arg1 arg1, Arg2 arg2) { + return new internal::FunctionClosure2( + function, false, arg1, arg2); +} + +// See Closure. +template +inline Closure* NewCallback(Class* object, void (Class::*method)(Arg1, Arg2), + Arg1 arg1, Arg2 arg2) { + return new internal::MethodClosure2( + object, method, true, arg1, arg2); +} + +// See Closure. +template +inline Closure* NewPermanentCallback( + Class* object, void (Class::*method)(Arg1, Arg2), + Arg1 arg1, Arg2 arg2) { + return new internal::MethodClosure2( + object, method, false, arg1, arg2); +} + +// A function which does nothing. Useful for creating no-op callbacks, e.g.: +// Closure* nothing = NewCallback(&DoNothing); +void LIBPROTOBUF_EXPORT DoNothing(); + +// =================================================================== +// emulates google3/base/mutex.h + +namespace internal { + +// A Mutex is a non-reentrant (aka non-recursive) mutex. At most one thread T +// may hold a mutex at a given time. If T attempts to Lock() the same Mutex +// while holding it, T will deadlock. +class LIBPROTOBUF_EXPORT Mutex { + public: + // Create a Mutex that is not held by anybody. + Mutex(); + + // Destructor + ~Mutex(); + + // Block if necessary until this Mutex is free, then acquire it exclusively. + void Lock(); + + // Release this Mutex. Caller must hold it exclusively. + void Unlock(); + + // Crash if this Mutex is not held exclusively by this thread. + // May fail to crash when it should; will never crash when it should not. + void AssertHeld(); + + private: + struct Internal; + Internal* mInternal; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(Mutex); +}; + +// MutexLock(mu) acquires mu when constructed and releases it when destroyed. +class LIBPROTOBUF_EXPORT MutexLock { + public: + explicit MutexLock(Mutex *mu) : mu_(mu) { this->mu_->Lock(); } + ~MutexLock() { this->mu_->Unlock(); } + private: + Mutex *const mu_; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MutexLock); +}; + +// TODO(kenton): Implement these? Hard to implement portably. +typedef MutexLock ReaderMutexLock; +typedef MutexLock WriterMutexLock; + +// MutexLockMaybe is like MutexLock, but is a no-op when mu is NULL. +class LIBPROTOBUF_EXPORT MutexLockMaybe { + public: + explicit MutexLockMaybe(Mutex *mu) : + mu_(mu) { if (this->mu_ != NULL) { this->mu_->Lock(); } } + ~MutexLockMaybe() { if (this->mu_ != NULL) { this->mu_->Unlock(); } } + private: + Mutex *const mu_; + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MutexLockMaybe); +}; + +} // namespace internal + +// We made these internal so that they would show up as such in the docs, +// but we don't want to stick "internal::" in front of them everywhere. +using internal::Mutex; +using internal::MutexLock; +using internal::ReaderMutexLock; +using internal::WriterMutexLock; +using internal::MutexLockMaybe; + +// =================================================================== +// from google3/util/utf8/public/unilib.h + +namespace internal { + +// Checks if the buffer contains structurally-valid UTF-8. Implemented in +// structurally_valid.cc. +LIBPROTOBUF_EXPORT bool IsStructurallyValidUTF8(const char* buf, int len); + +} // namespace internal + +// =================================================================== +// from google3/util/endian/endian.h +LIBPROTOBUF_EXPORT uint32 ghtonl(uint32 x); + +// =================================================================== +// Shutdown support. + +// Shut down the entire protocol buffers library, deleting all static-duration +// objects allocated by the library or by generated .pb.cc files. +// +// There are two reasons you might want to call this: +// * You use a draconian definition of "memory leak" in which you expect +// every single malloc() to have a corresponding free(), even for objects +// which live until program exit. +// * You are writing a dynamically-loaded library which needs to clean up +// after itself when the library is unloaded. +// +// It is safe to call this multiple times. However, it is not safe to use +// any other part of the protocol buffers library after +// ShutdownProtobufLibrary() has been called. +LIBPROTOBUF_EXPORT void ShutdownProtobufLibrary(); + +namespace internal { + +// Register a function to be called when ShutdownProtocolBuffers() is called. +LIBPROTOBUF_EXPORT void OnShutdown(void (*func)()); + +} // namespace internal + +#if PROTOBUF_USE_EXCEPTIONS +class FatalException : public std::exception { + public: + FatalException(const char* filename, int line, const std::string& message) + : filename_(filename), line_(line), message_(message) {} + virtual ~FatalException() throw(); + + virtual const char* what() const throw(); + + const char* filename() const { return filename_; } + int line() const { return line_; } + const std::string& message() const { return message_; } + + private: + const char* filename_; + const int line_; + const std::string message_; +}; +#endif + +// This is at the end of the file instead of the beginning to work around a bug +// in some versions of MSVC. +using namespace std; // Don't do this at home, kids. + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_COMMON_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/hash.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/hash.h new file mode 100644 index 0000000000..f7d1071279 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/hash.h @@ -0,0 +1,232 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// +// Deals with the fact that hash_map is not defined everywhere. + +#ifndef GOOGLE_PROTOBUF_STUBS_HASH_H__ +#define GOOGLE_PROTOBUF_STUBS_HASH_H__ + +#include +#include +#include "config.h" + +#if defined(HAVE_HASH_MAP) && defined(HAVE_HASH_SET) +#include HASH_MAP_H +#include HASH_SET_H +#else +#define MISSING_HASH +#include +#include +#endif + +namespace google { +namespace protobuf { + +#ifdef MISSING_HASH + +// This system doesn't have hash_map or hash_set. Emulate them using map and +// set. + +// Make hash be the same as less. Note that everywhere where custom +// hash functions are defined in the protobuf code, they are also defined such +// that they can be used as "less" functions, which is required by MSVC anyway. +template +struct hash { + // Dummy, just to make derivative hash functions compile. + int operator()(const Key& key) { + GOOGLE_LOG(FATAL) << "Should never be called."; + return 0; + } + + inline bool operator()(const Key& a, const Key& b) const { + return a < b; + } +}; + +// Make sure char* is compared by value. +template <> +struct hash { + // Dummy, just to make derivative hash functions compile. + int operator()(const char* key) { + GOOGLE_LOG(FATAL) << "Should never be called."; + return 0; + } + + inline bool operator()(const char* a, const char* b) const { + return strcmp(a, b) < 0; + } +}; + +template , + typename EqualKey = int > +class hash_map : public std::map { + public: + hash_map(int = 0) {} +}; + +template , + typename EqualKey = int > +class hash_set : public std::set { + public: + hash_set(int = 0) {} +}; + +#elif defined(_MSC_VER) && !defined(_STLPORT_VERSION) + +template +struct hash : public HASH_NAMESPACE::hash_compare { +}; + +// MSVC's hash_compare hashes based on the string contents but +// compares based on the string pointer. WTF? +class CstringLess { + public: + inline bool operator()(const char* a, const char* b) const { + return strcmp(a, b) < 0; + } +}; + +template <> +struct hash + : public HASH_NAMESPACE::hash_compare { +}; + +template , + typename EqualKey = int > +class hash_map : public HASH_NAMESPACE::hash_map< + Key, Data, HashFcn> { + public: + hash_map(int = 0) {} +}; + +template , + typename EqualKey = int > +class hash_set : public HASH_NAMESPACE::hash_set< + Key, HashFcn> { + public: + hash_set(int = 0) {} +}; + +#else + +template +struct hash : public HASH_NAMESPACE::hash { +}; + +template +struct hash { + inline size_t operator()(const Key* key) const { + return reinterpret_cast(key); + } +}; + +// Unlike the old SGI version, the TR1 "hash" does not special-case char*. So, +// we go ahead and provide our own implementation. +template <> +struct hash { + inline size_t operator()(const char* str) const { + size_t result = 0; + for (; *str != '\0'; str++) { + result = 5 * result + *str; + } + return result; + } +}; + +template , + typename EqualKey = std::equal_to > +class hash_map : public HASH_NAMESPACE::HASH_MAP_CLASS< + Key, Data, HashFcn, EqualKey> { + public: + hash_map(int = 0) {} +}; + +template , + typename EqualKey = std::equal_to > +class hash_set : public HASH_NAMESPACE::HASH_SET_CLASS< + Key, HashFcn, EqualKey> { + public: + hash_set(int = 0) {} +}; + +#endif + +template <> +struct hash { + inline size_t operator()(const string& key) const { + return hash()(key.c_str()); + } + + static const size_t bucket_size = 4; + static const size_t min_buckets = 8; + inline size_t operator()(const string& a, const string& b) const { + return a < b; + } +}; + +template +struct hash > { + inline size_t operator()(const pair& key) const { + size_t first_hash = hash()(key.first); + size_t second_hash = hash()(key.second); + + // FIXME(kenton): What is the best way to compute this hash? I have + // no idea! This seems a bit better than an XOR. + return first_hash * ((1 << 16) - 1) + second_hash; + } + + static const size_t bucket_size = 4; + static const size_t min_buckets = 8; + inline size_t operator()(const pair& a, + const pair& b) const { + return a < b; + } +}; + +// Used by GCC/SGI STL only. (Why isn't this provided by the standard +// library? :( ) +struct streq { + inline bool operator()(const char* a, const char* b) const { + return strcmp(a, b) == 0; + } +}; + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_HASH_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/map-util.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/map-util.h new file mode 100644 index 0000000000..775848b9cb --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/map-util.h @@ -0,0 +1,143 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// from google3/util/gtl/map-util.h +// Author: Anton Carver + +#ifndef GOOGLE_PROTOBUF_STUBS_MAP_UTIL_H__ +#define GOOGLE_PROTOBUF_STUBS_MAP_UTIL_H__ + +#include + +namespace google { +namespace protobuf { + +// Perform a lookup in a map or hash_map. +// If the key is present in the map then the value associated with that +// key is returned, otherwise the value passed as a default is returned. +template +const typename Collection::value_type::second_type& +FindWithDefault(const Collection& collection, + const typename Collection::value_type::first_type& key, + const typename Collection::value_type::second_type& value) { + typename Collection::const_iterator it = collection.find(key); + if (it == collection.end()) { + return value; + } + return it->second; +} + +// Perform a lookup in a map or hash_map. +// If the key is present a const pointer to the associated value is returned, +// otherwise a NULL pointer is returned. +template +const typename Collection::value_type::second_type* +FindOrNull(const Collection& collection, + const typename Collection::value_type::first_type& key) { + typename Collection::const_iterator it = collection.find(key); + if (it == collection.end()) { + return 0; + } + return &it->second; +} + +// Perform a lookup in a map or hash_map, assuming that the key exists. +// Crash if it does not. +// +// This is intended as a replacement for operator[] as an rvalue (for reading) +// when the key is guaranteed to exist. +// +// operator[] is discouraged for several reasons: +// * It has a side-effect of inserting missing keys +// * It is not thread-safe (even when it is not inserting, it can still +// choose to resize the underlying storage) +// * It invalidates iterators (when it chooses to resize) +// * It default constructs a value object even if it doesn't need to +// +// This version assumes the key is printable, and includes it in the fatal log +// message. +template +const typename Collection::value_type::second_type& +FindOrDie(const Collection& collection, + const typename Collection::value_type::first_type& key) { + typename Collection::const_iterator it = collection.find(key); + GOOGLE_CHECK(it != collection.end()) << "Map key not found: " << key; + return it->second; +} + +// Perform a lookup in a map or hash_map whose values are pointers. +// If the key is present a const pointer to the associated value is returned, +// otherwise a NULL pointer is returned. +// This function does not distinguish between a missing key and a key mapped +// to a NULL value. +template +const typename Collection::value_type::second_type +FindPtrOrNull(const Collection& collection, + const typename Collection::value_type::first_type& key) { + typename Collection::const_iterator it = collection.find(key); + if (it == collection.end()) { + return 0; + } + return it->second; +} + +// Change the value associated with a particular key in a map or hash_map. +// If the key is not present in the map the key and value are inserted, +// otherwise the value is updated to be a copy of the value provided. +// True indicates that an insert took place, false indicates an update. +template +bool InsertOrUpdate(Collection * const collection, + const Key& key, const Value& value) { + pair ret = + collection->insert(typename Collection::value_type(key, value)); + if (!ret.second) { + // update + ret.first->second = value; + return false; + } + return true; +} + +// Insert a new key and value into a map or hash_map. +// If the key is not present in the map the key and value are +// inserted, otherwise nothing happens. True indicates that an insert +// took place, false indicates the key was already present. +template +bool InsertIfNotPresent(Collection * const collection, + const Key& key, const Value& value) { + pair ret = + collection->insert(typename Collection::value_type(key, value)); + return ret.second; +} + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_MAP_UTIL_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/once.cc b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/once.cc new file mode 100644 index 0000000000..1e24b85526 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/once.cc @@ -0,0 +1,99 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// +// emulates google3/base/once.h +// +// This header is intended to be included only by internal .cc files and +// generated .pb.cc files. Users should not use this directly. + +#include + +#ifndef GOOGLE_PROTOBUF_NO_THREAD_SAFETY + +#ifdef _WIN32 +#include +#else +#include +#endif + +#include + +namespace google { +namespace protobuf { + +namespace { + +void SchedYield() { +#ifdef _WIN32 + Sleep(0); +#else // POSIX + sched_yield(); +#endif +} + +} // namespace + +void GoogleOnceInitImpl(ProtobufOnceType* once, Closure* closure) { + internal::AtomicWord state = internal::Acquire_Load(once); + // Fast path. The provided closure was already executed. + if (state == ONCE_STATE_DONE) { + return; + } + // The closure execution did not complete yet. The once object can be in one + // of the two following states: + // - UNINITIALIZED: We are the first thread calling this function. + // - EXECUTING_CLOSURE: Another thread is already executing the closure. + // + // First, try to change the state from UNINITIALIZED to EXECUTING_CLOSURE + // atomically. + state = internal::Acquire_CompareAndSwap( + once, ONCE_STATE_UNINITIALIZED, ONCE_STATE_EXECUTING_CLOSURE); + if (state == ONCE_STATE_UNINITIALIZED) { + // We are the first thread to call this function, so we have to call the + // closure. + closure->Run(); + internal::Release_Store(once, ONCE_STATE_DONE); + } else { + // Another thread has already started executing the closure. We need to + // wait until it completes the initialization. + while (state == ONCE_STATE_EXECUTING_CLOSURE) { + // Note that futex() could be used here on Linux as an improvement. + SchedYield(); + state = internal::Acquire_Load(once); + } + } +} + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_NO_THREAD_SAFETY diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/once.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/once.h new file mode 100644 index 0000000000..7fbc117fe4 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/once.h @@ -0,0 +1,148 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// +// emulates google3/base/once.h +// +// This header is intended to be included only by internal .cc files and +// generated .pb.cc files. Users should not use this directly. +// +// This is basically a portable version of pthread_once(). +// +// This header declares: +// * A type called ProtobufOnceType. +// * A macro GOOGLE_PROTOBUF_DECLARE_ONCE() which declares a variable of type +// ProtobufOnceType. This is the only legal way to declare such a variable. +// The macro may only be used at the global scope (you cannot create local or +// class member variables of this type). +// * A function GoogleOnceInit(ProtobufOnceType* once, void (*init_func)()). +// This function, when invoked multiple times given the same ProtobufOnceType +// object, will invoke init_func on the first call only, and will make sure +// none of the calls return before that first call to init_func has finished. +// * The user can provide a parameter which GoogleOnceInit() forwards to the +// user-provided function when it is called. Usage example: +// int a = 10; +// GoogleOnceInit(&my_once, &MyFunctionExpectingIntArgument, &a); +// * This implementation guarantees that ProtobufOnceType is a POD (i.e. no +// static initializer generated). +// +// This implements a way to perform lazy initialization. It's more efficient +// than using mutexes as no lock is needed if initialization has already +// happened. +// +// Example usage: +// void Init(); +// GOOGLE_PROTOBUF_DECLARE_ONCE(once_init); +// +// // Calls Init() exactly once. +// void InitOnce() { +// GoogleOnceInit(&once_init, &Init); +// } +// +// Note that if GoogleOnceInit() is called before main() has begun, it must +// only be called by the thread that will eventually call main() -- that is, +// the thread that performs dynamic initialization. In general this is a safe +// assumption since people don't usually construct threads before main() starts, +// but it is technically not guaranteed. Unfortunately, Win32 provides no way +// whatsoever to statically-initialize its synchronization primitives, so our +// only choice is to assume that dynamic initialization is single-threaded. + +#ifndef GOOGLE_PROTOBUF_STUBS_ONCE_H__ +#define GOOGLE_PROTOBUF_STUBS_ONCE_H__ + +#include +#include + +namespace google { +namespace protobuf { + +#ifdef GOOGLE_PROTOBUF_NO_THREAD_SAFETY + +typedef bool ProtobufOnceType; + +#define GOOGLE_PROTOBUF_ONCE_INIT false + +inline void GoogleOnceInit(ProtobufOnceType* once, void (*init_func)()) { + if (!*once) { + *once = true; + init_func(); + } +} + +template +inline void GoogleOnceInit(ProtobufOnceType* once, void (*init_func)(Arg), + Arg arg) { + if (!*once) { + *once = true; + init_func(arg); + } +} + +#else + +enum { + ONCE_STATE_UNINITIALIZED = 0, + ONCE_STATE_EXECUTING_CLOSURE = 1, + ONCE_STATE_DONE = 2 +}; + +typedef internal::AtomicWord ProtobufOnceType; + +#define GOOGLE_PROTOBUF_ONCE_INIT ::google::protobuf::ONCE_STATE_UNINITIALIZED + +LIBPROTOBUF_EXPORT +void GoogleOnceInitImpl(ProtobufOnceType* once, Closure* closure); + +inline void GoogleOnceInit(ProtobufOnceType* once, void (*init_func)()) { + if (internal::Acquire_Load(once) != ONCE_STATE_DONE) { + internal::FunctionClosure0 func(init_func, false); + GoogleOnceInitImpl(once, &func); + } +} + +template +inline void GoogleOnceInit(ProtobufOnceType* once, void (*init_func)(Arg*), + Arg* arg) { + if (internal::Acquire_Load(once) != ONCE_STATE_DONE) { + internal::FunctionClosure1 func(init_func, false, arg); + GoogleOnceInitImpl(once, &func); + } +} + +#endif // GOOGLE_PROTOBUF_NO_THREAD_SAFETY + +#define GOOGLE_PROTOBUF_DECLARE_ONCE(NAME) \ + ::google::protobuf::ProtobufOnceType NAME = GOOGLE_PROTOBUF_ONCE_INIT + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_ONCE_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/platform_macros.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/platform_macros.h new file mode 100644 index 0000000000..db691d8ddc --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/platform_macros.h @@ -0,0 +1,82 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef GOOGLE_PROTOBUF_PLATFORM_MACROS_H_ +#define GOOGLE_PROTOBUF_PLATFORM_MACROS_H_ + +#include + +// Processor architecture detection. For more info on what's defined, see: +// http://msdn.microsoft.com/en-us/library/b0084kay.aspx +// http://www.agner.org/optimize/calling_conventions.pdf +// or with gcc, run: "echo | gcc -E -dM -" +#if defined(_M_X64) || defined(__x86_64__) +#define GOOGLE_PROTOBUF_ARCH_X64 1 +#define GOOGLE_PROTOBUF_ARCH_64_BIT 1 +#elif defined(_M_IX86) || defined(__i386__) +#define GOOGLE_PROTOBUF_ARCH_IA32 1 +#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +#elif defined(__aarch64__) +#define GOOGLE_PROTOBUF_ARCH_AARCH64 1 +#define GOOGLE_PROTOBUF_ARCH_64_BIT 1 +#elif defined(__QNX__) +#define GOOGLE_PROTOBUF_ARCH_ARM_QNX 1 +#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +#elif defined(__ARMEL__) +#define GOOGLE_PROTOBUF_ARCH_ARM 1 +#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +#elif defined(__MIPSEL__) +#define GOOGLE_PROTOBUF_ARCH_MIPS 1 +#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +#elif defined(__pnacl__) +#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +#elif defined(__ppc64__) || defined(__PPC64__) +#define GOOGLE_PROTOBUF_ARCH_PPC64 1 +#define GOOGLE_PROTOBUF_ARCH_64_BIT 1 +#elif defined(__ppc__) || defined(__PPC__) +#define GOOGLE_PROTOBUF_ARCH_PPC 1 +#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +#elif defined(__s390x__) +#define GOOGLE_PROTOBUF_ARCH_64_BIT 1 +#define GOOGLE_PROTOBUF_ARCH_S390X 1 +#elif defined(__s390__) +#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 +#define GOOGLE_PROTOBUF_ARCH_S390 1 +#else +#error Host architecture was not detected as supported by protobuf +#endif + +#if defined(__APPLE__) +#define GOOGLE_PROTOBUF_OS_APPLE +#elif defined(__native_client__) +#define GOOGLE_PROTOBUF_OS_NACL +#endif + +#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/stl_util.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/stl_util.h new file mode 100644 index 0000000000..9021dada9c --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/stl_util.h @@ -0,0 +1,121 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// from google3/util/gtl/stl_util.h + +#ifndef GOOGLE_PROTOBUF_STUBS_STL_UTIL_H__ +#define GOOGLE_PROTOBUF_STUBS_STL_UTIL_H__ + +#include + +namespace google { +namespace protobuf { + +// STLDeleteContainerPointers() +// For a range within a container of pointers, calls delete +// (non-array version) on these pointers. +// NOTE: for these three functions, we could just implement a DeleteObject +// functor and then call for_each() on the range and functor, but this +// requires us to pull in all of algorithm.h, which seems expensive. +// For hash_[multi]set, it is important that this deletes behind the iterator +// because the hash_set may call the hash function on the iterator when it is +// advanced, which could result in the hash function trying to deference a +// stale pointer. +template +void STLDeleteContainerPointers(ForwardIterator begin, + ForwardIterator end) { + while (begin != end) { + ForwardIterator temp = begin; + ++begin; + delete *temp; + } +} + +// Inside Google, this function implements a horrible, disgusting hack in which +// we reach into the string's private implementation and resize it without +// initializing the new bytes. In some cases doing this can significantly +// improve performance. However, since it's totally non-portable it has no +// place in open source code. Feel free to fill this function in with your +// own disgusting hack if you want the perf boost. +inline void STLStringResizeUninitialized(string* s, size_t new_size) { + s->resize(new_size); +} + +// Return a mutable char* pointing to a string's internal buffer, +// which may not be null-terminated. Writing through this pointer will +// modify the string. +// +// string_as_array(&str)[i] is valid for 0 <= i < str.size() until the +// next call to a string method that invalidates iterators. +// +// As of 2006-04, there is no standard-blessed way of getting a +// mutable reference to a string's internal buffer. However, issue 530 +// (http://www.open-std.org/JTC1/SC22/WG21/docs/lwg-active.html#530) +// proposes this as the method. According to Matt Austern, this should +// already work on all current implementations. +inline char* string_as_array(string* str) { + // DO NOT USE const_cast(str->data())! See the unittest for why. + return str->empty() ? NULL : &*str->begin(); +} + +// STLDeleteElements() deletes all the elements in an STL container and clears +// the container. This function is suitable for use with a vector, set, +// hash_set, or any other STL container which defines sensible begin(), end(), +// and clear() methods. +// +// If container is NULL, this function is a no-op. +// +// As an alternative to calling STLDeleteElements() directly, consider +// ElementDeleter (defined below), which ensures that your container's elements +// are deleted when the ElementDeleter goes out of scope. +template +void STLDeleteElements(T *container) { + if (!container) return; + STLDeleteContainerPointers(container->begin(), container->end()); + container->clear(); +} + +// Given an STL container consisting of (key, value) pairs, STLDeleteValues +// deletes all the "value" components and clears the container. Does nothing +// in the case it's given a NULL pointer. + +template +void STLDeleteValues(T *v) { + if (!v) return; + for (typename T::iterator i = v->begin(); i != v->end(); ++i) { + delete i->second; + } + v->clear(); +} + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_STL_UTIL_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/stringprintf.cc b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/stringprintf.cc new file mode 100644 index 0000000000..279027dd9e --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/stringprintf.cc @@ -0,0 +1,175 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// from google3/base/stringprintf.cc + +#include + +#include +#include // For va_list and related operations +#include // MSVC requires this for _vsnprintf +#include +#include +//#include + +namespace google { +namespace protobuf { + +#ifdef _MSC_VER +enum { IS_COMPILER_MSVC = 1 }; +#ifndef va_copy +// Define va_copy for MSVC. This is a hack, assuming va_list is simply a +// pointer into the stack and is safe to copy. +#define va_copy(dest, src) ((dest) = (src)) +#endif +#else +enum { IS_COMPILER_MSVC = 0 }; +#endif + +void StringAppendV(string* dst, const char* format, va_list ap) { + // First try with a small fixed size buffer + static const int kSpaceLength = 1024; + char space[kSpaceLength]; + + // It's possible for methods that use a va_list to invalidate + // the data in it upon use. The fix is to make a copy + // of the structure before using it and use that copy instead. + va_list backup_ap; + va_copy(backup_ap, ap); + int result = vsnprintf(space, kSpaceLength, format, backup_ap); + va_end(backup_ap); + + if (result < kSpaceLength) { + if (result >= 0) { + // Normal case -- everything fit. + dst->append(space, result); + return; + } + + if (IS_COMPILER_MSVC) { + // Error or MSVC running out of space. MSVC 8.0 and higher + // can be asked about space needed with the special idiom below: + va_copy(backup_ap, ap); + result = vsnprintf(NULL, 0, format, backup_ap); + va_end(backup_ap); + } + + if (result < 0) { + // Just an error. + return; + } + } + + // Increase the buffer size to the size requested by vsnprintf, + // plus one for the closing \0. + int length = result+1; + char* buf = new char[length]; + + // Restore the va_list before we use it again + va_copy(backup_ap, ap); + result = vsnprintf(buf, length, format, backup_ap); + va_end(backup_ap); + + if (result >= 0 && result < length) { + // It fit + dst->append(buf, result); + } + delete[] buf; +} + + +string StringPrintf(const char* format, ...) { + va_list ap; + va_start(ap, format); + string result; + StringAppendV(&result, format, ap); + va_end(ap); + return result; +} + +const string& SStringPrintf(string* dst, const char* format, ...) { + va_list ap; + va_start(ap, format); + dst->clear(); + StringAppendV(dst, format, ap); + va_end(ap); + return *dst; +} + +void StringAppendF(string* dst, const char* format, ...) { + va_list ap; + va_start(ap, format); + StringAppendV(dst, format, ap); + va_end(ap); +} + +// Max arguments supported by StringPrintVector +const int kStringPrintfVectorMaxArgs = 32; + +// An empty block of zero for filler arguments. This is const so that if +// printf tries to write to it (via %n) then the program gets a SIGSEGV +// and we can fix the problem or protect against an attack. +static const char string_printf_empty_block[256] = { '\0' }; + +string StringPrintfVector(const char* format, const vector& v) { + GOOGLE_CHECK_LE(v.size(), kStringPrintfVectorMaxArgs) + << "StringPrintfVector currently only supports up to " + << kStringPrintfVectorMaxArgs << " arguments. " + << "Feel free to add support for more if you need it."; + + // Add filler arguments so that bogus format+args have a harder time + // crashing the program, corrupting the program (%n), + // or displaying random chunks of memory to users. + + const char* cstr[kStringPrintfVectorMaxArgs]; + for (int i = 0; i < v.size(); ++i) { + cstr[i] = v[i].c_str(); + } + for (int i = v.size(); i < GOOGLE_ARRAYSIZE(cstr); ++i) { + cstr[i] = &string_printf_empty_block[0]; + } + + // I do not know any way to pass kStringPrintfVectorMaxArgs arguments, + // or any way to build a va_list by hand, or any API for printf + // that accepts an array of arguments. The best I can do is stick + // this COMPILE_ASSERT right next to the actual statement. + + GOOGLE_COMPILE_ASSERT(kStringPrintfVectorMaxArgs == 32, arg_count_mismatch); + return StringPrintf(format, + cstr[0], cstr[1], cstr[2], cstr[3], cstr[4], + cstr[5], cstr[6], cstr[7], cstr[8], cstr[9], + cstr[10], cstr[11], cstr[12], cstr[13], cstr[14], + cstr[15], cstr[16], cstr[17], cstr[18], cstr[19], + cstr[20], cstr[21], cstr[22], cstr[23], cstr[24], + cstr[25], cstr[26], cstr[27], cstr[28], cstr[29], + cstr[30], cstr[31]); +} +} // namespace protobuf +} // namespace google diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/stringprintf.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/stringprintf.h new file mode 100644 index 0000000000..4a03e5ff99 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/stringprintf.h @@ -0,0 +1,76 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2012 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// from google3/base/stringprintf.h +// +// Printf variants that place their output in a C++ string. +// +// Usage: +// string result = StringPrintf("%d %s\n", 10, "hello"); +// SStringPrintf(&result, "%d %s\n", 10, "hello"); +// StringAppendF(&result, "%d %s\n", 20, "there"); + +#ifndef GOOGLE_PROTOBUF_STUBS_STRINGPRINTF_H +#define GOOGLE_PROTOBUF_STUBS_STRINGPRINTF_H + +#include +#include +#include + +#include + +namespace google { +namespace protobuf { + +// Return a C++ string +LIBPROTOBUF_EXPORT extern string StringPrintf(const char* format, ...); + +// Store result into a supplied string and return it +LIBPROTOBUF_EXPORT extern const string& SStringPrintf(string* dst, const char* format, ...); + +// Append result to a supplied string +LIBPROTOBUF_EXPORT extern void StringAppendF(string* dst, const char* format, ...); + +// Lower-level routine that takes a va_list and appends to a specified +// string. All other routines are just convenience wrappers around it. +LIBPROTOBUF_EXPORT extern void StringAppendV(string* dst, const char* format, va_list ap); + +// The max arguments supported by StringPrintfVector +LIBPROTOBUF_EXPORT extern const int kStringPrintfVectorMaxArgs; + +// You can use this version when all your arguments are strings, but +// you don't know how many arguments you'll have at compile time. +// StringPrintfVector will LOG(FATAL) if v.size() > kStringPrintfVectorMaxArgs +LIBPROTOBUF_EXPORT extern string StringPrintfVector(const char* format, const vector& v); + +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_STUBS_STRINGPRINTF_H diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/template_util.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/template_util.h new file mode 100644 index 0000000000..4f30ffa3bb --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/template_util.h @@ -0,0 +1,138 @@ +// Copyright 2005 Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// ---- +// Author: lar@google.com (Laramie Leavitt) +// +// Template metaprogramming utility functions. +// +// This code is compiled directly on many platforms, including client +// platforms like Windows, Mac, and embedded systems. Before making +// any changes here, make sure that you're not breaking any platforms. +// +// +// The names choosen here reflect those used in tr1 and the boost::mpl +// library, there are similar operations used in the Loki library as +// well. I prefer the boost names for 2 reasons: +// 1. I think that portions of the Boost libraries are more likely to +// be included in the c++ standard. +// 2. It is not impossible that some of the boost libraries will be +// included in our own build in the future. +// Both of these outcomes means that we may be able to directly replace +// some of these with boost equivalents. +// +#ifndef GOOGLE_PROTOBUF_TEMPLATE_UTIL_H_ +#define GOOGLE_PROTOBUF_TEMPLATE_UTIL_H_ + +namespace google { +namespace protobuf { +namespace internal { + +// Types small_ and big_ are guaranteed such that sizeof(small_) < +// sizeof(big_) +typedef char small_; + +struct big_ { + char dummy[2]; +}; + +// Identity metafunction. +template +struct identity_ { + typedef T type; +}; + +// integral_constant, defined in tr1, is a wrapper for an integer +// value. We don't really need this generality; we could get away +// with hardcoding the integer type to bool. We use the fully +// general integer_constant for compatibility with tr1. + +template +struct integral_constant { + static const T value = v; + typedef T value_type; + typedef integral_constant type; +}; + +template const T integral_constant::value; + + +// Abbreviations: true_type and false_type are structs that represent boolean +// true and false values. Also define the boost::mpl versions of those names, +// true_ and false_. +typedef integral_constant true_type; +typedef integral_constant false_type; +typedef true_type true_; +typedef false_type false_; + +// if_ is a templatized conditional statement. +// if_ is a compile time evaluation of cond. +// if_<>::type contains A if cond is true, B otherwise. +template +struct if_{ + typedef A type; +}; + +template +struct if_ { + typedef B type; +}; + + +// type_equals_ is a template type comparator, similar to Loki IsSameType. +// type_equals_::value is true iff "A" is the same type as "B". +// +// New code should prefer base::is_same, defined in base/type_traits.h. +// It is functionally identical, but is_same is the standard spelling. +template +struct type_equals_ : public false_ { +}; + +template +struct type_equals_ : public true_ { +}; + +// and_ is a template && operator. +// and_::value evaluates "A::value && B::value". +template +struct and_ : public integral_constant { +}; + +// or_ is a template || operator. +// or_::value evaluates "A::value || B::value". +template +struct or_ : public integral_constant { +}; + + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_TEMPLATE_UTIL_H_ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/type_traits.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/type_traits.h new file mode 100644 index 0000000000..e41f5e6f69 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/stubs/type_traits.h @@ -0,0 +1,336 @@ +// Copyright (c) 2006, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// ---- +// Author: Matt Austern +// +// This code is compiled directly on many platforms, including client +// platforms like Windows, Mac, and embedded systems. Before making +// any changes here, make sure that you're not breaking any platforms. +// +// Define a small subset of tr1 type traits. The traits we define are: +// is_integral +// is_floating_point +// is_pointer +// is_enum +// is_reference +// is_pod +// has_trivial_constructor +// has_trivial_copy +// has_trivial_assign +// has_trivial_destructor +// remove_const +// remove_volatile +// remove_cv +// remove_reference +// add_reference +// remove_pointer +// is_same +// is_convertible +// We can add more type traits as required. + +#ifndef GOOGLE_PROTOBUF_TYPE_TRAITS_H_ +#define GOOGLE_PROTOBUF_TYPE_TRAITS_H_ + +#include // For pair + +#include // For true_type and false_type + +namespace google { +namespace protobuf { +namespace internal { + +template struct is_integral; +template struct is_floating_point; +template struct is_pointer; +// MSVC can't compile this correctly, and neither can gcc 3.3.5 (at least) +#if !defined(_MSC_VER) && !(defined(__GNUC__) && __GNUC__ <= 3) +// is_enum uses is_convertible, which is not available on MSVC. +template struct is_enum; +#endif +template struct is_reference; +template struct is_pod; +template struct has_trivial_constructor; +template struct has_trivial_copy; +template struct has_trivial_assign; +template struct has_trivial_destructor; +template struct remove_const; +template struct remove_volatile; +template struct remove_cv; +template struct remove_reference; +template struct add_reference; +template struct remove_pointer; +template struct is_same; +#if !defined(_MSC_VER) && !(defined(__GNUC__) && __GNUC__ <= 3) +template struct is_convertible; +#endif + +// is_integral is false except for the built-in integer types. A +// cv-qualified type is integral if and only if the underlying type is. +template struct is_integral : false_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +#if defined(_MSC_VER) +// wchar_t is not by default a distinct type from unsigned short in +// Microsoft C. +// See http://msdn2.microsoft.com/en-us/library/dh8che7s(VS.80).aspx +template<> struct is_integral<__wchar_t> : true_type { }; +#else +template<> struct is_integral : true_type { }; +#endif +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +#ifdef HAVE_LONG_LONG +template<> struct is_integral : true_type { }; +template<> struct is_integral : true_type { }; +#endif +template struct is_integral : is_integral { }; +template struct is_integral : is_integral { }; +template struct is_integral : is_integral { }; + +// is_floating_point is false except for the built-in floating-point types. +// A cv-qualified type is integral if and only if the underlying type is. +template struct is_floating_point : false_type { }; +template<> struct is_floating_point : true_type { }; +template<> struct is_floating_point : true_type { }; +template<> struct is_floating_point : true_type { }; +template struct is_floating_point + : is_floating_point { }; +template struct is_floating_point + : is_floating_point { }; +template struct is_floating_point + : is_floating_point { }; + +// is_pointer is false except for pointer types. A cv-qualified type (e.g. +// "int* const", as opposed to "int const*") is cv-qualified if and only if +// the underlying type is. +template struct is_pointer : false_type { }; +template struct is_pointer : true_type { }; +template struct is_pointer : is_pointer { }; +template struct is_pointer : is_pointer { }; +template struct is_pointer : is_pointer { }; + +#if !defined(_MSC_VER) && !(defined(__GNUC__) && __GNUC__ <= 3) + +namespace internal { + +template struct is_class_or_union { + template static small_ tester(void (U::*)()); + template static big_ tester(...); + static const bool value = sizeof(tester(0)) == sizeof(small_); +}; + +// is_convertible chokes if the first argument is an array. That's why +// we use add_reference here. +template struct is_enum_impl + : is_convertible::type, int> { }; + +template struct is_enum_impl : false_type { }; + +} // namespace internal + +// Specified by TR1 [4.5.1] primary type categories. + +// Implementation note: +// +// Each type is either void, integral, floating point, array, pointer, +// reference, member object pointer, member function pointer, enum, +// union or class. Out of these, only integral, floating point, reference, +// class and enum types are potentially convertible to int. Therefore, +// if a type is not a reference, integral, floating point or class and +// is convertible to int, it's a enum. Adding cv-qualification to a type +// does not change whether it's an enum. +// +// Is-convertible-to-int check is done only if all other checks pass, +// because it can't be used with some types (e.g. void or classes with +// inaccessible conversion operators). +template struct is_enum + : internal::is_enum_impl< + is_same::value || + is_integral::value || + is_floating_point::value || + is_reference::value || + internal::is_class_or_union::value, + T> { }; + +template struct is_enum : is_enum { }; +template struct is_enum : is_enum { }; +template struct is_enum : is_enum { }; + +#endif + +// is_reference is false except for reference types. +template struct is_reference : false_type {}; +template struct is_reference : true_type {}; + + +// We can't get is_pod right without compiler help, so fail conservatively. +// We will assume it's false except for arithmetic types, enumerations, +// pointers and cv-qualified versions thereof. Note that std::pair +// is not a POD even if T and U are PODs. +template struct is_pod + : integral_constant::value || + is_floating_point::value || +#if !defined(_MSC_VER) && !(defined(__GNUC__) && __GNUC__ <= 3) + // is_enum is not available on MSVC. + is_enum::value || +#endif + is_pointer::value)> { }; +template struct is_pod : is_pod { }; +template struct is_pod : is_pod { }; +template struct is_pod : is_pod { }; + + +// We can't get has_trivial_constructor right without compiler help, so +// fail conservatively. We will assume it's false except for: (1) types +// for which is_pod is true. (2) std::pair of types with trivial +// constructors. (3) array of a type with a trivial constructor. +// (4) const versions thereof. +template struct has_trivial_constructor : is_pod { }; +template struct has_trivial_constructor > + : integral_constant::value && + has_trivial_constructor::value)> { }; +template struct has_trivial_constructor + : has_trivial_constructor { }; +template struct has_trivial_constructor + : has_trivial_constructor { }; + +// We can't get has_trivial_copy right without compiler help, so fail +// conservatively. We will assume it's false except for: (1) types +// for which is_pod is true. (2) std::pair of types with trivial copy +// constructors. (3) array of a type with a trivial copy constructor. +// (4) const versions thereof. +template struct has_trivial_copy : is_pod { }; +template struct has_trivial_copy > + : integral_constant::value && + has_trivial_copy::value)> { }; +template struct has_trivial_copy + : has_trivial_copy { }; +template struct has_trivial_copy : has_trivial_copy { }; + +// We can't get has_trivial_assign right without compiler help, so fail +// conservatively. We will assume it's false except for: (1) types +// for which is_pod is true. (2) std::pair of types with trivial copy +// constructors. (3) array of a type with a trivial assign constructor. +template struct has_trivial_assign : is_pod { }; +template struct has_trivial_assign > + : integral_constant::value && + has_trivial_assign::value)> { }; +template struct has_trivial_assign + : has_trivial_assign { }; + +// We can't get has_trivial_destructor right without compiler help, so +// fail conservatively. We will assume it's false except for: (1) types +// for which is_pod is true. (2) std::pair of types with trivial +// destructors. (3) array of a type with a trivial destructor. +// (4) const versions thereof. +template struct has_trivial_destructor : is_pod { }; +template struct has_trivial_destructor > + : integral_constant::value && + has_trivial_destructor::value)> { }; +template struct has_trivial_destructor + : has_trivial_destructor { }; +template struct has_trivial_destructor + : has_trivial_destructor { }; + +// Specified by TR1 [4.7.1] +template struct remove_const { typedef T type; }; +template struct remove_const { typedef T type; }; +template struct remove_volatile { typedef T type; }; +template struct remove_volatile { typedef T type; }; +template struct remove_cv { + typedef typename remove_const::type>::type type; +}; + + +// Specified by TR1 [4.7.2] Reference modifications. +template struct remove_reference { typedef T type; }; +template struct remove_reference { typedef T type; }; + +template struct add_reference { typedef T& type; }; +template struct add_reference { typedef T& type; }; + +// Specified by TR1 [4.7.4] Pointer modifications. +template struct remove_pointer { typedef T type; }; +template struct remove_pointer { typedef T type; }; +template struct remove_pointer { typedef T type; }; +template struct remove_pointer { typedef T type; }; +template struct remove_pointer { + typedef T type; }; + +// Specified by TR1 [4.6] Relationships between types +template struct is_same : public false_type { }; +template struct is_same : public true_type { }; + +// Specified by TR1 [4.6] Relationships between types +#if !defined(_MSC_VER) && !(defined(__GNUC__) && __GNUC__ <= 3) +namespace internal { + +// This class is an implementation detail for is_convertible, and you +// don't need to know how it works to use is_convertible. For those +// who care: we declare two different functions, one whose argument is +// of type To and one with a variadic argument list. We give them +// return types of different size, so we can use sizeof to trick the +// compiler into telling us which function it would have chosen if we +// had called it with an argument of type From. See Alexandrescu's +// _Modern C++ Design_ for more details on this sort of trick. + +template +struct ConvertHelper { + static small_ Test(To); + static big_ Test(...); + static From Create(); +}; +} // namespace internal + +// Inherits from true_type if From is convertible to To, false_type otherwise. +template +struct is_convertible + : integral_constant::Test( + internal::ConvertHelper::Create())) + == sizeof(small_)> { +}; +#endif + +} // namespace internal +} // namespace protobuf +} // namespace google + +#endif // GOOGLE_PROTOBUF_TYPE_TRAITS_H_ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/wire_format_lite.cc b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/wire_format_lite.cc new file mode 100644 index 0000000000..738fc42145 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/wire_format_lite.cc @@ -0,0 +1,361 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. + +#include + +#include +#include +#include +#include +#include +#include +#include + +namespace google { +namespace protobuf { +namespace internal { + +#ifndef _MSC_VER // MSVC doesn't like definitions of inline constants, GCC + // requires them. +const int WireFormatLite::kMessageSetItemStartTag; +const int WireFormatLite::kMessageSetItemEndTag; +const int WireFormatLite::kMessageSetTypeIdTag; +const int WireFormatLite::kMessageSetMessageTag; + +#endif + +const int WireFormatLite::kMessageSetItemTagsSize = + io::CodedOutputStream::StaticVarintSize32::value + + io::CodedOutputStream::StaticVarintSize32::value + + io::CodedOutputStream::StaticVarintSize32::value + + io::CodedOutputStream::StaticVarintSize32::value; + +const WireFormatLite::CppType +WireFormatLite::kFieldTypeToCppTypeMap[MAX_FIELD_TYPE + 1] = { + static_cast(0), // 0 is reserved for errors + + CPPTYPE_DOUBLE, // TYPE_DOUBLE + CPPTYPE_FLOAT, // TYPE_FLOAT + CPPTYPE_INT64, // TYPE_INT64 + CPPTYPE_UINT64, // TYPE_UINT64 + CPPTYPE_INT32, // TYPE_INT32 + CPPTYPE_UINT64, // TYPE_FIXED64 + CPPTYPE_UINT32, // TYPE_FIXED32 + CPPTYPE_BOOL, // TYPE_BOOL + CPPTYPE_STRING, // TYPE_STRING + CPPTYPE_MESSAGE, // TYPE_GROUP + CPPTYPE_MESSAGE, // TYPE_MESSAGE + CPPTYPE_STRING, // TYPE_BYTES + CPPTYPE_UINT32, // TYPE_UINT32 + CPPTYPE_ENUM, // TYPE_ENUM + CPPTYPE_INT32, // TYPE_SFIXED32 + CPPTYPE_INT64, // TYPE_SFIXED64 + CPPTYPE_INT32, // TYPE_SINT32 + CPPTYPE_INT64, // TYPE_SINT64 +}; + +const WireFormatLite::WireType +WireFormatLite::kWireTypeForFieldType[MAX_FIELD_TYPE + 1] = { + static_cast(-1), // invalid + WireFormatLite::WIRETYPE_FIXED64, // TYPE_DOUBLE + WireFormatLite::WIRETYPE_FIXED32, // TYPE_FLOAT + WireFormatLite::WIRETYPE_VARINT, // TYPE_INT64 + WireFormatLite::WIRETYPE_VARINT, // TYPE_UINT64 + WireFormatLite::WIRETYPE_VARINT, // TYPE_INT32 + WireFormatLite::WIRETYPE_FIXED64, // TYPE_FIXED64 + WireFormatLite::WIRETYPE_FIXED32, // TYPE_FIXED32 + WireFormatLite::WIRETYPE_VARINT, // TYPE_BOOL + WireFormatLite::WIRETYPE_LENGTH_DELIMITED, // TYPE_STRING + WireFormatLite::WIRETYPE_START_GROUP, // TYPE_GROUP + WireFormatLite::WIRETYPE_LENGTH_DELIMITED, // TYPE_MESSAGE + WireFormatLite::WIRETYPE_LENGTH_DELIMITED, // TYPE_BYTES + WireFormatLite::WIRETYPE_VARINT, // TYPE_UINT32 + WireFormatLite::WIRETYPE_VARINT, // TYPE_ENUM + WireFormatLite::WIRETYPE_FIXED32, // TYPE_SFIXED32 + WireFormatLite::WIRETYPE_FIXED64, // TYPE_SFIXED64 + WireFormatLite::WIRETYPE_VARINT, // TYPE_SINT32 + WireFormatLite::WIRETYPE_VARINT, // TYPE_SINT64 +}; + +bool WireFormatLite::SkipField( + io::CodedInputStream* input, uint32 tag) { + switch (WireFormatLite::GetTagWireType(tag)) { + case WireFormatLite::WIRETYPE_VARINT: { + uint64 value; + if (!input->ReadVarint64(&value)) return false; + return true; + } + case WireFormatLite::WIRETYPE_FIXED64: { + uint64 value; + if (!input->ReadLittleEndian64(&value)) return false; + return true; + } + case WireFormatLite::WIRETYPE_LENGTH_DELIMITED: { + uint32 length; + if (!input->ReadVarint32(&length)) return false; + if (!input->Skip(length)) return false; + return true; + } + case WireFormatLite::WIRETYPE_START_GROUP: { + if (!input->IncrementRecursionDepth()) return false; + if (!SkipMessage(input)) return false; + input->DecrementRecursionDepth(); + // Check that the ending tag matched the starting tag. + if (!input->LastTagWas(WireFormatLite::MakeTag( + WireFormatLite::GetTagFieldNumber(tag), + WireFormatLite::WIRETYPE_END_GROUP))) { + return false; + } + return true; + } + case WireFormatLite::WIRETYPE_END_GROUP: { + return false; + } + case WireFormatLite::WIRETYPE_FIXED32: { + uint32 value; + if (!input->ReadLittleEndian32(&value)) return false; + return true; + } + default: { + return false; + } + } +} + +bool WireFormatLite::SkipMessage(io::CodedInputStream* input) { + while(true) { + uint32 tag = input->ReadTag(); + if (tag == 0) { + // End of input. This is a valid place to end, so return true. + return true; + } + + WireFormatLite::WireType wire_type = WireFormatLite::GetTagWireType(tag); + + if (wire_type == WireFormatLite::WIRETYPE_END_GROUP) { + // Must be the end of the message. + return true; + } + + if (!SkipField(input, tag)) return false; + } +} + +bool FieldSkipper::SkipField( + io::CodedInputStream* input, uint32 tag) { + return WireFormatLite::SkipField(input, tag); +} + +bool FieldSkipper::SkipMessage(io::CodedInputStream* input) { + return WireFormatLite::SkipMessage(input); +} + +void FieldSkipper::SkipUnknownEnum( + int field_number, int value) { + // Nothing. +} + +bool WireFormatLite::ReadPackedEnumNoInline(io::CodedInputStream* input, + bool (*is_valid)(int), + RepeatedField* values) { + uint32 length; + if (!input->ReadVarint32(&length)) return false; + io::CodedInputStream::Limit limit = input->PushLimit(length); + while (input->BytesUntilLimit() > 0) { + int value; + if (!google::protobuf::internal::WireFormatLite::ReadPrimitive< + int, WireFormatLite::TYPE_ENUM>(input, &value)) { + return false; + } + if (is_valid(value)) { + values->Add(value); + } + } + input->PopLimit(limit); + return true; +} + +void WireFormatLite::WriteInt32(int field_number, int32 value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_VARINT, output); + WriteInt32NoTag(value, output); +} +void WireFormatLite::WriteInt64(int field_number, int64 value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_VARINT, output); + WriteInt64NoTag(value, output); +} +void WireFormatLite::WriteUInt32(int field_number, uint32 value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_VARINT, output); + WriteUInt32NoTag(value, output); +} +void WireFormatLite::WriteUInt64(int field_number, uint64 value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_VARINT, output); + WriteUInt64NoTag(value, output); +} +void WireFormatLite::WriteSInt32(int field_number, int32 value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_VARINT, output); + WriteSInt32NoTag(value, output); +} +void WireFormatLite::WriteSInt64(int field_number, int64 value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_VARINT, output); + WriteSInt64NoTag(value, output); +} +void WireFormatLite::WriteFixed32(int field_number, uint32 value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_FIXED32, output); + WriteFixed32NoTag(value, output); +} +void WireFormatLite::WriteFixed64(int field_number, uint64 value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_FIXED64, output); + WriteFixed64NoTag(value, output); +} +void WireFormatLite::WriteSFixed32(int field_number, int32 value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_FIXED32, output); + WriteSFixed32NoTag(value, output); +} +void WireFormatLite::WriteSFixed64(int field_number, int64 value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_FIXED64, output); + WriteSFixed64NoTag(value, output); +} +void WireFormatLite::WriteFloat(int field_number, float value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_FIXED32, output); + WriteFloatNoTag(value, output); +} +void WireFormatLite::WriteDouble(int field_number, double value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_FIXED64, output); + WriteDoubleNoTag(value, output); +} +void WireFormatLite::WriteBool(int field_number, bool value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_VARINT, output); + WriteBoolNoTag(value, output); +} +void WireFormatLite::WriteEnum(int field_number, int value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_VARINT, output); + WriteEnumNoTag(value, output); +} + +void WireFormatLite::WriteString(int field_number, const string& value, + io::CodedOutputStream* output) { + // String is for UTF-8 text only + WriteTag(field_number, WIRETYPE_LENGTH_DELIMITED, output); + GOOGLE_CHECK(value.size() <= kint32max); + output->WriteVarint32(value.size()); + output->WriteString(value); +} +void WireFormatLite::WriteBytes(int field_number, const string& value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_LENGTH_DELIMITED, output); + GOOGLE_CHECK(value.size() <= kint32max); + output->WriteVarint32(value.size()); + output->WriteString(value); +} + + +void WireFormatLite::WriteGroup(int field_number, + const MessageLite& value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_START_GROUP, output); + value.SerializeWithCachedSizes(output); + WriteTag(field_number, WIRETYPE_END_GROUP, output); +} + +void WireFormatLite::WriteMessage(int field_number, + const MessageLite& value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_LENGTH_DELIMITED, output); + const int size = value.GetCachedSize(); + output->WriteVarint32(size); + value.SerializeWithCachedSizes(output); +} + +void WireFormatLite::WriteGroupMaybeToArray(int field_number, + const MessageLite& value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_START_GROUP, output); + const int size = value.GetCachedSize(); + uint8* target = output->GetDirectBufferForNBytesAndAdvance(size); + if (target != NULL) { + uint8* end = value.SerializeWithCachedSizesToArray(target); + GOOGLE_DCHECK_EQ(end - target, size); + } else { + value.SerializeWithCachedSizes(output); + } + WriteTag(field_number, WIRETYPE_END_GROUP, output); +} + +void WireFormatLite::WriteMessageMaybeToArray(int field_number, + const MessageLite& value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_LENGTH_DELIMITED, output); + const int size = value.GetCachedSize(); + output->WriteVarint32(size); + uint8* target = output->GetDirectBufferForNBytesAndAdvance(size); + if (target != NULL) { + uint8* end = value.SerializeWithCachedSizesToArray(target); + GOOGLE_DCHECK_EQ(end - target, size); + } else { + value.SerializeWithCachedSizes(output); + } +} + +bool WireFormatLite::ReadString(io::CodedInputStream* input, + string* value) { + // String is for UTF-8 text only + uint32 length; + if (!input->ReadVarint32(&length)) return false; + if (!input->InternalReadStringInline(value, length)) return false; + return true; +} +bool WireFormatLite::ReadBytes(io::CodedInputStream* input, + string* value) { + uint32 length; + if (!input->ReadVarint32(&length)) return false; + return input->InternalReadStringInline(value, length); +} + +} // namespace internal +} // namespace protobuf +} // namespace google diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/wire_format_lite.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/wire_format_lite.h new file mode 100644 index 0000000000..cb4fc918bd --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/wire_format_lite.h @@ -0,0 +1,622 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// atenasio@google.com (Chris Atenasio) (ZigZag transform) +// wink@google.com (Wink Saville) (refactored from wire_format.h) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. +// +// This header is logically internal, but is made public because it is used +// from protocol-compiler-generated code, which may reside in other components. + +#ifndef GOOGLE_PROTOBUF_WIRE_FORMAT_LITE_H__ +#define GOOGLE_PROTOBUF_WIRE_FORMAT_LITE_H__ + +#include +#include +#include +#include // for CodedOutputStream::Varint32Size + +namespace google { + +namespace protobuf { + template class RepeatedField; // repeated_field.h +} + +namespace protobuf { +namespace internal { + +class StringPieceField; + +// This class is for internal use by the protocol buffer library and by +// protocol-complier-generated message classes. It must not be called +// directly by clients. +// +// This class contains helpers for implementing the binary protocol buffer +// wire format without the need for reflection. Use WireFormat when using +// reflection. +// +// This class is really a namespace that contains only static methods. +class LIBPROTOBUF_EXPORT WireFormatLite { + public: + + // ----------------------------------------------------------------- + // Helper constants and functions related to the format. These are + // mostly meant for internal and generated code to use. + + // The wire format is composed of a sequence of tag/value pairs, each + // of which contains the value of one field (or one element of a repeated + // field). Each tag is encoded as a varint. The lower bits of the tag + // identify its wire type, which specifies the format of the data to follow. + // The rest of the bits contain the field number. Each type of field (as + // declared by FieldDescriptor::Type, in descriptor.h) maps to one of + // these wire types. Immediately following each tag is the field's value, + // encoded in the format specified by the wire type. Because the tag + // identifies the encoding of this data, it is possible to skip + // unrecognized fields for forwards compatibility. + + enum WireType { + WIRETYPE_VARINT = 0, + WIRETYPE_FIXED64 = 1, + WIRETYPE_LENGTH_DELIMITED = 2, + WIRETYPE_START_GROUP = 3, + WIRETYPE_END_GROUP = 4, + WIRETYPE_FIXED32 = 5, + }; + + // Lite alternative to FieldDescriptor::Type. Must be kept in sync. + enum FieldType { + TYPE_DOUBLE = 1, + TYPE_FLOAT = 2, + TYPE_INT64 = 3, + TYPE_UINT64 = 4, + TYPE_INT32 = 5, + TYPE_FIXED64 = 6, + TYPE_FIXED32 = 7, + TYPE_BOOL = 8, + TYPE_STRING = 9, + TYPE_GROUP = 10, + TYPE_MESSAGE = 11, + TYPE_BYTES = 12, + TYPE_UINT32 = 13, + TYPE_ENUM = 14, + TYPE_SFIXED32 = 15, + TYPE_SFIXED64 = 16, + TYPE_SINT32 = 17, + TYPE_SINT64 = 18, + MAX_FIELD_TYPE = 18, + }; + + // Lite alternative to FieldDescriptor::CppType. Must be kept in sync. + enum CppType { + CPPTYPE_INT32 = 1, + CPPTYPE_INT64 = 2, + CPPTYPE_UINT32 = 3, + CPPTYPE_UINT64 = 4, + CPPTYPE_DOUBLE = 5, + CPPTYPE_FLOAT = 6, + CPPTYPE_BOOL = 7, + CPPTYPE_ENUM = 8, + CPPTYPE_STRING = 9, + CPPTYPE_MESSAGE = 10, + MAX_CPPTYPE = 10, + }; + + // Helper method to get the CppType for a particular Type. + static CppType FieldTypeToCppType(FieldType type); + + // Given a FieldSescriptor::Type return its WireType + static inline WireFormatLite::WireType WireTypeForFieldType( + WireFormatLite::FieldType type) { + return kWireTypeForFieldType[type]; + } + + // Number of bits in a tag which identify the wire type. + static const int kTagTypeBits = 3; + // Mask for those bits. + static const uint32 kTagTypeMask = (1 << kTagTypeBits) - 1; + + // Helper functions for encoding and decoding tags. (Inlined below and in + // _inl.h) + // + // This is different from MakeTag(field->number(), field->type()) in the case + // of packed repeated fields. + static uint32 MakeTag(int field_number, WireType type); + static WireType GetTagWireType(uint32 tag); + static int GetTagFieldNumber(uint32 tag); + + // Compute the byte size of a tag. For groups, this includes both the start + // and end tags. + static inline int TagSize(int field_number, WireFormatLite::FieldType type); + + // Skips a field value with the given tag. The input should start + // positioned immediately after the tag. Skipped values are simply discarded, + // not recorded anywhere. See WireFormat::SkipField() for a version that + // records to an UnknownFieldSet. + static bool SkipField(io::CodedInputStream* input, uint32 tag); + + // Reads and ignores a message from the input. Skipped values are simply + // discarded, not recorded anywhere. See WireFormat::SkipMessage() for a + // version that records to an UnknownFieldSet. + static bool SkipMessage(io::CodedInputStream* input); + +// This macro does the same thing as WireFormatLite::MakeTag(), but the +// result is usable as a compile-time constant, which makes it usable +// as a switch case or a template input. WireFormatLite::MakeTag() is more +// type-safe, though, so prefer it if possible. +#define GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG(FIELD_NUMBER, TYPE) \ + static_cast( \ + ((FIELD_NUMBER) << ::google::protobuf::internal::WireFormatLite::kTagTypeBits) \ + | (TYPE)) + + // These are the tags for the old MessageSet format, which was defined as: + // message MessageSet { + // repeated group Item = 1 { + // required int32 type_id = 2; + // required string message = 3; + // } + // } + static const int kMessageSetItemNumber = 1; + static const int kMessageSetTypeIdNumber = 2; + static const int kMessageSetMessageNumber = 3; + static const int kMessageSetItemStartTag = + GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG(kMessageSetItemNumber, + WireFormatLite::WIRETYPE_START_GROUP); + static const int kMessageSetItemEndTag = + GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG(kMessageSetItemNumber, + WireFormatLite::WIRETYPE_END_GROUP); + static const int kMessageSetTypeIdTag = + GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG(kMessageSetTypeIdNumber, + WireFormatLite::WIRETYPE_VARINT); + static const int kMessageSetMessageTag = + GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG(kMessageSetMessageNumber, + WireFormatLite::WIRETYPE_LENGTH_DELIMITED); + + // Byte size of all tags of a MessageSet::Item combined. + static const int kMessageSetItemTagsSize; + + // Helper functions for converting between floats/doubles and IEEE-754 + // uint32s/uint64s so that they can be written. (Assumes your platform + // uses IEEE-754 floats.) + static uint32 EncodeFloat(float value); + static float DecodeFloat(uint32 value); + static uint64 EncodeDouble(double value); + static double DecodeDouble(uint64 value); + + // Helper functions for mapping signed integers to unsigned integers in + // such a way that numbers with small magnitudes will encode to smaller + // varints. If you simply static_cast a negative number to an unsigned + // number and varint-encode it, it will always take 10 bytes, defeating + // the purpose of varint. So, for the "sint32" and "sint64" field types, + // we ZigZag-encode the values. + static uint32 ZigZagEncode32(int32 n); + static int32 ZigZagDecode32(uint32 n); + static uint64 ZigZagEncode64(int64 n); + static int64 ZigZagDecode64(uint64 n); + + // ================================================================= + // Methods for reading/writing individual field. The implementations + // of these methods are defined in wire_format_lite_inl.h; you must #include + // that file to use these. + +// Avoid ugly line wrapping +#define input io::CodedInputStream* input +#define output io::CodedOutputStream* output +#define field_number int field_number +#define INL GOOGLE_ATTRIBUTE_ALWAYS_INLINE + + // Read fields, not including tags. The assumption is that you already + // read the tag to determine what field to read. + + // For primitive fields, we just use a templatized routine parameterized by + // the represented type and the FieldType. These are specialized with the + // appropriate definition for each declared type. + template + static inline bool ReadPrimitive(input, CType* value) INL; + + // Reads repeated primitive values, with optimizations for repeats. + // tag_size and tag should both be compile-time constants provided by the + // protocol compiler. + template + static inline bool ReadRepeatedPrimitive(int tag_size, + uint32 tag, + input, + RepeatedField* value) INL; + + // Identical to ReadRepeatedPrimitive, except will not inline the + // implementation. + template + static bool ReadRepeatedPrimitiveNoInline(int tag_size, + uint32 tag, + input, + RepeatedField* value); + + // Reads a primitive value directly from the provided buffer. It returns a + // pointer past the segment of data that was read. + // + // This is only implemented for the types with fixed wire size, e.g. + // float, double, and the (s)fixed* types. + template + static inline const uint8* ReadPrimitiveFromArray(const uint8* buffer, + CType* value) INL; + + // Reads a primitive packed field. + // + // This is only implemented for packable types. + template + static inline bool ReadPackedPrimitive(input, + RepeatedField* value) INL; + + // Identical to ReadPackedPrimitive, except will not inline the + // implementation. + template + static bool ReadPackedPrimitiveNoInline(input, RepeatedField* value); + + // Read a packed enum field. Values for which is_valid() returns false are + // dropped. + static bool ReadPackedEnumNoInline(input, + bool (*is_valid)(int), + RepeatedField* value); + + static bool ReadString(input, string* value); + static bool ReadBytes (input, string* value); + + static inline bool ReadGroup (field_number, input, MessageLite* value); + static inline bool ReadMessage(input, MessageLite* value); + + // Like above, but de-virtualize the call to MergePartialFromCodedStream(). + // The pointer must point at an instance of MessageType, *not* a subclass (or + // the subclass must not override MergePartialFromCodedStream()). + template + static inline bool ReadGroupNoVirtual(field_number, input, + MessageType* value); + template + static inline bool ReadMessageNoVirtual(input, MessageType* value); + + // Write a tag. The Write*() functions typically include the tag, so + // normally there's no need to call this unless using the Write*NoTag() + // variants. + static inline void WriteTag(field_number, WireType type, output) INL; + + // Write fields, without tags. + static inline void WriteInt32NoTag (int32 value, output) INL; + static inline void WriteInt64NoTag (int64 value, output) INL; + static inline void WriteUInt32NoTag (uint32 value, output) INL; + static inline void WriteUInt64NoTag (uint64 value, output) INL; + static inline void WriteSInt32NoTag (int32 value, output) INL; + static inline void WriteSInt64NoTag (int64 value, output) INL; + static inline void WriteFixed32NoTag (uint32 value, output) INL; + static inline void WriteFixed64NoTag (uint64 value, output) INL; + static inline void WriteSFixed32NoTag(int32 value, output) INL; + static inline void WriteSFixed64NoTag(int64 value, output) INL; + static inline void WriteFloatNoTag (float value, output) INL; + static inline void WriteDoubleNoTag (double value, output) INL; + static inline void WriteBoolNoTag (bool value, output) INL; + static inline void WriteEnumNoTag (int value, output) INL; + + // Write fields, including tags. + static void WriteInt32 (field_number, int32 value, output); + static void WriteInt64 (field_number, int64 value, output); + static void WriteUInt32 (field_number, uint32 value, output); + static void WriteUInt64 (field_number, uint64 value, output); + static void WriteSInt32 (field_number, int32 value, output); + static void WriteSInt64 (field_number, int64 value, output); + static void WriteFixed32 (field_number, uint32 value, output); + static void WriteFixed64 (field_number, uint64 value, output); + static void WriteSFixed32(field_number, int32 value, output); + static void WriteSFixed64(field_number, int64 value, output); + static void WriteFloat (field_number, float value, output); + static void WriteDouble (field_number, double value, output); + static void WriteBool (field_number, bool value, output); + static void WriteEnum (field_number, int value, output); + + static void WriteString(field_number, const string& value, output); + static void WriteBytes (field_number, const string& value, output); + + static void WriteGroup( + field_number, const MessageLite& value, output); + static void WriteMessage( + field_number, const MessageLite& value, output); + // Like above, but these will check if the output stream has enough + // space to write directly to a flat array. + static void WriteGroupMaybeToArray( + field_number, const MessageLite& value, output); + static void WriteMessageMaybeToArray( + field_number, const MessageLite& value, output); + + // Like above, but de-virtualize the call to SerializeWithCachedSizes(). The + // pointer must point at an instance of MessageType, *not* a subclass (or + // the subclass must not override SerializeWithCachedSizes()). + template + static inline void WriteGroupNoVirtual( + field_number, const MessageType& value, output); + template + static inline void WriteMessageNoVirtual( + field_number, const MessageType& value, output); + +#undef output +#define output uint8* target + + // Like above, but use only *ToArray methods of CodedOutputStream. + static inline uint8* WriteTagToArray(field_number, WireType type, output) INL; + + // Write fields, without tags. + static inline uint8* WriteInt32NoTagToArray (int32 value, output) INL; + static inline uint8* WriteInt64NoTagToArray (int64 value, output) INL; + static inline uint8* WriteUInt32NoTagToArray (uint32 value, output) INL; + static inline uint8* WriteUInt64NoTagToArray (uint64 value, output) INL; + static inline uint8* WriteSInt32NoTagToArray (int32 value, output) INL; + static inline uint8* WriteSInt64NoTagToArray (int64 value, output) INL; + static inline uint8* WriteFixed32NoTagToArray (uint32 value, output) INL; + static inline uint8* WriteFixed64NoTagToArray (uint64 value, output) INL; + static inline uint8* WriteSFixed32NoTagToArray(int32 value, output) INL; + static inline uint8* WriteSFixed64NoTagToArray(int64 value, output) INL; + static inline uint8* WriteFloatNoTagToArray (float value, output) INL; + static inline uint8* WriteDoubleNoTagToArray (double value, output) INL; + static inline uint8* WriteBoolNoTagToArray (bool value, output) INL; + static inline uint8* WriteEnumNoTagToArray (int value, output) INL; + + // Write fields, including tags. + static inline uint8* WriteInt32ToArray( + field_number, int32 value, output) INL; + static inline uint8* WriteInt64ToArray( + field_number, int64 value, output) INL; + static inline uint8* WriteUInt32ToArray( + field_number, uint32 value, output) INL; + static inline uint8* WriteUInt64ToArray( + field_number, uint64 value, output) INL; + static inline uint8* WriteSInt32ToArray( + field_number, int32 value, output) INL; + static inline uint8* WriteSInt64ToArray( + field_number, int64 value, output) INL; + static inline uint8* WriteFixed32ToArray( + field_number, uint32 value, output) INL; + static inline uint8* WriteFixed64ToArray( + field_number, uint64 value, output) INL; + static inline uint8* WriteSFixed32ToArray( + field_number, int32 value, output) INL; + static inline uint8* WriteSFixed64ToArray( + field_number, int64 value, output) INL; + static inline uint8* WriteFloatToArray( + field_number, float value, output) INL; + static inline uint8* WriteDoubleToArray( + field_number, double value, output) INL; + static inline uint8* WriteBoolToArray( + field_number, bool value, output) INL; + static inline uint8* WriteEnumToArray( + field_number, int value, output) INL; + + static inline uint8* WriteStringToArray( + field_number, const string& value, output) INL; + static inline uint8* WriteBytesToArray( + field_number, const string& value, output) INL; + + static inline uint8* WriteGroupToArray( + field_number, const MessageLite& value, output) INL; + static inline uint8* WriteMessageToArray( + field_number, const MessageLite& value, output) INL; + + // Like above, but de-virtualize the call to SerializeWithCachedSizes(). The + // pointer must point at an instance of MessageType, *not* a subclass (or + // the subclass must not override SerializeWithCachedSizes()). + template + static inline uint8* WriteGroupNoVirtualToArray( + field_number, const MessageType& value, output) INL; + template + static inline uint8* WriteMessageNoVirtualToArray( + field_number, const MessageType& value, output) INL; + +#undef output +#undef input +#undef INL + +#undef field_number + + // Compute the byte size of a field. The XxSize() functions do NOT include + // the tag, so you must also call TagSize(). (This is because, for repeated + // fields, you should only call TagSize() once and multiply it by the element + // count, but you may have to call XxSize() for each individual element.) + static inline int Int32Size ( int32 value); + static inline int Int64Size ( int64 value); + static inline int UInt32Size (uint32 value); + static inline int UInt64Size (uint64 value); + static inline int SInt32Size ( int32 value); + static inline int SInt64Size ( int64 value); + static inline int EnumSize ( int value); + + // These types always have the same size. + static const int kFixed32Size = 4; + static const int kFixed64Size = 8; + static const int kSFixed32Size = 4; + static const int kSFixed64Size = 8; + static const int kFloatSize = 4; + static const int kDoubleSize = 8; + static const int kBoolSize = 1; + + static inline int StringSize(const string& value); + static inline int BytesSize (const string& value); + + static inline int GroupSize (const MessageLite& value); + static inline int MessageSize(const MessageLite& value); + + // Like above, but de-virtualize the call to ByteSize(). The + // pointer must point at an instance of MessageType, *not* a subclass (or + // the subclass must not override ByteSize()). + template + static inline int GroupSizeNoVirtual (const MessageType& value); + template + static inline int MessageSizeNoVirtual(const MessageType& value); + + // Given the length of data, calculate the byte size of the data on the + // wire if we encode the data as a length delimited field. + static inline int LengthDelimitedSize(int length); + + private: + // A helper method for the repeated primitive reader. This method has + // optimizations for primitive types that have fixed size on the wire, and + // can be read using potentially faster paths. + template + static inline bool ReadRepeatedFixedSizePrimitive( + int tag_size, + uint32 tag, + google::protobuf::io::CodedInputStream* input, + RepeatedField* value) GOOGLE_ATTRIBUTE_ALWAYS_INLINE; + + static const CppType kFieldTypeToCppTypeMap[]; + static const WireFormatLite::WireType kWireTypeForFieldType[]; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(WireFormatLite); +}; + +// A class which deals with unknown values. The default implementation just +// discards them. WireFormat defines a subclass which writes to an +// UnknownFieldSet. This class is used by ExtensionSet::ParseField(), since +// ExtensionSet is part of the lite library but UnknownFieldSet is not. +class LIBPROTOBUF_EXPORT FieldSkipper { + public: + FieldSkipper() {} + virtual ~FieldSkipper() {} + + // Skip a field whose tag has already been consumed. + virtual bool SkipField(io::CodedInputStream* input, uint32 tag); + + // Skip an entire message or group, up to an end-group tag (which is consumed) + // or end-of-stream. + virtual bool SkipMessage(io::CodedInputStream* input); + + // Deal with an already-parsed unrecognized enum value. The default + // implementation does nothing, but the UnknownFieldSet-based implementation + // saves it as an unknown varint. + virtual void SkipUnknownEnum(int field_number, int value); +}; + +// inline methods ==================================================== + +inline WireFormatLite::CppType +WireFormatLite::FieldTypeToCppType(FieldType type) { + return kFieldTypeToCppTypeMap[type]; +} + +inline uint32 WireFormatLite::MakeTag(int field_number, WireType type) { + return GOOGLE_PROTOBUF_WIRE_FORMAT_MAKE_TAG(field_number, type); +} + +inline WireFormatLite::WireType WireFormatLite::GetTagWireType(uint32 tag) { + return static_cast(tag & kTagTypeMask); +} + +inline int WireFormatLite::GetTagFieldNumber(uint32 tag) { + return static_cast(tag >> kTagTypeBits); +} + +inline int WireFormatLite::TagSize(int field_number, + WireFormatLite::FieldType type) { + int result = io::CodedOutputStream::VarintSize32( + field_number << kTagTypeBits); + if (type == TYPE_GROUP) { + // Groups have both a start and an end tag. + return result * 2; + } else { + return result; + } +} + +inline uint32 WireFormatLite::EncodeFloat(float value) { + union {float f; uint32 i;}; + f = value; + return i; +} + +inline float WireFormatLite::DecodeFloat(uint32 value) { + union {float f; uint32 i;}; + i = value; + return f; +} + +inline uint64 WireFormatLite::EncodeDouble(double value) { + union {double f; uint64 i;}; + f = value; + return i; +} + +inline double WireFormatLite::DecodeDouble(uint64 value) { + union {double f; uint64 i;}; + i = value; + return f; +} + +// ZigZag Transform: Encodes signed integers so that they can be +// effectively used with varint encoding. +// +// varint operates on unsigned integers, encoding smaller numbers into +// fewer bytes. If you try to use it on a signed integer, it will treat +// this number as a very large unsigned integer, which means that even +// small signed numbers like -1 will take the maximum number of bytes +// (10) to encode. ZigZagEncode() maps signed integers to unsigned +// in such a way that those with a small absolute value will have smaller +// encoded values, making them appropriate for encoding using varint. +// +// int32 -> uint32 +// ------------------------- +// 0 -> 0 +// -1 -> 1 +// 1 -> 2 +// -2 -> 3 +// ... -> ... +// 2147483647 -> 4294967294 +// -2147483648 -> 4294967295 +// +// >> encode >> +// << decode << + +inline uint32 WireFormatLite::ZigZagEncode32(int32 n) { + // Note: the right-shift must be arithmetic + return (n << 1) ^ (n >> 31); +} + +inline int32 WireFormatLite::ZigZagDecode32(uint32 n) { + return (n >> 1) ^ -static_cast(n & 1); +} + +inline uint64 WireFormatLite::ZigZagEncode64(int64 n) { + // Note: the right-shift must be arithmetic + return (n << 1) ^ (n >> 63); +} + +inline int64 WireFormatLite::ZigZagDecode64(uint64 n) { + return (n >> 1) ^ -static_cast(n & 1); +} + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_WIRE_FORMAT_LITE_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/wire_format_lite_inl.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/wire_format_lite_inl.h new file mode 100644 index 0000000000..641cc92f65 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/protobuf-lite/google/protobuf/wire_format_lite_inl.h @@ -0,0 +1,776 @@ +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// http://code.google.com/p/protobuf/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Author: kenton@google.com (Kenton Varda) +// wink@google.com (Wink Saville) (refactored from wire_format.h) +// Based on original Protocol Buffers design by +// Sanjay Ghemawat, Jeff Dean, and others. + +#ifndef GOOGLE_PROTOBUF_WIRE_FORMAT_LITE_INL_H__ +#define GOOGLE_PROTOBUF_WIRE_FORMAT_LITE_INL_H__ + +#include +#include +#include +#include +#include +#include + + +namespace google { +namespace protobuf { +namespace internal { + +// Implementation details of ReadPrimitive. + +template <> +inline bool WireFormatLite::ReadPrimitive( + io::CodedInputStream* input, + int32* value) { + uint32 temp; + if (!input->ReadVarint32(&temp)) return false; + *value = static_cast(temp); + return true; +} +template <> +inline bool WireFormatLite::ReadPrimitive( + io::CodedInputStream* input, + int64* value) { + uint64 temp; + if (!input->ReadVarint64(&temp)) return false; + *value = static_cast(temp); + return true; +} +template <> +inline bool WireFormatLite::ReadPrimitive( + io::CodedInputStream* input, + uint32* value) { + return input->ReadVarint32(value); +} +template <> +inline bool WireFormatLite::ReadPrimitive( + io::CodedInputStream* input, + uint64* value) { + return input->ReadVarint64(value); +} +template <> +inline bool WireFormatLite::ReadPrimitive( + io::CodedInputStream* input, + int32* value) { + uint32 temp; + if (!input->ReadVarint32(&temp)) return false; + *value = ZigZagDecode32(temp); + return true; +} +template <> +inline bool WireFormatLite::ReadPrimitive( + io::CodedInputStream* input, + int64* value) { + uint64 temp; + if (!input->ReadVarint64(&temp)) return false; + *value = ZigZagDecode64(temp); + return true; +} +template <> +inline bool WireFormatLite::ReadPrimitive( + io::CodedInputStream* input, + uint32* value) { + return input->ReadLittleEndian32(value); +} +template <> +inline bool WireFormatLite::ReadPrimitive( + io::CodedInputStream* input, + uint64* value) { + return input->ReadLittleEndian64(value); +} +template <> +inline bool WireFormatLite::ReadPrimitive( + io::CodedInputStream* input, + int32* value) { + uint32 temp; + if (!input->ReadLittleEndian32(&temp)) return false; + *value = static_cast(temp); + return true; +} +template <> +inline bool WireFormatLite::ReadPrimitive( + io::CodedInputStream* input, + int64* value) { + uint64 temp; + if (!input->ReadLittleEndian64(&temp)) return false; + *value = static_cast(temp); + return true; +} +template <> +inline bool WireFormatLite::ReadPrimitive( + io::CodedInputStream* input, + float* value) { + uint32 temp; + if (!input->ReadLittleEndian32(&temp)) return false; + *value = DecodeFloat(temp); + return true; +} +template <> +inline bool WireFormatLite::ReadPrimitive( + io::CodedInputStream* input, + double* value) { + uint64 temp; + if (!input->ReadLittleEndian64(&temp)) return false; + *value = DecodeDouble(temp); + return true; +} +template <> +inline bool WireFormatLite::ReadPrimitive( + io::CodedInputStream* input, + bool* value) { + uint32 temp; + if (!input->ReadVarint32(&temp)) return false; + *value = temp != 0; + return true; +} +template <> +inline bool WireFormatLite::ReadPrimitive( + io::CodedInputStream* input, + int* value) { + uint32 temp; + if (!input->ReadVarint32(&temp)) return false; + *value = static_cast(temp); + return true; +} + +template <> +inline const uint8* WireFormatLite::ReadPrimitiveFromArray< + uint32, WireFormatLite::TYPE_FIXED32>( + const uint8* buffer, + uint32* value) { + return io::CodedInputStream::ReadLittleEndian32FromArray(buffer, value); +} +template <> +inline const uint8* WireFormatLite::ReadPrimitiveFromArray< + uint64, WireFormatLite::TYPE_FIXED64>( + const uint8* buffer, + uint64* value) { + return io::CodedInputStream::ReadLittleEndian64FromArray(buffer, value); +} +template <> +inline const uint8* WireFormatLite::ReadPrimitiveFromArray< + int32, WireFormatLite::TYPE_SFIXED32>( + const uint8* buffer, + int32* value) { + uint32 temp; + buffer = io::CodedInputStream::ReadLittleEndian32FromArray(buffer, &temp); + *value = static_cast(temp); + return buffer; +} +template <> +inline const uint8* WireFormatLite::ReadPrimitiveFromArray< + int64, WireFormatLite::TYPE_SFIXED64>( + const uint8* buffer, + int64* value) { + uint64 temp; + buffer = io::CodedInputStream::ReadLittleEndian64FromArray(buffer, &temp); + *value = static_cast(temp); + return buffer; +} +template <> +inline const uint8* WireFormatLite::ReadPrimitiveFromArray< + float, WireFormatLite::TYPE_FLOAT>( + const uint8* buffer, + float* value) { + uint32 temp; + buffer = io::CodedInputStream::ReadLittleEndian32FromArray(buffer, &temp); + *value = DecodeFloat(temp); + return buffer; +} +template <> +inline const uint8* WireFormatLite::ReadPrimitiveFromArray< + double, WireFormatLite::TYPE_DOUBLE>( + const uint8* buffer, + double* value) { + uint64 temp; + buffer = io::CodedInputStream::ReadLittleEndian64FromArray(buffer, &temp); + *value = DecodeDouble(temp); + return buffer; +} + +template +inline bool WireFormatLite::ReadRepeatedPrimitive(int, // tag_size, unused. + uint32 tag, + io::CodedInputStream* input, + RepeatedField* values) { + CType value; + if (!ReadPrimitive(input, &value)) return false; + values->Add(value); + int elements_already_reserved = values->Capacity() - values->size(); + while (elements_already_reserved > 0 && input->ExpectTag(tag)) { + if (!ReadPrimitive(input, &value)) return false; + values->AddAlreadyReserved(value); + elements_already_reserved--; + } + return true; +} + +template +inline bool WireFormatLite::ReadRepeatedFixedSizePrimitive( + int tag_size, + uint32 tag, + io::CodedInputStream* input, + RepeatedField* values) { + GOOGLE_DCHECK_EQ(UInt32Size(tag), tag_size); + CType value; + if (!ReadPrimitive(input, &value)) + return false; + values->Add(value); + + // For fixed size values, repeated values can be read more quickly by + // reading directly from a raw array. + // + // We can get a tight loop by only reading as many elements as can be + // added to the RepeatedField without having to do any resizing. Additionally, + // we only try to read as many elements as are available from the current + // buffer space. Doing so avoids having to perform boundary checks when + // reading the value: the maximum number of elements that can be read is + // known outside of the loop. + const void* void_pointer; + int size; + input->GetDirectBufferPointerInline(&void_pointer, &size); + if (size > 0) { + const uint8* buffer = reinterpret_cast(void_pointer); + // The number of bytes each type occupies on the wire. + const int per_value_size = tag_size + sizeof(value); + + int elements_available = min(values->Capacity() - values->size(), + size / per_value_size); + int num_read = 0; + while (num_read < elements_available && + (buffer = io::CodedInputStream::ExpectTagFromArray( + buffer, tag)) != NULL) { + buffer = ReadPrimitiveFromArray(buffer, &value); + values->AddAlreadyReserved(value); + ++num_read; + } + const int read_bytes = num_read * per_value_size; + if (read_bytes > 0) { + input->Skip(read_bytes); + } + } + return true; +} + +// Specializations of ReadRepeatedPrimitive for the fixed size types, which use +// the optimized code path. +#define READ_REPEATED_FIXED_SIZE_PRIMITIVE(CPPTYPE, DECLARED_TYPE) \ +template <> \ +inline bool WireFormatLite::ReadRepeatedPrimitive< \ + CPPTYPE, WireFormatLite::DECLARED_TYPE>( \ + int tag_size, \ + uint32 tag, \ + io::CodedInputStream* input, \ + RepeatedField* values) { \ + return ReadRepeatedFixedSizePrimitive< \ + CPPTYPE, WireFormatLite::DECLARED_TYPE>( \ + tag_size, tag, input, values); \ +} + +READ_REPEATED_FIXED_SIZE_PRIMITIVE(uint32, TYPE_FIXED32) +READ_REPEATED_FIXED_SIZE_PRIMITIVE(uint64, TYPE_FIXED64) +READ_REPEATED_FIXED_SIZE_PRIMITIVE(int32, TYPE_SFIXED32) +READ_REPEATED_FIXED_SIZE_PRIMITIVE(int64, TYPE_SFIXED64) +READ_REPEATED_FIXED_SIZE_PRIMITIVE(float, TYPE_FLOAT) +READ_REPEATED_FIXED_SIZE_PRIMITIVE(double, TYPE_DOUBLE) + +#undef READ_REPEATED_FIXED_SIZE_PRIMITIVE + +template +bool WireFormatLite::ReadRepeatedPrimitiveNoInline( + int tag_size, + uint32 tag, + io::CodedInputStream* input, + RepeatedField* value) { + return ReadRepeatedPrimitive( + tag_size, tag, input, value); +} + +template +inline bool WireFormatLite::ReadPackedPrimitive(io::CodedInputStream* input, + RepeatedField* values) { + uint32 length; + if (!input->ReadVarint32(&length)) return false; + io::CodedInputStream::Limit limit = input->PushLimit(length); + while (input->BytesUntilLimit() > 0) { + CType value; + if (!ReadPrimitive(input, &value)) return false; + values->Add(value); + } + input->PopLimit(limit); + return true; +} + +template +bool WireFormatLite::ReadPackedPrimitiveNoInline(io::CodedInputStream* input, + RepeatedField* values) { + return ReadPackedPrimitive(input, values); +} + + +inline bool WireFormatLite::ReadGroup(int field_number, + io::CodedInputStream* input, + MessageLite* value) { + if (!input->IncrementRecursionDepth()) return false; + if (!value->MergePartialFromCodedStream(input)) return false; + input->DecrementRecursionDepth(); + // Make sure the last thing read was an end tag for this group. + if (!input->LastTagWas(MakeTag(field_number, WIRETYPE_END_GROUP))) { + return false; + } + return true; +} +inline bool WireFormatLite::ReadMessage(io::CodedInputStream* input, + MessageLite* value) { + uint32 length; + if (!input->ReadVarint32(&length)) return false; + if (!input->IncrementRecursionDepth()) return false; + io::CodedInputStream::Limit limit = input->PushLimit(length); + if (!value->MergePartialFromCodedStream(input)) return false; + // Make sure that parsing stopped when the limit was hit, not at an endgroup + // tag. + if (!input->ConsumedEntireMessage()) return false; + input->PopLimit(limit); + input->DecrementRecursionDepth(); + return true; +} + +// We name the template parameter something long and extremely unlikely to occur +// elsewhere because a *qualified* member access expression designed to avoid +// virtual dispatch, C++03 [basic.lookup.classref] 3.4.5/4 requires that the +// name of the qualifying class to be looked up both in the context of the full +// expression (finding the template parameter) and in the context of the object +// whose member we are accessing. This could potentially find a nested type +// within that object. The standard goes on to require these names to refer to +// the same entity, which this collision would violate. The lack of a safe way +// to avoid this collision appears to be a defect in the standard, but until it +// is corrected, we choose the name to avoid accidental collisions. +template +inline bool WireFormatLite::ReadGroupNoVirtual( + int field_number, io::CodedInputStream* input, + MessageType_WorkAroundCppLookupDefect* value) { + if (!input->IncrementRecursionDepth()) return false; + if (!value-> + MessageType_WorkAroundCppLookupDefect::MergePartialFromCodedStream(input)) + return false; + input->DecrementRecursionDepth(); + // Make sure the last thing read was an end tag for this group. + if (!input->LastTagWas(MakeTag(field_number, WIRETYPE_END_GROUP))) { + return false; + } + return true; +} +template +inline bool WireFormatLite::ReadMessageNoVirtual( + io::CodedInputStream* input, MessageType_WorkAroundCppLookupDefect* value) { + uint32 length; + if (!input->ReadVarint32(&length)) return false; + if (!input->IncrementRecursionDepth()) return false; + io::CodedInputStream::Limit limit = input->PushLimit(length); + if (!value-> + MessageType_WorkAroundCppLookupDefect::MergePartialFromCodedStream(input)) + return false; + // Make sure that parsing stopped when the limit was hit, not at an endgroup + // tag. + if (!input->ConsumedEntireMessage()) return false; + input->PopLimit(limit); + input->DecrementRecursionDepth(); + return true; +} + +// =================================================================== + +inline void WireFormatLite::WriteTag(int field_number, WireType type, + io::CodedOutputStream* output) { + output->WriteTag(MakeTag(field_number, type)); +} + +inline void WireFormatLite::WriteInt32NoTag(int32 value, + io::CodedOutputStream* output) { + output->WriteVarint32SignExtended(value); +} +inline void WireFormatLite::WriteInt64NoTag(int64 value, + io::CodedOutputStream* output) { + output->WriteVarint64(static_cast(value)); +} +inline void WireFormatLite::WriteUInt32NoTag(uint32 value, + io::CodedOutputStream* output) { + output->WriteVarint32(value); +} +inline void WireFormatLite::WriteUInt64NoTag(uint64 value, + io::CodedOutputStream* output) { + output->WriteVarint64(value); +} +inline void WireFormatLite::WriteSInt32NoTag(int32 value, + io::CodedOutputStream* output) { + output->WriteVarint32(ZigZagEncode32(value)); +} +inline void WireFormatLite::WriteSInt64NoTag(int64 value, + io::CodedOutputStream* output) { + output->WriteVarint64(ZigZagEncode64(value)); +} +inline void WireFormatLite::WriteFixed32NoTag(uint32 value, + io::CodedOutputStream* output) { + output->WriteLittleEndian32(value); +} +inline void WireFormatLite::WriteFixed64NoTag(uint64 value, + io::CodedOutputStream* output) { + output->WriteLittleEndian64(value); +} +inline void WireFormatLite::WriteSFixed32NoTag(int32 value, + io::CodedOutputStream* output) { + output->WriteLittleEndian32(static_cast(value)); +} +inline void WireFormatLite::WriteSFixed64NoTag(int64 value, + io::CodedOutputStream* output) { + output->WriteLittleEndian64(static_cast(value)); +} +inline void WireFormatLite::WriteFloatNoTag(float value, + io::CodedOutputStream* output) { + output->WriteLittleEndian32(EncodeFloat(value)); +} +inline void WireFormatLite::WriteDoubleNoTag(double value, + io::CodedOutputStream* output) { + output->WriteLittleEndian64(EncodeDouble(value)); +} +inline void WireFormatLite::WriteBoolNoTag(bool value, + io::CodedOutputStream* output) { + output->WriteVarint32(value ? 1 : 0); +} +inline void WireFormatLite::WriteEnumNoTag(int value, + io::CodedOutputStream* output) { + output->WriteVarint32SignExtended(value); +} + +// See comment on ReadGroupNoVirtual to understand the need for this template +// parameter name. +template +inline void WireFormatLite::WriteGroupNoVirtual( + int field_number, const MessageType_WorkAroundCppLookupDefect& value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_START_GROUP, output); + value.MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes(output); + WriteTag(field_number, WIRETYPE_END_GROUP, output); +} +template +inline void WireFormatLite::WriteMessageNoVirtual( + int field_number, const MessageType_WorkAroundCppLookupDefect& value, + io::CodedOutputStream* output) { + WriteTag(field_number, WIRETYPE_LENGTH_DELIMITED, output); + output->WriteVarint32( + value.MessageType_WorkAroundCppLookupDefect::GetCachedSize()); + value.MessageType_WorkAroundCppLookupDefect::SerializeWithCachedSizes(output); +} + +// =================================================================== + +inline uint8* WireFormatLite::WriteTagToArray(int field_number, + WireType type, + uint8* target) { + return io::CodedOutputStream::WriteTagToArray(MakeTag(field_number, type), + target); +} + +inline uint8* WireFormatLite::WriteInt32NoTagToArray(int32 value, + uint8* target) { + return io::CodedOutputStream::WriteVarint32SignExtendedToArray(value, target); +} +inline uint8* WireFormatLite::WriteInt64NoTagToArray(int64 value, + uint8* target) { + return io::CodedOutputStream::WriteVarint64ToArray( + static_cast(value), target); +} +inline uint8* WireFormatLite::WriteUInt32NoTagToArray(uint32 value, + uint8* target) { + return io::CodedOutputStream::WriteVarint32ToArray(value, target); +} +inline uint8* WireFormatLite::WriteUInt64NoTagToArray(uint64 value, + uint8* target) { + return io::CodedOutputStream::WriteVarint64ToArray(value, target); +} +inline uint8* WireFormatLite::WriteSInt32NoTagToArray(int32 value, + uint8* target) { + return io::CodedOutputStream::WriteVarint32ToArray(ZigZagEncode32(value), + target); +} +inline uint8* WireFormatLite::WriteSInt64NoTagToArray(int64 value, + uint8* target) { + return io::CodedOutputStream::WriteVarint64ToArray(ZigZagEncode64(value), + target); +} +inline uint8* WireFormatLite::WriteFixed32NoTagToArray(uint32 value, + uint8* target) { + return io::CodedOutputStream::WriteLittleEndian32ToArray(value, target); +} +inline uint8* WireFormatLite::WriteFixed64NoTagToArray(uint64 value, + uint8* target) { + return io::CodedOutputStream::WriteLittleEndian64ToArray(value, target); +} +inline uint8* WireFormatLite::WriteSFixed32NoTagToArray(int32 value, + uint8* target) { + return io::CodedOutputStream::WriteLittleEndian32ToArray( + static_cast(value), target); +} +inline uint8* WireFormatLite::WriteSFixed64NoTagToArray(int64 value, + uint8* target) { + return io::CodedOutputStream::WriteLittleEndian64ToArray( + static_cast(value), target); +} +inline uint8* WireFormatLite::WriteFloatNoTagToArray(float value, + uint8* target) { + return io::CodedOutputStream::WriteLittleEndian32ToArray(EncodeFloat(value), + target); +} +inline uint8* WireFormatLite::WriteDoubleNoTagToArray(double value, + uint8* target) { + return io::CodedOutputStream::WriteLittleEndian64ToArray(EncodeDouble(value), + target); +} +inline uint8* WireFormatLite::WriteBoolNoTagToArray(bool value, + uint8* target) { + return io::CodedOutputStream::WriteVarint32ToArray(value ? 1 : 0, target); +} +inline uint8* WireFormatLite::WriteEnumNoTagToArray(int value, + uint8* target) { + return io::CodedOutputStream::WriteVarint32SignExtendedToArray(value, target); +} + +inline uint8* WireFormatLite::WriteInt32ToArray(int field_number, + int32 value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_VARINT, target); + return WriteInt32NoTagToArray(value, target); +} +inline uint8* WireFormatLite::WriteInt64ToArray(int field_number, + int64 value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_VARINT, target); + return WriteInt64NoTagToArray(value, target); +} +inline uint8* WireFormatLite::WriteUInt32ToArray(int field_number, + uint32 value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_VARINT, target); + return WriteUInt32NoTagToArray(value, target); +} +inline uint8* WireFormatLite::WriteUInt64ToArray(int field_number, + uint64 value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_VARINT, target); + return WriteUInt64NoTagToArray(value, target); +} +inline uint8* WireFormatLite::WriteSInt32ToArray(int field_number, + int32 value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_VARINT, target); + return WriteSInt32NoTagToArray(value, target); +} +inline uint8* WireFormatLite::WriteSInt64ToArray(int field_number, + int64 value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_VARINT, target); + return WriteSInt64NoTagToArray(value, target); +} +inline uint8* WireFormatLite::WriteFixed32ToArray(int field_number, + uint32 value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_FIXED32, target); + return WriteFixed32NoTagToArray(value, target); +} +inline uint8* WireFormatLite::WriteFixed64ToArray(int field_number, + uint64 value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_FIXED64, target); + return WriteFixed64NoTagToArray(value, target); +} +inline uint8* WireFormatLite::WriteSFixed32ToArray(int field_number, + int32 value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_FIXED32, target); + return WriteSFixed32NoTagToArray(value, target); +} +inline uint8* WireFormatLite::WriteSFixed64ToArray(int field_number, + int64 value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_FIXED64, target); + return WriteSFixed64NoTagToArray(value, target); +} +inline uint8* WireFormatLite::WriteFloatToArray(int field_number, + float value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_FIXED32, target); + return WriteFloatNoTagToArray(value, target); +} +inline uint8* WireFormatLite::WriteDoubleToArray(int field_number, + double value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_FIXED64, target); + return WriteDoubleNoTagToArray(value, target); +} +inline uint8* WireFormatLite::WriteBoolToArray(int field_number, + bool value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_VARINT, target); + return WriteBoolNoTagToArray(value, target); +} +inline uint8* WireFormatLite::WriteEnumToArray(int field_number, + int value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_VARINT, target); + return WriteEnumNoTagToArray(value, target); +} + +inline uint8* WireFormatLite::WriteStringToArray(int field_number, + const string& value, + uint8* target) { + // String is for UTF-8 text only + // WARNING: In wire_format.cc, both strings and bytes are handled by + // WriteString() to avoid code duplication. If the implementations become + // different, you will need to update that usage. + target = WriteTagToArray(field_number, WIRETYPE_LENGTH_DELIMITED, target); + target = io::CodedOutputStream::WriteVarint32ToArray(value.size(), target); + return io::CodedOutputStream::WriteStringToArray(value, target); +} +inline uint8* WireFormatLite::WriteBytesToArray(int field_number, + const string& value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_LENGTH_DELIMITED, target); + target = io::CodedOutputStream::WriteVarint32ToArray(value.size(), target); + return io::CodedOutputStream::WriteStringToArray(value, target); +} + + +inline uint8* WireFormatLite::WriteGroupToArray(int field_number, + const MessageLite& value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_START_GROUP, target); + target = value.SerializeWithCachedSizesToArray(target); + return WriteTagToArray(field_number, WIRETYPE_END_GROUP, target); +} +inline uint8* WireFormatLite::WriteMessageToArray(int field_number, + const MessageLite& value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_LENGTH_DELIMITED, target); + target = io::CodedOutputStream::WriteVarint32ToArray( + value.GetCachedSize(), target); + return value.SerializeWithCachedSizesToArray(target); +} + +// See comment on ReadGroupNoVirtual to understand the need for this template +// parameter name. +template +inline uint8* WireFormatLite::WriteGroupNoVirtualToArray( + int field_number, const MessageType_WorkAroundCppLookupDefect& value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_START_GROUP, target); + target = value.MessageType_WorkAroundCppLookupDefect + ::SerializeWithCachedSizesToArray(target); + return WriteTagToArray(field_number, WIRETYPE_END_GROUP, target); +} +template +inline uint8* WireFormatLite::WriteMessageNoVirtualToArray( + int field_number, const MessageType_WorkAroundCppLookupDefect& value, + uint8* target) { + target = WriteTagToArray(field_number, WIRETYPE_LENGTH_DELIMITED, target); + target = io::CodedOutputStream::WriteVarint32ToArray( + value.MessageType_WorkAroundCppLookupDefect::GetCachedSize(), target); + return value.MessageType_WorkAroundCppLookupDefect + ::SerializeWithCachedSizesToArray(target); +} + +// =================================================================== + +inline int WireFormatLite::Int32Size(int32 value) { + return io::CodedOutputStream::VarintSize32SignExtended(value); +} +inline int WireFormatLite::Int64Size(int64 value) { + return io::CodedOutputStream::VarintSize64(static_cast(value)); +} +inline int WireFormatLite::UInt32Size(uint32 value) { + return io::CodedOutputStream::VarintSize32(value); +} +inline int WireFormatLite::UInt64Size(uint64 value) { + return io::CodedOutputStream::VarintSize64(value); +} +inline int WireFormatLite::SInt32Size(int32 value) { + return io::CodedOutputStream::VarintSize32(ZigZagEncode32(value)); +} +inline int WireFormatLite::SInt64Size(int64 value) { + return io::CodedOutputStream::VarintSize64(ZigZagEncode64(value)); +} +inline int WireFormatLite::EnumSize(int value) { + return io::CodedOutputStream::VarintSize32SignExtended(value); +} + +inline int WireFormatLite::StringSize(const string& value) { + return io::CodedOutputStream::VarintSize32(value.size()) + + value.size(); +} +inline int WireFormatLite::BytesSize(const string& value) { + return io::CodedOutputStream::VarintSize32(value.size()) + + value.size(); +} + + +inline int WireFormatLite::GroupSize(const MessageLite& value) { + return value.ByteSize(); +} +inline int WireFormatLite::MessageSize(const MessageLite& value) { + return LengthDelimitedSize(value.ByteSize()); +} + +// See comment on ReadGroupNoVirtual to understand the need for this template +// parameter name. +template +inline int WireFormatLite::GroupSizeNoVirtual( + const MessageType_WorkAroundCppLookupDefect& value) { + return value.MessageType_WorkAroundCppLookupDefect::ByteSize(); +} +template +inline int WireFormatLite::MessageSizeNoVirtual( + const MessageType_WorkAroundCppLookupDefect& value) { + return LengthDelimitedSize( + value.MessageType_WorkAroundCppLookupDefect::ByteSize()); +} + +inline int WireFormatLite::LengthDelimitedSize(int length) { + return io::CodedOutputStream::VarintSize32(length) + length; +} + +} // namespace internal +} // namespace protobuf + +} // namespace google +#endif // GOOGLE_PROTOBUF_WIRE_FORMAT_LITE_INL_H__ diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Landscape_png.cpp b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Landscape_png.cpp new file mode 100644 index 0000000000..35b3f37144 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Landscape_png.cpp @@ -0,0 +1,7243 @@ +#include "ResData.h" +const unsigned char __landscapePngData[115832] = { +0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, +0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x20, 0x08, 0x03, 0x00, 0x00, 0x00, 0x4B, 0x46, 0x3F, +0xC9, 0x00, 0x00, 0x02, 0x28, 0x50, 0x4C, 0x54, 0x45, 0x0B, 0x4B, 0xAB, 0x10, 0x65, 0xCC, 0x13, +0x6D, 0xD3, 0x0C, 0x54, 0xB9, 0x13, 0x78, 0xDB, 0x16, 0x88, 0xE5, 0x0A, 0x43, 0x9E, 0x09, 0x45, +0xA2, 0x10, 0x60, 0xC5, 0x0A, 0x48, 0xA6, 0x11, 0x71, 0xD7, 0x1A, 0x8D, 0xE9, 0x46, 0x7C, 0xE1, +0x12, 0x68, 0xCE, 0x17, 0x8F, 0xE8, 0x0D, 0x58, 0xBE, 0x23, 0xAA, 0xF5, 0x1C, 0x82, 0xE3, 0x1F, +0x99, 0xF1, 0x25, 0xAE, 0xF5, 0x14, 0x57, 0xB8, 0x16, 0x7E, 0xE1, 0x21, 0x9E, 0xF2, 0x16, 0x84, +0xE3, 0x21, 0xA3, 0xF3, 0x1E, 0xA2, 0xF1, 0x0E, 0x5C, 0xC2, 0x0C, 0x51, 0xB4, 0x10, 0x53, 0xB2, +0x4B, 0x7D, 0xDF, 0x0B, 0x4E, 0xB0, 0x19, 0x78, 0xDA, 0x1C, 0x9B, 0xEF, 0x52, 0x83, 0xDE, 0x49, +0x96, 0xEC, 0x29, 0xB9, 0xF6, 0x19, 0x5A, 0xBE, 0x12, 0x7E, 0xDE, 0x42, 0x79, 0xDF, 0x19, 0x91, +0xEC, 0x29, 0xB3, 0xF4, 0x0D, 0x4F, 0xAE, 0x21, 0x7C, 0xE2, 0x3E, 0x87, 0xE7, 0x33, 0xA4, 0xF3, +0x32, 0x9A, 0xF1, 0x22, 0x74, 0xDB, 0x2C, 0xC0, 0xF7, 0x10, 0x5A, 0xBD, 0x25, 0xB3, 0xF7, 0x33, +0x82, 0xE6, 0x25, 0x76, 0xE1, 0x38, 0x73, 0xD9, 0x5F, 0xBD, 0xEB, 0x2B, 0xA5, 0xF4, 0x26, 0x84, +0xE9, 0x1A, 0x8A, 0xE8, 0x59, 0x9E, 0xEE, 0x40, 0x9A, 0xF0, 0x3C, 0xA4, 0xF1, 0x4B, 0x82, 0xE3, +0x43, 0xA2, 0xF0, 0x22, 0x5F, 0xC5, 0x53, 0x8A, 0xE5, 0x46, 0x92, 0xE8, 0x13, 0x82, 0xE0, 0x31, +0x8A, 0xEA, 0x20, 0x93, 0xF1, 0x45, 0x84, 0xE4, 0x24, 0x80, 0xE5, 0x4A, 0x8D, 0xE2, 0x4B, 0xA2, +0xEE, 0x50, 0x92, 0xEB, 0x3B, 0x9E, 0xF2, 0x0F, 0x6E, 0xD4, 0x46, 0x8F, 0xEA, 0x21, 0xA8, 0xF3, +0x1E, 0x85, 0xEA, 0x2A, 0x9C, 0xEF, 0x12, 0x75, 0xDA, 0x33, 0xBD, 0xF0, 0x4A, 0x8C, 0xEA, 0x51, +0xA1, 0xED, 0x20, 0x79, 0xDF, 0x45, 0x9B, 0xEE, 0x2D, 0x7D, 0xE7, 0x18, 0x64, 0xC9, 0x4A, 0x87, +0xE6, 0x0E, 0x62, 0xCA, 0x30, 0x95, 0xEE, 0x39, 0x88, 0xE8, 0x13, 0x79, 0xDE, 0x19, 0x97, 0xEB, +0x3C, 0x7C, 0xDF, 0x45, 0xC2, 0xEC, 0x4C, 0xA9, 0xED, 0x49, 0x88, 0xDE, 0x58, 0xA2, 0xDD, 0x23, +0x8C, 0xEB, 0x3B, 0xAC, 0xF2, 0x1B, 0x6C, 0xD2, 0x2E, 0x68, 0xCF, 0x33, 0x8E, 0xED, 0x2A, 0x7A, +0xE5, 0x32, 0x73, 0xD9, 0x29, 0x73, 0xDD, 0x1A, 0x73, 0xD6, 0x5D, 0xB4, 0xE8, 0x1C, 0x96, 0xEF, +0x1F, 0x62, 0xC7, 0x35, 0xC4, 0xF2, 0x1B, 0x75, 0xDB, 0x23, 0x69, 0xD1, 0x3A, 0x97, 0xF0, 0x3C, +0xD1, 0xF8, 0x57, 0xAE, 0xEA, 0x3C, 0xCD, 0xF5, 0x24, 0x95, 0xEE, 0x4F, 0x9D, 0xE9, 0x2B, 0x8A, +0xEC, 0x54, 0xB4, 0xED, 0x36, 0xC8, 0xF7, 0x44, 0xAE, 0xF0, 0x42, 0x93, 0xEB, 0x4C, 0x92, 0xE5, +0x4D, 0x98, 0xE8, 0x54, 0x99, 0xD9, 0x31, 0xC6, 0xF9, 0x46, 0x8A, 0xE5, 0x18, 0x95, 0xED, 0x5C, +0xAC, 0xE2, 0x3A, 0x92, 0xEC, 0x48, 0xD6, 0xF6, 0x42, 0xB5, 0xEF, 0x2B, 0x91, 0xF1, 0x59, 0xC5, +0xEC, 0x5A, 0x90, 0xE7, 0x2A, 0xAB, 0xF2, 0x58, 0xA7, 0xE4, 0x65, 0xE0, 0xE9, 0x56, 0xD6, 0xE6, +0x4C, 0xD4, 0xE9, 0x2B, 0x68, 0xCF, 0x49, 0x9A, 0xED, 0x2F, 0xB6, 0xF0, 0x32, 0xAB, 0xF1, 0x5B, +0x96, 0xE9, 0x37, 0xB6, 0xEF, 0x53, 0x9B, 0xE0, 0x4C, 0xCD, 0xE7, 0x4E, 0xD9, 0xF3, 0x55, 0xA2, +0xE6, 0x2A, 0x9A, 0xF3, 0x50, 0xBB, 0xED, 0x2C, 0x81, 0xE3, 0x4F, 0xC9, 0xE9, 0x44, 0xD1, 0xF2, +0x43, 0xA7, 0xF0, 0x42, 0xC7, 0xEA, 0x50, 0x95, 0xDF, 0x2D, 0x78, 0xE0, 0x3A, 0x8A, 0xEA, 0x60, +0xE1, 0xF6, 0x66, 0xC7, 0xEA, 0x23, 0x74, 0xD3, 0x1E, 0x8D, 0xEF, 0x34, 0x7C, 0xE3, 0x75, 0xE7, +0xF2, 0x45, 0xCD, 0xEB, 0x25, 0x8D, 0xEF, 0x58, 0xDC, 0xEF, 0x3A, 0xC6, 0xEE, 0x55, 0xDC, 0xF7, +0x09, 0x47, 0xA9, 0x6A, 0xE3, 0xF3, 0x4F, 0x91, 0xDB, 0x61, 0xD1, 0xE8, 0x6A, 0xCE, 0xEA, 0x81, +0xE8, 0xEE, 0x5E, 0xDB, 0xE1, 0x58, 0xD7, 0xE1, 0x1C, 0x60, 0xBC, 0x18, 0x50, 0xA6, 0x1B, 0x5B, +0xB6, 0x7B, 0xE8, 0x63, 0xCA, 0x00, 0x01, 0xC2, 0x0B, 0x49, 0x44, 0x41, 0x54, 0x78, 0xDA, 0xE4, +0x9D, 0xCB, 0x6B, 0x6B, 0x55, 0x14, 0xC6, 0x73, 0x5B, 0xF0, 0xA6, 0x42, 0xB8, 0x93, 0x3B, 0xB2, +0x2F, 0xEC, 0xEC, 0x12, 0x08, 0x25, 0x19, 0x09, 0x05, 0x3B, 0x08, 0x41, 0xC8, 0x48, 0x24, 0x55, +0x02, 0x85, 0x16, 0x02, 0x21, 0x01, 0xA9, 0x23, 0x27, 0xAD, 0x21, 0x38, 0x72, 0x2C, 0x8E, 0x9C, +0xDC, 0x14, 0xC2, 0x99, 0x76, 0xA4, 0xFE, 0x7B, 0xAE, 0xB5, 0x1F, 0xF9, 0x4E, 0xB2, 0x1F, 0x6B, +0x9D, 0x36, 0x55, 0x5B, 0xBF, 0xB5, 0xF7, 0x3E, 0xE7, 0x24, 0xF5, 0xDA, 0x36, 0x3B, 0xBF, 0x7C, +0x6B, 0x3F, 0x4E, 0x6B, 0x7F, 0xFE, 0x7F, 0xF4, 0x81, 0x9B, 0x03, 0xAA, 0x7C, 0xC8, 0xC5, 0xC1, +0x9F, 0x7F, 0x99, 0xA0, 0xA3, 0x3F, 0x33, 0x07, 0x04, 0x9E, 0x3C, 0xF8, 0xCB, 0x17, 0x6E, 0xFE, +0xF8, 0x2B, 0xA9, 0x3F, 0xD6, 0xF5, 0x3D, 0x89, 0x9A, 0xB0, 0x52, 0xAC, 0x6B, 0xF9, 0xC3, 0xF2, +0xFB, 0x64, 0xD0, 0x93, 0x1C, 0x54, 0x46, 0xDC, 0xE8, 0xB5, 0xD8, 0x92, 0x8A, 0x44, 0xAC, 0x1A, +0x04, 0x44, 0x17, 0xED, 0xE6, 0x65, 0x7B, 0x78, 0xD9, 0x6E, 0xC7, 0xDA, 0x66, 0x97, 0xC2, 0x97, +0x76, 0xB7, 0x39, 0x6F, 0xA6, 0x34, 0xEF, 0xDF, 0x7D, 0xDD, 0x5F, 0xC5, 0xD7, 0x77, 0x3F, 0xFE, +0xF8, 0x53, 0x4A, 0x5F, 0xA0, 0xFC, 0xF8, 0xEB, 0x8F, 0x3F, 0xFE, 0x7A, 0xF7, 0xCB, 0x57, 0x1F, +0xBF, 0x8A, 0x96, 0x5F, 0xEF, 0xBE, 0x54, 0xEB, 0x97, 0x07, 0x1F, 0x5F, 0x3E, 0xFC, 0x42, 0x65, +0xF6, 0xEB, 0x2C, 0x5E, 0x7E, 0x99, 0xFD, 0x7C, 0x5D, 0xD2, 0xAF, 0xD7, 0x3F, 0xA7, 0x45, 0xCF, +0xAE, 0x7D, 0x2D, 0xFE, 0x95, 0xA0, 0x7C, 0x49, 0xFF, 0xCF, 0x52, 0x7C, 0xA9, 0x17, 0xFD, 0xA4, +0xF1, 0xF2, 0xCB, 0xDD, 0xAF, 0xE6, 0xD7, 0x84, 0x92, 0xD6, 0x8F, 0xE5, 0x5F, 0x3F, 0xBD, 0x16, +0xF3, 0x66, 0x5A, 0xDD, 0x36, 0x5E, 0x54, 0x8A, 0x76, 0xF2, 0xF5, 0x6F, 0xB6, 0x8B, 0x75, 0xA1, +0x9B, 0xB9, 0xB3, 0xCD, 0x53, 0x44, 0x65, 0xD5, 0x3E, 0xA9, 0xA6, 0x3F, 0x4D, 0x50, 0xF9, 0x4F, +0xEA, 0x6D, 0x46, 0x7B, 0x54, 0xB8, 0x71, 0x87, 0x3D, 0xBD, 0x6A, 0x51, 0x7D, 0xE0, 0xE6, 0x88, +0xE2, 0x03, 0xC5, 0x91, 0xA9, 0xB5, 0xFD, 0x84, 0x3E, 0x1C, 0xED, 0xEF, 0x6E, 0xE8, 0x34, 0xAD, +0xCF, 0x3E, 0xAB, 0x7F, 0x56, 0x56, 0xFD, 0x0D, 0xC5, 0x77, 0x17, 0xF5, 0xEF, 0x82, 0xC3, 0x45, +0xA3, 0xF1, 0x86, 0xF5, 0x1D, 0x55, 0x12, 0x5D, 0xEE, 0xC4, 0xD5, 0xD8, 0x19, 0x6D, 0xC4, 0x34, +0xA3, 0xE3, 0xE9, 0x4D, 0x39, 0x5A, 0xAC, 0x65, 0x58, 0x22, 0x8F, 0xB5, 0x26, 0xA9, 0x08, 0xB4, +0x18, 0x8C, 0x17, 0x8B, 0x31, 0x85, 0x29, 0xE5, 0xF3, 0xC2, 0x9E, 0x0E, 0x16, 0xA6, 0xA5, 0xEB, +0xA2, 0x9D, 0x2A, 0xCD, 0x4D, 0x9D, 0x9C, 0x9C, 0xE7, 0x74, 0x87, 0xD3, 0xFE, 0xFC, 0x6A, 0xDE, +0x8B, 0x45, 0xAF, 0xDB, 0x3D, 0xEB, 0x5E, 0xAD, 0xC7, 0x61, 0x22, 0x58, 0x9F, 0xDB, 0x42, 0x41, +0x0F, 0x3C, 0xC4, 0x45, 0x8F, 0xCF, 0xD6, 0xF5, 0x30, 0xBB, 0x4E, 0x69, 0xB6, 0x29, 0xFE, 0xEF, +0xE3, 0xE2, 0xFF, 0xEB, 0x5A, 0x39, 0x4C, 0x46, 0x77, 0x23, 0x12, 0x3F, 0xFD, 0x7C, 0x3E, 0xEF, +0xE1, 0x97, 0x65, 0xDA, 0x8C, 0xE6, 0xC3, 0xE6, 0x9A, 0x98, 0x5D, 0xA9, 0x32, 0x2E, 0xCA, 0x2F, +0x2A, 0x45, 0xF8, 0xFA, 0xBB, 0x27, 0x27, 0x9B, 0x6A, 0x25, 0x22, 0xEC, 0x97, 0x38, 0x0D, 0x9E, +0x71, 0xDD, 0x19, 0x61, 0x54, 0xFB, 0xE4, 0x55, 0xE9, 0xAD, 0x5A, 0x7B, 0xA9, 0x90, 0x01, 0x08, +0x1D, 0x6D, 0xC6, 0x87, 0x04, 0x00, 0xF7, 0x0F, 0x36, 0xF8, 0xB7, 0xBF, 0xFB, 0x2E, 0xC5, 0x3F, +0x87, 0x3F, 0xA8, 0x5E, 0x67, 0xE4, 0xD5, 0x2F, 0x6C, 0xE5, 0x0B, 0x7F, 0xF5, 0xA6, 0xF1, 0xA6, +0x71, 0x81, 0x20, 0x04, 0x12, 0xEB, 0x22, 0x1A, 0x11, 0x18, 0xA7, 0xE5, 0xC8, 0x12, 0xB0, 0xB5, +0x1E, 0xF4, 0x40, 0x46, 0x4B, 0xB4, 0x7C, 0x98, 0x2C, 0xA3, 0x01, 0x00, 0x42, 0xDC, 0xEB, 0x7D, +0x2C, 0xF0, 0x6E, 0x18, 0x33, 0xF1, 0xB8, 0xD8, 0x66, 0x31, 0xA0, 0x12, 0x7F, 0x47, 0x81, 0x7F, +0xD0, 0x3D, 0x00, 0x28, 0xA9, 0x37, 0x8F, 0xA9, 0x37, 0xBF, 0x32, 0xFC, 0xF3, 0xA2, 0x53, 0x4B, +0xC0, 0xB3, 0xAB, 0xA0, 0x38, 0x02, 0x42, 0xFC, 0x00, 0xE3, 0x2E, 0x52, 0x66, 0xA1, 0xAE, 0xE1, +0x09, 0xA1, 0x9F, 0x89, 0x7F, 0x31, 0x02, 0x46, 0x0B, 0xBE, 0x01, 0x28, 0xFE, 0x9D, 0x32, 0xF3, +0x36, 0xC4, 0xB0, 0x0B, 0x04, 0xFE, 0x69, 0x74, 0xDF, 0x84, 0xF2, 0x04, 0x6C, 0x13, 0xFD, 0xF0, +0xAA, 0x52, 0xD0, 0xD5, 0x22, 0x78, 0xFD, 0x6D, 0x74, 0x26, 0xA1, 0x96, 0xF1, 0x08, 0x3B, 0x60, +0x52, 0xC7, 0xEB, 0xBD, 0x1A, 0x00, 0xAC, 0xE6, 0xFF, 0xFE, 0xC3, 0xF6, 0xAF, 0x1A, 0x01, 0xAB, +0x78, 0x40, 0x89, 0x7F, 0x88, 0x5A, 0x1C, 0x7F, 0x1F, 0x76, 0x03, 0x1D, 0xEC, 0x9E, 0x7E, 0x96, +0xE7, 0x1F, 0xC4, 0xCC, 0xBB, 0xF0, 0xD0, 0xA3, 0xF0, 0x4D, 0xE3, 0xCD, 0x05, 0x45, 0xC3, 0x17, +0xBE, 0x24, 0xD8, 0xED, 0x04, 0x41, 0x0F, 0x32, 0xF3, 0x10, 0x74, 0x45, 0x44, 0x4C, 0xE8, 0x86, +0xA2, 0x54, 0xB8, 0xB7, 0xDC, 0xE4, 0xE8, 0xB7, 0xA4, 0x82, 0x03, 0xA1, 0x8E, 0xCA, 0x32, 0x68, +0x43, 0x75, 0xA8, 0xCB, 0x87, 0x31, 0x36, 0xC4, 0x5B, 0xF0, 0x5B, 0xC4, 0x1E, 0xF9, 0x2C, 0x01, +0xC0, 0x61, 0x2C, 0x29, 0x3E, 0x57, 0xAB, 0x7F, 0x15, 0x05, 0xA0, 0xE1, 0x1F, 0x15, 0x44, 0xD7, +0xB0, 0xEE, 0xF0, 0xEC, 0x70, 0xBD, 0x05, 0x7D, 0x40, 0x22, 0xE3, 0x01, 0x25, 0xFE, 0xC1, 0x03, +0xFE, 0xBC, 0x51, 0x66, 0xC4, 0xBF, 0x98, 0x1E, 0xAE, 0xC2, 0x7F, 0x95, 0xEA, 0xE7, 0xFE, 0xFF, +0x8A, 0x96, 0xBF, 0x33, 0xAE, 0x68, 0xE3, 0x06, 0x90, 0xD1, 0x3E, 0xEF, 0x3D, 0x8D, 0x7F, 0xFD, +0x66, 0x44, 0x71, 0xFC, 0x39, 0xEA, 0x0D, 0x16, 0xAE, 0xD2, 0x05, 0x19, 0xFD, 0x68, 0xC0, 0x00, +0x42, 0x89, 0x5E, 0xE5, 0xBA, 0x20, 0xBA, 0x61, 0x5A, 0xD3, 0xB0, 0x57, 0x57, 0x07, 0xE0, 0x7F, +0x1E, 0x7F, 0x4F, 0xF7, 0x80, 0x71, 0x25, 0xF8, 0x77, 0x14, 0x27, 0xA0, 0xEC, 0xFF, 0x0E, 0x32, +0x59, 0x30, 0xF8, 0x07, 0x51, 0xCA, 0x4B, 0x49, 0x2F, 0x63, 0xD0, 0xFA, 0x3F, 0x0A, 0x12, 0xFB, +0x3F, 0x32, 0x7D, 0xAE, 0xB8, 0x43, 0x63, 0x87, 0xFC, 0xDE, 0xA6, 0x3C, 0xF6, 0x7C, 0xF0, 0x55, +0xCA, 0x03, 0xB6, 0x82, 0x60, 0x24, 0xE6, 0xF0, 0x87, 0xC3, 0x92, 0x8B, 0x75, 0x7C, 0xEB, 0x6D, +0x5C, 0xB1, 0xEE, 0xCF, 0xEF, 0x12, 0x13, 0xC5, 0xD8, 0x84, 0x39, 0x1B, 0x44, 0xF9, 0x17, 0x7D, +0xFB, 0x0D, 0xFB, 0x8F, 0xF3, 0x80, 0xE0, 0x5F, 0x00, 0x0A, 0x47, 0x40, 0x9B, 0x09, 0xA3, 0x3D, +0x5B, 0xA7, 0x1F, 0xCE, 0x23, 0x19, 0xF0, 0x2C, 0xA1, 0x9F, 0xA5, 0xFC, 0x17, 0x04, 0xA4, 0xD8, +0x50, 0x40, 0x3F, 0xFF, 0x80, 0x4B, 0xD9, 0xE9, 0x1B, 0x3F, 0xEC, 0xDA, 0x6F, 0x95, 0x4E, 0xC3, +0xE8, 0xCE, 0x63, 0x04, 0x3C, 0xD7, 0xEA, 0xB6, 0xDF, 0x8C, 0x69, 0x18, 0x05, 0xE0, 0xC2, 0x78, +0x3E, 0x1B, 0x60, 0xE1, 0x18, 0x11, 0xF7, 0x7F, 0x50, 0xAC, 0x57, 0xA1, 0x07, 0x52, 0x23, 0x40, +0x30, 0xDA, 0xAB, 0xAB, 0x02, 0xF0, 0xCF, 0x17, 0x40, 0xC1, 0xB7, 0xFF, 0x98, 0x07, 0x24, 0xFC, +0x85, 0x81, 0x2C, 0x38, 0xC2, 0x3F, 0x71, 0x1C, 0xF0, 0x1D, 0xFB, 0xBF, 0x98, 0x5C, 0x0E, 0xEC, +0xC0, 0x57, 0x37, 0x20, 0xE4, 0x9C, 0x97, 0x62, 0x13, 0x81, 0x0D, 0xCA, 0x82, 0xD7, 0xFD, 0x1F, +0x85, 0xC3, 0x1E, 0xC2, 0x5C, 0xE6, 0xFC, 0x5F, 0x0B, 0x6D, 0x8B, 0x42, 0x74, 0x80, 0x68, 0x7C, +0xEF, 0x44, 0x6F, 0xED, 0x4C, 0xE2, 0xEA, 0xC4, 0x0C, 0xE0, 0xFA, 0x5B, 0x64, 0x60, 0x4F, 0x9D, +0x8D, 0x20, 0xA1, 0x1D, 0x36, 0xA3, 0x1A, 0xF6, 0x6F, 0x9F, 0x42, 0xC0, 0xEE, 0x55, 0x1C, 0x16, +0xD6, 0x48, 0x99, 0x43, 0xD7, 0x1E, 0xAE, 0x12, 0x0A, 0xDC, 0x1F, 0x35, 0xB3, 0x84, 0x8C, 0xE9, +0x2B, 0x37, 0xB3, 0x94, 0x02, 0xFB, 0x47, 0xA0, 0xE3, 0x12, 0x88, 0x70, 0xC7, 0xD0, 0x43, 0xE5, +0x80, 0xA5, 0x5D, 0x33, 0xB6, 0x20, 0xE0, 0x23, 0xFC, 0xDF, 0x6D, 0x33, 0xA1, 0x62, 0xE3, 0x85, +0x6A, 0x5F, 0x16, 0x03, 0xB8, 0x3F, 0x5B, 0x39, 0x8A, 0x31, 0x12, 0x5F, 0xC4, 0x24, 0xA1, 0x56, +0xC0, 0xC0, 0x72, 0x17, 0x14, 0x7C, 0xE0, 0x8D, 0xEF, 0xD7, 0x2D, 0x34, 0x14, 0xA4, 0xCA, 0x93, +0x20, 0xFF, 0x61, 0xF6, 0x55, 0x4F, 0x82, 0x37, 0x23, 0x2D, 0x11, 0x80, 0x88, 0x4D, 0x00, 0x1E, +0x45, 0xF8, 0x77, 0x60, 0x2A, 0xB2, 0xE0, 0xF8, 0xFC, 0x07, 0x74, 0x6A, 0xA6, 0x3D, 0x9C, 0x01, +0x74, 0x23, 0x81, 0x8D, 0xC6, 0x45, 0xE8, 0x00, 0x99, 0x80, 0xEB, 0x16, 0x70, 0x54, 0xCA, 0x7F, +0xA7, 0xBE, 0x7A, 0x0C, 0x06, 0x6A, 0xC5, 0x82, 0x7B, 0x8F, 0xE8, 0x00, 0xD1, 0x00, 0x80, 0xB6, +0x66, 0x14, 0x02, 0xB0, 0xC0, 0x7B, 0xC4, 0x47, 0x61, 0x40, 0xE8, 0xFD, 0x84, 0x69, 0xC0, 0xBF, +0x40, 0xC3, 0x2A, 0x1E, 0x30, 0x9E, 0xFF, 0x86, 0xC1, 0xCD, 0x99, 0x83, 0xC9, 0x59, 0x1C, 0x3D, +0x48, 0x42, 0xC3, 0xC1, 0xBA, 0x59, 0x52, 0x1B, 0x03, 0x80, 0x78, 0x42, 0x1E, 0x06, 0x4C, 0xEB, +0x0C, 0x73, 0x1F, 0xF4, 0x6D, 0x53, 0x74, 0x53, 0x58, 0x0F, 0x00, 0xF8, 0x94, 0xFC, 0x17, 0x1E, +0x10, 0x2F, 0x14, 0x55, 0x3F, 0xFE, 0x17, 0x06, 0x3D, 0xAA, 0xE3, 0x5F, 0x87, 0x1B, 0xD7, 0x9F, +0xD0, 0xB1, 0x42, 0xFA, 0xD9, 0x1A, 0xAA, 0xDC, 0x93, 0xD7, 0xCE, 0x01, 0x40, 0x3D, 0xFB, 0xFE, +0xCB, 0xF6, 0xAF, 0x32, 0x01, 0xF5, 0x0A, 0xF9, 0x97, 0x8A, 0xA3, 0x4D, 0x03, 0xB8, 0x9B, 0xD2, +0xFE, 0xBB, 0xEC, 0xF8, 0x5F, 0x38, 0x15, 0x4C, 0xC5, 0x3B, 0xC0, 0x06, 0x8F, 0xFA, 0x85, 0x0E, +0x90, 0x0B, 0x79, 0x40, 0x78, 0xBD, 0x06, 0x5D, 0x4D, 0xD9, 0xF1, 0x2D, 0xF9, 0xE0, 0xEA, 0x0E, +0x3D, 0x60, 0xCB, 0x86, 0x30, 0x44, 0xE2, 0x9B, 0xB4, 0x05, 0x5C, 0x86, 0x83, 0x80, 0x7E, 0x26, +0x18, 0x7D, 0x95, 0xCF, 0x7C, 0x0F, 0x4E, 0x4E, 0x84, 0x00, 0x7F, 0x8C, 0xBA, 0x58, 0x14, 0xE5, +0xA9, 0x60, 0x6A, 0xC0, 0xBF, 0x98, 0x60, 0x01, 0xAB, 0x12, 0x10, 0xB8, 0x0B, 0xE2, 0xCC, 0xCD, +0x2E, 0x74, 0x09, 0x2B, 0xDC, 0x80, 0x7A, 0x21, 0x03, 0x83, 0x09, 0xE0, 0xB4, 0x7E, 0x36, 0xDC, +0xA3, 0xC0, 0xFC, 0x47, 0x86, 0x80, 0x10, 0xC6, 0xFF, 0x6C, 0x09, 0x26, 0x42, 0xAC, 0x55, 0xC5, +0xF8, 0x9F, 0x8A, 0x80, 0xFD, 0x73, 0xB5, 0x9A, 0x19, 0x39, 0xF0, 0x79, 0x04, 0x0E, 0x0A, 0x37, +0xA4, 0xBB, 0x59, 0x0B, 0x79, 0xFC, 0x0F, 0x0C, 0xB4, 0xFD, 0x8A, 0x8A, 0xED, 0x55, 0x4B, 0x0A, +0x25, 0x03, 0x6F, 0x36, 0xF2, 0x1A, 0x9C, 0x03, 0x80, 0x7A, 0x08, 0xBE, 0x2A, 0x02, 0x8A, 0x06, +0x10, 0x12, 0xF8, 0x87, 0xA8, 0xAD, 0x27, 0xC1, 0x71, 0xFE, 0x1D, 0x50, 0xA1, 0x78, 0xAF, 0x05, +0xE0, 0xA9, 0x01, 0x9F, 0x6F, 0xBE, 0xE3, 0x04, 0x98, 0x60, 0x17, 0x75, 0x80, 0x9C, 0x05, 0x97, +0x0D, 0xA0, 0x23, 0xE1, 0x0E, 0x1C, 0x20, 0x81, 0x8F, 0x2A, 0x3F, 0x90, 0x37, 0x80, 0x37, 0xAB, +0x23, 0x3C, 0x60, 0xC2, 0x02, 0xA2, 0xF7, 0x71, 0x4C, 0xCA, 0x9F, 0xD5, 0x59, 0x95, 0x53, 0x20, +0x2A, 0x83, 0x44, 0x14, 0xE4, 0x0C, 0x8B, 0xA1, 0x63, 0x5F, 0x93, 0x0F, 0xCD, 0x9C, 0xCE, 0x1F, +0x49, 0xC0, 0x28, 0x26, 0xC0, 0x0F, 0x3B, 0xA1, 0x80, 0x15, 0x30, 0x29, 0x08, 0xAA, 0xFC, 0x1F, +0x08, 0x08, 0xCD, 0xF2, 0x04, 0xDC, 0x98, 0x00, 0x06, 0xF7, 0xC2, 0x51, 0xC0, 0x43, 0x8C, 0x57, +0x9E, 0xE1, 0x87, 0x92, 0x08, 0x78, 0xAE, 0x57, 0x33, 0xA7, 0x21, 0x08, 0x78, 0x49, 0x8D, 0x1F, +0xD8, 0x0D, 0xA3, 0x10, 0xFD, 0x1F, 0x1C, 0x20, 0xE6, 0x3E, 0xFC, 0x04, 0x48, 0x02, 0x81, 0x01, +0xFF, 0xD2, 0x06, 0xB0, 0x75, 0x53, 0x7B, 0x3D, 0xD3, 0x1F, 0xFF, 0xA8, 0x07, 0x3C, 0x4A, 0x07, +0x3D, 0x29, 0xF9, 0x3F, 0x60, 0xF0, 0x9D, 0x8E, 0x7F, 0x98, 0x0B, 0xE6, 0xF4, 0xD7, 0xE5, 0xBF, +0x29, 0x07, 0x58, 0x9E, 0x0A, 0x6E, 0xF8, 0xF1, 0xBF, 0xA5, 0x25, 0x1F, 0x37, 0x7C, 0x61, 0x9A, +0x11, 0x1D, 0x4A, 0xC2, 0x38, 0xC9, 0xC6, 0xD1, 0x07, 0x14, 0xD8, 0x3E, 0x34, 0x2C, 0xE2, 0x9E, +0xED, 0xA8, 0xB0, 0x7F, 0x29, 0xA1, 0xF7, 0xC7, 0xF9, 0x87, 0x34, 0xD8, 0x65, 0xC1, 0xC8, 0x7F, +0xB7, 0x45, 0x40, 0xE4, 0xBF, 0xA4, 0x0C, 0x2C, 0x8C, 0xFB, 0xE3, 0x38, 0x3B, 0x8B, 0x61, 0x27, +0x9C, 0x08, 0x01, 0xFF, 0x64, 0x0F, 0xC8, 0x21, 0xE8, 0x01, 0x4B, 0x6C, 0xC8, 0xFF, 0xE5, 0xC4, +0xEC, 0x73, 0x2E, 0x10, 0x00, 0x4F, 0x70, 0x7D, 0x8B, 0xFE, 0x0F, 0x2A, 0xFB, 0x3F, 0xF3, 0xE1, +0x35, 0x4E, 0x05, 0x23, 0x10, 0xFC, 0xCB, 0xAB, 0xB5, 0x4A, 0x29, 0xEC, 0x6C, 0x9B, 0x8E, 0x81, +0x48, 0x6A, 0x28, 0x82, 0xF3, 0x9A, 0x96, 0x7F, 0x2F, 0x09, 0x82, 0x8F, 0x73, 0x80, 0xA2, 0x44, +0xFE, 0xC1, 0x03, 0xEA, 0xF8, 0xC7, 0x26, 0xF0, 0x5D, 0x89, 0x7F, 0x59, 0x9D, 0x9A, 0xD5, 0x80, +0x6E, 0x20, 0x90, 0xF0, 0x97, 0x72, 0x80, 0xEB, 0x1E, 0x90, 0x79, 0x67, 0xD0, 0xE7, 0x4E, 0x4C, +0x3E, 0xCC, 0xED, 0xC8, 0x9D, 0x46, 0x0C, 0xE0, 0x4D, 0x70, 0xDC, 0x98, 0x0A, 0x06, 0xE8, 0xA2, +0x0D, 0xC7, 0x64, 0xE9, 0x3E, 0xA7, 0x1D, 0xFE, 0x3A, 0x1A, 0x0F, 0x58, 0xE4, 0x82, 0x33, 0xA6, +0xAE, 0x71, 0x14, 0xA4, 0xA6, 0xA0, 0xFB, 0x73, 0xBD, 0x3C, 0xFF, 0x7A, 0xDD, 0x8C, 0x57, 0xB2, +0x07, 0x03, 0x95, 0x33, 0xC6, 0x60, 0x38, 0xF2, 0x17, 0x10, 0x90, 0x0A, 0xF8, 0x27, 0x7A, 0x40, +0x6A, 0x67, 0x22, 0x01, 0x7D, 0x72, 0x1D, 0xF2, 0x2E, 0xF4, 0x80, 0x54, 0x0C, 0xAC, 0x93, 0x40, +0x87, 0x07, 0xDC, 0x3A, 0xFF, 0x90, 0x05, 0x5F, 0x9A, 0xF5, 0x2F, 0x48, 0x7A, 0xC3, 0x2A, 0xF9, +0x3F, 0x98, 0x40, 0xE4, 0x15, 0xD4, 0xAF, 0x58, 0xBA, 0x24, 0xB8, 0x3C, 0xEF, 0x5B, 0xB2, 0x7F, +0xDE, 0x01, 0xBE, 0x3E, 0xFF, 0xF7, 0x6C, 0x1E, 0x50, 0xE6, 0x1F, 0x3C, 0xA0, 0xC8, 0xBF, 0x03, +0x2C, 0x07, 0x84, 0xFF, 0x13, 0x64, 0x47, 0xFF, 0x2C, 0xFF, 0xDE, 0xA4, 0x1C, 0xA0, 0x6D, 0xAC, +0x07, 0xE4, 0x16, 0xC6, 0x8F, 0xEA, 0xD2, 0x5F, 0x94, 0x26, 0x46, 0x56, 0xB2, 0x9F, 0x95, 0x31, +0x03, 0xE8, 0xDA, 0xD0, 0x01, 0xC6, 0x1B, 0x16, 0x12, 0x60, 0xD0, 0x4F, 0xF0, 0x80, 0x18, 0x26, +0x8A, 0x55, 0x4E, 0x83, 0x49, 0xD8, 0x00, 0x92, 0xD7, 0x6D, 0xB5, 0x99, 0x10, 0xA6, 0x00, 0x51, +0x4E, 0x0A, 0xCA, 0x81, 0xA9, 0x26, 0xB0, 0xB7, 0x3E, 0x18, 0xC7, 0x9C, 0xA2, 0x98, 0xC9, 0x0A, +0x26, 0x80, 0xC5, 0x99, 0x10, 0x2C, 0x3B, 0x0C, 0xE1, 0x87, 0x61, 0x40, 0xAE, 0x80, 0x77, 0x3A, +0x1E, 0xB3, 0x00, 0x5A, 0x94, 0x1F, 0xAB, 0x35, 0xEE, 0x8F, 0x4A, 0x3A, 0x56, 0x00, 0x9C, 0x40, +0x59, 0x04, 0x12, 0xFE, 0x96, 0x2A, 0x03, 0x88, 0xF1, 0xBF, 0x16, 0x3A, 0x32, 0xCE, 0xED, 0x32, +0x98, 0x57, 0xB5, 0x08, 0xF0, 0x09, 0xCB, 0x01, 0x35, 0x02, 0xFF, 0x74, 0x04, 0xE4, 0x05, 0xD0, +0x32, 0x01, 0xD5, 0xFC, 0x3B, 0xC5, 0xFC, 0xEF, 0x9B, 0xB8, 0x03, 0xC4, 0x23, 0xE4, 0xFD, 0xDC, +0x04, 0x30, 0xC5, 0xCA, 0xED, 0x99, 0x03, 0x73, 0xD0, 0x5D, 0x4E, 0x0D, 0x01, 0x8F, 0x73, 0x73, +0xC0, 0xF8, 0xE4, 0xA4, 0x83, 0xEC, 0x00, 0x7D, 0xD7, 0x04, 0xFD, 0x04, 0x61, 0x41, 0x74, 0x91, +0x0F, 0x2A, 0x03, 0x6C, 0x00, 0x91, 0x34, 0xAC, 0x60, 0x67, 0xFA, 0xE6, 0xED, 0x6F, 0x36, 0x80, +0x64, 0x83, 0x1B, 0x0C, 0x00, 0xA6, 0x3D, 0xE0, 0xA1, 0x07, 0x20, 0xF8, 0xA7, 0xF0, 0x80, 0xB8, +0x12, 0x67, 0x42, 0x62, 0xEC, 0x0D, 0x3D, 0xE0, 0x21, 0x13, 0x50, 0x01, 0x75, 0x67, 0x01, 0xF5, +0xFC, 0xBB, 0x9D, 0x37, 0x35, 0x2A, 0x8A, 0xCB, 0xF6, 0xE5, 0xC0, 0xCE, 0x00, 0x6B, 0x2C, 0xE0, +0x44, 0x03, 0x40, 0x37, 0xB6, 0x22, 0x19, 0x40, 0x40, 0x70, 0x3D, 0x99, 0xE1, 0x06, 0x20, 0x34, +0x0E, 0xF0, 0xD5, 0xA1, 0xEF, 0xF9, 0xC7, 0x01, 0x8F, 0x24, 0xFC, 0x61, 0x39, 0x60, 0x86, 0x7E, +0x38, 0x55, 0xF0, 0x0F, 0x59, 0xB0, 0xF5, 0x7F, 0xA2, 0x03, 0xB4, 0x59, 0xB0, 0xC5, 0x1F, 0xD5, +0x25, 0xD6, 0x01, 0xD2, 0x09, 0x26, 0x44, 0x90, 0x05, 0x73, 0x1F, 0x09, 0xE6, 0x7F, 0x83, 0x4F, +0x4E, 0xF0, 0x4F, 0x18, 0x04, 0x6C, 0xF9, 0xF9, 0xBA, 0xCE, 0x44, 0x96, 0x37, 0x80, 0x03, 0xA1, +0x8E, 0xC7, 0x05, 0xF2, 0x5F, 0x39, 0x0B, 0x56, 0x7B, 0xC0, 0x1E, 0x16, 0x40, 0x0B, 0x08, 0xC4, +0xFA, 0xE7, 0x14, 0x83, 0xF0, 0x1C, 0xF8, 0x27, 0x0A, 0xFC, 0xD3, 0x8C, 0x03, 0x46, 0xB6, 0x9F, +0xC4, 0xE4, 0x47, 0x00, 0xA9, 0x48, 0x60, 0xEF, 0x55, 0xDB, 0x00, 0x32, 0x54, 0x02, 0xB0, 0x6D, +0xFD, 0x1F, 0xF3, 0x2F, 0x17, 0x6E, 0xEF, 0x77, 0x0E, 0x7B, 0x50, 0xCB, 0xF2, 0x2F, 0xEF, 0x00, +0xD1, 0x06, 0xC3, 0xDA, 0xF6, 0x0C, 0x5D, 0xBA, 0xF6, 0x4A, 0xD6, 0x3F, 0x3F, 0xCD, 0x03, 0x6E, +0x15, 0x80, 0xD8, 0x12, 0x72, 0x90, 0xC5, 0xDF, 0xC1, 0xAA, 0xC1, 0x06, 0x10, 0x8D, 0x07, 0x64, +0x97, 0x27, 0x38, 0x40, 0xAE, 0xCE, 0xFF, 0x51, 0x45, 0xBA, 0xEB, 0xE0, 0x57, 0x9E, 0x0F, 0xE6, +0xEB, 0xC0, 0xFE, 0x05, 0xC3, 0x80, 0xFE, 0x12, 0x08, 0x14, 0x1C, 0x20, 0x4B, 0xE8, 0xCB, 0xD0, +0x82, 0xF1, 0x37, 0x96, 0xC3, 0x2E, 0x07, 0x6C, 0x2A, 0x55, 0x69, 0x4B, 0xC8, 0x95, 0x04, 0x0A, +0xEC, 0x8A, 0x83, 0xFF, 0xCA, 0x8F, 0xC2, 0x5D, 0x81, 0x7F, 0xB2, 0x05, 0x9C, 0x69, 0xC5, 0xF9, +0x6F, 0xE0, 0x36, 0x13, 0x3B, 0x42, 0x60, 0x69, 0xF3, 0xD1, 0xAD, 0xE4, 0xFF, 0xFA, 0x4D, 0xA5, +0x0A, 0xB7, 0xFA, 0x45, 0x7E, 0x59, 0xC7, 0xCC, 0x3F, 0x51, 0x1D, 0x2E, 0x58, 0x00, 0xA8, 0x72, +0x80, 0xE1, 0x70, 0x36, 0x4E, 0x5E, 0xF3, 0x18, 0x60, 0x45, 0x02, 0xEA, 0x05, 0xFC, 0x89, 0x13, +0x21, 0xC8, 0x7F, 0x45, 0x06, 0x62, 0x01, 0xB4, 0x3C, 0x0C, 0x48, 0x88, 0x53, 0x38, 0x40, 0xAE, +0x2B, 0xA3, 0xB7, 0xB4, 0x4B, 0x01, 0xDD, 0x39, 0xA0, 0xC8, 0xD5, 0xCE, 0x86, 0x4C, 0x8F, 0x5B, +0xB1, 0xE1, 0x3F, 0x1C, 0xB9, 0x72, 0x99, 0x26, 0xBD, 0x1F, 0x9A, 0xD5, 0x62, 0x98, 0x0E, 0x85, +0x4E, 0xC6, 0x24, 0x88, 0x95, 0xC7, 0x8B, 0xC0, 0xBF, 0x2D, 0x12, 0xF0, 0x04, 0x1B, 0x80, 0xA5, +0x38, 0xCB, 0xF8, 0xBF, 0x43, 0x34, 0xA6, 0xCE, 0x9E, 0x43, 0x71, 0xF6, 0x1E, 0xC6, 0x70, 0xAC, +0xF3, 0x7F, 0x54, 0xCF, 0xE6, 0xE7, 0x7A, 0x0D, 0x9B, 0x5A, 0xB9, 0xA1, 0x0B, 0xCD, 0xEB, 0x2A, +0xFA, 0x3F, 0xC8, 0x7E, 0xC2, 0x72, 0x2B, 0x3A, 0xC0, 0x9B, 0x69, 0xDC, 0x01, 0x62, 0x70, 0x47, +0xEB, 0x00, 0x5F, 0xC4, 0x0A, 0xE8, 0x7F, 0x24, 0x09, 0x06, 0xFF, 0x44, 0x02, 0x0A, 0x13, 0xC0, +0x38, 0x1E, 0xBC, 0xAB, 0x83, 0x7F, 0x79, 0x9D, 0xBE, 0x69, 0x28, 0x1D, 0xE0, 0x77, 0x17, 0xEC, +0xEC, 0xFC, 0xBA, 0x67, 0x8A, 0x1D, 0x77, 0xBE, 0x04, 0xFE, 0xB0, 0x33, 0x6E, 0x49, 0x68, 0xCB, +0x84, 0x43, 0x20, 0xAD, 0xA8, 0x42, 0x92, 0x9B, 0x6C, 0x7C, 0x07, 0x9C, 0x40, 0xA2, 0x07, 0x1C, +0xA8, 0x82, 0xBC, 0x82, 0x1E, 0x80, 0xC3, 0x26, 0x6E, 0xE5, 0x24, 0x09, 0x33, 0xC0, 0xA2, 0x03, +0x4C, 0xE9, 0x30, 0x3C, 0x9B, 0x6D, 0x5D, 0xEC, 0x00, 0x05, 0x00, 0x97, 0x81, 0xD8, 0xD5, 0x86, +0x1A, 0x80, 0x77, 0xE7, 0x4D, 0xB5, 0xEE, 0x89, 0x6B, 0x5C, 0xE4, 0x97, 0xB5, 0x00, 0xFF, 0x14, +0xF3, 0x20, 0x80, 0x9C, 0xE0, 0x00, 0x97, 0x30, 0x7C, 0xAB, 0xA3, 0x3D, 0xE0, 0x83, 0xBD, 0x26, +0xE3, 0xEF, 0xE5, 0xA1, 0xCF, 0xF2, 0xEF, 0x59, 0x2C, 0x60, 0x4D, 0x89, 0x3F, 0x1E, 0x05, 0x34, +0x6C, 0xCB, 0xFA, 0x3F, 0xAC, 0x06, 0xD4, 0x02, 0xB0, 0x5E, 0x57, 0x3B, 0xC0, 0x46, 0x63, 0x95, +0xEB, 0x62, 0x25, 0x20, 0x06, 0x00, 0xCD, 0x85, 0x73, 0x86, 0x84, 0xCA, 0x16, 0x77, 0x87, 0xA4, +0x0B, 0x6C, 0xE1, 0x80, 0xFE, 0x95, 0x68, 0x3C, 0x04, 0x27, 0x2D, 0xD9, 0xFF, 0x21, 0x07, 0x2E, +0x94, 0x08, 0x6C, 0xB7, 0x9B, 0x7A, 0xE9, 0x53, 0xE0, 0x9E, 0x8E, 0x7F, 0x67, 0x57, 0x1A, 0xE1, +0xBE, 0x30, 0xB3, 0x6D, 0xEB, 0x23, 0x52, 0xE0, 0x28, 0x7C, 0x21, 0x3D, 0x01, 0x79, 0x10, 0x50, +0x4D, 0xC0, 0xA6, 0x5E, 0xED, 0x76, 0x5B, 0x3B, 0xB4, 0x61, 0x32, 0xE0, 0x8E, 0x0A, 0x81, 0x1D, +0x38, 0xC0, 0x5C, 0x17, 0x34, 0xCF, 0x8A, 0x0E, 0xB0, 0x25, 0x3A, 0xC0, 0x97, 0x69, 0xFE, 0xC0, +0xBF, 0x2D, 0x8F, 0x01, 0xEA, 0x87, 0x00, 0x8F, 0xB0, 0x09, 0x58, 0x20, 0x20, 0xF1, 0xEF, 0x3D, +0xEE, 0x82, 0x20, 0xF1, 0x8F, 0x09, 0xA8, 0x1B, 0x03, 0x24, 0xED, 0x4C, 0xBD, 0xD3, 0xE3, 0x34, +0x98, 0x4F, 0xF9, 0x8C, 0x5B, 0x3A, 0x62, 0x5E, 0x64, 0xC4, 0x04, 0x5C, 0x62, 0xC5, 0x4B, 0xE4, +0xE8, 0x9F, 0x44, 0xDA, 0x91, 0x68, 0x60, 0x00, 0x3B, 0xAD, 0x48, 0x97, 0xEE, 0xC4, 0xF9, 0xC7, +0x04, 0xD4, 0xBC, 0x51, 0x8A, 0x61, 0x7B, 0x9B, 0x04, 0xC4, 0x34, 0xF0, 0x39, 0x26, 0x81, 0xB3, +0x51, 0x41, 0x0F, 0xA4, 0x8F, 0xDB, 0x37, 0x80, 0xE5, 0x45, 0x30, 0x5C, 0x33, 0x99, 0x30, 0x08, +0x28, 0x4F, 0x03, 0xF7, 0x9E, 0x83, 0x7F, 0x43, 0xD5, 0xC8, 0x46, 0xB1, 0x60, 0x75, 0x14, 0xF4, +0xE3, 0x8A, 0xBB, 0x60, 0xE5, 0x32, 0x91, 0x65, 0xF2, 0x1E, 0x30, 0x70, 0x82, 0xD6, 0x01, 0xBE, +0xC6, 0xD1, 0x3F, 0xE6, 0x9F, 0x09, 0xFD, 0x3A, 0x18, 0x9D, 0xB4, 0xAB, 0x60, 0xEC, 0x52, 0x68, +0xAA, 0xCC, 0xB7, 0x2C, 0xFD, 0xF8, 0x40, 0x77, 0x81, 0x79, 0xF7, 0x5E, 0x05, 0xC0, 0x3A, 0xCB, +0x6C, 0x83, 0x13, 0x1D, 0x20, 0x2F, 0x82, 0x59, 0x9B, 0x06, 0x36, 0xA7, 0x0E, 0x84, 0xFC, 0xC0, +0x14, 0x77, 0xC8, 0x9A, 0x1A, 0x02, 0x9A, 0x3B, 0x46, 0xC6, 0x0D, 0xA0, 0x7B, 0x1C, 0xF9, 0xAF, +0x68, 0x00, 0xD9, 0xFF, 0x51, 0xD5, 0x2D, 0x83, 0xB1, 0x2A, 0xA4, 0x77, 0xCA, 0x98, 0xFD, 0x5F, +0xBB, 0x22, 0x01, 0x4F, 0x54, 0xFC, 0xEB, 0xF5, 0xF8, 0x3E, 0x08, 0xE2, 0x88, 0x99, 0x64, 0xBA, +0xCA, 0x68, 0x7A, 0x30, 0xDA, 0x3E, 0xFF, 0x58, 0x20, 0x9F, 0x34, 0x19, 0xAD, 0xF0, 0x7F, 0x67, +0xEE, 0xDE, 0xD0, 0xAA, 0x25, 0x93, 0x55, 0xF8, 0x67, 0x09, 0xA8, 0xB0, 0xF6, 0x56, 0xA2, 0x05, +0xB4, 0xF8, 0xEB, 0x50, 0x88, 0x0E, 0x10, 0xC7, 0xF5, 0x94, 0xA6, 0x3C, 0x09, 0xAC, 0x71, 0x80, +0x2F, 0xE4, 0xF6, 0x07, 0x4F, 0x05, 0x20, 0x47, 0xA5, 0x75, 0x80, 0xB2, 0xFF, 0xCB, 0xDF, 0x08, +0x06, 0x2D, 0xFB, 0x3F, 0xC2, 0x1F, 0x55, 0x05, 0x01, 0xEB, 0x4E, 0x44, 0x37, 0xC9, 0x01, 0x1A, +0xFC, 0x7D, 0x4F, 0x04, 0xFC, 0x74, 0x69, 0xF1, 0xC7, 0xE8, 0x1B, 0x51, 0xA5, 0x23, 0x76, 0x86, +0xD8, 0x93, 0xA9, 0x8D, 0xD6, 0x31, 0xD2, 0x84, 0xB8, 0x11, 0xBC, 0xF1, 0x7C, 0x93, 0x87, 0x00, +0x2D, 0xFE, 0xF2, 0x1E, 0x10, 0xFE, 0xCF, 0x32, 0x70, 0x20, 0xFA, 0xBF, 0xB6, 0x53, 0x53, 0xAD, +0xB9, 0x26, 0xFF, 0xA5, 0x50, 0x2D, 0x04, 0x94, 0x92, 0x5E, 0xB4, 0xB8, 0x1F, 0xC2, 0xD6, 0xF9, +0xC7, 0x4A, 0xEE, 0xC0, 0xE3, 0x96, 0x0B, 0xA4, 0xF2, 0x7F, 0x1C, 0x32, 0x01, 0x4F, 0x2A, 0xF9, +0x3F, 0xA7, 0x62, 0xAC, 0xE1, 0x5F, 0xC7, 0x10, 0x50, 0x56, 0x8B, 0xA3, 0x43, 0x35, 0xE3, 0x00, +0xB9, 0xE2, 0xE9, 0xA0, 0x27, 0x6F, 0x3A, 0xC0, 0x57, 0x39, 0x01, 0x4C, 0xEC, 0x53, 0x13, 0x70, +0x4F, 0xBB, 0x17, 0xAE, 0x06, 0xC9, 0xFE, 0xCF, 0xE9, 0x48, 0x48, 0x80, 0xA9, 0xBE, 0x37, 0xF8, +0x7B, 0xBF, 0x2B, 0x27, 0xC1, 0x75, 0x2F, 0xBE, 0x15, 0x4C, 0xDE, 0x01, 0x36, 0x9C, 0xBE, 0x27, +0xC2, 0xF9, 0xBB, 0xBF, 0xB8, 0x13, 0x8B, 0x40, 0xA6, 0xA2, 0x73, 0x82, 0x8E, 0x7F, 0x9C, 0x05, +0xC3, 0x01, 0x46, 0x8E, 0xEC, 0xFF, 0x20, 0x61, 0xF8, 0x65, 0xD2, 0xF1, 0x7D, 0x75, 0xD2, 0x11, +0xFD, 0x9F, 0xCE, 0x02, 0x8E, 0x8B, 0xF6, 0xB0, 0x6D, 0x35, 0xDC, 0xA2, 0x07, 0xE4, 0xB7, 0xBE, +0x89, 0xBE, 0x60, 0x00, 0x05, 0xFE, 0xA5, 0x6E, 0x8A, 0xFA, 0x0C, 0xFC, 0x2B, 0x4F, 0x84, 0xC8, +0x2E, 0x50, 0xF6, 0x7F, 0x3E, 0x24, 0x00, 0x56, 0xF2, 0x7F, 0x5E, 0x82, 0x07, 0xA4, 0x27, 0xAD, +0x3A, 0xF0, 0x80, 0x19, 0xFF, 0xE7, 0x10, 0x28, 0x3B, 0x40, 0xF8, 0xC0, 0xF0, 0x46, 0x30, 0xE5, +0x7C, 0x38, 0x0B, 0xC0, 0xBD, 0x97, 0xC8, 0x3E, 0xF0, 0x4F, 0x47, 0x40, 0xF0, 0x4F, 0x0B, 0x40, +0x39, 0x0B, 0x66, 0x00, 0x26, 0x3C, 0x60, 0xE0, 0xFF, 0x4E, 0x19, 0x7F, 0xA6, 0x12, 0xE2, 0x24, +0xFE, 0xC1, 0x03, 0xE6, 0xF6, 0x02, 0x5B, 0xFF, 0x37, 0xA2, 0x20, 0xF9, 0xAD, 0x70, 0x0C, 0x3C, +0xEF, 0xFE, 0xCA, 0xAD, 0xA5, 0x9F, 0xCB, 0x82, 0xA3, 0xCE, 0x0F, 0x47, 0x28, 0xE7, 0x00, 0xE1, +0xFF, 0xE2, 0x13, 0x21, 0x9D, 0xC0, 0xFF, 0x51, 0x11, 0x3D, 0xE0, 0x02, 0xFC, 0xAB, 0x44, 0xC0, +0xF9, 0x9D, 0xB8, 0x11, 0xAE, 0x67, 0x83, 0x3C, 0x60, 0x0E, 0x81, 0x01, 0xE6, 0xB2, 0xF3, 0x1F, +0xD0, 0x16, 0xF9, 0x07, 0xA5, 0x6F, 0xC6, 0x15, 0xAA, 0x9B, 0xA5, 0x3A, 0xF8, 0x37, 0xEF, 0x6F, +0x2D, 0xFF, 0x2D, 0xBD, 0x52, 0x92, 0x07, 0x2C, 0x77, 0x00, 0x31, 0xFF, 0x45, 0x48, 0x1D, 0x11, +0xCF, 0x07, 0x06, 0x10, 0x48, 0x94, 0x1C, 0xE0, 0x4B, 0xB8, 0xF7, 0x55, 0x9C, 0x7F, 0x88, 0xE7, +0xB9, 0x1D, 0x96, 0xB8, 0x06, 0x1A, 0x77, 0x43, 0x10, 0xFD, 0x9F, 0xC5, 0x9F, 0x38, 0x11, 0x52, +0x5F, 0x53, 0xD6, 0x01, 0x36, 0x48, 0x23, 0x2A, 0xD6, 0x03, 0xAE, 0x96, 0xBC, 0xF8, 0x45, 0x30, +0x54, 0xFD, 0xAA, 0x40, 0x72, 0x7D, 0x65, 0x00, 0xDE, 0xC8, 0x06, 0x50, 0xD5, 0xF3, 0x26, 0x08, +0xE1, 0x76, 0x30, 0x0B, 0xAF, 0x0E, 0xC5, 0x62, 0x90, 0xF5, 0x7F, 0x5E, 0x45, 0x45, 0x02, 0x9E, +0x48, 0x06, 0xD0, 0x45, 0xBF, 0x37, 0x7F, 0xC2, 0x04, 0xF0, 0xA1, 0x2B, 0x9E, 0x7F, 0xD0, 0x16, +0xF9, 0x07, 0x65, 0xB7, 0x01, 0xAF, 0x49, 0xDA, 0x04, 0x82, 0xC8, 0x7B, 0xC0, 0x7E, 0x45, 0xFE, +0x15, 0x5C, 0x98, 0x80, 0x99, 0xA5, 0xD0, 0xF4, 0x82, 0x43, 0xA2, 0x07, 0x6C, 0x21, 0x04, 0x07, +0x48, 0x15, 0x0A, 0xC7, 0xB6, 0x91, 0x07, 0x1F, 0xD7, 0x5E, 0xD3, 0xCC, 0xEF, 0x3F, 0x08, 0x40, +0xD9, 0xFF, 0xC9, 0x04, 0x64, 0xBD, 0x33, 0x7A, 0x6F, 0xDB, 0x1C, 0x01, 0xEB, 0x1B, 0x4A, 0x39, +0x40, 0xB7, 0x0F, 0x78, 0x44, 0xE8, 0x63, 0x0C, 0xEE, 0x50, 0xB5, 0xEB, 0x9E, 0xFD, 0xC6, 0x0F, +0x8C, 0x03, 0x72, 0x25, 0xEE, 0x21, 0xB8, 0x43, 0xA4, 0x0D, 0x60, 0x80, 0xBF, 0xC4, 0xF0, 0x8B, +0x9D, 0x00, 0x46, 0x64, 0x3D, 0xA0, 0x01, 0x1F, 0x17, 0x56, 0x6E, 0x35, 0xCC, 0xC2, 0xFA, 0xBF, +0x02, 0x1E, 0x70, 0x1B, 0x0B, 0xA2, 0xFB, 0x86, 0x7F, 0x88, 0xAB, 0xB3, 0x6E, 0x1A, 0x15, 0x21, +0xF3, 0xB2, 0xFE, 0x0F, 0xDA, 0x2E, 0xFF, 0x40, 0xC0, 0x10, 0xBE, 0xDC, 0x04, 0xCA, 0xFD, 0x50, +0xEB, 0x3F, 0xFE, 0x5C, 0xE0, 0x9F, 0x56, 0xF0, 0x7F, 0x18, 0x07, 0x4C, 0x4E, 0x00, 0x77, 0x6C, +0x11, 0xA6, 0x82, 0x3B, 0x6B, 0xFC, 0xE3, 0xD5, 0x30, 0xA4, 0x2C, 0xFD, 0xA0, 0x70, 0x6C, 0x1B, +0x8F, 0xD4, 0x5E, 0xFE, 0xFD, 0x4F, 0xA3, 0xFC, 0x43, 0x88, 0xFC, 0x43, 0xC8, 0xFC, 0x83, 0xF2, +0x13, 0x20, 0x10, 0xD1, 0x30, 0xBD, 0x05, 0x84, 0x5C, 0x5F, 0xC9, 0x01, 0xEE, 0xC2, 0x03, 0x8A, +0x00, 0xC4, 0x54, 0x70, 0x38, 0x0D, 0x42, 0x72, 0xF8, 0xE3, 0x93, 0x8B, 0x06, 0x8F, 0xFF, 0x8D, +0xFC, 0x96, 0x60, 0x42, 0x20, 0xEE, 0x8E, 0xEA, 0xFD, 0x1F, 0x08, 0x98, 0x5C, 0x0C, 0xC8, 0xDD, +0x4A, 0x76, 0x80, 0x18, 0xFF, 0x43, 0xD0, 0xB5, 0x60, 0x00, 0x59, 0x1D, 0x5B, 0x13, 0x8B, 0x61, +0xE8, 0x71, 0x9F, 0x55, 0x5D, 0x56, 0xF7, 0x80, 0xFD, 0x3B, 0x21, 0xFF, 0x45, 0xA4, 0xF3, 0x45, +0x00, 0x50, 0x5A, 0x06, 0xFD, 0x10, 0x68, 0x2B, 0x0B, 0x00, 0x03, 0x02, 0x6A, 0xD5, 0x93, 0xF2, +0x5F, 0x44, 0x86, 0x80, 0xD5, 0xF3, 0x5F, 0x50, 0x70, 0x91, 0xBE, 0x13, 0x0C, 0x04, 0x0B, 0x98, +0x4E, 0x80, 0x11, 0x54, 0x54, 0x06, 0x90, 0xAF, 0xA2, 0x0E, 0x90, 0x4F, 0xA8, 0xD6, 0x5E, 0xE7, +0x12, 0xE8, 0x52, 0x88, 0xF8, 0x43, 0x3C, 0xE1, 0x8F, 0x22, 0x21, 0x22, 0x7F, 0x14, 0x29, 0x95, +0x01, 0xC3, 0xFB, 0x99, 0x86, 0x82, 0x36, 0xFB, 0x0A, 0xFC, 0x83, 0x1A, 0xA1, 0x03, 0xE4, 0x06, +0xA3, 0x7F, 0x74, 0x42, 0x1C, 0x74, 0x8B, 0x61, 0x18, 0x7D, 0x06, 0x84, 0xD8, 0x0C, 0x67, 0x78, +0x88, 0x80, 0x07, 0x0C, 0xC2, 0x4F, 0x00, 0x4B, 0xF7, 0xC3, 0x0A, 0xF3, 0xDF, 0xFC, 0x5C, 0xB0, +0xFB, 0xEC, 0x9F, 0xB8, 0xEE, 0xCF, 0x2A, 0x22, 0x3E, 0x81, 0xC2, 0x9A, 0x09, 0xA4, 0xC1, 0x95, +0x08, 0x98, 0xD8, 0x12, 0x72, 0x82, 0xFC, 0x17, 0x71, 0x95, 0x98, 0x0A, 0xEE, 0x09, 0xDC, 0xC3, +0xE5, 0x43, 0x44, 0x5B, 0xE5, 0x1F, 0xA6, 0x82, 0xB5, 0xC3, 0x92, 0xE9, 0x1B, 0xE2, 0xAB, 0x09, +0xD8, 0xD4, 0xCB, 0x39, 0xF5, 0x4B, 0x58, 0xC0, 0x76, 0xDA, 0xFF, 0x99, 0x14, 0x60, 0x62, 0x6A, +0xC6, 0x03, 0xD2, 0xA3, 0x41, 0xC7, 0x4A, 0xE2, 0x0F, 0x42, 0x57, 0x0D, 0x53, 0x1A, 0xD3, 0xD5, +0xA7, 0xA3, 0xDA, 0xAB, 0x4B, 0x80, 0xDF, 0x06, 0x21, 0x02, 0x10, 0x51, 0x05, 0x80, 0xE2, 0xFD, +0xF0, 0xE1, 0x01, 0x53, 0x5B, 0x80, 0x3D, 0xF7, 0x7C, 0x4B, 0xB7, 0xC8, 0xAF, 0xCB, 0xFC, 0x83, +0x07, 0x0C, 0x1D, 0xE0, 0x05, 0xF3, 0x8E, 0xFD, 0x9F, 0xA7, 0xE0, 0xCE, 0x88, 0x3D, 0xA0, 0x37, +0x7E, 0xD3, 0x55, 0x02, 0xEC, 0xF0, 0x17, 0xC6, 0x32, 0xB6, 0x25, 0x04, 0x1D, 0x4B, 0x4E, 0x83, +0x27, 0x61, 0x90, 0x3A, 0x99, 0x09, 0xE0, 0x15, 0x04, 0x3B, 0xF1, 0x24, 0x78, 0x6C, 0x17, 0x40, +0x6F, 0x7A, 0xC0, 0xA6, 0x5E, 0xFD, 0xC4, 0xF8, 0x5F, 0x00, 0xC0, 0xFE, 0xDC, 0x90, 0xA1, 0xFA, +0x02, 0x18, 0x34, 0x0F, 0xCF, 0x41, 0xC0, 0x87, 0x88, 0xC4, 0x89, 0x60, 0x28, 0x31, 0xAB, 0x1D, +0x01, 0xE0, 0xFC, 0xE9, 0xFC, 0x83, 0x0A, 0x77, 0x1C, 0xC6, 0x07, 0x00, 0x17, 0xEB, 0xEA, 0xC0, +0x03, 0x66, 0xFC, 0x1F, 0x42, 0x9A, 0x00, 0x86, 0x96, 0xB1, 0x94, 0x86, 0xA7, 0xFC, 0x46, 0x49, +0x07, 0xF8, 0xE7, 0x0B, 0xF9, 0x1B, 0x70, 0xCF, 0x08, 0x40, 0xF9, 0xEF, 0x02, 0x27, 0xF3, 0x5F, +0x99, 0x80, 0x5C, 0x7D, 0xFA, 0x0B, 0x07, 0x48, 0x2D, 0xB2, 0x60, 0x81, 0x7F, 0xB1, 0xBF, 0x0B, +0x4C, 0xB2, 0xF7, 0x01, 0x64, 0x8D, 0x6C, 0x65, 0x7D, 0xCF, 0xE4, 0x33, 0x95, 0x1A, 0xCB, 0x42, +0x3E, 0x1D, 0x4D, 0x23, 0x00, 0x9C, 0x1E, 0x47, 0xB6, 0x84, 0x68, 0xF1, 0x47, 0x9A, 0x44, 0x22, +0xBE, 0x2D, 0xD8, 0x81, 0xCF, 0x72, 0x70, 0xEC, 0x2D, 0x40, 0xEC, 0x76, 0x49, 0x45, 0x19, 0x7E, +0x50, 0x53, 0xAF, 0x38, 0xFF, 0x22, 0x11, 0x9D, 0x08, 0x11, 0xE9, 0x97, 0x48, 0x80, 0xA1, 0x2D, +0xF2, 0x0F, 0x12, 0xE8, 0x27, 0x10, 0x10, 0xFE, 0x4F, 0x9E, 0x08, 0x69, 0xEA, 0xB5, 0x61, 0xD4, +0x3D, 0x0F, 0x17, 0xA1, 0x05, 0x74, 0xF6, 0x0F, 0xC5, 0x4A, 0xCA, 0x7F, 0x11, 0xA2, 0x03, 0x84, +0xC2, 0x94, 0x86, 0xB7, 0xBF, 0x33, 0x00, 0x5F, 0xF0, 0x1F, 0xC0, 0x94, 0xF0, 0x87, 0x90, 0xE8, +0x87, 0x90, 0xF9, 0x07, 0x25, 0x17, 0x00, 0x86, 0x04, 0x3C, 0x88, 0xFA, 0x3F, 0x70, 0x8F, 0xAA, +0xBD, 0x30, 0xDB, 0x82, 0xEB, 0x0A, 0xFE, 0xC1, 0x03, 0xA2, 0x50, 0x05, 0xF9, 0xFC, 0x89, 0x3B, +0x5D, 0xDD, 0x12, 0xD5, 0xCD, 0x02, 0x7B, 0xFE, 0x85, 0xD1, 0x0A, 0xB6, 0x84, 0xA0, 0x5F, 0x09, +0x0C, 0x0C, 0xF9, 0x87, 0xC5, 0x30, 0x9D, 0xB8, 0xFF, 0x1B, 0xFB, 0x2C, 0x88, 0x8F, 0xCE, 0x03, +0x46, 0x36, 0xC0, 0x79, 0x81, 0x83, 0xC5, 0xE3, 0xB7, 0x84, 0x60, 0x03, 0x48, 0x2C, 0x82, 0x3B, +0xC3, 0x74, 0x25, 0xFC, 0xA5, 0xFD, 0x1F, 0xF4, 0x71, 0x7B, 0xFC, 0x83, 0xAE, 0xF4, 0x4A, 0x2E, +0x00, 0x0C, 0xE3, 0x89, 0x1B, 0x40, 0x58, 0x97, 0x5C, 0xA8, 0x62, 0x18, 0x30, 0xED, 0xFF, 0x20, +0xFE, 0x30, 0x84, 0x07, 0x94, 0xF9, 0x37, 0x09, 0xBA, 0x60, 0x12, 0x81, 0xE1, 0x96, 0x90, 0xE3, +0x1B, 0xD3, 0xDB, 0x6B, 0xAF, 0x2A, 0xFD, 0x05, 0xF1, 0x64, 0x02, 0xEE, 0x25, 0x42, 0xC3, 0x3F, +0x78, 0xC0, 0xEC, 0xDF, 0x04, 0x86, 0x8E, 0xD6, 0x09, 0xE8, 0x17, 0x00, 0x86, 0x0E, 0xF0, 0x74, +0xF7, 0x3D, 0x01, 0x2F, 0xCF, 0x3F, 0x28, 0x70, 0x80, 0x96, 0x7A, 0x20, 0xDF, 0xC8, 0x26, 0xC3, +0x94, 0x05, 0xFB, 0x5B, 0xC0, 0x2C, 0x29, 0x90, 0xFE, 0x26, 0x08, 0x68, 0x53, 0x60, 0x04, 0x3A, +0x95, 0x34, 0x11, 0x32, 0x49, 0x11, 0x30, 0xE1, 0xFF, 0x28, 0x9C, 0xCA, 0x53, 0xC1, 0x1B, 0x23, +0x80, 0x6D, 0x8C, 0x2A, 0x3D, 0xDA, 0x03, 0xCE, 0x85, 0xFC, 0x17, 0x11, 0x6E, 0x09, 0x11, 0x05, +0x06, 0x3E, 0x24, 0xB5, 0x6D, 0xFE, 0xC1, 0x03, 0x72, 0x95, 0x25, 0xFA, 0x3F, 0x78, 0xC0, 0xED, +0xF9, 0x3F, 0xBE, 0xF4, 0x04, 0xDC, 0x18, 0xFF, 0x1B, 0xAF, 0x06, 0x80, 0x3B, 0xDC, 0x8E, 0x27, +0x8B, 0xB1, 0xEF, 0x07, 0x92, 0xFF, 0x43, 0xC8, 0xEE, 0x2F, 0xB1, 0x25, 0x84, 0xFB, 0xB8, 0x05, +0xE0, 0x6B, 0x1A, 0x01, 0x7C, 0x9B, 0x09, 0x01, 0x7F, 0x88, 0x04, 0xFF, 0x64, 0x0F, 0xB8, 0xBA, +0x0D, 0x74, 0x26, 0x0B, 0x86, 0xFF, 0x23, 0xDC, 0xC5, 0x1C, 0x20, 0xC7, 0x06, 0x00, 0xEB, 0x19, +0x35, 0x1A, 0x16, 0x7C, 0xF8, 0x73, 0x70, 0x20, 0x60, 0x79, 0x2E, 0x64, 0xA7, 0x81, 0x3F, 0x09, +0xEC, 0xEC, 0x5F, 0x26, 0xF8, 0xD6, 0x30, 0xB8, 0x3F, 0x60, 0xB6, 0x67, 0x85, 0xE3, 0x7F, 0x4A, +0x0F, 0xE8, 0x80, 0x37, 0x2E, 0x67, 0x40, 0xFE, 0x24, 0xBA, 0x00, 0x1A, 0xF2, 0xE6, 0xA2, 0xA8, +0x48, 0xC0, 0x13, 0xC9, 0xFF, 0x61, 0x18, 0x10, 0xA0, 0x60, 0x18, 0x42, 0x92, 0x0B, 0x7C, 0xC8, +0x68, 0xFB, 0xFC, 0x83, 0x07, 0xD4, 0x50, 0x50, 0xF4, 0x7F, 0x88, 0x27, 0xF8, 0x3F, 0x08, 0x1E, +0xB0, 0x08, 0x37, 0xC5, 0xD1, 0x05, 0x69, 0x62, 0x7B, 0x00, 0x0C, 0x20, 0x37, 0xD8, 0x16, 0x0C, +0xFE, 0xA5, 0x43, 0x8D, 0xC0, 0xF5, 0xB1, 0x6D, 0x1E, 0xFF, 0xB3, 0x00, 0x7C, 0x45, 0x03, 0x80, +0x4F, 0xE3, 0x1F, 0x42, 0xE6, 0x1F, 0x74, 0x14, 0x26, 0xC0, 0x99, 0x2C, 0x98, 0x2B, 0xFC, 0x5F, +0xC4, 0x01, 0xB2, 0x36, 0x6E, 0x8F, 0x5A, 0xCF, 0x8A, 0x98, 0x07, 0x07, 0xE8, 0xF0, 0xF7, 0x3D, +0x35, 0xDC, 0x92, 0x88, 0x7C, 0xAB, 0x0B, 0xB3, 0x06, 0x86, 0x83, 0x4E, 0x90, 0xFF, 0x46, 0xE3, +0x18, 0xBB, 0x25, 0x29, 0x96, 0x5A, 0xFC, 0xA1, 0x5F, 0x0A, 0x53, 0xC1, 0x1D, 0xD3, 0xCD, 0xD1, +0xDF, 0x31, 0x11, 0x62, 0x55, 0xC0, 0x03, 0x7A, 0xFE, 0x5D, 0xB6, 0xD1, 0x42, 0x8F, 0x5F, 0x0C, +0x03, 0xFE, 0x85, 0x04, 0xEC, 0xAD, 0x4F, 0x05, 0x8B, 0xC2, 0x06, 0xE0, 0xAC, 0xB6, 0xCD, 0xBF, +0xEA, 0x1E, 0x30, 0x58, 0x00, 0x93, 0x88, 0xFE, 0xE3, 0x37, 0x80, 0x14, 0x3E, 0xFF, 0x05, 0x07, +0x63, 0x5B, 0x42, 0x8A, 0xD5, 0xCA, 0xA7, 0x09, 0x3E, 0xFF, 0xB0, 0x1A, 0x6A, 0xA2, 0xE5, 0x5F, +0x47, 0xC6, 0x1F, 0xEE, 0xD1, 0x8B, 0xB1, 0xED, 0x63, 0xA2, 0xE0, 0xE8, 0xB5, 0x39, 0xC0, 0xB7, +0xD9, 0x90, 0xF9, 0x87, 0x90, 0xF9, 0x07, 0x01, 0x7F, 0x48, 0x80, 0xE3, 0x04, 0x0C, 0x36, 0x80, +0xC4, 0x1D, 0x20, 0x9F, 0x54, 0x02, 0xE0, 0xDA, 0x02, 0x40, 0x38, 0x40, 0xE4, 0xBF, 0x54, 0x59, +0xF8, 0x43, 0x20, 0x9C, 0x02, 0x83, 0x7F, 0xC2, 0x38, 0x60, 0xB9, 0x5B, 0x09, 0x23, 0x81, 0x9D, +0x1C, 0xFF, 0xB0, 0x25, 0x84, 0x0E, 0x48, 0x79, 0x4D, 0xFA, 0xE3, 0xAE, 0x60, 0x06, 0x07, 0x3E, +0xCA, 0xFE, 0xEF, 0x12, 0x07, 0x77, 0x2C, 0xAA, 0x6F, 0x09, 0x01, 0xFF, 0xD2, 0xC1, 0xCB, 0x01, +0x61, 0x95, 0x44, 0xC1, 0xFF, 0x09, 0xDA, 0x22, 0xFF, 0xA0, 0x2B, 0xAD, 0x2C, 0xD6, 0xB1, 0x01, +0x24, 0x17, 0xBD, 0x47, 0x6F, 0x00, 0x29, 0x73, 0x0F, 0x2A, 0xB0, 0x1C, 0x10, 0xE3, 0x7F, 0xC0, +0xDE, 0x04, 0x2F, 0x3E, 0x55, 0x78, 0x40, 0xF0, 0x2F, 0x13, 0x6A, 0x04, 0x62, 0x15, 0xB4, 0x59, +0x00, 0x63, 0xA3, 0x96, 0xBC, 0xFB, 0xC1, 0xDE, 0x27, 0x2F, 0x4D, 0x6A, 0x02, 0xEE, 0x09, 0x51, +0x05, 0x80, 0xC1, 0x04, 0x70, 0xCE, 0x03, 0xFA, 0x5B, 0x60, 0xB1, 0xFF, 0x4B, 0x38, 0xC0, 0x8D, +0x1B, 0x23, 0xD4, 0x25, 0x51, 0xDE, 0x5B, 0x5A, 0x00, 0xC8, 0xC5, 0x1D, 0xB9, 0x41, 0x65, 0x13, +0x68, 0xF1, 0x27, 0x24, 0xC0, 0xD8, 0x15, 0xEC, 0x96, 0x8C, 0xEA, 0xE8, 0xB7, 0x04, 0xFF, 0x84, +0x71, 0x40, 0x6E, 0x5D, 0x3F, 0x9F, 0x8C, 0x99, 0x7D, 0xF6, 0xC4, 0x3F, 0xE4, 0x3D, 0xA0, 0xDF, +0x16, 0x8C, 0x0D, 0x20, 0x25, 0x5D, 0x3E, 0xD6, 0x03, 0x82, 0x7F, 0x79, 0x07, 0x34, 0x87, 0x07, +0xEC, 0xE9, 0xF9, 0x27, 0x6A, 0xAB, 0xFC, 0x83, 0x05, 0xD4, 0x02, 0x90, 0xC8, 0xE7, 0x10, 0x88, +0x1F, 0x3F, 0x1E, 0xF3, 0x47, 0xF2, 0x2F, 0xF0, 0x7E, 0x97, 0xA1, 0x07, 0x2C, 0x56, 0xFE, 0x0F, +0xF3, 0x5E, 0xA6, 0x07, 0x78, 0x75, 0x38, 0xB0, 0x5C, 0xB4, 0x25, 0x04, 0xE8, 0x27, 0x09, 0x7D, +0x1A, 0x1F, 0xFF, 0xB5, 0x57, 0xB3, 0x0C, 0xF0, 0xED, 0xB3, 0x00, 0xB0, 0x26, 0x4A, 0xE6, 0x1F, +0x86, 0x01, 0x71, 0x07, 0xC0, 0xAC, 0x03, 0xE4, 0x05, 0xD1, 0xE0, 0x9F, 0x24, 0x93, 0x04, 0x83, +0x7F, 0x44, 0xBA, 0xD5, 0x01, 0xD3, 0x21, 0x46, 0xDE, 0x01, 0x2E, 0x47, 0x32, 0x01, 0xB1, 0x01, +0x58, 0xEB, 0x00, 0x27, 0x08, 0x21, 0x0B, 0x5E, 0xF5, 0x7D, 0x4B, 0x3C, 0x5C, 0x96, 0xC6, 0x04, +0x39, 0x09, 0xE6, 0xD6, 0x2E, 0xFF, 0xC3, 0x3B, 0x09, 0xFE, 0xCF, 0xB7, 0xCD, 0x8A, 0x9B, 0xE2, +0x30, 0x01, 0x22, 0x7B, 0xC0, 0xED, 0xF8, 0x3F, 0xE8, 0x11, 0x0B, 0xA0, 0x65, 0x81, 0x80, 0xDA, +0x2D, 0x21, 0xBD, 0xB9, 0x18, 0x8F, 0xD8, 0x00, 0x12, 0x80, 0x2F, 0xEA, 0x01, 0xB1, 0x01, 0x18, +0xD0, 0xF3, 0xC7, 0x8E, 0x7F, 0x0C, 0x16, 0xB0, 0xA3, 0xE1, 0x1F, 0x6A, 0x46, 0xD8, 0x12, 0x02, +0xFF, 0x47, 0x0E, 0xF0, 0xB5, 0xDC, 0x00, 0x8B, 0x10, 0x27, 0x05, 0x00, 0x28, 0x06, 0xF8, 0x27, +0x0B, 0x0B, 0xA0, 0x45, 0x59, 0x00, 0x12, 0xEA, 0xA8, 0x24, 0x1C, 0x20, 0x0B, 0x37, 0x46, 0xA8, +0x2B, 0x74, 0x61, 0x66, 0x42, 0x1C, 0xE2, 0xB8, 0x41, 0xE6, 0xCB, 0x27, 0x20, 0xE1, 0x45, 0xC3, +0x6E, 0x08, 0x41, 0xFA, 0x2B, 0x79, 0x40, 0x25, 0xFF, 0xB0, 0x05, 0x44, 0xF4, 0x80, 0x98, 0x00, +0x76, 0x8D, 0xF3, 0x7E, 0xFE, 0x0D, 0x81, 0x31, 0x41, 0x6B, 0x01, 0x87, 0xED, 0x50, 0x97, 0xBF, +0xBB, 0xE3, 0x63, 0x97, 0x03, 0xCE, 0x65, 0x00, 0x30, 0x01, 0x49, 0x15, 0xE6, 0x7F, 0x55, 0x00, +0xFC, 0xB8, 0x5D, 0xFF, 0x07, 0x02, 0x2A, 0x65, 0x67, 0x75, 0x88, 0xFE, 0x72, 0x3C, 0x6E, 0x03, +0x48, 0xF0, 0x32, 0x01, 0x85, 0xE6, 0x0B, 0xCC, 0x0C, 0x17, 0xF2, 0x5D, 0x8B, 0xBC, 0x31, 0xAE, +0x4B, 0x03, 0x21, 0x48, 0x80, 0x35, 0x08, 0x84, 0x24, 0x02, 0xDE, 0xC0, 0xFF, 0x51, 0xD4, 0x5E, +0xBC, 0xF3, 0x03, 0xFF, 0xC4, 0xC0, 0x1D, 0x00, 0xE5, 0x00, 0xFF, 0x64, 0x00, 0x82, 0x7F, 0x92, +0xD8, 0xFF, 0x19, 0xFE, 0x09, 0x0E, 0x70, 0xD7, 0xDE, 0x18, 0xA1, 0xAE, 0x92, 0x49, 0x82, 0x89, +0x70, 0xC8, 0x7E, 0x37, 0x34, 0x5A, 0x99, 0x43, 0x1E, 0x00, 0xC4, 0xFE, 0xDF, 0x2C, 0x00, 0x97, +0xC7, 0x34, 0xFE, 0xA7, 0xEE, 0x59, 0xC0, 0x9F, 0x68, 0x01, 0x7D, 0x5F, 0x9F, 0xC0, 0x03, 0x30, +0x06, 0xCB, 0x0E, 0xD0, 0x34, 0x05, 0x15, 0xB6, 0x0D, 0xB0, 0x7F, 0x81, 0x1E, 0xB7, 0x25, 0xA4, +0x37, 0xD7, 0x12, 0xF0, 0x6A, 0x5B, 0x06, 0x10, 0x7A, 0x16, 0x00, 0x5E, 0xE9, 0x11, 0x88, 0xFD, +0x1F, 0x42, 0xF4, 0xAA, 0xF2, 0x8F, 0x15, 0x26, 0xC1, 0xDE, 0x11, 0x62, 0x39, 0x60, 0x01, 0xD6, +0xB9, 0xE3, 0x84, 0xAB, 0xEB, 0x04, 0x5C, 0x26, 0xDE, 0x03, 0x82, 0x7F, 0xF9, 0x50, 0x20, 0x10, +0x53, 0xC1, 0xEC, 0xFF, 0x10, 0xAF, 0x6C, 0x1D, 0xA0, 0x20, 0xF8, 0x3F, 0x31, 0xC0, 0x3F, 0x95, +0x05, 0xDC, 0x97, 0xF5, 0xC1, 0xCD, 0x84, 0x78, 0xDC, 0x71, 0xB1, 0x27, 0x1C, 0xB8, 0xE0, 0x2B, +0x37, 0x17, 0xAC, 0x94, 0xF5, 0x7F, 0x23, 0x78, 0x3F, 0x6A, 0x10, 0xE6, 0xD2, 0xB7, 0x7C, 0x57, +0xC0, 0xA9, 0x2E, 0xA6, 0x2D, 0x02, 0xA0, 0x9E, 0x7F, 0x6A, 0x02, 0xFA, 0xAE, 0x3F, 0xC6, 0x88, +0x4F, 0x69, 0x52, 0xD8, 0xD9, 0x01, 0x7E, 0x28, 0xF0, 0x7F, 0xC9, 0x1C, 0xAB, 0xA9, 0x53, 0x97, +0x2A, 0xF3, 0x4F, 0x08, 0x6C, 0x09, 0xA9, 0x20, 0x1D, 0xA9, 0xA8, 0x6E, 0x19, 0x7F, 0xD5, 0x17, +0x44, 0xCF, 0x7B, 0xAA, 0x98, 0xF7, 0xAA, 0x2F, 0x00, 0xC4, 0x3C, 0x55, 0x4A, 0xC3, 0x02, 0xC9, +0x2E, 0xD6, 0xBE, 0xB3, 0x09, 0xF4, 0xD8, 0xB3, 0xBB, 0x82, 0xDC, 0x54, 0x70, 0x4B, 0x19, 0x48, +0x43, 0x34, 0x1E, 0x70, 0x54, 0x06, 0xE0, 0xEB, 0x48, 0x7F, 0x9F, 0xE7, 0x6F, 0x00, 0x6B, 0x05, +0xFE, 0xC9, 0x7A, 0x77, 0x4A, 0x41, 0xA2, 0x16, 0x27, 0x2C, 0x3C, 0xEA, 0x8E, 0xF4, 0x37, 0x80, +0xEB, 0x4A, 0x61, 0xAC, 0x6F, 0x87, 0x6A, 0x18, 0xDC, 0xEC, 0x34, 0x8C, 0xF8, 0xE3, 0x4F, 0x23, +0x9E, 0x0A, 0xD6, 0x8B, 0xC8, 0xA6, 0x8A, 0x56, 0xA7, 0x94, 0xF1, 0x96, 0xF3, 0x1E, 0x3F, 0x2B, +0xC2, 0x8D, 0xBB, 0xE0, 0x09, 0x60, 0x13, 0xCD, 0x44, 0xF5, 0x41, 0x6A, 0xF6, 0x9B, 0xF3, 0xFB, +0xB9, 0x58, 0xD8, 0x02, 0xF6, 0x7B, 0x73, 0x95, 0xD8, 0x03, 0xEA, 0xF5, 0x30, 0xA3, 0xFC, 0x56, +0x08, 0xFE, 0x8A, 0xEA, 0x00, 0xFC, 0x28, 0xC7, 0xC7, 0x4A, 0x04, 0xEC, 0xA9, 0x09, 0x48, 0x13, +0x20, 0xBA, 0x5F, 0x6B, 0x9F, 0x06, 0x00, 0xF9, 0x45, 0x11, 0x2B, 0x35, 0xCE, 0x00, 0x42, 0xE0, +0x9E, 0x5B, 0x0D, 0x8D, 0x21, 0xC1, 0x89, 0xAA, 0x5F, 0x31, 0x02, 0xF5, 0xBA, 0x99, 0xAE, 0xA9, +0x56, 0xCA, 0x0F, 0x57, 0x38, 0x91, 0xF3, 0x4A, 0x7C, 0x55, 0x45, 0x52, 0xE9, 0x83, 0x8B, 0x9E, +0x6A, 0xFF, 0x06, 0xFF, 0x20, 0x36, 0x77, 0xAA, 0x38, 0xFA, 0xF0, 0xEE, 0x94, 0x66, 0x40, 0x34, +0x41, 0xF7, 0x45, 0xA0, 0xA1, 0xBD, 0xBA, 0x26, 0xEA, 0x17, 0x3B, 0x0D, 0x9E, 0xDC, 0x6D, 0xD8, +0xC0, 0x09, 0x1E, 0xB0, 0x5F, 0x30, 0xA2, 0xF6, 0xF8, 0x78, 0xAA, 0x8B, 0xE9, 0xCD, 0x37, 0xDF, +0xDC, 0xA8, 0xA2, 0xF5, 0x8D, 0x41, 0x9B, 0x22, 0x5A, 0x9D, 0xCE, 0x62, 0x30, 0x56, 0x6A, 0xD0, +0x56, 0xEB, 0xFE, 0xF6, 0xE4, 0xF6, 0xFC, 0x36, 0x5B, 0xFC, 0xF1, 0xBC, 0xD7, 0xD7, 0x45, 0x7F, +0xAE, 0x25, 0xE0, 0xB7, 0x57, 0xBD, 0x8F, 0xB3, 0x8F, 0x0A, 0xCD, 0xA8, 0xCC, 0xAE, 0x7F, 0xBE, +0xA6, 0x12, 0x46, 0x50, 0x66, 0xF8, 0x37, 0xA5, 0x7F, 0xB6, 0x47, 0xDF, 0x83, 0x2C, 0xF3, 0x45, +0xF3, 0xF9, 0x5D, 0x5F, 0xF5, 0xF3, 0x73, 0x0E, 0x7C, 0x6B, 0x7E, 0x67, 0x27, 0x62, 0x7B, 0xDF, +0x56, 0x6B, 0x30, 0x56, 0xAB, 0xD3, 0xD2, 0xC5, 0xA4, 0xD3, 0x41, 0x6F, 0x14, 0xA2, 0xB5, 0xD1, +0xFF, 0x6B, 0x65, 0xE8, 0x80, 0x3D, 0x62, 0x3C, 0x81, 0x6B, 0xEA, 0x78, 0x0E, 0xED, 0x3D, 0x8F, +0x03, 0x3C, 0xFA, 0x70, 0xA4, 0xD3, 0xBE, 0xBD, 0x07, 0x82, 0x93, 0x3F, 0xC3, 0x15, 0x4E, 0xAB, +0xA5, 0xC0, 0x44, 0x38, 0xAE, 0x1C, 0x38, 0xAC, 0x5D, 0x58, 0xD1, 0x0C, 0x08, 0xF7, 0x00, 0xA5, +0xBE, 0xD1, 0x88, 0xBF, 0x4A, 0xD9, 0x53, 0x5B, 0x1D, 0x02, 0xA0, 0x9A, 0x7F, 0x83, 0x01, 0xA7, +0x55, 0xA2, 0x8A, 0x41, 0x7B, 0x38, 0xBC, 0x3F, 0x3F, 0xB9, 0x65, 0x08, 0x0A, 0xF5, 0xF6, 0xE4, +0xE4, 0xE4, 0x9C, 0xDE, 0xDA, 0x92, 0x78, 0xC1, 0xCC, 0xFC, 0xDB, 0xF9, 0xB7, 0x57, 0xDF, 0xCA, +0xEA, 0x12, 0xFF, 0x7A, 0xBD, 0x07, 0x0D, 0xA9, 0x1E, 0x1E, 0x7E, 0xFB, 0xED, 0x9A, 0x09, 0x18, +0x2A, 0xC2, 0xBF, 0xEB, 0xEB, 0xD9, 0x83, 0x8A, 0x7F, 0x0F, 0xF4, 0xFF, 0xBF, 0xA2, 0xEF, 0x43, +0x12, 0x01, 0x90, 0x7E, 0xA8, 0x39, 0xFF, 0x70, 0x3D, 0xFA, 0x11, 0xFB, 0x99, 0x96, 0x7F, 0x03, +0x27, 0x27, 0x86, 0x70, 0x27, 0x42, 0xA5, 0xE6, 0x9E, 0x52, 0xE0, 0x42, 0xC9, 0xBF, 0xC1, 0x40, +0xCD, 0x3F, 0xAD, 0x5A, 0x9D, 0x6F, 0x58, 0x2D, 0x55, 0x6F, 0x25, 0x95, 0xFB, 0x3F, 0x00, 0x58, +0x25, 0x36, 0x7C, 0x22, 0xD7, 0xE7, 0x88, 0xED, 0x6B, 0xEF, 0x99, 0x08, 0xC8, 0xBB, 0xE0, 0x8E, +0x64, 0x91, 0x53, 0x24, 0x02, 0x62, 0xB2, 0xC3, 0x9C, 0x21, 0x70, 0x6A, 0x86, 0x00, 0x4F, 0x89, +0x80, 0x6F, 0x54, 0xFC, 0x33, 0x04, 0x04, 0xF0, 0x1A, 0x31, 0x10, 0x5A, 0x2B, 0x38, 0xA5, 0xC2, +0x08, 0x54, 0x04, 0x8B, 0xF1, 0x26, 0x84, 0xED, 0x79, 0x6C, 0x00, 0xB5, 0x52, 0xF3, 0x6F, 0x3C, +0x28, 0xF8, 0x2D, 0xD3, 0x2E, 0x62, 0xB5, 0x54, 0x86, 0xF7, 0x44, 0x40, 0x7A, 0x2B, 0xCA, 0x3A, +0x3F, 0x31, 0x04, 0xEC, 0x0B, 0xFC, 0xBB, 0xEB, 0x13, 0xFF, 0x98, 0x15, 0x84, 0x40, 0x31, 0xBA, +0x57, 0xCC, 0x1F, 0x26, 0xE0, 0x43, 0x36, 0xB8, 0x21, 0xFF, 0xC7, 0x11, 0x20, 0x10, 0x8F, 0xE0, +0x92, 0xBE, 0xEE, 0xB7, 0xD9, 0x83, 0x26, 0x01, 0xEE, 0x99, 0xEF, 0xA0, 0x7B, 0xF5, 0xAD, 0x1C, +0x73, 0x16, 0x48, 0x97, 0x68, 0xFB, 0x7C, 0x76, 0xC2, 0xBA, 0x55, 0xE8, 0x84, 0x7E, 0xFD, 0xCD, +0x7B, 0xF3, 0x5A, 0x14, 0x42, 0x21, 0xFF, 0xA7, 0x26, 0xA0, 0x83, 0x9B, 0x26, 0x4C, 0x0F, 0x3C, +0x96, 0xFB, 0xAA, 0x03, 0x60, 0xE0, 0x00, 0xE5, 0x90, 0x1D, 0xE0, 0x8B, 0x40, 0xA0, 0x9D, 0xFF, +0x55, 0xA9, 0x56, 0x95, 0x80, 0xFB, 0x0A, 0x13, 0xB8, 0xBF, 0x4B, 0xB1, 0xFF, 0xFE, 0x54, 0x70, +0x80, 0xEE, 0xDE, 0xD0, 0xEC, 0x01, 0xDF, 0x68, 0x26, 0x81, 0x39, 0x55, 0xF6, 0xBC, 0x03, 0xF8, +0xD0, 0xA0, 0x18, 0xA9, 0x00, 0xA8, 0xB7, 0x80, 0xC7, 0x2D, 0x87, 0x40, 0x39, 0x26, 0x7A, 0x02, +0x0E, 0x8C, 0x98, 0x6F, 0x6C, 0xF2, 0x36, 0x2B, 0x85, 0x2D, 0xFC, 0x7C, 0xF3, 0x7E, 0x48, 0xBA, +0x3F, 0x51, 0xBC, 0x55, 0x59, 0x4C, 0x40, 0xD1, 0x00, 0x9D, 0xF7, 0x88, 0x7F, 0x2A, 0x00, 0x32, +0xFF, 0x2C, 0x01, 0xA5, 0x8C, 0x95, 0x60, 0x46, 0xFE, 0xEF, 0xB7, 0xD9, 0x2C, 0xF4, 0x7B, 0xEE, +0x91, 0x72, 0x9D, 0xD1, 0x57, 0x5A, 0x02, 0x4A, 0xEA, 0x59, 0x29, 0xF9, 0xC7, 0x60, 0x67, 0xC6, +0xE5, 0x7F, 0x01, 0xEC, 0xFF, 0x74, 0x04, 0x3C, 0x27, 0xFE, 0xB1, 0xC8, 0x03, 0x52, 0xB0, 0x69, +0xCF, 0x94, 0x01, 0x49, 0x49, 0x40, 0xD8, 0x3B, 0x51, 0xAE, 0x03, 0xEA, 0xFC, 0xDF, 0x06, 0x01, +0x1F, 0x07, 0x40, 0x38, 0x3F, 0x77, 0x7C, 0x19, 0x1E, 0x70, 0xCF, 0xC6, 0x73, 0x8D, 0x03, 0x6A, +0xF2, 0xDF, 0x03, 0x5E, 0x0B, 0xF3, 0x3E, 0xEA, 0x00, 0x71, 0x75, 0xCA, 0xFE, 0x8F, 0x75, 0xAA, +0x20, 0x20, 0xCF, 0x00, 0x9B, 0x9D, 0x20, 0xB0, 0x80, 0x41, 0xE3, 0x5B, 0x5E, 0x06, 0x68, 0x09, +0x28, 0x03, 0x10, 0x08, 0x14, 0x0D, 0xA0, 0x2D, 0x72, 0xA2, 0x62, 0xC4, 0x14, 0xD4, 0xF2, 0x8F, +0x0E, 0x8E, 0x76, 0xA6, 0x0E, 0x70, 0x34, 0x27, 0x85, 0x09, 0x5A, 0x82, 0x6B, 0xD4, 0x97, 0xDF, +0xAD, 0x27, 0x3A, 0x02, 0xF6, 0x4D, 0xFE, 0x6B, 0x25, 0xF2, 0xAF, 0xEB, 0xF9, 0xD3, 0xCB, 0x5A, +0x40, 0xC7, 0x3F, 0xB6, 0x75, 0xC4, 0xB6, 0x75, 0xBF, 0x07, 0x04, 0xE2, 0x8A, 0x30, 0xC9, 0xB4, +0xBC, 0xA6, 0xFF, 0x32, 0xFB, 0x8F, 0x72, 0xFE, 0xCB, 0x08, 0x56, 0x79, 0xC0, 0xB9, 0x03, 0x60, +0x4F, 0xC8, 0x81, 0x39, 0xFF, 0x75, 0x92, 0x7D, 0x75, 0x7F, 0x68, 0x74, 0xDF, 0x34, 0xAF, 0x4B, +0x0E, 0x81, 0xEC, 0xFF, 0xAC, 0x2A, 0xE4, 0xBF, 0x2A, 0xFF, 0xA7, 0xB4, 0x80, 0x0C, 0x40, 0x03, +0xC1, 0x6D, 0x3A, 0xC0, 0xB7, 0x2F, 0xC7, 0x01, 0xEE, 0x55, 0x26, 0x60, 0x6D, 0x9B, 0x1E, 0x90, +0xDD, 0x1F, 0xD7, 0x83, 0x7D, 0xC1, 0x01, 0x9A, 0x25, 0x30, 0xCC, 0x40, 0xAA, 0x6F, 0x14, 0x5B, +0xE1, 0x58, 0x17, 0x75, 0x58, 0xC0, 0xA0, 0xB1, 0xFC, 0x63, 0xF4, 0x51, 0x8C, 0x14, 0x1E, 0x10, +0x62, 0xFE, 0xE5, 0xD5, 0x02, 0x02, 0xF3, 0x41, 0xF2, 0x08, 0x1C, 0x0F, 0x24, 0x00, 0x3A, 0x8D, +0x57, 0x9C, 0x1B, 0xD8, 0x83, 0x3B, 0x9A, 0x87, 0x49, 0x03, 0xE6, 0x9F, 0x13, 0x01, 0x4E, 0xE2, +0x9F, 0x97, 0x7F, 0xAF, 0xC7, 0x21, 0x70, 0x47, 0xFE, 0x0F, 0x00, 0xBC, 0xCA, 0x21, 0x85, 0xF9, +0x07, 0x02, 0x0A, 0xFE, 0x8F, 0x1D, 0x1D, 0x51, 0x8D, 0xE1, 0x16, 0x3A, 0x40, 0xC0, 0x8F, 0x1B, +0xCE, 0x95, 0xED, 0xD7, 0x12, 0xE6, 0xB2, 0x72, 0xFC, 0x63, 0x7D, 0xDB, 0x95, 0xF9, 0xC7, 0xA2, +0x93, 0x73, 0xC1, 0x02, 0x9F, 0xAC, 0x24, 0x7D, 0xA6, 0xDC, 0x0E, 0x9D, 0xEE, 0x87, 0xFC, 0xB2, +0x70, 0xA4, 0xCA, 0x80, 0xA4, 0x04, 0xE0, 0x22, 0xF8, 0xE4, 0x4C, 0x09, 0x00, 0xD4, 0x1A, 0xC0, +0x6F, 0xB6, 0x00, 0x40, 0xD6, 0xDA, 0xE1, 0x05, 0x10, 0x90, 0xC8, 0xF7, 0x6F, 0x7A, 0x40, 0x5A, +0x03, 0x78, 0xB0, 0x4B, 0xF0, 0x63, 0x0A, 0x1E, 0x64, 0xC6, 0x00, 0xB1, 0x13, 0xCE, 0x20, 0x90, +0x10, 0x27, 0x03, 0xD0, 0x22, 0x10, 0xBC, 0x8B, 0x36, 0x3C, 0xFA, 0x67, 0x18, 0x38, 0x92, 0x3D, +0x20, 0x24, 0x0E, 0x03, 0xA2, 0xFF, 0x65, 0xC7, 0x01, 0x37, 0x9E, 0x1C, 0x48, 0xFC, 0x83, 0x8C, +0xFF, 0x83, 0xE7, 0xB3, 0x17, 0x0E, 0x8B, 0x83, 0x82, 0xDE, 0x77, 0x2B, 0x11, 0xE1, 0x04, 0xFE, +0x79, 0x31, 0xE3, 0xFA, 0x29, 0x00, 0x9C, 0x9F, 0x7F, 0xCD, 0x8C, 0xF0, 0x92, 0x06, 0x00, 0x41, +0x40, 0x5A, 0xE3, 0x92, 0xF6, 0x6A, 0xD6, 0xFF, 0x91, 0xA9, 0xFB, 0xCD, 0x11, 0x30, 0x9C, 0x01, +0xE1, 0x6A, 0x9B, 0x99, 0x71, 0x8A, 0xBF, 0x71, 0x33, 0x93, 0x07, 0x00, 0x57, 0x92, 0x00, 0x08, +0xF5, 0xEE, 0xE2, 0xEC, 0xB3, 0x07, 0xF0, 0x4F, 0xF6, 0x80, 0xC3, 0x92, 0xDA, 0x59, 0xFE, 0x15, +0xA5, 0xD7, 0x54, 0xC7, 0x3F, 0xD9, 0x03, 0x82, 0x7F, 0x5C, 0x94, 0xFE, 0x8F, 0xB5, 0x05, 0x07, +0xC8, 0xD5, 0x9F, 0xBE, 0x80, 0x89, 0x10, 0xB2, 0x7F, 0x08, 0x89, 0x7A, 0x38, 0xDD, 0x9A, 0x05, +0xDC, 0x37, 0xE9, 0xAF, 0x43, 0xE0, 0x6E, 0xC6, 0x01, 0xF2, 0x00, 0x20, 0x24, 0x10, 0x90, 0xF0, +0x07, 0x35, 0x76, 0xB2, 0xFC, 0xF3, 0x7F, 0x1C, 0x8E, 0x4F, 0x54, 0x06, 0xF0, 0x1B, 0xDB, 0x66, +0x04, 0xFC, 0x71, 0xC9, 0x76, 0xD4, 0x32, 0x00, 0xA5, 0xC5, 0x30, 0xC5, 0x3A, 0x00, 0x3D, 0xF9, +0x38, 0xBB, 0xB2, 0x4D, 0xE1, 0x88, 0x38, 0x18, 0x1A, 0xFF, 0x07, 0x02, 0x0A, 0xFC, 0x83, 0x18, +0x80, 0x77, 0xA9, 0x81, 0xB0, 0x39, 0x24, 0x00, 0xD0, 0xD0, 0x07, 0x04, 0xCC, 0x4E, 0x00, 0x5F, +0x1B, 0x4B, 0xE7, 0x6A, 0xC2, 0x00, 0xC2, 0xFF, 0xD9, 0x20, 0x68, 0xE6, 0x3C, 0x20, 0xF8, 0x27, +0x0F, 0x03, 0xCE, 0x21, 0xE2, 0xFB, 0xDF, 0xDC, 0x9D, 0x4D, 0x6B, 0x6B, 0x55, 0x14, 0x86, 0xD5, +0x82, 0xDA, 0x82, 0x88, 0xA0, 0x13, 0x15, 0x03, 0x99, 0xF5, 0x06, 0x4A, 0xA8, 0x03, 0xC1, 0xD1, +0x41, 0x30, 0x93, 0x33, 0x90, 0x92, 0xC6, 0x2B, 0x19, 0x29, 0x14, 0x82, 0x99, 0x04, 0x27, 0x4E, +0xDA, 0x5E, 0x82, 0xFE, 0x80, 0x4E, 0x04, 0xC1, 0x49, 0x13, 0xB8, 0xDC, 0x99, 0xF4, 0x2F, 0xBA, +0xD6, 0xFE, 0xC8, 0x7B, 0x4E, 0xD6, 0xDE, 0x7B, 0xAD, 0xE3, 0x3D, 0xB1, 0xBD, 0xBE, 0x7B, 0x9F, +0x8F, 0xA4, 0x55, 0x6C, 0x72, 0xF2, 0xF8, 0xEC, 0xAF, 0x93, 0x0B, 0x1E, 0xEA, 0x49, 0x2A, 0x30, +0xF1, 0x8F, 0x01, 0x88, 0xA8, 0xFE, 0x07, 0x07, 0x7C, 0x75, 0x5E, 0xEE, 0x00, 0x44, 0x54, 0xFE, +0x59, 0x14, 0x10, 0x0D, 0x60, 0xD4, 0x7C, 0x5A, 0x57, 0xF5, 0x6B, 0x1B, 0x20, 0xE6, 0x0D, 0xBE, +0xF7, 0x46, 0x8C, 0x83, 0x1C, 0xB7, 0x8B, 0x29, 0xDD, 0x09, 0x98, 0xF7, 0xBF, 0x2F, 0x80, 0xBF, +0xCF, 0x79, 0x28, 0x38, 0x6B, 0x80, 0xEC, 0x7F, 0xC0, 0x1F, 0x08, 0xA8, 0xF8, 0x9F, 0x77, 0xC0, +0x77, 0x24, 0xF9, 0xD0, 0x01, 0x18, 0xE1, 0xC7, 0x1C, 0x3C, 0x31, 0xF9, 0xDF, 0x4B, 0xCD, 0x01, +0x71, 0xDD, 0x09, 0x07, 0x2C, 0x5F, 0xC3, 0x3F, 0x97, 0x1A, 0xC1, 0xED, 0x4F, 0x0A, 0x8F, 0xFA, +0xA2, 0xC4, 0x03, 0x33, 0x90, 0xFC, 0x0F, 0x01, 0x01, 0x15, 0xFE, 0x81, 0x80, 0x92, 0x7D, 0x7C, +0x52, 0xD5, 0xDE, 0xFF, 0x90, 0xBC, 0xFE, 0x35, 0xE8, 0x13, 0x86, 0x82, 0x5F, 0xE4, 0x3A, 0x00, +0x09, 0x79, 0xC4, 0x33, 0x2A, 0x54, 0xC5, 0x50, 0x30, 0x50, 0x48, 0x5B, 0x10, 0x45, 0xEF, 0x8A, +0xBC, 0x95, 0x66, 0x40, 0x4F, 0x10, 0xA5, 0x1B, 0x70, 0xDD, 0xCE, 0xA4, 0x4A, 0x1A, 0x20, 0xDA, +0xBF, 0x88, 0xCA, 0x3F, 0x64, 0xA6, 0xF2, 0x4F, 0x77, 0xC0, 0x59, 0xE0, 0x1F, 0x52, 0xF2, 0xBF, +0x69, 0xAB, 0x16, 0xFD, 0xAF, 0x9D, 0x1E, 0x0C, 0x10, 0xA7, 0x4F, 0x7E, 0x20, 0xE4, 0xB8, 0x2B, +0x00, 0x7B, 0x76, 0x40, 0x0F, 0xBF, 0xCF, 0x81, 0x40, 0xF2, 0x3C, 0x69, 0x80, 0xF0, 0x3F, 0x04, +0x93, 0x61, 0xB2, 0xB7, 0xC4, 0x47, 0x88, 0x73, 0x19, 0xFC, 0x5D, 0x11, 0xF9, 0x3C, 0xFC, 0xA8, +0x30, 0x0A, 0x8D, 0xFE, 0xC7, 0xD1, 0xBB, 0xFF, 0x74, 0x07, 0x8C, 0x01, 0x01, 0x17, 0xB3, 0x22, +0xFF, 0xA4, 0x03, 0xEE, 0xFC, 0x6F, 0x27, 0x84, 0x73, 0x2F, 0x80, 0xC8, 0x28, 0x4B, 0xC0, 0xA1, +0x48, 0x9D, 0xE9, 0x03, 0xAC, 0xD6, 0xFB, 0x51, 0x06, 0x80, 0x55, 0x07, 0xF4, 0xFC, 0x63, 0x9E, +0xB9, 0x56, 0x70, 0xEC, 0x06, 0x04, 0xF3, 0x5A, 0x20, 0x0C, 0x0D, 0xE0, 0x68, 0x80, 0x2F, 0xE0, +0x80, 0x59, 0xFF, 0x43, 0x2C, 0xFE, 0x87, 0xA1, 0xE0, 0xB4, 0x01, 0x0E, 0x45, 0xB2, 0xFC, 0xDB, +0xCE, 0xF7, 0x93, 0x6E, 0x03, 0x83, 0x7F, 0x88, 0xEA, 0x7F, 0xC8, 0xCF, 0x19, 0x09, 0x3C, 0x13, +0x00, 0x54, 0xFD, 0xEF, 0x65, 0x2F, 0x00, 0x84, 0xF8, 0xC1, 0x00, 0x9F, 0xB2, 0x03, 0x1E, 0x8B, +0xF2, 0x1F, 0x4F, 0x07, 0x3C, 0x3D, 0xF2, 0x2D, 0xDF, 0x88, 0x40, 0x37, 0x1D, 0x30, 0x69, 0x80, +0x47, 0xF0, 0x3F, 0x95, 0x80, 0x81, 0x7A, 0xC0, 0xDF, 0xFB, 0x49, 0xFB, 0x43, 0xFB, 0x97, 0x8A, +0x1B, 0x06, 0x89, 0xD3, 0x01, 0x4B, 0xFC, 0xD3, 0x1D, 0x70, 0x95, 0x20, 0x60, 0xF2, 0x4A, 0xC5, +0x73, 0x96, 0x56, 0xF0, 0x4C, 0x86, 0x47, 0x3B, 0xA2, 0xF8, 0x35, 0x85, 0x30, 0xE2, 0x0F, 0xD9, +0x66, 0x08, 0x38, 0x94, 0xA9, 0xEA, 0xE4, 0x58, 0x70, 0x05, 0xFF, 0x43, 0x7E, 0xCC, 0xF7, 0xFF, +0x09, 0x07, 0x94, 0xA3, 0xB6, 0x54, 0x1D, 0xC9, 0xA2, 0xD1, 0xF1, 0x8E, 0xF6, 0x60, 0x1E, 0x58, +0xC8, 0x3B, 0x1E, 0x00, 0xE6, 0x5F, 0x09, 0xCC, 0xE4, 0x7F, 0x34, 0xA3, 0x80, 0x13, 0x44, 0x73, +0xC0, 0xB5, 0xCC, 0x4D, 0x95, 0x34, 0xC0, 0x6A, 0x28, 0x63, 0xE6, 0xDF, 0x28, 0x35, 0x0A, 0xCC, +0xCF, 0xCD, 0x64, 0xF4, 0x01, 0x60, 0xDD, 0x01, 0xE5, 0x25, 0xA8, 0xFA, 0x1F, 0xF2, 0x9A, 0x06, +0xB8, 0x27, 0x80, 0x4F, 0x79, 0x28, 0x04, 0xFE, 0xF7, 0x48, 0x0E, 0xE8, 0x90, 0x47, 0xBB, 0xA6, +0x02, 0x1E, 0x8D, 0xA5, 0x01, 0xD2, 0x93, 0x4D, 0xF6, 0x61, 0x32, 0x8C, 0xDA, 0xFF, 0x87, 0x81, +0x90, 0x24, 0x02, 0xDD, 0xF0, 0x07, 0xEF, 0xC5, 0x50, 0xB0, 0xEA, 0x7F, 0x2F, 0xF9, 0x81, 0xD2, +0xFF, 0xA7, 0x8C, 0x04, 0xA7, 0x03, 0x07, 0x54, 0xF8, 0x87, 0x7E, 0xC0, 0x38, 0x03, 0x86, 0x42, +0xCF, 0x61, 0x00, 0x44, 0x23, 0xE0, 0x30, 0x95, 0x2A, 0x39, 0x19, 0x8E, 0xF8, 0x27, 0xA3, 0xB4, +0x7F, 0x91, 0xC4, 0x74, 0xC0, 0xC8, 0x3F, 0x74, 0x01, 0xF2, 0xCE, 0x77, 0x03, 0x52, 0x01, 0x04, +0xD1, 0xFF, 0xE7, 0xE8, 0xC7, 0x47, 0xAA, 0xBC, 0xF1, 0xB2, 0xE0, 0x94, 0xFF, 0x51, 0xA4, 0x84, +0x6A, 0xFE, 0x07, 0x07, 0xAC, 0x52, 0x9D, 0xA0, 0xD5, 0x30, 0x15, 0x85, 0x7F, 0xC8, 0x56, 0xE2, +0x8F, 0x33, 0x4B, 0x44, 0xE1, 0x9F, 0xEA, 0x80, 0xE0, 0x9F, 0x6E, 0x81, 0xFE, 0x4A, 0xEE, 0x0D, +0x80, 0xA9, 0x69, 0x80, 0x4F, 0x79, 0x24, 0xE4, 0x38, 0x55, 0xBA, 0xE4, 0xB5, 0x1C, 0x90, 0x9E, +0x62, 0x01, 0x94, 0x04, 0x4C, 0x18, 0xA0, 0xE4, 0x1F, 0x3F, 0x03, 0x07, 0xCC, 0xF4, 0xFF, 0x81, +0x80, 0x6F, 0x27, 0x26, 0xC3, 0x7C, 0x70, 0xC5, 0xE4, 0xBB, 0xE2, 0xCD, 0x15, 0x97, 0xDC, 0x92, +0x10, 0xE0, 0x4F, 0x19, 0x0B, 0xC6, 0x15, 0x27, 0xFA, 0x01, 0xA5, 0x00, 0x9A, 0x1D, 0x70, 0x96, +0x8E, 0x1F, 0x02, 0xC1, 0x40, 0x30, 0xEF, 0xE7, 0x48, 0x91, 0x80, 0x00, 0xA0, 0xEC, 0x06, 0x14, +0x83, 0xA0, 0xEB, 0x4C, 0x94, 0xF1, 0x8F, 0xA4, 0x03, 0xA2, 0xFF, 0x8F, 0xA1, 0xE7, 0xC0, 0x16, +0x8B, 0x1F, 0xE7, 0x48, 0x39, 0xA0, 0x67, 0x9F, 0x43, 0x1F, 0x1D, 0xB8, 0x62, 0x49, 0x88, 0x1C, +0xFF, 0x35, 0x3A, 0xE0, 0x3A, 0x47, 0x40, 0x39, 0x0A, 0x3C, 0x4C, 0x27, 0xBD, 0x00, 0x44, 0x86, +0x97, 0x84, 0x48, 0x09, 0x9C, 0xA5, 0xDF, 0x57, 0x03, 0xFF, 0x90, 0xEC, 0x04, 0x40, 0xDD, 0x01, +0x21, 0x80, 0x53, 0xAE, 0xC8, 0x9B, 0x62, 0x80, 0xEF, 0xF6, 0x23, 0x80, 0x8F, 0x35, 0x12, 0xE2, +0xED, 0x4F, 0x6E, 0xE1, 0xCE, 0x2F, 0x30, 0x40, 0xF8, 0x9F, 0xEE, 0x80, 0x49, 0xFC, 0xF1, 0x92, +0x10, 0x39, 0x16, 0x7C, 0x75, 0xE2, 0x87, 0x7F, 0xA9, 0xBA, 0x12, 0x31, 0x28, 0x01, 0x18, 0xE1, +0x27, 0x20, 0x98, 0xEF, 0xFF, 0xD3, 0x1D, 0x30, 0x1F, 0x1B, 0xFF, 0x30, 0x12, 0x82, 0xE6, 0x2F, +0xFB, 0x5F, 0x26, 0xDB, 0x61, 0x62, 0x01, 0x5C, 0x96, 0x80, 0xED, 0x8E, 0x30, 0x0C, 0x00, 0x2B, +0x0E, 0x48, 0x90, 0x99, 0x20, 0x92, 0x80, 0x72, 0x01, 0x88, 0xC7, 0x5A, 0x68, 0x08, 0xBB, 0x03, +0xA6, 0x03, 0x42, 0x01, 0x1D, 0x18, 0x83, 0x21, 0x06, 0xFD, 0xF3, 0x33, 0x62, 0x44, 0x37, 0x20, +0xF8, 0x27, 0x09, 0xD8, 0xFE, 0x8F, 0x05, 0xFF, 0x24, 0x01, 0xAB, 0xFD, 0x17, 0x60, 0x98, 0x49, +0x62, 0x01, 0xC8, 0x68, 0x9E, 0x8E, 0x58, 0x12, 0x72, 0xCE, 0x6F, 0x60, 0x32, 0x9D, 0xF8, 0x27, +0x1E, 0x4F, 0xAD, 0x06, 0x38, 0x68, 0x67, 0xDA, 0x04, 0x60, 0x5F, 0x02, 0xF8, 0x84, 0x07, 0x42, +0x04, 0xF8, 0x0E, 0x3D, 0x1D, 0x50, 0xF8, 0x5F, 0x12, 0x7F, 0x71, 0x2C, 0x18, 0x05, 0xDF, 0x05, +0x82, 0x60, 0x28, 0x58, 0xFA, 0x9F, 0xC4, 0x1F, 0xDF, 0x1B, 0x15, 0x04, 0x6C, 0x4E, 0x80, 0xE6, +0x12, 0xB3, 0xCC, 0xB5, 0x82, 0x05, 0xFD, 0xF2, 0x0E, 0x98, 0x07, 0xE0, 0x74, 0x4F, 0x01, 0xCF, +0xF0, 0x50, 0x44, 0x05, 0x20, 0x82, 0x95, 0x70, 0x1C, 0xF0, 0x4F, 0xA6, 0xDE, 0x77, 0xC0, 0x61, +0x36, 0x7B, 0x02, 0x84, 0x06, 0xB0, 0x42, 0x40, 0x66, 0x4C, 0x16, 0x80, 0x4C, 0xC0, 0xF6, 0x04, +0xC0, 0x68, 0x74, 0x3B, 0x0E, 0xFE, 0x11, 0xBA, 0x01, 0x5F, 0xB4, 0x06, 0x40, 0xA8, 0xBC, 0x88, +0xC3, 0x1F, 0xD0, 0x3F, 0xFE, 0xE7, 0xE4, 0x50, 0x30, 0x26, 0x40, 0xEB, 0x0E, 0x98, 0xFF, 0x9B, +0x5A, 0xEE, 0xC7, 0xA7, 0x85, 0x97, 0x4A, 0x2C, 0x00, 0xC9, 0x64, 0x3B, 0x8A, 0x73, 0xD4, 0x1D, +0x07, 0x79, 0x85, 0x70, 0xFE, 0x6D, 0x15, 0xFC, 0xB3, 0x0B, 0x60, 0xFE, 0x0A, 0x4C, 0x77, 0x00, +0x4E, 0x43, 0x6F, 0x4E, 0x3B, 0x5D, 0x0D, 0x10, 0xCE, 0xF7, 0xE6, 0x18, 0x60, 0x42, 0x00, 0xFF, +0xCB, 0x25, 0x21, 0x71, 0xFC, 0x57, 0x6C, 0x7E, 0x3A, 0x20, 0x92, 0xF6, 0x3F, 0x0C, 0x84, 0xC8, +0xEF, 0x42, 0xCA, 0x38, 0x60, 0xDB, 0x00, 0x1B, 0xE4, 0xBB, 0x0A, 0x25, 0x44, 0x10, 0x50, 0x06, +0x17, 0x8C, 0x26, 0x80, 0xA8, 0x53, 0xAB, 0x00, 0xCA, 0x25, 0x21, 0xAF, 0xF2, 0x9F, 0x14, 0xB7, +0x94, 0xDE, 0x37, 0x81, 0xF9, 0x73, 0x35, 0x2F, 0xA4, 0xD6, 0xF9, 0x07, 0x07, 0x6C, 0xF6, 0x04, +0xC2, 0xFF, 0x52, 0x00, 0xB4, 0xF0, 0x4F, 0x2E, 0x09, 0xE1, 0x05, 0x20, 0x41, 0xE8, 0x30, 0x0B, +0x70, 0x37, 0x1A, 0x8C, 0x55, 0xC0, 0xF0, 0x3F, 0x46, 0x9E, 0x23, 0x1F, 0x74, 0x90, 0x91, 0xD9, +0x76, 0x40, 0x4C, 0x80, 0x91, 0x71, 0x82, 0x8A, 0x52, 0xF8, 0x9B, 0x88, 0x80, 0x55, 0x73, 0x3A, +0xE4, 0xB0, 0x90, 0xB6, 0x00, 0x5E, 0xCF, 0xB3, 0xD9, 0xCE, 0x77, 0xCB, 0x76, 0xD0, 0xFF, 0x67, +0x01, 0xE0, 0x0C, 0xFC, 0x53, 0x1D, 0x10, 0x0D, 0x60, 0x55, 0x01, 0x5B, 0xDD, 0x7F, 0xFB, 0x08, +0x7C, 0x43, 0x0C, 0xF0, 0xDD, 0x7E, 0xFC, 0xAF, 0x7F, 0x02, 0xEA, 0x0E, 0x48, 0x9E, 0xF7, 0x59, +0x82, 0x7E, 0x58, 0x12, 0x82, 0xF2, 0x69, 0x3E, 0x63, 0x38, 0xA0, 0x10, 0x40, 0xE1, 0x80, 0xED, +0x06, 0x30, 0x5A, 0xBD, 0xEE, 0x0C, 0x8F, 0xAE, 0xC4, 0x84, 0x68, 0xD1, 0x02, 0x9E, 0xE6, 0x14, +0xF0, 0xAC, 0x84, 0xC0, 0x33, 0xFB, 0x3A, 0xA6, 0x8D, 0xEA, 0x7F, 0xC8, 0x79, 0xE3, 0xDE, 0x30, +0xF3, 0x62, 0xAE, 0x9B, 0xBE, 0x32, 0x2C, 0x66, 0x27, 0x40, 0xF0, 0xBF, 0x5C, 0xC4, 0x04, 0x18, +0x11, 0xB9, 0x24, 0x04, 0x03, 0x20, 0x6E, 0x4C, 0x37, 0x14, 0xFF, 0x18, 0x4B, 0x42, 0x62, 0x33, +0xD8, 0x8F, 0xFC, 0x46, 0xEA, 0xD1, 0x9E, 0x1F, 0x79, 0x1F, 0xA4, 0x27, 0xC4, 0x04, 0xC0, 0x7C, +0xCA, 0x00, 0x44, 0x46, 0x4C, 0x40, 0xBC, 0x00, 0x43, 0x44, 0x73, 0xC0, 0x79, 0x21, 0x23, 0x2C, +0x09, 0x79, 0x45, 0x75, 0x56, 0x8A, 0x98, 0x00, 0x53, 0x88, 0x26, 0x80, 0xA8, 0xA9, 0x01, 0x60, +0x80, 0xF0, 0x50, 0x06, 0xF8, 0x34, 0x97, 0x84, 0x1C, 0xF7, 0x4A, 0x40, 0xBB, 0x02, 0xC2, 0xFF, +0x32, 0x02, 0x88, 0x25, 0x21, 0x58, 0x00, 0x52, 0x4A, 0x93, 0x80, 0x71, 0x01, 0xB0, 0xE4, 0x5F, +0x74, 0x40, 0x2E, 0x5C, 0xD9, 0xF7, 0xC0, 0xBE, 0x10, 0x80, 0x70, 0x99, 0x1A, 0x00, 0xC6, 0x11, +0x4D, 0x07, 0x8A, 0x2A, 0x80, 0xA8, 0x52, 0x00, 0x2D, 0x03, 0x21, 0xB3, 0xE2, 0x67, 0xC5, 0xE9, +0x5F, 0x1C, 0x05, 0x1E, 0x29, 0x04, 0xAC, 0xC0, 0x3F, 0x25, 0x18, 0xFE, 0x9C, 0xAC, 0xCB, 0x79, +0xAE, 0xFA, 0x1F, 0x08, 0xD8, 0xF4, 0x3F, 0x9E, 0xD2, 0x1C, 0xB5, 0x2F, 0x16, 0xFF, 0xD8, 0x13, +0x10, 0x03, 0xC0, 0x0C, 0x3B, 0xAF, 0x7E, 0xF8, 0x0D, 0x3C, 0x26, 0x02, 0xAA, 0x1D, 0x80, 0x72, +0x28, 0x58, 0xF9, 0x93, 0x78, 0x49, 0x48, 0x8D, 0xF1, 0xDF, 0x62, 0x14, 0xFF, 0x93, 0x4B, 0x42, +0x5E, 0x61, 0x00, 0x24, 0x9B, 0xF4, 0x04, 0x68, 0x65, 0x28, 0x18, 0xFE, 0xA7, 0x5B, 0xA0, 0x74, +0xBF, 0xE9, 0x6B, 0x19, 0xE0, 0xBB, 0x39, 0x03, 0x7C, 0x9A, 0x4B, 0x42, 0x8E, 0xCB, 0xE5, 0x50, +0x04, 0x6C, 0x2C, 0x00, 0xC9, 0x0A, 0x20, 0x73, 0xF1, 0xF4, 0xA8, 0xB9, 0x00, 0xB8, 0x90, 0x31, +0xFA, 0x01, 0xE1, 0x7F, 0x39, 0x07, 0xC4, 0x6D, 0x61, 0x00, 0xBB, 0x76, 0x1B, 0x18, 0x29, 0xF8, +0x5F, 0xD6, 0x01, 0xD5, 0xAB, 0x8F, 0xAE, 0x55, 0xF8, 0x9F, 0xD5, 0x01, 0x67, 0x6A, 0xE2, 0x92, +0x52, 0xCC, 0x7F, 0x51, 0x09, 0x38, 0x54, 0x13, 0x66, 0x03, 0xC2, 0xFF, 0xF2, 0x11, 0x13, 0x60, +0x4A, 0x03, 0x21, 0x71, 0x01, 0x88, 0x2F, 0x71, 0xFE, 0x1F, 0xA3, 0x10, 0xE3, 0xBB, 0x6D, 0x07, +0xA4, 0x53, 0x42, 0x65, 0xF8, 0x99, 0x53, 0x3F, 0x77, 0x86, 0x01, 0xE1, 0x07, 0xE1, 0x7F, 0x7A, +0x37, 0xA0, 0x46, 0xF5, 0xF5, 0x04, 0xE3, 0xBF, 0x5A, 0x54, 0xFE, 0x81, 0x80, 0xBB, 0x79, 0x9B, +0xEA, 0xDB, 0x6A, 0xE0, 0x1F, 0x82, 0xF9, 0x7F, 0x4A, 0x6D, 0xFA, 0xDF, 0xCB, 0xA6, 0xFB, 0x4D, +0x0F, 0x67, 0x80, 0x4F, 0x71, 0x49, 0x08, 0xFC, 0xEF, 0x51, 0x1C, 0x90, 0xC7, 0x3F, 0x4A, 0x02, +0xC8, 0x75, 0x1C, 0xEF, 0x00, 0x8D, 0x14, 0xFA, 0x01, 0xE1, 0x7F, 0xDF, 0x0B, 0xF8, 0x51, 0x8D, +0xC7, 0x30, 0x10, 0x02, 0xE9, 0x4B, 0xB6, 0x81, 0xDD, 0xDD, 0xB1, 0x06, 0xE0, 0x5F, 0x9A, 0x81, +0xB8, 0x7E, 0x8C, 0xFE, 0x87, 0x35, 0x21, 0x04, 0x42, 0x2D, 0x3F, 0x5B, 0xF8, 0x87, 0xE9, 0x80, +0x58, 0x00, 0xAC, 0xB5, 0x82, 0xC1, 0xBF, 0x72, 0xAA, 0x70, 0x07, 0x98, 0xB5, 0x1E, 0xB4, 0x7F, +0xD5, 0x3C, 0xEC, 0x16, 0x80, 0xC4, 0x01, 0x10, 0x3E, 0x05, 0x0E, 0xE9, 0xDC, 0x55, 0x2C, 0x8A, +0xE3, 0xD3, 0x40, 0x3B, 0xFE, 0x01, 0xE6, 0x01, 0xC6, 0x06, 0x31, 0x15, 0x22, 0x20, 0x26, 0x00, +0x16, 0xA3, 0xFB, 0x1F, 0x96, 0x84, 0x78, 0x05, 0x1E, 0x1A, 0x12, 0xF8, 0xB7, 0x9D, 0x6B, 0x19, +0xC5, 0x05, 0x3B, 0x33, 0x3D, 0x68, 0xFF, 0xAA, 0xF9, 0xF9, 0x0C, 0xFE, 0x67, 0x53, 0xC0, 0x24, +0xF6, 0x5E, 0xC3, 0x00, 0x29, 0x39, 0x03, 0x7C, 0x82, 0x4B, 0x42, 0x8E, 0x0D, 0xE5, 0x80, 0xD3, +0x01, 0xD9, 0xFF, 0xB0, 0x04, 0x58, 0x6E, 0x58, 0x16, 0x7C, 0xA4, 0xF2, 0x6F, 0x0C, 0x02, 0x92, +0xE0, 0x41, 0xF7, 0x12, 0x0E, 0x88, 0x3B, 0x44, 0x7F, 0xB0, 0x8F, 0xBE, 0x98, 0x93, 0x2B, 0x57, +0x9A, 0x8B, 0xE2, 0x92, 0x11, 0x13, 0x08, 0xE0, 0x7F, 0x5A, 0xC5, 0x0D, 0x60, 0x6C, 0xAD, 0xE0, +0x99, 0x25, 0x7E, 0x02, 0xCC, 0x48, 0xF9, 0x00, 0x62, 0x3A, 0xE0, 0xD0, 0x92, 0x8A, 0x67, 0xC3, +0x60, 0x01, 0x88, 0x86, 0x40, 0x85, 0x7F, 0x98, 0x10, 0x4D, 0xFC, 0x43, 0xFF, 0x1F, 0xEF, 0x99, +0x7B, 0xBE, 0x62, 0x94, 0x97, 0xDB, 0xBD, 0x71, 0x01, 0x08, 0x7A, 0x00, 0xA9, 0x62, 0xED, 0x08, +0x15, 0xDF, 0x1D, 0xE8, 0x09, 0x88, 0x05, 0x20, 0xBA, 0x03, 0xDA, 0xFE, 0x26, 0x7F, 0x0B, 0xEC, +0xA1, 0x95, 0x80, 0x95, 0xE1, 0xE5, 0x1F, 0x6D, 0x7D, 0x7F, 0xC5, 0xCC, 0x92, 0x2E, 0x77, 0xC0, +0x87, 0x00, 0x6A, 0x55, 0x2C, 0x00, 0x01, 0x0C, 0x0F, 0x6C, 0x80, 0x4F, 0xC7, 0x01, 0xE1, 0x7F, +0x8F, 0xE2, 0x80, 0xA7, 0x10, 0xC0, 0xFC, 0xC6, 0x0E, 0xA8, 0xF3, 0x0F, 0xD3, 0x01, 0xE3, 0x00, +0xB0, 0x14, 0x40, 0x5F, 0x31, 0x1D, 0xD0, 0x2D, 0x00, 0xBE, 0x4A, 0xB5, 0x80, 0xA1, 0x82, 0x9C, +0x65, 0xD1, 0xFF, 0xA6, 0xAD, 0x0E, 0x64, 0x83, 0xFF, 0x61, 0x51, 0x9C, 0x35, 0x66, 0xFE, 0xF1, +0xF7, 0x24, 0x69, 0xFC, 0xC3, 0x74, 0xC0, 0x21, 0xF8, 0xA7, 0x76, 0x03, 0xDE, 0x80, 0x7F, 0xC5, +0xC0, 0xFF, 0x54, 0x02, 0x72, 0x63, 0x75, 0xB7, 0xAE, 0x37, 0x0E, 0x7C, 0xC4, 0x02, 0x03, 0x0C, +0x93, 0x61, 0x5E, 0x78, 0xF7, 0x6B, 0xFD, 0x04, 0x93, 0x07, 0xD1, 0x0F, 0xF8, 0x60, 0xF0, 0x3F, +0x8C, 0x05, 0xDB, 0xFE, 0xA6, 0x35, 0x3A, 0x00, 0xD5, 0x80, 0x7F, 0x16, 0x07, 0x9C, 0x99, 0x62, +0xE3, 0x1F, 0xFA, 0x01, 0x6D, 0x57, 0x20, 0xFC, 0x4F, 0x64, 0xFA, 0xAF, 0x01, 0xC8, 0xE9, 0x5F, +0x01, 0xFB, 0x26, 0x20, 0xF4, 0xAF, 0x6F, 0x00, 0x76, 0x72, 0x40, 0xE2, 0x1F, 0x04, 0xB0, 0xB4, +0x11, 0xFF, 0xC6, 0xEF, 0x9B, 0x08, 0x48, 0xFE, 0xF7, 0xFD, 0xDB, 0xF0, 0xBF, 0x9C, 0x02, 0xF2, +0xCE, 0xF5, 0xFF, 0x71, 0x95, 0x2D, 0x60, 0xA8, 0x60, 0x58, 0x16, 0x3C, 0x58, 0x09, 0xFC, 0xA5, +0x83, 0x1B, 0x00, 0xEA, 0x15, 0xF3, 0xFF, 0x2C, 0x0E, 0x38, 0xB3, 0x85, 0xFC, 0x6F, 0x8B, 0x0F, +0xA0, 0xE6, 0x80, 0xE6, 0xA0, 0xFF, 0x4F, 0x0B, 0xC6, 0x3F, 0x0C, 0x0E, 0x48, 0xDA, 0xE6, 0xA9, +0x16, 0x7B, 0xF6, 0xB8, 0x8F, 0x0F, 0x8F, 0x58, 0xF8, 0xFC, 0x23, 0xCA, 0x8E, 0x75, 0xE8, 0xF4, +0xC3, 0x72, 0x90, 0x9D, 0x3C, 0x92, 0x03, 0x02, 0x7E, 0xAA, 0x03, 0x5A, 0xFF, 0xA6, 0x35, 0xF8, +0xA7, 0xC7, 0xF8, 0xF2, 0x8F, 0x46, 0x24, 0xEB, 0xD6, 0xB7, 0xD5, 0xC8, 0x3F, 0xB4, 0x7F, 0x6D, +0x35, 0x4E, 0xFD, 0xC3, 0x78, 0x9E, 0x9C, 0x06, 0xD3, 0x09, 0x54, 0x36, 0x03, 0x7C, 0x2A, 0x0E, +0x68, 0x26, 0xE0, 0x81, 0x1C, 0x30, 0x2E, 0x80, 0xA3, 0xBD, 0xB2, 0x8D, 0xF9, 0x06, 0xD0, 0x36, +0x02, 0x7A, 0xFC, 0x01, 0x75, 0x52, 0x00, 0xC3, 0xEE, 0x7D, 0x5E, 0x00, 0x27, 0x5B, 0xC0, 0x52, +0x05, 0x29, 0x3C, 0x03, 0x5A, 0x3A, 0xA0, 0xD8, 0x71, 0x3A, 0x5C, 0x7D, 0x5F, 0xDA, 0x83, 0xF1, +0x5F, 0xD5, 0x01, 0xE1, 0x7F, 0x5A, 0xB6, 0xBF, 0xDA, 0x01, 0x68, 0xE3, 0x1F, 0x63, 0x72, 0x82, +0x68, 0x04, 0xC4, 0xFC, 0x3F, 0x22, 0x5F, 0x43, 0xFE, 0xB8, 0x40, 0xF5, 0x3C, 0xE1, 0xA2, 0x27, +0x62, 0x16, 0x4C, 0x53, 0x03, 0x19, 0xA2, 0xA1, 0xDC, 0x10, 0xFF, 0x8C, 0x08, 0x5C, 0x5B, 0xB1, +0xFE, 0xBC, 0x1E, 0x1A, 0x73, 0x7B, 0x57, 0xCF, 0xB5, 0x60, 0x3A, 0x20, 0xF8, 0xA7, 0xC5, 0xFE, +0xFF, 0x4A, 0xB3, 0xFF, 0x11, 0x28, 0x07, 0x48, 0x12, 0x81, 0xDD, 0x01, 0x68, 0x17, 0xC0, 0xFF, +0x2D, 0x00, 0xBF, 0x30, 0xCF, 0x06, 0x0C, 0x7C, 0x53, 0xF1, 0x47, 0x5F, 0x93, 0xF4, 0xA9, 0x29, +0x63, 0x2A, 0x20, 0x20, 0x10, 0x98, 0xD1, 0x40, 0x02, 0x9B, 0xD6, 0x02, 0x5E, 0xFA, 0x67, 0x97, +0xA0, 0x5E, 0xFB, 0x28, 0x2F, 0x99, 0x95, 0xFD, 0xFA, 0xE3, 0xAB, 0xD5, 0x96, 0x8D, 0xFD, 0x93, +0x72, 0x8E, 0x11, 0x10, 0x2D, 0xA3, 0xEA, 0x6E, 0x68, 0xCA, 0x5D, 0x65, 0x35, 0xC0, 0x4E, 0xFC, +0xDB, 0xB5, 0x80, 0x3D, 0xF4, 0x62, 0x65, 0xAA, 0x41, 0x02, 0x3D, 0x19, 0x9B, 0x93, 0x5E, 0x30, +0xF7, 0xAF, 0x79, 0x07, 0xD5, 0x70, 0x80, 0x01, 0x5A, 0x62, 0xFE, 0xAB, 0x6A, 0xAB, 0x01, 0xDE, +0x5D, 0x8F, 0x46, 0x73, 0x6B, 0xCE, 0xAD, 0x56, 0x4F, 0x06, 0x68, 0x6F, 0x2E, 0x74, 0x07, 0x20, +0xE0, 0x87, 0x00, 0x80, 0x4F, 0x40, 0x00, 0xED, 0xFF, 0x0D, 0x07, 0x04, 0x60, 0xFF, 0x02, 0xA8, +0xB7, 0x7E, 0x71, 0x57, 0x04, 0x1B, 0x00, 0x79, 0x18, 0x04, 0x04, 0x04, 0x02, 0x21, 0x80, 0x38, +0xFD, 0x20, 0xCE, 0x81, 0x69, 0x6B, 0xA0, 0x54, 0xC1, 0x93, 0xE5, 0xD5, 0x72, 0x99, 0x5E, 0xFD, +0xB6, 0x1B, 0x01, 0x46, 0xCE, 0x06, 0x76, 0x00, 0x5A, 0xB3, 0xE9, 0xD2, 0x07, 0x48, 0x04, 0x1C, +0x99, 0x04, 0x64, 0x3B, 0x02, 0x01, 0xD5, 0x71, 0x60, 0xB3, 0x2D, 0xD9, 0xF9, 0x77, 0xCF, 0x7D, +0x80, 0x4C, 0xB3, 0x88, 0xAE, 0xBD, 0x31, 0xE0, 0xA6, 0x04, 0x52, 0x02, 0xEB, 0x7C, 0xF5, 0x47, +0xBF, 0x83, 0x31, 0xFA, 0xC9, 0xD0, 0xF7, 0x66, 0x02, 0xDE, 0x4C, 0xAC, 0xFC, 0xAB, 0xEB, 0xEA, +0xD6, 0xF6, 0x52, 0x6D, 0x47, 0xDB, 0x91, 0x95, 0x7F, 0x66, 0x02, 0x62, 0x0C, 0xD8, 0x90, 0xE9, +0x97, 0x66, 0xFE, 0xAD, 0x44, 0xFB, 0x45, 0x4E, 0x83, 0xB1, 0xD3, 0xC7, 0xC3, 0xCE, 0x6E, 0x80, +0x5D, 0x00, 0x78, 0x98, 0x41, 0x10, 0x3B, 0xFE, 0xFE, 0x36, 0xD1, 0x8F, 0xAA, 0x39, 0xF4, 0x15, +0xC0, 0xA7, 0x1A, 0xFD, 0x70, 0x67, 0xC0, 0xA3, 0xB1, 0xD1, 0xFF, 0x30, 0x0B, 0xA6, 0xE0, 0x7E, +0xBC, 0x8F, 0x5F, 0x83, 0x2E, 0xA7, 0x41, 0x47, 0x20, 0xE2, 0xF6, 0xF8, 0x1C, 0x50, 0x4F, 0x9C, +0x34, 0x1E, 0xAD, 0x08, 0x80, 0xAB, 0x33, 0x63, 0x03, 0x78, 0xDA, 0x81, 0x7F, 0x9B, 0xD9, 0x2B, +0x13, 0xFF, 0xE6, 0x8E, 0x80, 0x16, 0xFD, 0x63, 0x00, 0xEA, 0x04, 0xC4, 0x8D, 0x01, 0x55, 0x00, +0x3A, 0x44, 0xDE, 0x4C, 0xAC, 0x21, 0x52, 0x51, 0xF5, 0x6D, 0x5E, 0x8C, 0xEA, 0x3A, 0x20, 0xEE, +0x06, 0x86, 0x31, 0x10, 0x4C, 0xBB, 0xF8, 0x10, 0xBD, 0x83, 0x41, 0x10, 0xA3, 0x31, 0xEE, 0xBE, +0x29, 0xBD, 0x8B, 0x03, 0x5A, 0x42, 0x7F, 0xFD, 0xC4, 0x48, 0xC0, 0x11, 0xF1, 0x6F, 0x64, 0xE4, +0xDF, 0xB9, 0x95, 0x80, 0x8B, 0x8D, 0x9D, 0x80, 0x53, 0xDE, 0x6C, 0x04, 0x1C, 0xAC, 0x56, 0x2B, +0xCC, 0xE3, 0x92, 0x26, 0xD8, 0x1D, 0x80, 0xBC, 0xB3, 0x19, 0x60, 0xF8, 0x75, 0x23, 0xD5, 0x0E, +0x45, 0xC0, 0xC7, 0xF5, 0xBF, 0x53, 0x2A, 0x26, 0x01, 0xFC, 0xF0, 0x63, 0x52, 0x40, 0x13, 0x01, +0x31, 0x0D, 0xBA, 0x45, 0x3B, 0x9C, 0xE3, 0xC4, 0xCF, 0x83, 0x66, 0xC4, 0x41, 0x03, 0x51, 0x4E, +0xB8, 0xF0, 0x99, 0xFB, 0xA9, 0x4B, 0x8B, 0x75, 0xE9, 0x3E, 0x41, 0xD6, 0xBF, 0x15, 0x6D, 0x26, +0xFD, 0x73, 0x57, 0xAA, 0x95, 0x7F, 0x1C, 0xC3, 0x07, 0xE5, 0xDC, 0x03, 0xD0, 0x42, 0x40, 0xFA, +0x9C, 0x32, 0x01, 0x87, 0xB7, 0xA6, 0x59, 0x30, 0x7C, 0x27, 0xF8, 0x1E, 0x3B, 0x00, 0x31, 0x0F, +0x90, 0xCC, 0x0F, 0xE3, 0xB9, 0xC1, 0xE4, 0xE2, 0xE0, 0x6F, 0x73, 0xC5, 0x2F, 0xEF, 0xC2, 0x43, +0xAF, 0x7A, 0x5C, 0xE3, 0x7A, 0xB8, 0xE8, 0x7F, 0x3C, 0x06, 0xCC, 0xE9, 0xB9, 0x15, 0x3C, 0xE1, +0xFF, 0x01, 0xAC, 0x6B, 0xCB, 0xFF, 0x2C, 0xB6, 0x23, 0x2A, 0xEB, 0xAD, 0x89, 0x7F, 0x14, 0x63, +0x2B, 0xD8, 0x5F, 0x01, 0x66, 0x03, 0x34, 0x3A, 0xE0, 0x8A, 0xAE, 0xD5, 0xB3, 0x16, 0xEE, 0x98, +0x85, 0x5C, 0xDB, 0x00, 0xB4, 0x71, 0x0A, 0x04, 0xD4, 0x05, 0x10, 0xC8, 0xEC, 0x19, 0x80, 0xDD, +0xF3, 0x68, 0x03, 0x20, 0x34, 0x0B, 0xC6, 0x15, 0x0D, 0x81, 0xCC, 0x3F, 0x5E, 0x06, 0x77, 0xF4, +0xB1, 0x65, 0x22, 0x74, 0x8C, 0x20, 0x20, 0x1E, 0xE1, 0xCE, 0xD0, 0x84, 0xBF, 0x0F, 0xDC, 0x94, +0xBF, 0x08, 0xBF, 0xA5, 0x2C, 0xFC, 0x6C, 0x4C, 0x8B, 0x76, 0x62, 0xF8, 0x8C, 0xB3, 0x5A, 0x39, +0xFE, 0xAD, 0x8C, 0x23, 0x20, 0xB4, 0x59, 0xFA, 0x01, 0xE3, 0x3C, 0xD8, 0x85, 0x85, 0x7F, 0x11, +0x81, 0xBA, 0xFF, 0xAD, 0x1D, 0x02, 0xB7, 0x3A, 0x01, 0x2B, 0xA6, 0x1F, 0x6D, 0x75, 0xBF, 0xFD, +0x7F, 0x3E, 0x0F, 0x2F, 0xC2, 0xD7, 0xBB, 0xED, 0x1C, 0x30, 0x36, 0x70, 0xD1, 0x13, 0x48, 0xA7, +0x2E, 0xFC, 0xC3, 0xB0, 0x05, 0x1A, 0x7A, 0x01, 0xC4, 0xBF, 0xE1, 0x41, 0xAC, 0x84, 0xEB, 0x61, +0x20, 0x84, 0xFF, 0x7A, 0x8A, 0xC5, 0x01, 0x47, 0xF4, 0x92, 0x72, 0x55, 0x09, 0x38, 0xF2, 0xFC, +0xE3, 0x6A, 0xE4, 0x9F, 0xCD, 0x01, 0xE3, 0xFF, 0x57, 0x4D, 0xFE, 0xE7, 0xAF, 0x55, 0x5C, 0xBF, +0x99, 0x69, 0x30, 0x14, 0xA3, 0xFF, 0xD9, 0x0D, 0x90, 0x0F, 0x5D, 0x9D, 0xEE, 0xC9, 0x03, 0xB0, +0xBB, 0xFF, 0x71, 0x51, 0x0C, 0x90, 0x17, 0x82, 0x7C, 0x8C, 0xA9, 0xD0, 0x06, 0xFE, 0xC1, 0x01, +0x65, 0x27, 0x60, 0x38, 0x89, 0x4B, 0xE1, 0x38, 0x8C, 0x39, 0xA7, 0x7C, 0x74, 0x92, 0xCA, 0x12, +0xC1, 0xD5, 0xE1, 0x36, 0xD9, 0x6E, 0x38, 0x0B, 0x65, 0x65, 0xC4, 0x1F, 0x6F, 0x2A, 0x01, 0x17, +0x88, 0xA1, 0x01, 0x1C, 0xAB, 0x92, 0x91, 0x37, 0x15, 0xDA, 0x8F, 0x86, 0x45, 0xB1, 0xB9, 0x65, +0xFF, 0xE3, 0x4C, 0xE8, 0x44, 0xF5, 0x3F, 0xB5, 0x01, 0x2C, 0xBF, 0x1A, 0xE4, 0x81, 0x05, 0x0E, +0xF8, 0xC3, 0x24, 0x40, 0x2C, 0xFB, 0x88, 0x4B, 0x80, 0xFD, 0x8F, 0xC2, 0x16, 0xE1, 0xC8, 0xE3, +0x26, 0xE1, 0x09, 0xCF, 0xBF, 0xEE, 0x0E, 0xA8, 0xC4, 0xFF, 0xF5, 0x13, 0x22, 0xA0, 0xC5, 0xFF, +0xDC, 0xCB, 0xAA, 0xF7, 0x03, 0x06, 0xFC, 0xF1, 0x6E, 0xA1, 0xF2, 0x2F, 0xC6, 0x68, 0x80, 0x5C, +0x55, 0xFE, 0xAD, 0xA8, 0xB8, 0x16, 0x0B, 0xAE, 0xE5, 0xB6, 0xFC, 0x01, 0x80, 0x1C, 0x13, 0x00, +0xED, 0x7D, 0x80, 0x1D, 0x1C, 0xB0, 0x91, 0x3E, 0xF1, 0x87, 0xF4, 0xEF, 0x7F, 0x7A, 0x88, 0x7C, +0x16, 0x02, 0x7A, 0xFF, 0x3B, 0xE2, 0xC2, 0x14, 0x1C, 0x5B, 0xF8, 0x27, 0x09, 0x28, 0x64, 0x30, +0xDC, 0x0E, 0x06, 0x77, 0xC3, 0x8F, 0xB6, 0x97, 0x2A, 0x4B, 0x49, 0x40, 0x09, 0x3F, 0xBF, 0x8F, +0xD7, 0x14, 0x17, 0x0D, 0x80, 0xD1, 0x00, 0x55, 0x07, 0x5C, 0x20, 0x9B, 0x32, 0xFF, 0x5E, 0x81, +0x7F, 0x4A, 0x3F, 0xE0, 0x76, 0x14, 0xFD, 0x8F, 0x4D, 0xB0, 0xEC, 0x80, 0x55, 0xF8, 0xF8, 0xB3, +0x02, 0xA2, 0xBD, 0x98, 0x5E, 0x34, 0x6B, 0x4F, 0xFB, 0x6E, 0x58, 0xA1, 0x63, 0x2F, 0x0E, 0x65, +0x34, 0xC7, 0x7F, 0x81, 0x3F, 0xAE, 0xF1, 0x49, 0xFE, 0xDD, 0xC8, 0xCC, 0x00, 0x43, 0x3F, 0x00, +0x62, 0x26, 0xA0, 0x1D, 0x80, 0xFE, 0xAF, 0xE7, 0xAC, 0x8B, 0x43, 0xC1, 0xB7, 0xC3, 0xDA, 0xD1, +0x2F, 0xC8, 0xB5, 0x0E, 0xC0, 0x08, 0x41, 0xCD, 0xEB, 0xF1, 0xFE, 0x2F, 0x2C, 0x8D, 0xDF, 0xC0, +0x40, 0xAD, 0xFD, 0xBB, 0xC2, 0xB5, 0x9A, 0x1A, 0xFD, 0x98, 0x76, 0x04, 0xA0, 0xDF, 0x59, 0x0C, +0x50, 0xE8, 0x5F, 0x19, 0x6A, 0x6F, 0x0C, 0x00, 0xBB, 0xF0, 0x2F, 0xF8, 0x1F, 0x08, 0x98, 0x41, +0x60, 0xC3, 0xFF, 0xC8, 0x00, 0x8B, 0x0E, 0x38, 0x1E, 0x6B, 0xF7, 0x83, 0x06, 0x07, 0x99, 0x7F, +0x14, 0xDA, 0xB5, 0xEF, 0x07, 0xB8, 0x4C, 0x95, 0x56, 0x30, 0xF2, 0xCB, 0xE1, 0x23, 0x2E, 0x98, +0xB3, 0x56, 0x51, 0xF9, 0x07, 0x04, 0x5A, 0x6F, 0x87, 0x45, 0xA7, 0x45, 0xFF, 0x63, 0x9D, 0x30, +0x36, 0x82, 0x83, 0xFF, 0x85, 0x32, 0xBC, 0xCB, 0x22, 0xB0, 0xF2, 0x03, 0x20, 0x11, 0x82, 0x25, +0xFC, 0xE1, 0x0E, 0xD0, 0x46, 0xFF, 0x03, 0x01, 0xD1, 0x0B, 0x18, 0x4E, 0xFF, 0x80, 0x04, 0x7A, +0xFE, 0xC1, 0x00, 0x31, 0xF5, 0x19, 0x37, 0x0D, 0x4C, 0x7D, 0x35, 0xDC, 0x43, 0x4F, 0xDD, 0x80, +0x35, 0xFE, 0x7A, 0xAA, 0xB7, 0x25, 0xFE, 0xCD, 0x47, 0x4E, 0x01, 0xF5, 0x7E, 0xC0, 0x11, 0xDE, +0x28, 0xD5, 0x01, 0x17, 0x1B, 0x71, 0x3B, 0x2C, 0x13, 0x06, 0xF5, 0xFE, 0x3F, 0x34, 0x58, 0x24, +0xF9, 0x70, 0xF2, 0x96, 0x81, 0x3E, 0xDD, 0x04, 0xB0, 0x53, 0x3F, 0xE0, 0x5E, 0x7A, 0xC4, 0x1F, +0x62, 0xE7, 0xDF, 0xDF, 0x7D, 0xDD, 0x12, 0xBA, 0x0D, 0xC0, 0x82, 0x01, 0x7E, 0x38, 0xF6, 0xFE, +0xF7, 0x21, 0x5A, 0xC1, 0xB9, 0x5B, 0xC1, 0x20, 0xE9, 0x1B, 0x62, 0xE1, 0x01, 0x9B, 0x5F, 0xC4, +0xDF, 0x15, 0x1F, 0xA2, 0xFC, 0x89, 0x04, 0xFF, 0x43, 0xF2, 0x43, 0xC1, 0x6D, 0xFC, 0xAD, 0x8A, +0xD3, 0x01, 0x81, 0x3F, 0x5F, 0x37, 0x8A, 0xFF, 0x81, 0x80, 0x6A, 0xFB, 0x17, 0x0A, 0x98, 0x0D, +0x3E, 0xA7, 0x54, 0xB8, 0x5E, 0xE7, 0x1D, 0x90, 0xAC, 0x6F, 0x67, 0x80, 0xBE, 0x1B, 0xF0, 0x79, +0xD6, 0xFF, 0x6E, 0x8C, 0xF8, 0x83, 0xFF, 0xC1, 0x01, 0x1D, 0xC6, 0xDC, 0x0E, 0xD5, 0x33, 0x11, +0xD5, 0x25, 0xFC, 0x0E, 0xBE, 0x10, 0x2E, 0x4E, 0x9C, 0xDE, 0xDD, 0x13, 0x1F, 0x04, 0xEC, 0xC3, +0x01, 0xD9, 0x7B, 0xC3, 0x20, 0x90, 0xE2, 0x80, 0xE4, 0x7F, 0x9E, 0x7C, 0x7A, 0x3F, 0xA0, 0x7F, +0x83, 0x50, 0x55, 0xFE, 0x21, 0x3F, 0xAB, 0xE0, 0x8B, 0x0F, 0x8A, 0x13, 0x60, 0x56, 0x74, 0x89, +0x86, 0x30, 0x0B, 0xA3, 0x02, 0xCA, 0x69, 0xAE, 0xCB, 0x08, 0xC0, 0xDE, 0x04, 0x50, 0x61, 0x9E, +0xC6, 0xBF, 0xFE, 0x09, 0xF8, 0x48, 0x1D, 0x80, 0x28, 0xA7, 0xF9, 0x11, 0x10, 0xF7, 0x3D, 0x98, +0x7E, 0x3B, 0xE2, 0xFD, 0xC7, 0x6A, 0xFB, 0x17, 0xC1, 0x8A, 0x38, 0x31, 0x01, 0x26, 0xF4, 0xFE, +0x85, 0x0D, 0xB7, 0xC4, 0x92, 0xED, 0x5F, 0x91, 0x04, 0xF9, 0x5E, 0xEE, 0x06, 0x80, 0x9B, 0xE1, +0x81, 0xDE, 0xFC, 0x04, 0xC0, 0x3D, 0x04, 0x6E, 0x4C, 0xFE, 0xC7, 0x7B, 0xB5, 0xFD, 0xAB, 0x3B, +0x20, 0x3E, 0xA8, 0xD1, 0x03, 0xEB, 0xE1, 0x5D, 0x9E, 0x7F, 0x30, 0xC0, 0x02, 0x01, 0xC9, 0xFF, +0xEC, 0x00, 0xBC, 0x17, 0x69, 0xDC, 0xDA, 0x0F, 0x95, 0x00, 0x17, 0xC8, 0x07, 0xFD, 0x83, 0x23, +0x46, 0x51, 0x8C, 0xE3, 0x25, 0x6D, 0xFE, 0xF5, 0x35, 0x19, 0x86, 0xB9, 0x07, 0x03, 0xA4, 0x5D, +0x95, 0xF3, 0xBF, 0x6A, 0xD4, 0xB0, 0x3F, 0x7F, 0xAA, 0xF9, 0x1F, 0xAA, 0xC6, 0x3F, 0x64, 0x63, +0x35, 0xC0, 0xA2, 0x04, 0x86, 0xF1, 0x0F, 0x57, 0xB9, 0x88, 0x7E, 0x9D, 0xB8, 0x5F, 0x2D, 0x61, +0x80, 0x05, 0x01, 0xEC, 0x60, 0x80, 0x92, 0x7E, 0x8F, 0x25, 0x80, 0x88, 0x1D, 0x7F, 0x7F, 0xF7, +0xE2, 0x7F, 0x02, 0x80, 0x9F, 0xE5, 0x26, 0x40, 0x13, 0x00, 0x8F, 0x42, 0xF9, 0x98, 0x35, 0xF0, +0x88, 0x5A, 0xBA, 0x0A, 0x00, 0x91, 0x54, 0x23, 0xF8, 0x03, 0xE2, 0x62, 0xFC, 0x46, 0x10, 0xDE, +0x63, 0x32, 0x8C, 0x6C, 0x04, 0x33, 0xFF, 0x64, 0x5A, 0xBD, 0x25, 0x8D, 0x13, 0x5C, 0x52, 0x5C, +0x0B, 0xAD, 0x60, 0x89, 0x3F, 0xCA, 0x26, 0xC7, 0x3F, 0x64, 0xE3, 0x77, 0x59, 0xFF, 0x93, 0x04, +0x1C, 0x95, 0x3A, 0x00, 0x71, 0x18, 0xCD, 0x89, 0x80, 0xB7, 0x39, 0xFE, 0xC1, 0x00, 0x79, 0x5F, +0xD5, 0x16, 0xFF, 0xB3, 0xF3, 0x0F, 0x0E, 0xC8, 0x28, 0x13, 0xFA, 0x47, 0x01, 0xF9, 0x02, 0x07, +0xFD, 0xEF, 0xED, 0x7E, 0x2D, 0x2C, 0x03, 0x01, 0xFF, 0x90, 0x89, 0xDD, 0x01, 0xB3, 0xFC, 0x83, +0xFF, 0x46, 0x12, 0x0E, 0x53, 0x61, 0xFE, 0xC1, 0xFE, 0xE8, 0x45, 0xAD, 0xE9, 0x98, 0xF7, 0x3F, +0x51, 0x35, 0xFE, 0x21, 0x1B, 0xAB, 0x01, 0x16, 0xF8, 0x37, 0xF0, 0xDE, 0xC7, 0xBB, 0xD0, 0x16, +0x7E, 0x89, 0x59, 0x0D, 0x2D, 0xFF, 0x5B, 0xEA, 0x00, 0x04, 0xFC, 0x54, 0x03, 0xCC, 0x12, 0xCF, +0x0E, 0xB5, 0xC7, 0x03, 0x60, 0xFF, 0xFE, 0x27, 0x5B, 0xC1, 0xF2, 0x8B, 0x81, 0x8F, 0x5A, 0x06, +0xC8, 0xC7, 0xC4, 0xAA, 0x60, 0x6E, 0xFF, 0xFE, 0x60, 0xF9, 0x5E, 0x60, 0x4C, 0x80, 0x6E, 0x18, +0x60, 0x70, 0x40, 0xD9, 0x04, 0x5E, 0xA6, 0x83, 0x91, 0x60, 0x5C, 0x2B, 0xB1, 0xE1, 0xEB, 0x34, +0xD0, 0xD7, 0x6C, 0x23, 0x18, 0xE0, 0xC3, 0x59, 0x8A, 0x80, 0xD4, 0xD8, 0x09, 0xD8, 0xE3, 0x03, +0x95, 0x90, 0x57, 0x79, 0xFE, 0x89, 0x56, 0xF0, 0x28, 0xB9, 0x00, 0x24, 0x16, 0x30, 0x30, 0x39, +0x21, 0xFA, 0x76, 0x67, 0x3F, 0xD8, 0x13, 0x12, 0xFB, 0xE4, 0x1F, 0x08, 0x18, 0xA7, 0x03, 0x42, +0x02, 0x03, 0xDE, 0xDA, 0x08, 0xE4, 0x60, 0x3D, 0x08, 0xC6, 0x3F, 0xFC, 0x04, 0xC0, 0x7E, 0x1D, +0x10, 0xED, 0x5F, 0x18, 0x60, 0x66, 0x32, 0xCC, 0x6D, 0x85, 0x17, 0x34, 0x8C, 0x04, 0xF3, 0xB9, +0xDA, 0xFE, 0x45, 0xD5, 0xF8, 0xA7, 0x13, 0x70, 0x2A, 0x0C, 0xF0, 0xCB, 0xDC, 0x02, 0x10, 0x07, +0x3F, 0x5C, 0xA8, 0x14, 0x31, 0x0C, 0x3C, 0x75, 0xFE, 0xC7, 0x00, 0x54, 0xE9, 0xE3, 0xAA, 0x49, +0x00, 0x73, 0xAC, 0xEB, 0x04, 0xB5, 0x3E, 0xF1, 0x87, 0xFC, 0x97, 0x5F, 0x8C, 0x2E, 0x4B, 0x82, +0x80, 0xF4, 0x84, 0x43, 0x1E, 0x0C, 0x90, 0x77, 0xB4, 0x1F, 0x2B, 0xFE, 0xA7, 0x38, 0x60, 0xF3, +0xEB, 0x90, 0xE2, 0x5C, 0xC0, 0xD8, 0x0A, 0x2E, 0x36, 0x80, 0x11, 0x34, 0x11, 0x90, 0xB3, 0x58, +0x40, 0xC1, 0xB3, 0x34, 0x01, 0x13, 0xF8, 0x43, 0x23, 0x58, 0xFA, 0x1F, 0xB2, 0xE1, 0x42, 0x87, +0xE4, 0x04, 0xC0, 0x94, 0x56, 0x24, 0x1D, 0xD0, 0xE9, 0xC9, 0x7A, 0x0B, 0x59, 0x09, 0x63, 0x21, +0xF2, 0x63, 0x7D, 0x17, 0xDA, 0xBF, 0x2D, 0x05, 0x14, 0x4B, 0x42, 0x3A, 0xB7, 0x7F, 0x25, 0xA9, +0x30, 0x1D, 0x30, 0x6C, 0xA1, 0x02, 0x7E, 0x51, 0xFE, 0xC2, 0x83, 0xDD, 0x7A, 0x10, 0x3A, 0x50, +0xC1, 0x04, 0x98, 0x9E, 0x09, 0x08, 0xF8, 0xC1, 0x00, 0x93, 0x04, 0xBC, 0x63, 0xFF, 0x6B, 0xDA, +0x5F, 0x7C, 0x5D, 0xB3, 0xE3, 0xBF, 0xB2, 0x2A, 0xFC, 0xD3, 0x08, 0x38, 0x15, 0x06, 0x98, 0x25, +0xA0, 0x9F, 0xAE, 0xEA, 0x0D, 0x10, 0xA7, 0xA0, 0xDF, 0x4B, 0xF8, 0x9F, 0x11, 0x80, 0x46, 0x03, +0xEC, 0xE1, 0xCE, 0x56, 0x45, 0x00, 0xBE, 0x19, 0xFC, 0x13, 0xF8, 0x4B, 0x4F, 0x86, 0xC1, 0x04, +0x68, 0xEF, 0x80, 0xF1, 0x8C, 0xF6, 0xEF, 0xEB, 0xFC, 0x93, 0x04, 0xC4, 0x04, 0x98, 0x94, 0x01, +0x62, 0x49, 0x48, 0xB3, 0x64, 0x12, 0x47, 0x82, 0xE1, 0x80, 0x67, 0xED, 0xB2, 0xF2, 0x65, 0x35, +0x48, 0xF9, 0xDF, 0x34, 0x61, 0x80, 0x54, 0x12, 0xF1, 0xD0, 0x03, 0xFA, 0x38, 0xEE, 0x28, 0xF9, +0x87, 0x8F, 0x95, 0xD6, 0x0A, 0x0E, 0xC6, 0x17, 0x64, 0x05, 0x65, 0x24, 0x87, 0x82, 0x3D, 0xF3, +0xEA, 0x3D, 0x08, 0xCA, 0x25, 0x21, 0xCF, 0xBB, 0x08, 0x60, 0x82, 0x54, 0x98, 0x0E, 0xE8, 0x4B, +0x4B, 0xF0, 0x5E, 0x80, 0x7B, 0x61, 0xDB, 0x1B, 0x31, 0xC6, 0x02, 0x38, 0xA4, 0xA7, 0xE9, 0x80, +0xF8, 0xDB, 0xDD, 0x01, 0xE7, 0x77, 0xFB, 0xFE, 0x17, 0xB4, 0x0F, 0xF6, 0x17, 0xCF, 0x14, 0xFF, +0x43, 0x4D, 0xDD, 0x19, 0x66, 0xB3, 0x48, 0xC7, 0x68, 0x80, 0x5C, 0x0B, 0x03, 0xC0, 0xEE, 0x88, +0xBD, 0x98, 0x04, 0x03, 0x00, 0x16, 0xE9, 0x13, 0x04, 0x50, 0x37, 0xC0, 0x32, 0xFE, 0x3A, 0x30, +0xAD, 0x4F, 0xFA, 0x21, 0xFF, 0x15, 0xFF, 0x32, 0x00, 0x3C, 0x4D, 0x2C, 0x00, 0x19, 0x1F, 0x09, +0x03, 0xF4, 0xFD, 0x80, 0x92, 0x7F, 0x66, 0x02, 0x52, 0xFF, 0x5F, 0xDB, 0x00, 0xF9, 0x0C, 0x43, +0xC1, 0x8D, 0x2C, 0xF3, 0x19, 0xF8, 0x00, 0x81, 0x8E, 0x77, 0xED, 0x84, 0x76, 0x86, 0xE8, 0x88, +0x49, 0x36, 0x80, 0x93, 0xAD, 0x60, 0x10, 0x0F, 0x02, 0x98, 0x5C, 0x12, 0xB2, 0xF8, 0x0B, 0xFE, +0xA7, 0x10, 0x70, 0x87, 0x3D, 0xBF, 0x6B, 0x30, 0x70, 0xBE, 0xBE, 0xBE, 0xDD, 0xEB, 0xD5, 0x5F, +0x37, 0x3E, 0xF4, 0xD8, 0x53, 0xE0, 0x80, 0xCA, 0x02, 0x60, 0xA3, 0xFF, 0xC5, 0x9B, 0xE3, 0xFF, +0xE4, 0x71, 0xE6, 0x05, 0xAF, 0x81, 0xBC, 0x7D, 0xFC, 0x39, 0xF7, 0xDB, 0xAD, 0x21, 0x4E, 0xF0, +0xAF, 0x97, 0xE9, 0x80, 0xC4, 0x7E, 0x69, 0x80, 0x13, 0xB7, 0x89, 0x05, 0x20, 0x98, 0x00, 0xE8, +0x8E, 0xC0, 0xE1, 0x56, 0x15, 0x40, 0xD4, 0x2C, 0xFF, 0x74, 0x07, 0x9C, 0xE6, 0x0C, 0x50, 0x5C, +0x7F, 0x6E, 0xFC, 0xB7, 0xDD, 0x5E, 0x89, 0x65, 0x2F, 0xAB, 0x25, 0x00, 0x98, 0xA7, 0x4F, 0xA8, +0x36, 0x03, 0x2C, 0x0A, 0xA0, 0x9D, 0x6A, 0x07, 0xE1, 0xDF, 0x7F, 0xD6, 0xFF, 0x77, 0x9A, 0x23, +0x60, 0xBB, 0x01, 0xEC, 0xAD, 0xAF, 0xDD, 0x07, 0x18, 0x1D, 0x70, 0x6C, 0xE4, 0x9F, 0xEC, 0x06, +0x0C, 0xD0, 0x93, 0x7D, 0x80, 0xAC, 0x80, 0xAD, 0x36, 0xF0, 0xF2, 0xAA, 0x44, 0xC0, 0x69, 0xEB, +0x5E, 0x30, 0xF1, 0xFF, 0xA8, 0xCD, 0x1A, 0x46, 0x85, 0x05, 0xFE, 0x72, 0x06, 0xC8, 0x75, 0x23, +0xFC, 0x2F, 0x6D, 0x80, 0x9B, 0xBD, 0x0E, 0xC0, 0xEC, 0xA7, 0x4A, 0x10, 0x10, 0xC3, 0x94, 0x41, +0x03, 0x51, 0xE6, 0x61, 0x51, 0x1C, 0xF8, 0x57, 0x53, 0x40, 0x00, 0xEC, 0x83, 0x03, 0x62, 0x02, +0xE0, 0x6B, 0xF9, 0x1F, 0xBA, 0x01, 0xFD, 0xB2, 0xE0, 0x70, 0xD3, 0x67, 0x77, 0x48, 0x6F, 0x9C, +0x08, 0x3F, 0xB7, 0x3D, 0xDC, 0xDC, 0x23, 0xBD, 0x39, 0x20, 0xCF, 0x80, 0x4C, 0x18, 0xA0, 0xAB, +0xED, 0x97, 0xAA, 0x65, 0xD2, 0xC1, 0xAE, 0x71, 0xBE, 0x87, 0x3F, 0xF9, 0x5E, 0x61, 0x3A, 0xA0, +0xC2, 0x3F, 0xC4, 0x68, 0x80, 0x12, 0x81, 0x00, 0x5E, 0xB3, 0xC0, 0x01, 0xA7, 0xA8, 0xCB, 0x34, +0x00, 0x33, 0x13, 0x00, 0xCD, 0x7D, 0x80, 0x46, 0x07, 0x2C, 0xA6, 0x4F, 0xFE, 0x21, 0x76, 0xFC, +0xFD, 0x2D, 0xF8, 0x67, 0xFF, 0x22, 0x90, 0x7C, 0x01, 0x01, 0x77, 0x0B, 0x80, 0x93, 0x06, 0x08, +0x07, 0xC4, 0x04, 0xE8, 0x54, 0xE4, 0x8D, 0x11, 0x30, 0x00, 0x0C, 0x03, 0x64, 0xFD, 0x63, 0xFC, +0x31, 0x01, 0xB5, 0x01, 0x60, 0xA4, 0x79, 0x0B, 0x84, 0xD5, 0x20, 0x38, 0x5F, 0xB3, 0xA2, 0x2D, +0xDC, 0x06, 0x60, 0xC9, 0x00, 0x5B, 0x04, 0xDC, 0x2C, 0xF2, 0x06, 0x88, 0xEF, 0xC7, 0xC4, 0x02, +0x60, 0x13, 0x01, 0x77, 0xE8, 0x03, 0x06, 0x51, 0xDA, 0xCB, 0x82, 0xB9, 0xBB, 0x2F, 0x6B, 0x80, +0x55, 0xFD, 0xBC, 0xFB, 0xFA, 0x8F, 0x1F, 0x05, 0xFF, 0x32, 0xD3, 0x01, 0x9D, 0x02, 0x16, 0xF0, +0x87, 0x25, 0x21, 0xFC, 0x7B, 0x98, 0x00, 0xDD, 0xAF, 0x03, 0xBA, 0x3F, 0x56, 0x1A, 0x60, 0x62, +0x49, 0x48, 0xDD, 0x78, 0x09, 0xD7, 0x8D, 0x81, 0xA5, 0x70, 0x6A, 0xF2, 0x3F, 0xB9, 0x24, 0x64, +0x21, 0x92, 0x5D, 0x12, 0x32, 0xCD, 0x1A, 0x20, 0x6F, 0x7B, 0x03, 0x20, 0xA5, 0x32, 0x1D, 0x20, +0x4B, 0x05, 0x80, 0xA0, 0x96, 0xDD, 0x00, 0xED, 0x3D, 0x80, 0x4A, 0x0E, 0xC2, 0xBF, 0xC3, 0x37, +0x80, 0xC9, 0xFF, 0xF2, 0x85, 0x1C, 0x10, 0x0D, 0xE0, 0x68, 0x7D, 0xC2, 0x00, 0xB1, 0x2C, 0x18, +0xFC, 0x53, 0x09, 0x08, 0xFE, 0xE5, 0x0D, 0x10, 0x4B, 0x42, 0x38, 0x4B, 0x2D, 0xE8, 0x2D, 0xE6, +0x2B, 0x87, 0xA5, 0xAF, 0x4D, 0xC0, 0x1D, 0x13, 0x07, 0x98, 0x0E, 0xC8, 0x67, 0x05, 0x03, 0xA4, +0xB2, 0x01, 0xFF, 0x32, 0x02, 0x18, 0xCF, 0xC4, 0x04, 0xE8, 0x7C, 0x05, 0x01, 0x83, 0x93, 0x64, +0xCA, 0x68, 0x54, 0xDF, 0xDD, 0x62, 0x01, 0x08, 0x25, 0x63, 0x80, 0x58, 0x14, 0x07, 0x00, 0xDA, +0x07, 0x80, 0xCB, 0x0E, 0xF8, 0x82, 0x2A, 0x6F, 0x94, 0x34, 0x02, 0xB9, 0xA0, 0x1F, 0x10, 0x13, +0x60, 0xF2, 0x99, 0x74, 0x20, 0xE0, 0xF3, 0xD6, 0x04, 0x18, 0x69, 0x80, 0xD0, 0xC0, 0xE6, 0x02, +0xB8, 0x39, 0x78, 0x17, 0x5F, 0x5F, 0x7E, 0x10, 0x0F, 0x72, 0x02, 0x60, 0xCE, 0x01, 0xB5, 0x01, +0x10, 0x64, 0xF3, 0xEF, 0x0C, 0x70, 0x95, 0x11, 0x40, 0xB9, 0x26, 0x6E, 0x09, 0x00, 0x8A, 0x88, +0x09, 0x30, 0x46, 0x05, 0xA4, 0x6A, 0x55, 0x40, 0x35, 0x87, 0x00, 0x60, 0x07, 0xFE, 0xFD, 0xDD, +0xC3, 0x02, 0x10, 0x14, 0x4C, 0x88, 0x8E, 0xFD, 0x7F, 0x6C, 0x7A, 0x49, 0x03, 0x8C, 0x4F, 0xCB, +0x05, 0x20, 0x7A, 0x2B, 0x98, 0x49, 0x27, 0x0D, 0xD0, 0x15, 0x1F, 0x26, 0x5F, 0x68, 0x00, 0x23, +0x9A, 0x02, 0x86, 0xD1, 0xB4, 0x16, 0xFF, 0xD0, 0x0E, 0xE6, 0xED, 0x4B, 0xE8, 0x5F, 0xD1, 0x00, +0xA7, 0xC2, 0xFF, 0x84, 0x00, 0xE2, 0x49, 0xAF, 0x80, 0x04, 0xC2, 0xB9, 0x02, 0x40, 0x28, 0x60, +0xFC, 0x58, 0xA6, 0x0B, 0xD5, 0x79, 0x7D, 0x7B, 0x0B, 0xFF, 0xCB, 0x1A, 0x20, 0x86, 0x82, 0x79, +0x67, 0xC7, 0x5F, 0x91, 0x7F, 0xF8, 0x92, 0xF4, 0x78, 0x03, 0x98, 0x6C, 0x27, 0xA0, 0x8B, 0xB7, +0xC5, 0x8C, 0xFF, 0xBD, 0xFE, 0x92, 0x10, 0x42, 0x7C, 0xC2, 0x00, 0xB1, 0xC3, 0x74, 0xC0, 0x6B, +0x8F, 0x3C, 0x8C, 0x2C, 0x61, 0x1F, 0x5D, 0xB0, 0x79, 0x07, 0xD4, 0x72, 0xD5, 0xF9, 0x27, 0x97, +0x84, 0x4C, 0xD3, 0x06, 0x88, 0xAA, 0xFA, 0x1F, 0xCA, 0xEE, 0x4B, 0x82, 0x97, 0x79, 0x00, 0x4A, +0xFE, 0xD9, 0x14, 0x50, 0x27, 0xA0, 0x89, 0x6A, 0x87, 0x54, 0xC0, 0xC3, 0x77, 0x00, 0x6A, 0x04, +0x0C, 0xFD, 0x7F, 0x50, 0x3D, 0x8C, 0x02, 0xE3, 0x8C, 0xCF, 0xC7, 0xE8, 0xFF, 0x33, 0x12, 0xF0, +0x7B, 0x07, 0xBB, 0x82, 0x01, 0xF2, 0xE1, 0xEA, 0x04, 0xE3, 0xBF, 0x4A, 0x1A, 0xF3, 0x5F, 0xE2, +0x74, 0x52, 0x10, 0x10, 0x07, 0x52, 0x40, 0x08, 0xA0, 0x62, 0x80, 0xC2, 0xFF, 0x72, 0x06, 0x08, +0x07, 0x54, 0xFD, 0x0F, 0x4B, 0x42, 0xB6, 0x18, 0xA1, 0x4C, 0x94, 0x35, 0x6D, 0xEC, 0x80, 0x9E, +0x7F, 0xF8, 0xA8, 0x27, 0x0C, 0x10, 0x8B, 0xE2, 0xFA, 0xF4, 0x3F, 0x38, 0x20, 0x0B, 0x20, 0x57, +0xEC, 0x9A, 0x47, 0x4A, 0x14, 0x44, 0xBD, 0xFD, 0xDB, 0x7D, 0x32, 0x0C, 0xFC, 0xAF, 0x68, 0x80, +0x74, 0xC0, 0x02, 0x90, 0x58, 0xD6, 0xE2, 0x18, 0xCE, 0x35, 0xFF, 0x43, 0x35, 0xF3, 0x0F, 0x0E, +0x38, 0xD5, 0x0C, 0x10, 0x04, 0x84, 0x00, 0xE6, 0x8A, 0xCF, 0x74, 0x99, 0x07, 0x20, 0xE8, 0xD3, +0xD1, 0x00, 0xF5, 0xF2, 0xB8, 0x02, 0x08, 0x04, 0xEA, 0xE9, 0xDF, 0xFF, 0xD0, 0x0F, 0x48, 0x95, +0x07, 0x80, 0xB3, 0x06, 0x18, 0x99, 0x38, 0x06, 0x00, 0x4D, 0x04, 0x8C, 0xF8, 0x93, 0xA3, 0xC0, +0x57, 0x7C, 0xE0, 0x23, 0xED, 0xDC, 0x37, 0x01, 0x2F, 0x2D, 0x59, 0x05, 0xFF, 0xE3, 0x84, 0x51, +0x60, 0x74, 0x00, 0x86, 0x43, 0xD8, 0x82, 0x00, 0x6A, 0x06, 0x88, 0x81, 0x90, 0x05, 0x22, 0x0D, +0x30, 0xEE, 0x31, 0x01, 0xDA, 0xE4, 0x80, 0x25, 0xFB, 0xC3, 0xCA, 0xE0, 0x8A, 0x1D, 0xB0, 0xC2, +0x27, 0x5D, 0x1A, 0x60, 0x78, 0x2E, 0x38, 0xE0, 0xC4, 0x1C, 0x85, 0x7F, 0x98, 0x0E, 0xE8, 0x24, +0x90, 0x6B, 0x1E, 0x7F, 0xF1, 0xAE, 0x08, 0x58, 0x00, 0x57, 0x4A, 0xF7, 0x25, 0x21, 0x64, 0xB8, +0x8A, 0x01, 0x46, 0x07, 0xAC, 0xF8, 0xA5, 0x2B, 0x14, 0xBF, 0xC3, 0x00, 0x88, 0x5A, 0xC1, 0x3F, +0x2D, 0x1B, 0xA8, 0x5E, 0xC1, 0x00, 0x79, 0xC3, 0x04, 0x40, 0x35, 0x1E, 0x81, 0x4B, 0x1D, 0x80, +0x5C, 0x3A, 0x09, 0x20, 0x57, 0xBD, 0xD8, 0xA1, 0xD6, 0x3B, 0x00, 0x41, 0xC0, 0xC7, 0xF1, 0x3F, +0xDC, 0x19, 0x86, 0x17, 0xC0, 0xE5, 0xFB, 0x00, 0xA9, 0x84, 0x81, 0x10, 0x42, 0xE0, 0xFB, 0xB6, +0xD0, 0xF7, 0x04, 0x3B, 0xC4, 0x29, 0x06, 0x48, 0x47, 0x8C, 0x7F, 0x98, 0x1C, 0x90, 0xC9, 0x47, +0x59, 0xB9, 0x42, 0x35, 0x59, 0xE8, 0x27, 0xBE, 0xFF, 0xCF, 0x64, 0x80, 0x1B, 0x0C, 0x00, 0xE7, +0x0C, 0x10, 0x0E, 0xC8, 0x74, 0x33, 0xD4, 0xB8, 0x00, 0x98, 0x4B, 0x32, 0xF8, 0x41, 0xC5, 0xFC, +0x6B, 0x7C, 0xCA, 0x33, 0x06, 0xC8, 0x3F, 0x01, 0xFF, 0xEC, 0x77, 0xC0, 0xD7, 0x1D, 0x90, 0xBC, +0x6E, 0x37, 0xD2, 0x2B, 0x03, 0x03, 0x0C, 0xED, 0x5F, 0x5B, 0xE9, 0xE6, 0x80, 0xFE, 0xEF, 0x2B, +0x1A, 0x60, 0xE5, 0x1D, 0xD0, 0x4F, 0x80, 0xCE, 0x06, 0x0C, 0x34, 0xF2, 0xCF, 0x13, 0x90, 0xDF, +0x66, 0x43, 0x36, 0x00, 0x5D, 0xD9, 0x00, 0xFD, 0x40, 0x88, 0xBB, 0x18, 0x95, 0x3A, 0x38, 0x5B, +0x95, 0x00, 0x88, 0x60, 0x01, 0xB0, 0xC5, 0x00, 0x3B, 0x3A, 0xA0, 0x2D, 0x3D, 0x0E, 0xA9, 0x20, +0x87, 0xFC, 0x1A, 0x74, 0x43, 0xF9, 0xE2, 0xF4, 0xF3, 0xD0, 0xFF, 0xA7, 0x19, 0x20, 0x3D, 0x84, +0xFE, 0xE9, 0x09, 0x77, 0x40, 0x2D, 0xF5, 0x01, 0xF2, 0xD1, 0x23, 0xD0, 0x46, 0xC0, 0xAB, 0xE5, +0xC0, 0xEB, 0x9D, 0x5E, 0xFC, 0x9D, 0x11, 0x4C, 0x06, 0xC8, 0x0E, 0xB8, 0xB0, 0x16, 0xB4, 0x7F, +0x75, 0x07, 0xDC, 0xE2, 0x33, 0x29, 0x0B, 0x9E, 0x67, 0x02, 0xFA, 0x6E, 0x3E, 0xDE, 0xC5, 0x52, +0x8B, 0xBD, 0xEB, 0x07, 0xB4, 0x02, 0xF0, 0x86, 0x36, 0x13, 0xA7, 0x82, 0x03, 0xB6, 0x89, 0x87, +0xA3, 0x7C, 0xFE, 0xC1, 0xC0, 0x54, 0x07, 0x5E, 0xF7, 0x5F, 0x61, 0x0B, 0x2F, 0x00, 0x99, 0xD4, +0xAD, 0x42, 0x35, 0x55, 0xAA, 0x0A, 0x2F, 0x69, 0xBA, 0x20, 0x68, 0xFF, 0x6A, 0x95, 0xFC, 0xCF, +0x5A, 0xE8, 0x8A, 0x29, 0x1B, 0x20, 0x2A, 0xF1, 0xCD, 0x58, 0x68, 0x02, 0x60, 0x19, 0x80, 0x88, +0xFD, 0x2B, 0xE2, 0x1E, 0x3D, 0x18, 0xB5, 0xD0, 0x46, 0x37, 0x0E, 0x39, 0x01, 0x5A, 0x2F, 0xF4, +0x5D, 0xC1, 0x63, 0x8C, 0xF6, 0x26, 0x56, 0x82, 0x00, 0x8A, 0x1F, 0x8F, 0x3B, 0x00, 0x30, 0xCC, +0x7F, 0x01, 0xFD, 0xF0, 0xC8, 0x9F, 0xC7, 0xD3, 0x0F, 0x96, 0xF6, 0x0C, 0xA6, 0xD6, 0x40, 0xF3, +0x14, 0x03, 0xA4, 0x6D, 0x31, 0x5B, 0x18, 0x43, 0x03, 0x20, 0x7A, 0x3C, 0x01, 0xB7, 0xD5, 0xB5, +0x2D, 0xDB, 0xEB, 0xAA, 0xBA, 0xA9, 0xEB, 0x9B, 0xBA, 0x22, 0xC2, 0xC5, 0x13, 0x3C, 0x81, 0x3D, +0x65, 0x62, 0xCE, 0xFA, 0x81, 0x6E, 0x57, 0x75, 0xAF, 0x57, 0x2A, 0xD4, 0xB0, 0xE5, 0xFC, 0xC6, +0x15, 0x67, 0x7C, 0xA4, 0x82, 0xEA, 0xF2, 0x82, 0x7E, 0xDF, 0x54, 0xFE, 0x78, 0xE8, 0x20, 0xAB, +0x95, 0x31, 0x75, 0x45, 0xAF, 0x56, 0xFD, 0xBB, 0xA5, 0x5C, 0x6F, 0xCF, 0xAD, 0x99, 0xFF, 0xB5, +0x30, 0xC7, 0xD3, 0x4E, 0x31, 0xC0, 0xA0, 0x80, 0xF6, 0x8B, 0x75, 0xD0, 0x06, 0x60, 0xFA, 0x46, +0x01, 0x5A, 0x02, 0x1D, 0x71, 0xB4, 0xE6, 0xD8, 0x5E, 0x3A, 0xE4, 0x6F, 0x7B, 0xBA, 0x60, 0xCD, +0x3E, 0xFF, 0xEF, 0x0B, 0x73, 0xA8, 0x8D, 0x6B, 0xCC, 0x87, 0x1D, 0x00, 0xC8, 0x84, 0xA3, 0xC8, +0xE6, 0x6F, 0x24, 0x20, 0x4E, 0x97, 0x83, 0xE5, 0x77, 0xA6, 0x32, 0x18, 0x3C, 0x7B, 0xF6, 0xC9, +0xB3, 0xA9, 0x61, 0xA3, 0x5F, 0xA4, 0x6B, 0xD0, 0x58, 0x16, 0x33, 0x6B, 0x99, 0x9D, 0xDB, 0x32, +0x3B, 0xFF, 0x66, 0x7B, 0x7D, 0xF9, 0xB5, 0x09, 0x80, 0x5F, 0x5F, 0x72, 0xCF, 0x96, 0x5A, 0x5C, +0xAD, 0x2F, 0x9E, 0x4F, 0xD6, 0x96, 0xB2, 0xBE, 0xB8, 0x21, 0x08, 0xD9, 0xC2, 0xA8, 0x23, 0xD6, +0xF9, 0x12, 0xCF, 0x64, 0xE1, 0x1F, 0xFD, 0xF4, 0xE7, 0x1F, 0xC6, 0xDC, 0xDF, 0x4C, 0x48, 0x57, +0x4D, 0xE5, 0xE2, 0xA2, 0x1A, 0x9A, 0x42, 0xBF, 0x76, 0x79, 0xF9, 0xCB, 0xF5, 0xD7, 0x86, 0x72, +0x69, 0x03, 0xE0, 0x37, 0x6E, 0xFF, 0x95, 0xF5, 0xFD, 0x27, 0x52, 0xEA, 0x57, 0x55, 0xA4, 0xE1, +0x33, 0x8A, 0xE1, 0x52, 0xA5, 0xDF, 0xE2, 0x16, 0xF0, 0x40, 0x01, 0x20, 0x02, 0xB6, 0x29, 0x77, +0xAF, 0x3F, 0x00, 0x02, 0x1F, 0x9F, 0x80, 0x56, 0xFE, 0xD9, 0xF3, 0x19, 0xE5, 0x43, 0x13, 0xFE, +0x3E, 0xA7, 0xA9, 0xD2, 0x9F, 0xFE, 0x60, 0xE3, 0xDF, 0x0F, 0x6F, 0xBF, 0xCF, 0x73, 0x5C, 0x9C, +0xE8, 0x85, 0x1D, 0x4E, 0x02, 0x0D, 0x03, 0xFE, 0x28, 0x27, 0x03, 0x9B, 0xFF, 0x51, 0xA6, 0xC4, +0x36, 0xBD, 0xD0, 0xD5, 0xC7, 0x12, 0xA8, 0x96, 0x60, 0x81, 0x66, 0xFE, 0xFD, 0xC5, 0x04, 0xFC, +0x46, 0x2D, 0xCC, 0xBF, 0xF9, 0xF6, 0xFA, 0x6B, 0x53, 0xB9, 0xBC, 0xBB, 0xBC, 0x1B, 0x56, 0x26, +0x04, 0x5E, 0xD4, 0x17, 0x93, 0x0B, 0x13, 0xFF, 0x26, 0x37, 0x37, 0x13, 0x0B, 0x01, 0xA3, 0xFF, +0x01, 0x74, 0x54, 0xF3, 0x85, 0xF2, 0xC7, 0xBD, 0x8D, 0x7F, 0x37, 0x56, 0x02, 0xD2, 0x1F, 0x55, +0x57, 0x43, 0x53, 0xB9, 0xBB, 0xBC, 0xBC, 0xBB, 0x36, 0xBD, 0xA8, 0xD7, 0xDB, 0x6F, 0xB6, 0xDF, +0xA8, 0x6F, 0x95, 0x67, 0x20, 0xBD, 0xAD, 0x56, 0x02, 0x7E, 0xD9, 0x81, 0x7F, 0x74, 0xA5, 0x5A, +0x2E, 0xD5, 0x67, 0x9F, 0x0C, 0x28, 0xEE, 0x7F, 0xF0, 0x54, 0x4F, 0x06, 0x27, 0x83, 0xB7, 0x14, +0x01, 0x04, 0xE1, 0xCA, 0xDF, 0xE3, 0xDB, 0x3F, 0x01, 0x91, 0x9E, 0x11, 0x78, 0xDC, 0x33, 0xFE, +0x3A, 0x01, 0x90, 0x63, 0x70, 0x40, 0x1E, 0x29, 0x26, 0x02, 0xBE, 0x6F, 0x22, 0x20, 0x6E, 0x03, +0x23, 0xFD, 0xCF, 0x05, 0x47, 0x97, 0xA5, 0x7F, 0xEF, 0xCB, 0xFB, 0x30, 0x61, 0xE0, 0x23, 0xBE, +0x6C, 0xB8, 0x16, 0x8E, 0x8C, 0xBF, 0x67, 0x8C, 0x36, 0x0B, 0xFE, 0xCC, 0x04, 0x74, 0x31, 0x09, +0xE0, 0x9C, 0x56, 0xFD, 0x9E, 0x13, 0x01, 0x75, 0x07, 0x24, 0xFE, 0x71, 0xA9, 0x2C, 0xFC, 0xAB, +0x2F, 0xB8, 0x98, 0xF8, 0xC7, 0xFC, 0xB1, 0x38, 0xE0, 0xFD, 0xFD, 0x9F, 0xB1, 0xD9, 0xAB, 0x17, +0x9F, 0xFB, 0x7B, 0x93, 0xFF, 0x4D, 0xAC, 0x04, 0x74, 0x7F, 0x54, 0x65, 0x90, 0xE0, 0x6A, 0x48, +0xAF, 0xD4, 0xF0, 0xD2, 0x22, 0xD5, 0xD7, 0x5B, 0x9E, 0x84, 0x34, 0x9F, 0x59, 0x0C, 0x90, 0xF0, +0x47, 0xB1, 0xF1, 0x8F, 0xB2, 0xB0, 0xF1, 0x8F, 0x01, 0xE8, 0xAF, 0x48, 0xE5, 0x72, 0x9D, 0xC6, +0x65, 0x20, 0x27, 0xCB, 0xE5, 0x77, 0x06, 0x03, 0x7C, 0x37, 0x63, 0x80, 0xA9, 0x41, 0x0F, 0x6B, +0xAC, 0xF8, 0x7B, 0x53, 0x08, 0x18, 0xD0, 0x76, 0x6A, 0xE3, 0x9F, 0x91, 0x80, 0xC4, 0x3F, 0x02, +0xE0, 0xC7, 0x1F, 0x9A, 0xF9, 0xC7, 0xAD, 0x60, 0xD9, 0x04, 0x16, 0xED, 0x5F, 0x9F, 0xC1, 0xE0, +0x64, 0x39, 0xF0, 0x57, 0x40, 0x6E, 0x3F, 0x08, 0xE1, 0x56, 0xC3, 0x20, 0x14, 0x1C, 0x5A, 0x27, +0xEC, 0x7F, 0xCF, 0x6C, 0x04, 0x0C, 0x59, 0xA8, 0x1F, 0x81, 0xC5, 0xB7, 0x64, 0x0A, 0x54, 0x66, +0xE7, 0x33, 0x56, 0x8B, 0xD2, 0x8E, 0xF9, 0x37, 0xDF, 0x7E, 0x43, 0x0E, 0x78, 0x49, 0x1F, 0xC6, +0x62, 0x65, 0xFE, 0x0D, 0x79, 0xAB, 0xAC, 0xFC, 0xAB, 0xE1, 0x80, 0x0A, 0xFF, 0x0C, 0x04, 0xBC, +0xE7, 0xE5, 0xC0, 0x82, 0x80, 0x78, 0x80, 0x0A, 0x00, 0xB2, 0x35, 0xEA, 0xFC, 0xBB, 0xE1, 0x4C, +0xD6, 0x26, 0xFF, 0xB3, 0x3A, 0x20, 0xF9, 0xDF, 0x25, 0xED, 0x4C, 0xFC, 0x63, 0x05, 0x27, 0x07, +0x9C, 0x95, 0xDF, 0x29, 0xCA, 0x8C, 0x42, 0xEF, 0xAB, 0x8D, 0x7F, 0x1C, 0x9B, 0xFF, 0xF1, 0xE5, +0x37, 0xCD, 0x5C, 0x9E, 0x78, 0xCC, 0x35, 0x84, 0x2F, 0x72, 0xEF, 0x01, 0x6F, 0x15, 0xF1, 0xD7, +0x36, 0x40, 0x94, 0xE3, 0xD7, 0x1A, 0x8B, 0xFD, 0x5F, 0x02, 0xD0, 0xCE, 0x3F, 0x5E, 0x09, 0xA7, +0xFA, 0x9F, 0x13, 0x40, 0x93, 0x03, 0xBE, 0xED, 0xE3, 0xFA, 0x01, 0x8B, 0xF8, 0xA3, 0x2D, 0x86, +0xF0, 0x47, 0x92, 0x47, 0x97, 0xC0, 0xFE, 0xDE, 0xF9, 0xDF, 0x92, 0x7E, 0xB8, 0x0B, 0x2E, 0x21, +0x94, 0x76, 0x03, 0x98, 0xFD, 0xCF, 0x15, 0x3B, 0x00, 0x17, 0x9A, 0x05, 0x78, 0x51, 0x70, 0x04, +0x2C, 0x87, 0x7E, 0xBE, 0x25, 0x00, 0xF2, 0x6A, 0x84, 0xDF, 0x89, 0x80, 0x9C, 0xAF, 0xE5, 0x1E, +0xFE, 0x17, 0x08, 0xA8, 0x02, 0xB0, 0xBE, 0x88, 0x45, 0xE7, 0x1F, 0x87, 0x19, 0xA8, 0x35, 0x7F, +0xC1, 0x3F, 0x89, 0x3F, 0xDE, 0x85, 0x0A, 0xFC, 0x81, 0x80, 0x0A, 0xFF, 0x58, 0x00, 0x2D, 0x04, +0xAC, 0x41, 0x40, 0xCD, 0xFF, 0xA8, 0x01, 0x6C, 0x73, 0xC0, 0xAF, 0xD9, 0xFF, 0xA8, 0xE8, 0x0E, +0xF8, 0x8D, 0x7F, 0x47, 0x79, 0xA7, 0xFB, 0x7F, 0xBC, 0x54, 0x8C, 0xFE, 0xC7, 0x45, 0x20, 0x10, +0x0F, 0x9D, 0xFC, 0x7D, 0xB4, 0xE3, 0x1F, 0x1B, 0x00, 0xD5, 0xEF, 0xD2, 0x06, 0x48, 0x51, 0xFB, +0x00, 0xDF, 0x48, 0x00, 0x1E, 0xC7, 0xE3, 0x41, 0xF8, 0x77, 0x6A, 0xE4, 0x1F, 0xC7, 0xE0, 0x7F, +0x4C, 0x40, 0x76, 0x40, 0xBD, 0xFF, 0x6F, 0x97, 0x4C, 0x23, 0x18, 0x4F, 0xBC, 0x73, 0x12, 0x00, +0xE8, 0x04, 0x50, 0xBA, 0x5F, 0x38, 0xA3, 0x9F, 0xC6, 0xD0, 0x59, 0x8E, 0x7F, 0x78, 0x18, 0xAF, +0x40, 0x95, 0x80, 0x8B, 0x48, 0xC0, 0x67, 0x0B, 0x9D, 0x7F, 0x6C, 0x0A, 0xBE, 0x1F, 0xB0, 0x24, +0x15, 0x33, 0xC7, 0x3F, 0x2E, 0xE4, 0x80, 0xDE, 0xF3, 0x82, 0xEF, 0x89, 0xF3, 0x5F, 0xDC, 0x07, +0xDA, 0x7B, 0x8D, 0xCE, 0xBF, 0x8B, 0xDA, 0xB3, 0xE2, 0xC2, 0xC2, 0xBF, 0x89, 0x77, 0x40, 0xAB, +0xFF, 0xFD, 0x19, 0x11, 0x88, 0x01, 0x91, 0x96, 0xFF, 0xD1, 0x86, 0x68, 0x00, 0x74, 0xED, 0x5F, +0x2F, 0x81, 0x6A, 0xF3, 0xB7, 0x49, 0xC0, 0x72, 0xB9, 0xDB, 0xBD, 0x56, 0x43, 0xC5, 0xFF, 0x7E, +0x67, 0xFF, 0x73, 0x85, 0x1D, 0x2F, 0xFF, 0x4E, 0x51, 0x75, 0xE8, 0xF3, 0x9B, 0xEA, 0x7F, 0x88, +0xCE, 0x3F, 0x14, 0x5C, 0x9E, 0xB2, 0x30, 0xFF, 0x90, 0x70, 0xAD, 0x7F, 0x27, 0x00, 0x28, 0x92, +0x52, 0x40, 0xAA, 0xA2, 0xF4, 0x89, 0x40, 0xA4, 0x57, 0x02, 0x02, 0x85, 0x8F, 0xE7, 0x7F, 0x9C, +0x53, 0x8D, 0x80, 0x8C, 0xBF, 0x90, 0x31, 0x1C, 0x50, 0xE1, 0x1F, 0x77, 0x03, 0x66, 0xF1, 0x47, +0x89, 0xF8, 0xF3, 0x03, 0x21, 0xDF, 0xB5, 0xDD, 0x0F, 0xFD, 0x82, 0xE2, 0x0B, 0x82, 0x9F, 0x95, +0x0B, 0x0B, 0xA0, 0x8D, 0x80, 0x31, 0x0B, 0xE7, 0x80, 0x65, 0x00, 0x52, 0x81, 0x03, 0xEA, 0xFE, +0x17, 0x1C, 0x70, 0x18, 0xB9, 0x07, 0xFC, 0xC5, 0xFD, 0x2F, 0xD7, 0xBE, 0x51, 0x17, 0x36, 0xAB, +0xFF, 0xD5, 0x4A, 0x23, 0x78, 0x1D, 0xF1, 0x47, 0x5B, 0x99, 0x80, 0xC4, 0x3F, 0x24, 0x92, 0x8F, +0x51, 0xD7, 0x26, 0xA1, 0x3F, 0x41, 0xE0, 0x80, 0x05, 0xFE, 0x51, 0xD5, 0x1D, 0xF0, 0x82, 0x08, +0x88, 0xA2, 0xF1, 0x0F, 0xAF, 0xD4, 0xD7, 0x36, 0xFE, 0xB1, 0x03, 0x6A, 0xBA, 0x1E, 0xF0, 0xA7, +0xF7, 0x03, 0x36, 0x00, 0x48, 0xA7, 0x4A, 0x03, 0x18, 0xF8, 0x2B, 0x16, 0xE2, 0x5F, 0xE3, 0xC2, +0x8E, 0x57, 0xBD, 0x06, 0xC0, 0x6C, 0x27, 0xE0, 0x01, 0x1D, 0xB0, 0x91, 0xA7, 0x3E, 0x14, 0xDC, +0x91, 0x7F, 0x48, 0xB1, 0x01, 0xEC, 0xFC, 0x0F, 0x04, 0xD4, 0xF8, 0x87, 0x46, 0x70, 0xC9, 0x00, +0xA3, 0xFF, 0xC1, 0x01, 0xDB, 0xEE, 0x17, 0x1F, 0xD1, 0x55, 0xF1, 0x0F, 0x79, 0x67, 0xD3, 0x1A, +0x49, 0x15, 0x85, 0xE1, 0xF8, 0x81, 0x1A, 0x41, 0x24, 0x30, 0xD9, 0x64, 0xC4, 0x82, 0xEC, 0x52, +0x82, 0x48, 0x5C, 0x04, 0xB2, 0x6A, 0x1A, 0x14, 0xA1, 0x16, 0xC3, 0xD0, 0x69, 0x0C, 0x71, 0x95, +0xCD, 0x34, 0xCC, 0x26, 0x64, 0xA3, 0x8B, 0x4E, 0x20, 0x98, 0x9D, 0x9B, 0xDE, 0x0C, 0x04, 0xB2, +0x89, 0xF9, 0x01, 0xE2, 0x5F, 0xF4, 0x9C, 0xDB, 0x75, 0xF3, 0xA6, 0xFA, 0xDC, 0x7B, 0xDF, 0x53, +0x5A, 0x6D, 0x66, 0xF4, 0x3D, 0xB7, 0x2A, 0x3D, 0x6D, 0xFC, 0xEA, 0xAE, 0x7E, 0xF2, 0xDC, 0xAF, +0x4A, 0xD5, 0xCD, 0x56, 0xFE, 0xD2, 0xDA, 0x0E, 0x83, 0x2F, 0x8C, 0x80, 0xF0, 0x3F, 0xA4, 0xF4, +0x09, 0x88, 0xEC, 0x93, 0xD2, 0xAF, 0xEA, 0x15, 0xDA, 0xF4, 0xA4, 0x35, 0x8D, 0x0F, 0xE1, 0x7F, +0xA1, 0xC6, 0xFB, 0xD7, 0x1D, 0xEB, 0xC3, 0x09, 0x03, 0x80, 0x70, 0x40, 0xEE, 0x7F, 0xB1, 0x88, +0xFF, 0x45, 0x04, 0x2A, 0x8A, 0xD8, 0xFC, 0x6F, 0xD7, 0x01, 0xE3, 0x7A, 0x17, 0x0C, 0xFC, 0xC5, +0xC7, 0x1A, 0xEE, 0x80, 0xE0, 0x9F, 0x36, 0xCD, 0x15, 0x19, 0x00, 0x44, 0x35, 0xF9, 0x17, 0x00, +0xFE, 0xC7, 0x1C, 0x50, 0xF9, 0x77, 0x72, 0x02, 0x00, 0x9E, 0x3C, 0x7A, 0xA7, 0xCC, 0x7B, 0x36, +0x8D, 0xEF, 0x27, 0xEF, 0x04, 0x7F, 0xFB, 0x28, 0x84, 0x7F, 0xA1, 0x03, 0x82, 0xDA, 0x2E, 0xF1, +0xAF, 0x9B, 0xE4, 0x32, 0x98, 0x18, 0x66, 0x80, 0x6B, 0x75, 0xC0, 0x36, 0x6F, 0xFD, 0x38, 0x60, +0xBF, 0xF9, 0x5F, 0x84, 0x4D, 0x84, 0x3C, 0xA2, 0x9F, 0x3E, 0xDC, 0x61, 0x03, 0x80, 0x48, 0x1E, +0x7F, 0xF0, 0x3F, 0x10, 0xF0, 0xC1, 0x00, 0x3B, 0xE3, 0x7F, 0xE8, 0x00, 0x73, 0x07, 0x9C, 0x68, +0x6A, 0x54, 0x5D, 0xB8, 0x5C, 0x57, 0x52, 0x1A, 0x06, 0x8C, 0xE8, 0xEB, 0x2A, 0xE0, 0x34, 0x9E, +0x10, 0xF0, 0x4F, 0xEB, 0x3E, 0x38, 0xA0, 0x31, 0x40, 0x3D, 0x22, 0xFF, 0x70, 0x1C, 0x95, 0x16, +0xC0, 0x80, 0x13, 0x64, 0x18, 0xF0, 0xFB, 0x1F, 0xFE, 0x54, 0xF8, 0x80, 0x80, 0xD4, 0xFF, 0x90, +0xE8, 0x7A, 0xD0, 0xBF, 0x68, 0x80, 0x6F, 0x84, 0x90, 0x3E, 0x02, 0xCA, 0x16, 0x90, 0x07, 0x01, +0x0D, 0xED, 0x8A, 0x4C, 0x00, 0xA3, 0x46, 0x85, 0x9F, 0x00, 0xF0, 0x3F, 0x38, 0x60, 0x1A, 0x80, +0x32, 0xF0, 0xD0, 0xA9, 0xF8, 0x4E, 0x99, 0x93, 0xFA, 0x1F, 0x0C, 0x50, 0x4F, 0xA4, 0x03, 0x8C, +0xCC, 0x8A, 0xFE, 0xD7, 0xAD, 0xAA, 0x26, 0xFC, 0x43, 0x54, 0x00, 0x8D, 0x01, 0xA6, 0xC2, 0xA7, +0x81, 0x51, 0xEE, 0x94, 0xF0, 0xF7, 0xAE, 0x10, 0xF0, 0xCB, 0x3E, 0xFC, 0x33, 0x29, 0xF9, 0x1F, +0xA2, 0xC3, 0x80, 0x3B, 0x8C, 0x7F, 0x70, 0xC0, 0x5C, 0x27, 0x18, 0xFE, 0x07, 0x02, 0xC6, 0xB9, +0x60, 0x29, 0x7D, 0x10, 0xFD, 0x0F, 0xFC, 0x03, 0x00, 0xB7, 0x72, 0x04, 0xC4, 0xA5, 0x47, 0x14, +0x10, 0xFE, 0xC7, 0xA6, 0x82, 0x67, 0x40, 0x9F, 0x96, 0x26, 0x08, 0x44, 0xAC, 0xD8, 0xA6, 0x72, +0x3A, 0x89, 0xFC, 0x43, 0x2F, 0xF8, 0xC8, 0x18, 0xA0, 0x1E, 0xE0, 0x1F, 0x8E, 0x2C, 0x00, 0x5A, +0x42, 0xA0, 0xC8, 0x00, 0x20, 0x9A, 0xDC, 0x12, 0xC1, 0xCB, 0xBF, 0x9B, 0x07, 0xDC, 0x19, 0x03, +0x44, 0x18, 0x01, 0x15, 0xB9, 0xE8, 0x83, 0x87, 0xE3, 0x8A, 0xFA, 0x1F, 0xEF, 0x04, 0x9B, 0xD7, +0x8A, 0xF1, 0x0F, 0x05, 0xE7, 0xEB, 0x94, 0x34, 0xBC, 0xA1, 0xE1, 0x90, 0xE2, 0xFC, 0xE3, 0x33, +0x21, 0xF5, 0x6A, 0xF9, 0xF9, 0x27, 0x13, 0x81, 0xD2, 0x36, 0x08, 0xFE, 0x5C, 0x06, 0x88, 0xFA, +0x5F, 0x11, 0xD0, 0x8F, 0xBF, 0xBD, 0xE7, 0x89, 0x30, 0xFF, 0x43, 0x76, 0x3C, 0xFC, 0x83, 0x03, +0x76, 0xF1, 0x07, 0xFF, 0xB3, 0x04, 0xD4, 0xB9, 0x60, 0xB5, 0x3E, 0x7D, 0x80, 0xF1, 0x3F, 0x9B, +0x5A, 0x42, 0xC6, 0xFF, 0x6A, 0x32, 0x15, 0x8C, 0x30, 0x07, 0xBC, 0xED, 0x1A, 0x20, 0x1C, 0x30, +0xE7, 0x7F, 0x28, 0xF9, 0x3C, 0x8A, 0x03, 0x5A, 0x03, 0xB4, 0xFC, 0xD3, 0x83, 0xFA, 0x1F, 0xAA, +0xB4, 0x00, 0x06, 0x2D, 0x9C, 0x18, 0xFF, 0x90, 0x8E, 0xF5, 0x81, 0x84, 0x7E, 0x02, 0xDE, 0x09, +0x72, 0x3B, 0xF8, 0x03, 0x01, 0x89, 0xFF, 0x95, 0x96, 0x03, 0x5A, 0xFE, 0x2D, 0x16, 0x49, 0x07, +0xDC, 0xBD, 0x46, 0xF7, 0x17, 0xD5, 0x19, 0xA2, 0x45, 0xF0, 0x86, 0x86, 0xA3, 0xE4, 0x80, 0xF6, +0x4A, 0x61, 0xE3, 0x7F, 0xA8, 0x49, 0x76, 0xB8, 0x26, 0x11, 0xD3, 0x05, 0x46, 0xB8, 0x01, 0xAE, +0x8D, 0x80, 0xEB, 0x00, 0xE0, 0x66, 0xF2, 0xC9, 0xA7, 0x1A, 0xFF, 0xC3, 0x6A, 0x18, 0x17, 0xFF, +0xB0, 0x25, 0x84, 0xF0, 0x0F, 0x53, 0xC1, 0x06, 0x81, 0xC9, 0xC4, 0x1D, 0x41, 0x2F, 0x30, 0xFE, +0x27, 0x20, 0x4C, 0x66, 0x92, 0xF1, 0x3F, 0x17, 0x01, 0xE1, 0x7F, 0xDC, 0x01, 0x95, 0x7F, 0x31, +0xE0, 0xE0, 0x6D, 0x9C, 0x5E, 0xD4, 0x86, 0x87, 0x06, 0x80, 0x3A, 0x20, 0x25, 0x0E, 0x68, 0xC7, +0x00, 0xF1, 0x69, 0xA6, 0x13, 0x21, 0x18, 0xFF, 0x43, 0x25, 0xB7, 0x84, 0x5C, 0x81, 0x3C, 0x68, +0x58, 0x0E, 0x48, 0xF9, 0x27, 0x4F, 0x82, 0x7B, 0x20, 0x21, 0x14, 0xF1, 0x71, 0xEE, 0xCA, 0xFC, +0x83, 0x01, 0x0A, 0x01, 0x89, 0xFF, 0xA1, 0xA8, 0xFF, 0xE1, 0xC8, 0x2E, 0x80, 0x5E, 0xAD, 0xFB, +0xF8, 0x16, 0xE1, 0xEB, 0xD2, 0xFF, 0x8C, 0x01, 0x4A, 0x11, 0xFE, 0x51, 0x04, 0xEA, 0xF8, 0x9F, +0xAD, 0xCA, 0x14, 0x04, 0xD0, 0x38, 0x20, 0x00, 0x58, 0x04, 0x5F, 0xC7, 0x00, 0xC3, 0x69, 0x5D, +0x04, 0x94, 0xBC, 0x1B, 0x0E, 0xD8, 0x83, 0x7F, 0x7B, 0x1E, 0x00, 0x62, 0x03, 0x88, 0xCD, 0x37, +0x4A, 0x40, 0xCE, 0x3F, 0x10, 0xD0, 0xAC, 0xFF, 0x4B, 0xA6, 0xDD, 0x0F, 0xF4, 0x3A, 0xCE, 0x04, +0x6B, 0xCB, 0xA4, 0x26, 0xFE, 0xC7, 0x08, 0x18, 0xC2, 0x09, 0xA8, 0x56, 0x68, 0x15, 0x30, 0xB3, +0x25, 0xC4, 0xE0, 0xAF, 0x5D, 0x10, 0x7D, 0xD8, 0xC5, 0x1F, 0xFC, 0xCF, 0x12, 0x30, 0xB3, 0x00, +0xDA, 0x56, 0xC6, 0xFF, 0xC0, 0x1F, 0x50, 0xE8, 0x8E, 0x4C, 0x80, 0xA4, 0x1C, 0x10, 0x0F, 0x10, +0x36, 0x15, 0x7C, 0x97, 0xC0, 0x1F, 0x1C, 0x90, 0xFA, 0x9F, 0x16, 0xE5, 0x1F, 0x8E, 0x24, 0xFF, +0x14, 0x80, 0xB6, 0xA6, 0x66, 0xFD, 0xDF, 0xFE, 0xD4, 0x0A, 0xA0, 0x7E, 0x21, 0xFC, 0x43, 0x66, +0x64, 0x01, 0x0C, 0x75, 0xC0, 0x4C, 0x3A, 0x06, 0x98, 0x0B, 0xF8, 0x47, 0xFD, 0x4F, 0xCB, 0x9D, +0x34, 0xFE, 0xDE, 0x15, 0x02, 0xF6, 0xE0, 0xDF, 0xF3, 0x6C, 0x9E, 0x11, 0xFE, 0x21, 0xA5, 0x09, +0x60, 0x3B, 0x0E, 0x08, 0x04, 0x86, 0x07, 0xB9, 0x2C, 0x91, 0x87, 0x99, 0x60, 0xF8, 0x9F, 0x4D, +0xBD, 0x35, 0x31, 0xF3, 0xBF, 0xE9, 0x52, 0xDC, 0x15, 0x05, 0x10, 0x49, 0x6E, 0x00, 0xB6, 0x0A, +0xA8, 0x0F, 0xA3, 0xFC, 0x45, 0xB7, 0x08, 0x1B, 0x40, 0x6C, 0x89, 0x80, 0x28, 0x01, 0x11, 0x8C, +0xFF, 0x99, 0x43, 0x09, 0xC8, 0xF8, 0x07, 0x02, 0xAE, 0xE0, 0xEF, 0x0A, 0xC0, 0x59, 0x6D, 0x77, +0x1E, 0xFE, 0x81, 0x80, 0x5D, 0x08, 0x12, 0x02, 0x1A, 0xFE, 0xA1, 0xE1, 0xB8, 0x22, 0xFE, 0x87, +0x4A, 0xF0, 0x2F, 0xF7, 0x62, 0x65, 0x36, 0x80, 0x24, 0x1D, 0x30, 0x2C, 0xDE, 0x44, 0x53, 0xFE, +0x59, 0x03, 0xD4, 0x33, 0xE3, 0x1F, 0x52, 0xEE, 0xFF, 0xA2, 0x02, 0x15, 0xB7, 0x99, 0xFF, 0x81, +0x80, 0xD8, 0x0B, 0x4C, 0xFA, 0xBE, 0x5D, 0x03, 0x7C, 0x9B, 0x09, 0xF8, 0xEF, 0x00, 0x70, 0x2F, +0xAB, 0x7B, 0x59, 0x00, 0x72, 0x07, 0xFC, 0xDC, 0x00, 0x30, 0xBF, 0x1C, 0xF0, 0xBD, 0x5C, 0x80, +0xBF, 0xC2, 0x00, 0x20, 0x7A, 0xC1, 0x55, 0x67, 0x26, 0x38, 0x1F, 0xE3, 0x7F, 0x28, 0xE6, 0x80, +0x88, 0x25, 0xA0, 0xF1, 0x3F, 0x6B, 0x80, 0xD6, 0x01, 0xC3, 0x27, 0x2C, 0x0D, 0x40, 0xB5, 0x92, +0xCE, 0x06, 0x90, 0x6C, 0x07, 0x38, 0x75, 0x5F, 0x04, 0xF4, 0x7E, 0x4D, 0xBD, 0x34, 0xFE, 0x67, +0xF1, 0x87, 0x4D, 0x71, 0x9C, 0x7F, 0x20, 0x20, 0x4E, 0xE8, 0xF9, 0xDE, 0x10, 0x02, 0x2A, 0xFF, +0x32, 0xF8, 0x0B, 0x04, 0xEC, 0x4C, 0x55, 0x37, 0x84, 0x80, 0x76, 0x01, 0x20, 0x77, 0xC0, 0xC3, +0x14, 0xFF, 0x32, 0x5B, 0x42, 0x02, 0xEB, 0xEC, 0x10, 0x60, 0xC2, 0x01, 0xA7, 0xF9, 0x2B, 0x85, +0xF9, 0x1F, 0x2A, 0xCC, 0x84, 0x94, 0x27, 0x40, 0x90, 0x8D, 0x3E, 0x37, 0xC0, 0xE2, 0x02, 0xA8, +0xD5, 0x23, 0x06, 0x7F, 0xEF, 0x8C, 0x02, 0x0E, 0x20, 0x80, 0x76, 0x22, 0xE4, 0x19, 0xD6, 0xFF, +0x11, 0x02, 0xC2, 0xFF, 0xAC, 0x02, 0x9A, 0x4E, 0xB0, 0x01, 0xA0, 0x99, 0x0A, 0x0E, 0x33, 0xC1, +0xE9, 0x09, 0x10, 0x6C, 0x09, 0x99, 0x14, 0xFB, 0xBF, 0x28, 0x33, 0x17, 0x5C, 0xC8, 0xAC, 0x7B, +0x03, 0xA4, 0x9C, 0x00, 0x76, 0x1D, 0xD0, 0x2C, 0x00, 0x34, 0x53, 0xC1, 0x60, 0x9F, 0xF6, 0x87, +0x83, 0xEB, 0x25, 0x8F, 0x48, 0x40, 0xBB, 0x00, 0x9A, 0x0C, 0x03, 0xFE, 0xD8, 0x9D, 0xF8, 0x40, +0x03, 0x01, 0x19, 0xFF, 0xB0, 0x1C, 0x10, 0x85, 0x10, 0x07, 0xC4, 0x06, 0x10, 0x8B, 0x40, 0x3D, +0xFF, 0xD8, 0x15, 0xC0, 0x3C, 0x02, 0x9B, 0xDC, 0x06, 0x10, 0x7B, 0x1C, 0x99, 0x05, 0xD0, 0x39, +0x00, 0xDE, 0xEF, 0x6B, 0xF0, 0x66, 0x65, 0x05, 0xD0, 0x38, 0x20, 0x04, 0x90, 0x38, 0x60, 0x58, +0x00, 0x98, 0x2E, 0x0D, 0xE1, 0x5F, 0x7F, 0x00, 0x62, 0x10, 0x50, 0x1A, 0xA9, 0x7F, 0xE0, 0x80, +0xEF, 0x0A, 0x01, 0xC9, 0x0A, 0x40, 0xC6, 0x3F, 0xE4, 0x0B, 0xB3, 0x01, 0x24, 0x83, 0x3F, 0x10, +0x90, 0xF0, 0xCF, 0x6C, 0x09, 0x01, 0xFE, 0x92, 0xA9, 0xAA, 0xB8, 0x2B, 0x12, 0xFE, 0xC7, 0xC7, +0x01, 0xC3, 0x85, 0x96, 0xFF, 0x01, 0x6C, 0xF8, 0xE7, 0x23, 0x60, 0x52, 0x00, 0xF1, 0xA7, 0xC7, +0x02, 0x98, 0xC5, 0x9F, 0xF4, 0xC0, 0x22, 0x01, 0xC3, 0x09, 0xFE, 0xC7, 0x1D, 0x50, 0x17, 0x40, +0xE7, 0xAB, 0x43, 0xC0, 0x8B, 0x54, 0x07, 0x18, 0x5B, 0x42, 0xE8, 0x04, 0x30, 0xE2, 0xE2, 0x1F, +0x08, 0x08, 0xFE, 0x25, 0xF1, 0x67, 0xB7, 0x05, 0x1B, 0xF8, 0x15, 0x96, 0x03, 0xE2, 0x75, 0xC9, +0x4E, 0x05, 0x83, 0x7F, 0x78, 0xC9, 0x53, 0x04, 0x1C, 0x9B, 0x0D, 0x20, 0x56, 0x00, 0xC3, 0x61, +0xF8, 0xE7, 0x74, 0xC0, 0x49, 0x5D, 0x28, 0xB3, 0x01, 0x84, 0x01, 0xD0, 0x93, 0x8F, 0x8C, 0xFE, +0x0D, 0xDD, 0x0B, 0x5E, 0x0B, 0x00, 0xCB, 0x38, 0xFC, 0xD7, 0x56, 0x00, 0x72, 0x07, 0xC4, 0x06, +0x10, 0xEA, 0x80, 0xC7, 0xF8, 0x75, 0xE8, 0x48, 0x6A, 0x4B, 0x08, 0xFC, 0xAF, 0x30, 0x0E, 0x88, +0x1D, 0xC0, 0x6E, 0x02, 0xD6, 0xE4, 0xFA, 0xA3, 0xF8, 0x43, 0xBC, 0x02, 0x28, 0xD5, 0x6A, 0x05, +0xFC, 0x2F, 0x59, 0x20, 0x20, 0x06, 0x00, 0x09, 0x01, 0xB1, 0x00, 0x86, 0x38, 0x20, 0xF8, 0x57, +0x42, 0x20, 0x08, 0x08, 0xFE, 0x71, 0x02, 0xAE, 0x00, 0xF0, 0x26, 0xB3, 0x18, 0x06, 0xFC, 0xCB, +0x22, 0x50, 0x72, 0xC5, 0x07, 0x00, 0xED, 0x96, 0x10, 0xF8, 0x5F, 0xE6, 0x30, 0x1B, 0x40, 0xB2, +0x9D, 0x60, 0x28, 0x20, 0x74, 0xCF, 0x0A, 0x60, 0x38, 0x58, 0xFF, 0x17, 0xE9, 0x6E, 0x00, 0xC9, +0x97, 0x34, 0xE6, 0x7F, 0x00, 0xA0, 0x53, 0x00, 0xF1, 0x1B, 0x8D, 0x86, 0x05, 0xE0, 0x0A, 0xFF, +0xDE, 0x09, 0x07, 0xE4, 0xFE, 0xB7, 0x47, 0xF9, 0x87, 0x98, 0x05, 0x30, 0x39, 0x07, 0x7C, 0x86, +0xE5, 0x80, 0xCA, 0x3F, 0xE6, 0x80, 0xCC, 0xFF, 0x30, 0x15, 0x5C, 0x2D, 0x57, 0x03, 0x56, 0x3C, +0x5B, 0xAC, 0x03, 0x8C, 0x2D, 0x21, 0x86, 0x80, 0x6C, 0x18, 0x50, 0x27, 0x40, 0x0A, 0x06, 0xA8, +0x89, 0x93, 0x8A, 0x58, 0x00, 0xCD, 0x7A, 0xC1, 0xCA, 0x3F, 0x4E, 0x40, 0xF0, 0xAF, 0x5C, 0x91, +0x29, 0x3F, 0x0A, 0x61, 0x80, 0xBF, 0x12, 0x01, 0x39, 0xFF, 0x70, 0x87, 0x68, 0x12, 0x10, 0x10, +0x1B, 0x40, 0x32, 0xF8, 0xD3, 0xD3, 0x15, 0x26, 0x80, 0x49, 0x8D, 0x76, 0xC9, 0xF8, 0x1F, 0x46, +0x0C, 0x0E, 0xCD, 0x02, 0xE8, 0x5C, 0xC1, 0x01, 0xA7, 0xD3, 0x92, 0x01, 0x76, 0x3A, 0xC1, 0xF4, +0x52, 0x31, 0x1B, 0x40, 0x92, 0xA5, 0x6D, 0xB2, 0x1D, 0xAF, 0xD4, 0x4A, 0x32, 0x8C, 0x01, 0x42, +0x00, 0x07, 0x55, 0x40, 0xE0, 0xEF, 0x5D, 0x21, 0xA0, 0x67, 0xE1, 0x8B, 0x0B, 0x7F, 0x98, 0x09, +0xD1, 0x0D, 0x20, 0x3B, 0x19, 0xF4, 0xD9, 0x4D, 0x71, 0x00, 0x1D, 0x1D, 0x07, 0x04, 0x00, 0x99, +0x03, 0x56, 0x9E, 0xD4, 0xB8, 0x03, 0x20, 0x53, 0x40, 0xCC, 0xFF, 0x52, 0x02, 0xC6, 0x05, 0x80, +0xC4, 0x00, 0x5B, 0x02, 0x52, 0xFE, 0xA9, 0x03, 0x8E, 0xDB, 0x4E, 0x30, 0xA1, 0x5F, 0x20, 0xE0, +0x12, 0x7F, 0xC4, 0xFF, 0xDA, 0x5B, 0xC3, 0xC4, 0x1B, 0x20, 0x00, 0x3A, 0x60, 0x90, 0xD9, 0x12, +0xE2, 0xE3, 0x9F, 0x7C, 0x0F, 0xF8, 0xC7, 0x09, 0x18, 0xFD, 0xAF, 0x64, 0x80, 0x98, 0x0A, 0x7E, +0xD9, 0xF0, 0xA2, 0xFE, 0x87, 0x83, 0xF0, 0xCF, 0x2E, 0x88, 0x56, 0x01, 0xA4, 0x0A, 0x18, 0xF0, +0x07, 0xFE, 0x39, 0x7A, 0xC1, 0x35, 0xAD, 0x09, 0xFC, 0x8F, 0x03, 0xD0, 0x17, 0xF0, 0x6D, 0x2D, +0x0E, 0x98, 0xCC, 0x5B, 0x78, 0x63, 0x04, 0xF8, 0x9F, 0x03, 0x81, 0xCF, 0x3D, 0x79, 0x06, 0xFF, +0x63, 0x0E, 0x78, 0x0C, 0xFE, 0x71, 0x07, 0xA4, 0xFE, 0x87, 0x5B, 0xC3, 0x88, 0x06, 0xBA, 0x12, +0x7E, 0xB0, 0x4E, 0x24, 0x72, 0x72, 0x11, 0x90, 0x05, 0x5B, 0x42, 0xA6, 0xCC, 0x00, 0x35, 0x2D, +0xFF, 0x78, 0x09, 0x01, 0xD5, 0x57, 0x16, 0xFA, 0xB9, 0xA5, 0x47, 0x5C, 0x00, 0xED, 0xA8, 0x76, +0x02, 0x98, 0x18, 0xA0, 0x9E, 0xEE, 0xC0, 0x3F, 0x1A, 0x0B, 0xC0, 0x9B, 0x2C, 0x01, 0xB1, 0x00, +0x3A, 0x8D, 0x3F, 0x2C, 0x07, 0x84, 0xFF, 0x51, 0x07, 0xC4, 0x06, 0x60, 0x72, 0x2C, 0x17, 0xC0, +0x8C, 0x3D, 0xEF, 0x40, 0x5C, 0x00, 0xCD, 0x0C, 0x30, 0x3A, 0xA0, 0xE7, 0x4A, 0x81, 0xFF, 0xF9, +0x08, 0xE8, 0x02, 0x20, 0xC2, 0x11, 0xB8, 0x2E, 0x02, 0x0E, 0x1F, 0x0C, 0xFF, 0xD1, 0xAC, 0x79, +0xFE, 0x97, 0x07, 0xFC, 0x63, 0xD9, 0x01, 0xFF, 0xA8, 0x03, 0x0A, 0xFF, 0x9C, 0xD1, 0x15, 0xF1, +0xBE, 0xC4, 0xFD, 0xBF, 0xD2, 0x48, 0x29, 0x01, 0xA3, 0x00, 0xB2, 0xC4, 0x05, 0x80, 0x44, 0x01, +0xB5, 0xDA, 0x3B, 0xE0, 0x9F, 0xB0, 0x92, 0x31, 0x7A, 0x2C, 0x80, 0xA6, 0x47, 0xE4, 0x1F, 0x67, +0x05, 0x36, 0xC0, 0x15, 0x0C, 0x10, 0x5B, 0x42, 0x4E, 0xDD, 0x04, 0x64, 0x01, 0x01, 0xEF, 0xC0, +0xBA, 0x92, 0x01, 0x06, 0x02, 0x36, 0x2F, 0x5D, 0x85, 0x05, 0xD0, 0x1E, 0x07, 0xD4, 0xD5, 0xE6, +0xBC, 0xEE, 0xC7, 0xF0, 0x3F, 0x66, 0x80, 0xE0, 0x1F, 0xCB, 0xCC, 0xE9, 0x7F, 0x71, 0x39, 0xE0, +0x40, 0x00, 0x04, 0xFE, 0xFC, 0xF5, 0xC4, 0x00, 0x74, 0xC2, 0x2F, 0x60, 0x72, 0x73, 0xBD, 0x3B, +0x80, 0x79, 0x28, 0xFF, 0xB0, 0x25, 0x04, 0xFC, 0x63, 0x01, 0xFF, 0x68, 0x5E, 0x57, 0xEE, 0x28, +0xFC, 0xA4, 0x79, 0xEA, 0x5B, 0x84, 0x3B, 0x20, 0x31, 0x40, 0x08, 0x04, 0xE7, 0x9F, 0x96, 0x7E, +0x48, 0xC1, 0x3F, 0x76, 0x1C, 0x8D, 0x00, 0x03, 0xA6, 0x80, 0x42, 0x36, 0x86, 0x3F, 0x6D, 0xDA, +0x0B, 0xA6, 0x34, 0xB3, 0xCA, 0xC7, 0x23, 0xFC, 0x2B, 0xE2, 0x0F, 0x10, 0x74, 0xE8, 0x5F, 0xA4, +0xBE, 0xF4, 0x7F, 0x9D, 0x2F, 0xD6, 0x62, 0x1E, 0xEE, 0x3D, 0xEB, 0x2A, 0x6C, 0x00, 0x66, 0x0A, +0x08, 0xFE, 0x71, 0x02, 0xF2, 0xAB, 0x0F, 0xCB, 0x01, 0x79, 0x36, 0x3E, 0x7E, 0x7A, 0x00, 0x0A, +0x02, 0x91, 0x27, 0x41, 0x60, 0x1F, 0xFE, 0xED, 0x39, 0xE9, 0xE7, 0xE7, 0x9F, 0xFC, 0xB2, 0xE0, +0x1D, 0x27, 0x00, 0x3F, 0xF8, 0xE6, 0x18, 0xF3, 0x1F, 0xC4, 0x01, 0xD1, 0x01, 0xA6, 0x81, 0x00, +0xD2, 0xA8, 0x01, 0x7A, 0x0B, 0x0A, 0xC8, 0x72, 0xBB, 0xEF, 0x34, 0x40, 0x32, 0x01, 0xAC, 0x85, +0xBB, 0x03, 0x2E, 0x16, 0xBE, 0x4F, 0xB5, 0x00, 0x50, 0x06, 0xCB, 0x9C, 0xB4, 0xB8, 0xD0, 0x70, +0x04, 0xAA, 0x03, 0x1A, 0xA8, 0x0D, 0x41, 0xC4, 0xD0, 0x01, 0x76, 0x22, 0x30, 0xF2, 0x8D, 0xD5, +0xCB, 0x91, 0x9B, 0x7F, 0x8B, 0x39, 0xE5, 0x1F, 0x16, 0xC3, 0x4C, 0x9D, 0x06, 0x78, 0xDB, 0x03, +0x80, 0x93, 0xBA, 0x07, 0xFF, 0x86, 0x35, 0xC0, 0x76, 0x91, 0x9F, 0x13, 0x80, 0x22, 0x76, 0xFF, +0x45, 0x00, 0x6E, 0x0C, 0x28, 0x80, 0x30, 0xC0, 0x6F, 0xDC, 0x0A, 0xD8, 0xCF, 0x00, 0x87, 0x07, +0xE0, 0xD9, 0x64, 0xE2, 0x45, 0x60, 0xED, 0x75, 0xC0, 0x7A, 0x26, 0x60, 0xF3, 0x0E, 0x02, 0x8E, +0x7D, 0x04, 0xD4, 0x5F, 0x54, 0x46, 0x87, 0x00, 0x71, 0x6F, 0xC0, 0xC6, 0x6B, 0x4B, 0x97, 0x3E, +0xFC, 0xA9, 0x00, 0x62, 0x08, 0x70, 0x98, 0xA0, 0x0B, 0x4C, 0xF1, 0xD7, 0x9E, 0x1A, 0xAF, 0xD8, +0x8E, 0xE4, 0x7E, 0xD9, 0x5E, 0x01, 0x14, 0xBB, 0xBE, 0xF7, 0xF6, 0x81, 0xA7, 0x1E, 0x03, 0x94, +0x36, 0x9B, 0xB9, 0xBB, 0xC0, 0xB5, 0xFB, 0xF2, 0x9B, 0xB8, 0x00, 0x08, 0x4E, 0x79, 0xF2, 0xEE, +0x8C, 0x01, 0x4A, 0xFC, 0xFC, 0xEB, 0x35, 0x0C, 0xE8, 0x16, 0xC0, 0x3D, 0xAF, 0x00, 0xEA, 0x1A, +0x40, 0xEF, 0x18, 0xE0, 0x8E, 0x7B, 0x0C, 0x50, 0xE2, 0x54, 0x40, 0xAC, 0x01, 0xE4, 0x39, 0x3B, +0xF3, 0x0A, 0xA0, 0x1F, 0x80, 0x61, 0x0D, 0xA0, 0x16, 0x9F, 0x06, 0x1E, 0x7B, 0x09, 0x28, 0xDF, +0xE5, 0x26, 0xE0, 0x7C, 0x34, 0x1A, 0x35, 0x2E, 0x5B, 0x12, 0xAC, 0x08, 0x01, 0x7D, 0x08, 0x94, +0xD9, 0x8A, 0xCB, 0x35, 0xF0, 0x0F, 0x8B, 0x00, 0x09, 0x02, 0x35, 0x3E, 0x03, 0x6C, 0xE4, 0x7F, +0x7F, 0xE4, 0x02, 0xA0, 0xF2, 0x2F, 0x10, 0x90, 0xE3, 0x4F, 0xF8, 0x37, 0x1E, 0xBB, 0x06, 0x01, +0x0F, 0xF4, 0xB7, 0x00, 0x3A, 0x01, 0xD8, 0x87, 0x7F, 0x67, 0x67, 0x67, 0xC3, 0x00, 0x10, 0x9C, +0xF2, 0xFB, 0x5F, 0xF8, 0xF6, 0x3E, 0xD3, 0xC0, 0xEB, 0x88, 0x77, 0x0C, 0x10, 0x00, 0x74, 0xC5, +0x05, 0x40, 0xA1, 0x9F, 0x57, 0x01, 0x3F, 0xE7, 0xB3, 0xC0, 0xB8, 0x3D, 0xFE, 0x8E, 0x93, 0x80, +0x9F, 0x69, 0x9C, 0xFE, 0xF7, 0x5A, 0xCA, 0x89, 0x3F, 0x01, 0x60, 0xE5, 0xE5, 0x9F, 0xC4, 0xC7, +0x3F, 0x15, 0x00, 0xF9, 0x24, 0x70, 0x03, 0x3C, 0xD0, 0xCF, 0xD4, 0xBE, 0xE3, 0xE3, 0xA7, 0xFE, +0xD7, 0x2C, 0x09, 0xE8, 0x99, 0x03, 0xD1, 0x70, 0x52, 0x48, 0x8B, 0x60, 0x21, 0xF8, 0xD3, 0x13, +0x7E, 0x0F, 0x12, 0xC9, 0x8D, 0xE7, 0x49, 0xF8, 0x5F, 0x20, 0x20, 0xC1, 0x1F, 0x10, 0xE8, 0xF3, +0x3F, 0x89, 0x10, 0xD0, 0xC9, 0xBF, 0x46, 0xD8, 0xE6, 0x1A, 0x82, 0x90, 0xF2, 0x4D, 0x03, 0x0B, +0x00, 0xE5, 0x1A, 0xF0, 0xFA, 0x9F, 0x13, 0x81, 0xCA, 0xBF, 0x49, 0xE5, 0x5E, 0x06, 0x33, 0xB4, +0x01, 0xF6, 0xC2, 0xDF, 0x13, 0x39, 0x20, 0xFC, 0x4F, 0xCB, 0x1F, 0xD7, 0x1A, 0x98, 0xE7, 0x6E, +0x03, 0xC4, 0x3E, 0x10, 0x96, 0x1D, 0x15, 0x40, 0x39, 0x39, 0xFD, 0x4F, 0xE3, 0x5A, 0x07, 0xA8, +0xF5, 0xDA, 0xD9, 0x01, 0x3E, 0xAB, 0xBE, 0xAE, 0xBC, 0xFC, 0xFB, 0x5D, 0x09, 0x38, 0x73, 0xF1, +0x2F, 0xAC, 0x03, 0x24, 0x06, 0xA8, 0xDB, 0x81, 0x43, 0x71, 0x02, 0x8E, 0xEF, 0xDB, 0xCC, 0xD9, +0x30, 0x60, 0xE4, 0x5F, 0x70, 0x40, 0xA7, 0xFF, 0x99, 0xCE, 0xA6, 0x69, 0xCA, 0xBF, 0xBB, 0x40, +0xAB, 0xA1, 0xFB, 0xBF, 0xAA, 0x80, 0x61, 0x1E, 0x84, 0x21, 0x10, 0x04, 0xE4, 0xFE, 0xE7, 0x23, +0xA0, 0xF2, 0x2F, 0xA4, 0xA1, 0x0A, 0xA8, 0xFE, 0xB7, 0x04, 0xE0, 0xAD, 0x63, 0x21, 0xE0, 0x4C, +0xE2, 0x9B, 0x07, 0xAE, 0x43, 0x7C, 0xFD, 0xDF, 0x33, 0x2D, 0x0F, 0x00, 0x9D, 0xA8, 0xD2, 0xEF, +0xF2, 0x1A, 0x20, 0xD0, 0xE6, 0x02, 0xE0, 0xD3, 0x3A, 0x20, 0x00, 0xE8, 0x8E, 0xCF, 0xFF, 0xB4, +0x58, 0xF6, 0x3C, 0x3B, 0x41, 0xE0, 0x7F, 0x0A, 0x40, 0x0F, 0x01, 0x3F, 0xF3, 0x03, 0x50, 0xD8, +0xB7, 0x44, 0xA0, 0xD3, 0x00, 0x27, 0x2E, 0x07, 0x8C, 0xE1, 0x0E, 0x28, 0xBD, 0x9F, 0x90, 0x7A, +0x7A, 0xCB, 0x0C, 0x50, 0x3F, 0x50, 0x5A, 0x81, 0x80, 0xDC, 0xFF, 0x9A, 0x40, 0x40, 0x3E, 0xFE, +0x17, 0x43, 0xE7, 0x4A, 0x81, 0x95, 0x22, 0xFE, 0xE2, 0x2A, 0x40, 0x29, 0x10, 0x70, 0x38, 0xFE, +0x05, 0x02, 0xB2, 0x9D, 0x20, 0x08, 0xF7, 0xBF, 0x36, 0xCD, 0x2E, 0x75, 0xC0, 0x25, 0xFD, 0x24, +0x7C, 0x18, 0x30, 0xFE, 0xAC, 0x1A, 0xDF, 0x16, 0x0D, 0x50, 0xDB, 0x4C, 0xA3, 0x0E, 0xC8, 0x27, +0x80, 0xEB, 0xDF, 0x9D, 0x08, 0xAC, 0xCF, 0x2A, 0x15, 0xC0, 0xAF, 0x27, 0xBE, 0x2E, 0xF0, 0xF0, +0xFC, 0xDB, 0xF4, 0x62, 0x15, 0xB5, 0x96, 0xB8, 0xF0, 0x37, 0xB0, 0x03, 0x6E, 0xEC, 0xA9, 0xFF, +0x85, 0xF2, 0xF1, 0x0F, 0x0E, 0xC8, 0xFA, 0xBF, 0xCB, 0xFA, 0xE6, 0x98, 0x4D, 0x00, 0x23, 0x7C, +0x2F, 0xF0, 0x43, 0x39, 0xFC, 0x4F, 0xAA, 0xD2, 0xF2, 0xF0, 0x0F, 0x04, 0x9C, 0x71, 0xFF, 0xD3, +0x94, 0x0D, 0x50, 0xF9, 0xD7, 0x16, 0x08, 0x48, 0xFC, 0xAF, 0x81, 0x03, 0x12, 0xFF, 0xA3, 0x04, +0x44, 0xFF, 0x97, 0x20, 0x10, 0xFC, 0xFB, 0x67, 0x04, 0xBC, 0x49, 0xF2, 0x0F, 0x04, 0x24, 0xEB, +0x00, 0xDD, 0x0E, 0x38, 0x8A, 0xA1, 0x04, 0x54, 0xFE, 0x35, 0x7A, 0x48, 0x23, 0x9D, 0xE0, 0xF1, +0x3E, 0x8A, 0x6D, 0x06, 0x9E, 0xC5, 0x50, 0x07, 0xAC, 0x11, 0xEE, 0x7F, 0xE1, 0x52, 0x95, 0xAF, +0x0C, 0x80, 0x5E, 0x58, 0x6D, 0x46, 0xB1, 0x73, 0x4D, 0x00, 0x03, 0x6E, 0x1C, 0x80, 0xA8, 0x75, +0x64, 0x60, 0x00, 0x72, 0x04, 0xEE, 0x6D, 0x7C, 0xA9, 0xFE, 0xE7, 0x44, 0xA0, 0xE3, 0x6E, 0x80, +0x58, 0x02, 0x18, 0x8B, 0x39, 0x20, 0xF0, 0x07, 0x07, 0x64, 0xFE, 0xA7, 0x45, 0x01, 0xA8, 0x35, +0x71, 0x38, 0x60, 0xC8, 0xEF, 0x2E, 0x07, 0xC4, 0xF5, 0x8F, 0x5E, 0x70, 0x42, 0x00, 0xE1, 0x7F, +0xD4, 0x01, 0xD5, 0xFF, 0x60, 0x80, 0x4A, 0x40, 0xEE, 0x7F, 0x9C, 0x80, 0x57, 0x8D, 0x17, 0x7F, +0xE0, 0x9F, 0xD6, 0x25, 0x08, 0x38, 0x80, 0xFF, 0x81, 0x80, 0xB4, 0x03, 0x8C, 0x30, 0xFF, 0x43, +0x84, 0x80, 0x85, 0x3D, 0xD3, 0xF7, 0x9D, 0x8C, 0x89, 0xFF, 0xA1, 0xCA, 0x02, 0x38, 0x8B, 0xD1, +0xAE, 0x00, 0x03, 0xA0, 0x17, 0x81, 0x61, 0xAC, 0x46, 0xAF, 0x54, 0xEA, 0x80, 0x1B, 0x80, 0x14, +0xF7, 0xBF, 0x10, 0x0F, 0xFF, 0xDC, 0x06, 0xB8, 0xF9, 0xC4, 0x04, 0xDC, 0xE8, 0x96, 0x3B, 0x6C, +0xFE, 0x17, 0xE5, 0xE1, 0x1F, 0x3A, 0xC1, 0x52, 0x45, 0xFE, 0x81, 0x80, 0x9F, 0x65, 0xF5, 0x0F, +0x00, 0xE4, 0x0E, 0x18, 0xC0, 0x87, 0x62, 0xFE, 0xA7, 0xD5, 0x62, 0x90, 0xF2, 0x0F, 0x29, 0x18, +0xE0, 0xAC, 0x1B, 0x99, 0x10, 0x4C, 0x1B, 0x60, 0xE4, 0x1F, 0x2A, 0xBF, 0x1F, 0x78, 0xDC, 0xF2, +0x2F, 0x9E, 0x9B, 0xF9, 0x82, 0xFB, 0x1F, 0x27, 0xE0, 0xF7, 0x97, 0x6E, 0x03, 0x04, 0xA9, 0x06, +0xEC, 0x05, 0x83, 0xA9, 0x20, 0x20, 0x33, 0x40, 0xEE, 0x80, 0xDD, 0xFF, 0x7B, 0x21, 0x60, 0xDE, +0xFF, 0xAE, 0xF5, 0xB5, 0x44, 0xCB, 0x8F, 0x03, 0x82, 0x7F, 0x20, 0x60, 0xFE, 0x76, 0x80, 0x8F, +0x33, 0xAD, 0x09, 0xFE, 0x7E, 0xD7, 0x16, 0x52, 0xF6, 0xBF, 0xAF, 0x55, 0xFE, 0xA4, 0x85, 0x4B, +0x95, 0x1A, 0xA0, 0x07, 0x57, 0xE0, 0x1F, 0x27, 0x60, 0xE0, 0x25, 0xE8, 0x46, 0xF8, 0xF7, 0x04, +0x04, 0xE4, 0x00, 0xE4, 0x29, 0xCD, 0x7F, 0x28, 0xF8, 0x50, 0x94, 0x7F, 0xDC, 0x01, 0xC1, 0x3F, +0x10, 0x90, 0x0B, 0x20, 0x1C, 0x90, 0xF8, 0x1F, 0x8A, 0xE9, 0x9F, 0xF6, 0x2C, 0x5A, 0x07, 0xAC, +0x6B, 0x02, 0x40, 0x78, 0x60, 0xF1, 0x6E, 0x80, 0x21, 0x70, 0xC0, 0xA4, 0x01, 0x82, 0x7F, 0xA8, +0xCC, 0xE7, 0xEF, 0x7E, 0x0C, 0xFC, 0xC5, 0x47, 0x47, 0x8B, 0xFC, 0xFA, 0xBF, 0x51, 0x27, 0xE9, +0x1D, 0xC1, 0xA6, 0x03, 0x5C, 0xDE, 0x0B, 0x0C, 0xFF, 0x23, 0x04, 0xBC, 0x21, 0x1D, 0xE0, 0x2C, +0xFF, 0xB0, 0x23, 0x98, 0xE1, 0x4F, 0x73, 0xF9, 0x3D, 0xF7, 0x3F, 0x10, 0x30, 0xF7, 0xD3, 0x02, +0x4A, 0x2D, 0x29, 0xCD, 0x05, 0xEB, 0x04, 0xB0, 0x21, 0x60, 0x46, 0x00, 0x57, 0xDF, 0xFE, 0x82, +0x03, 0xCE, 0xEA, 0x95, 0x94, 0x16, 0xC0, 0xE8, 0xA5, 0x1A, 0xF4, 0xAF, 0xE5, 0x20, 0xBD, 0x25, +0x3E, 0xF3, 0xB4, 0x6E, 0xF8, 0x02, 0x18, 0xA7, 0x57, 0x3E, 0x29, 0x01, 0x31, 0x01, 0x8C, 0xF2, +0x27, 0xDB, 0x01, 0x8E, 0xFD, 0x5F, 0x54, 0x61, 0x07, 0x9C, 0x21, 0x60, 0x6E, 0x1C, 0x70, 0xC9, +0x3D, 0xD4, 0x37, 0x9F, 0x90, 0x09, 0x60, 0xEE, 0x80, 0xF0, 0x3F, 0xD4, 0x6B, 0x2A, 0x80, 0x00, +0x21, 0xE3, 0x1F, 0xEF, 0x04, 0x6B, 0xAF, 0xA7, 0x93, 0x5A, 0xD6, 0x03, 0xA6, 0x04, 0x10, 0xFC, +0x43, 0x65, 0xEE, 0x89, 0x3A, 0x3E, 0x81, 0xA4, 0xC4, 0x34, 0xD9, 0xFB, 0xC0, 0x98, 0x34, 0xE9, +0x7B, 0xC2, 0x34, 0xCA, 0x15, 0x82, 0x40, 0xF0, 0xCF, 0x00, 0x70, 0x00, 0x07, 0x8C, 0x56, 0x09, +0x02, 0x5E, 0xA4, 0x6F, 0x8A, 0xFF, 0x67, 0x82, 0x80, 0x11, 0xE3, 0x76, 0x02, 0xD8, 0x10, 0x70, +0x71, 0x94, 0x5F, 0x00, 0xBD, 0xFA, 0xCA, 0x9E, 0xA4, 0xF9, 0xB7, 0x82, 0x3F, 0x7D, 0xEB, 0x72, +0x06, 0x38, 0x5B, 0xC9, 0xED, 0x8C, 0xF8, 0x1F, 0x07, 0x60, 0x5D, 0x57, 0x67, 0x5F, 0x57, 0xB8, +0x54, 0x4B, 0x04, 0xD4, 0xDF, 0x0B, 0x0C, 0x14, 0x11, 0xFC, 0x79, 0x09, 0xB8, 0x69, 0xF1, 0x96, +0xCE, 0xE6, 0x93, 0x03, 0x50, 0x90, 0x37, 0x98, 0x02, 0x22, 0x0E, 0x00, 0xE2, 0x3E, 0x58, 0x96, +0x80, 0xB9, 0x9B, 0x20, 0xAC, 0x12, 0x70, 0x87, 0xFA, 0x1F, 0x92, 0xBD, 0x15, 0x20, 0x0C, 0x90, +0x38, 0xE0, 0x04, 0x02, 0x18, 0x2A, 0x4C, 0x84, 0x30, 0x00, 0x22, 0xD9, 0x0D, 0x20, 0xB3, 0x95, +0xA4, 0x05, 0x70, 0xB6, 0x3F, 0x36, 0x00, 0x4C, 0xF7, 0x82, 0xE3, 0x02, 0x40, 0x0D, 0x46, 0x02, +0xD3, 0x9B, 0xE2, 0x16, 0xF0, 0x3F, 0x24, 0xB7, 0x01, 0xEE, 0xF2, 0x22, 0x1D, 0x7B, 0x13, 0x04, +0xE0, 0x0F, 0x08, 0x1C, 0x62, 0x01, 0x34, 0x2A, 0x35, 0x17, 0x8C, 0x47, 0x36, 0x97, 0xB2, 0x27, +0x8E, 0x0A, 0x20, 0x1C, 0x30, 0xCF, 0x3F, 0xA4, 0x91, 0x12, 0x07, 0x24, 0x1D, 0x60, 0x10, 0x30, +0x6D, 0x80, 0x33, 0x13, 0x79, 0x8A, 0xF8, 0x1F, 0x05, 0xE0, 0xE4, 0xEB, 0x88, 0xBE, 0x50, 0x95, +0xD2, 0x30, 0xCB, 0x3F, 0x8F, 0x01, 0xFA, 0xF9, 0x27, 0x2D, 0xC9, 0xBD, 0xB7, 0x94, 0x80, 0x1B, +0xA9, 0xF2, 0x27, 0x37, 0x01, 0xAC, 0xCC, 0xE3, 0x04, 0xDC, 0x33, 0x02, 0x88, 0xA9, 0xE0, 0xC2, +0x04, 0x30, 0x0A, 0x0E, 0x48, 0xFC, 0x0F, 0xBD, 0x60, 0xCB, 0x3F, 0xB7, 0x03, 0x9E, 0x55, 0xB1, +0xEB, 0x8B, 0xA2, 0xF8, 0xC3, 0xA0, 0x4D, 0xF2, 0xAA, 0xFE, 0xCE, 0xE0, 0x4F, 0x95, 0xF0, 0x36, +0x65, 0x80, 0xC0, 0x9F, 0x9D, 0x0A, 0xB6, 0xFE, 0x07, 0x53, 0x29, 0x2C, 0x07, 0x3C, 0x3A, 0x32, +0xFC, 0xCB, 0x2E, 0x07, 0x04, 0x56, 0x0C, 0xFE, 0x2C, 0xFF, 0x00, 0xC0, 0x7F, 0x34, 0x0C, 0x78, +0x93, 0x9E, 0x00, 0x41, 0xC9, 0xFC, 0x4A, 0x17, 0x7C, 0x86, 0x7F, 0x64, 0x18, 0xB0, 0x19, 0x99, +0x24, 0xB7, 0x84, 0xC4, 0x05, 0xD0, 0xDD, 0xA6, 0x47, 0x66, 0x01, 0xA0, 0x05, 0xE0, 0x38, 0x6D, +0x80, 0x33, 0x84, 0x0C, 0x03, 0xC2, 0xFF, 0x90, 0x6C, 0xFF, 0x37, 0xA2, 0xAF, 0xE4, 0x80, 0x00, +0x20, 0x58, 0x44, 0x26, 0x40, 0x10, 0xE2, 0x7F, 0x96, 0x6F, 0x84, 0x7E, 0x4F, 0x41, 0x40, 0xCE, +0x3F, 0x1E, 0x32, 0x00, 0x88, 0xCA, 0x0F, 0x00, 0x72, 0x07, 0xFC, 0x26, 0x2E, 0x80, 0xF6, 0x10, +0x30, 0xC3, 0xBF, 0xF7, 0x00, 0xC0, 0x8C, 0xFF, 0xA1, 0x72, 0xFC, 0xC3, 0x8F, 0xD5, 0xB6, 0x32, +0x0E, 0x08, 0xF6, 0x11, 0x05, 0x9C, 0xC1, 0x00, 0x12, 0x0E, 0x08, 0x0A, 0xB6, 0x1B, 0x40, 0x4C, +0xD9, 0x4D, 0x71, 0x91, 0x7F, 0x5D, 0x55, 0x89, 0x5B, 0x42, 0xCA, 0x13, 0xC0, 0x48, 0x63, 0x47, +0x00, 0xE1, 0x7F, 0xC4, 0x00, 0xE3, 0x04, 0xF0, 0x00, 0x04, 0x34, 0x1B, 0x40, 0x6C, 0x61, 0x4B, +0x08, 0xBA, 0xE3, 0xB9, 0xE4, 0xFD, 0x8F, 0x13, 0xD0, 0xF8, 0x1F, 0x86, 0x01, 0xC9, 0x04, 0x30, +0x10, 0x78, 0x60, 0x0C, 0xD0, 0xF0, 0x2F, 0xBB, 0x18, 0x66, 0xF6, 0x2D, 0xAE, 0x26, 0x8A, 0xC0, +0x0A, 0xE0, 0x6B, 0x4B, 0x1F, 0xE5, 0xF8, 0xC7, 0x0C, 0x10, 0xFC, 0xE3, 0x04, 0xD4, 0x96, 0x33, +0xC0, 0xCD, 0xB7, 0x8E, 0x80, 0x18, 0xFF, 0x1B, 0xCA, 0x01, 0xB1, 0x01, 0xC4, 0x16, 0xE7, 0x1F, +0x82, 0xA9, 0x60, 0xF8, 0x1F, 0x27, 0x20, 0x16, 0x00, 0x52, 0x07, 0x84, 0xFF, 0x25, 0x2B, 0xC7, +0x3F, 0xAB, 0x80, 0x09, 0x07, 0x34, 0xC9, 0x6D, 0x09, 0x99, 0x48, 0x6F, 0x27, 0x9D, 0xEE, 0x7A, +0x68, 0x7D, 0x60, 0xF1, 0x87, 0x2D, 0x21, 0x46, 0x00, 0x8D, 0xAA, 0x68, 0x2C, 0x01, 0x8F, 0x46, +0x08, 0x71, 0x40, 0xA1, 0x4A, 0x11, 0x80, 0x66, 0x03, 0x88, 0x2D, 0x2C, 0x86, 0x81, 0xE0, 0x91, +0x10, 0xFF, 0x33, 0x5B, 0x42, 0x40, 0xBF, 0x2C, 0x01, 0x99, 0xFF, 0xA5, 0xB7, 0x84, 0xB4, 0xFD, +0xDF, 0xC6, 0x34, 0x6C, 0x09, 0x31, 0xFE, 0x67, 0x4A, 0x9E, 0x9F, 0x76, 0x05, 0x10, 0xFC, 0xE3, +0xE3, 0x80, 0x75, 0x26, 0xE9, 0x09, 0xE0, 0x08, 0x3E, 0x70, 0x50, 0x4E, 0x19, 0xFE, 0x61, 0x0C, +0x30, 0x14, 0xC1, 0x1F, 0x25, 0xE0, 0x66, 0x0F, 0x03, 0x7C, 0x22, 0x02, 0x62, 0x03, 0x70, 0xAE, +0xFA, 0xA4, 0x3B, 0xFF, 0x01, 0xFF, 0xB3, 0xC5, 0xF9, 0x67, 0x1D, 0x10, 0xFC, 0x73, 0x12, 0xF0, +0x33, 0x3F, 0x00, 0xF5, 0xCD, 0x77, 0x13, 0x70, 0x02, 0x03, 0x84, 0x02, 0xA6, 0xB6, 0x05, 0xA7, +0x3B, 0xC0, 0x21, 0xE9, 0x05, 0xD0, 0x79, 0x07, 0x0C, 0x69, 0x27, 0x80, 0xF3, 0x75, 0xBF, 0xBA, +0x01, 0x44, 0xCA, 0x2A, 0x20, 0x08, 0x08, 0xFF, 0x6B, 0x8A, 0x04, 0x8C, 0xA5, 0x27, 0xE0, 0x8F, +0x4A, 0x60, 0x44, 0x93, 0xA9, 0xBE, 0x0E, 0x78, 0x43, 0xF8, 0x07, 0x02, 0x92, 0x0E, 0x30, 0xC2, +0xFD, 0x0F, 0x0B, 0xA2, 0xCD, 0x06, 0x90, 0x26, 0x25, 0x80, 0x9A, 0x31, 0xF1, 0x3F, 0x14, 0xF0, +0xA7, 0xD1, 0x3B, 0x20, 0x10, 0x02, 0xC2, 0xFF, 0xF2, 0xB1, 0xFE, 0x87, 0x9F, 0xCF, 0xE8, 0x09, +0x0B, 0x0C, 0x27, 0x69, 0xFE, 0x71, 0x03, 0xE4, 0xFC, 0x43, 0xF5, 0x30, 0xC0, 0xCD, 0xA7, 0x23, +0xA0, 0xF5, 0xBF, 0x61, 0x96, 0x03, 0xEA, 0x02, 0xE8, 0x42, 0x99, 0x1B, 0xC0, 0x48, 0x88, 0x03, +0x62, 0x01, 0x4C, 0x8E, 0x80, 0xC7, 0x39, 0xFF, 0x63, 0x53, 0xC1, 0xC0, 0x1F, 0xED, 0x05, 0xC7, +0x61, 0x14, 0x39, 0x75, 0x14, 0x30, 0xAC, 0xB6, 0x77, 0xF9, 0x1F, 0xB6, 0x84, 0x10, 0xFE, 0x61, +0x39, 0x20, 0x04, 0xB0, 0xC4, 0x3F, 0x31, 0x8B, 0x13, 0x20, 0x50, 0x7D, 0x30, 0x63, 0x80, 0xFA, +0x65, 0x17, 0x00, 0x44, 0xFF, 0x97, 0x3B, 0xE0, 0xF7, 0xA3, 0x4B, 0x82, 0x3F, 0xBB, 0x01, 0x64, +0x80, 0x5E, 0x30, 0xE7, 0x1F, 0x1C, 0x10, 0x08, 0xF4, 0x3B, 0xE0, 0xC8, 0x24, 0xB3, 0x25, 0x64, +0x31, 0x6F, 0xEE, 0x33, 0x06, 0xD8, 0xE8, 0xF9, 0xA4, 0xE3, 0x7F, 0xA5, 0xEA, 0x2A, 0xE0, 0x0C, +0x21, 0xBD, 0xE0, 0xBA, 0x90, 0xD4, 0x02, 0xC0, 0x87, 0x82, 0x01, 0x6A, 0x4B, 0xF1, 0x0F, 0x06, +0x18, 0xCB, 0x0A, 0xE0, 0x47, 0x7E, 0x03, 0xFC, 0xB8, 0x60, 0x80, 0x9B, 0x9C, 0x7E, 0xA8, 0x75, +0x84, 0xFA, 0x1F, 0xAA, 0x47, 0xCC, 0x06, 0x90, 0x6C, 0x51, 0xFE, 0x21, 0x42, 0x3D, 0xCE, 0x3F, +0xBB, 0x1C, 0x10, 0xB0, 0xA3, 0x0E, 0x08, 0xD8, 0x39, 0x1C, 0xF0, 0x2C, 0x0A, 0xE0, 0x04, 0x3F, +0x57, 0xE3, 0x73, 0x93, 0xA2, 0xFF, 0x75, 0xD3, 0xBD, 0x01, 0x56, 0x29, 0xD3, 0x7D, 0xB3, 0x00, +0x3A, 0x87, 0x40, 0x00, 0x30, 0xE9, 0x7F, 0x8F, 0x29, 0x88, 0x35, 0x6E, 0xC2, 0x3F, 0x02, 0xC0, +0x07, 0xFF, 0xC3, 0x02, 0x68, 0x62, 0x80, 0x84, 0x7F, 0x84, 0x80, 0x84, 0x7F, 0x94, 0x80, 0x7A, +0xD0, 0x30, 0xFF, 0x43, 0xE0, 0x80, 0xD8, 0x00, 0x9C, 0xCB, 0x18, 0x00, 0xDC, 0xF7, 0x12, 0x30, +0x3D, 0xFC, 0xDB, 0xDD, 0x12, 0x82, 0x0D, 0xC0, 0x08, 0x41, 0x60, 0x77, 0x84, 0x06, 0xD3, 0xC0, +0x89, 0x2D, 0x21, 0xD1, 0x00, 0x36, 0xF8, 0xFC, 0x87, 0x94, 0x97, 0x7F, 0x45, 0x03, 0x7C, 0x7B, +0x08, 0x28, 0xFE, 0x47, 0xCA, 0x1D, 0x9D, 0xF7, 0xC5, 0x06, 0xE0, 0x52, 0x99, 0xFE, 0x2F, 0x23, +0x20, 0xE7, 0x9F, 0x12, 0xD0, 0x4C, 0x00, 0x7B, 0x1C, 0x10, 0xA8, 0x73, 0x38, 0x60, 0x98, 0xEE, +0x08, 0x5D, 0xDF, 0x0A, 0x0A, 0x08, 0x1C, 0x32, 0xFF, 0x43, 0x0A, 0x0B, 0x00, 0xED, 0x38, 0xE0, +0x41, 0xF0, 0x84, 0x2C, 0xFF, 0xEC, 0x96, 0x90, 0x8C, 0xFF, 0xE1, 0x59, 0x5D, 0x0E, 0xE8, 0xE2, +0x1F, 0x1C, 0x90, 0xF3, 0x0F, 0xC3, 0x80, 0x84, 0x7F, 0x4A, 0xC0, 0x9B, 0x5E, 0x9D, 0x60, 0xC2, +0x3F, 0xB3, 0x20, 0x1A, 0xE1, 0x0E, 0x38, 0x2A, 0x07, 0x8B, 0x61, 0x16, 0x47, 0x98, 0x54, 0x4F, +0x3A, 0xA0, 0xE4, 0x04, 0xEB, 0x5F, 0x48, 0x41, 0x00, 0x67, 0x26, 0xB9, 0xB9, 0xE0, 0x9A, 0x05, +0x97, 0x5F, 0x15, 0xAE, 0x54, 0xD4, 0x19, 0x3A, 0x2F, 0xE1, 0x51, 0xC7, 0xFF, 0x22, 0x00, 0xCB, +0xE3, 0x75, 0xA0, 0x1F, 0x07, 0xE0, 0x26, 0x31, 0xC0, 0x4D, 0x3C, 0xFF, 0xA4, 0x04, 0x84, 0xFF, +0x0D, 0x38, 0x0E, 0xB8, 0xC7, 0xFC, 0x4F, 0x0B, 0xFC, 0x73, 0x12, 0x50, 0xF9, 0x57, 0x06, 0xA0, +0xFC, 0x75, 0x2E, 0x80, 0x70, 0xC0, 0xC8, 0x3F, 0x37, 0x00, 0x23, 0xEA, 0x1E, 0x7E, 0x90, 0xE2, +0x12, 0x0B, 0x0F, 0xC2, 0x96, 0x10, 0xD2, 0x01, 0xC6, 0x17, 0x2C, 0x00, 0x9C, 0x49, 0xB8, 0x03, +0x52, 0xFE, 0x61, 0x4B, 0xC8, 0x49, 0xDA, 0x53, 0xBA, 0x20, 0x5C, 0x60, 0x01, 0xB4, 0x97, 0x80, +0x1E, 0xAE, 0xA4, 0x37, 0x80, 0x0C, 0xB2, 0x1C, 0xF0, 0x86, 0xF0, 0x8F, 0x10, 0x30, 0xB3, 0x25, +0xA4, 0x19, 0x51, 0x02, 0x46, 0x07, 0x9C, 0xDF, 0xE7, 0xD3, 0xB4, 0xA7, 0x31, 0x36, 0x80, 0x90, +0xBA, 0xCD, 0x2E, 0x00, 0x4C, 0x6E, 0x09, 0x91, 0x93, 0x5C, 0x38, 0x34, 0x58, 0x00, 0xA3, 0xD7, +0x29, 0x2A, 0xF6, 0x53, 0xF4, 0x49, 0xCC, 0x84, 0xC0, 0xFF, 0x98, 0x01, 0xEA, 0xB3, 0x1C, 0x80, +0xF0, 0x3F, 0x6A, 0x80, 0x6F, 0x09, 0x01, 0x37, 0x1C, 0xD5, 0x13, 0x80, 0xE8, 0xFF, 0x72, 0x02, +0xEE, 0x09, 0xDF, 0xCA, 0xF8, 0xC3, 0xB6, 0x60, 0xE5, 0x1F, 0x23, 0xE0, 0x31, 0xFC, 0x8F, 0x85, +0x76, 0x80, 0xED, 0x72, 0xC0, 0x78, 0x53, 0x0D, 0x6D, 0xE1, 0x84, 0x21, 0xC0, 0xF6, 0x94, 0xA7, +0x9F, 0xB9, 0x78, 0x67, 0x9D, 0x0D, 0x70, 0xDC, 0x01, 0xA7, 0xE4, 0x23, 0x85, 0x2D, 0x21, 0x63, +0xF0, 0x2E, 0x63, 0x80, 0xDA, 0xE6, 0x4B, 0xB1, 0x99, 0x8F, 0x9C, 0x04, 0xBC, 0x1A, 0x88, 0x7F, +0xA0, 0x15, 0xD4, 0xCE, 0x97, 0x3B, 0xC7, 0x3F, 0x13, 0xFC, 0xA3, 0x19, 0x29, 0xFE, 0x94, 0x7F, +0x9C, 0x80, 0xED, 0x2F, 0x81, 0x2B, 0xF9, 0x9F, 0x9E, 0x43, 0x4E, 0xE2, 0x06, 0x10, 0x52, 0xF1, +0xC6, 0x08, 0x8E, 0xB7, 0x7F, 0x06, 0xFF, 0x63, 0x0C, 0xEC, 0x6C, 0x00, 0xA9, 0x12, 0x02, 0x88, +0x8B, 0x18, 0xFE, 0x07, 0x00, 0x16, 0x15, 0x10, 0xF8, 0xE3, 0x00, 0x2C, 0x8E, 0x01, 0x6E, 0xBE, +0x4D, 0x0A, 0xB8, 0x31, 0xB8, 0x02, 0xCA, 0x01, 0xCE, 0x31, 0x02, 0x0A, 0xFE, 0x78, 0x5A, 0xFE, +0x11, 0x00, 0x62, 0x4B, 0x08, 0x28, 0xC7, 0x1C, 0x90, 0x0B, 0xA0, 0x9E, 0x20, 0x80, 0xF1, 0x1A, +0x8A, 0x93, 0xC1, 0x10, 0xC0, 0x70, 0x92, 0x23, 0xAC, 0x07, 0x64, 0x81, 0x03, 0x4A, 0xFF, 0x97, +0x67, 0x8A, 0x05, 0x80, 0xA4, 0x74, 0x1C, 0x30, 0x2E, 0x7F, 0x21, 0x06, 0x78, 0x32, 0xD7, 0xFE, +0xEF, 0xEE, 0xC8, 0x13, 0xBF, 0xFF, 0x61, 0x01, 0x20, 0x2B, 0xEA, 0x80, 0x7C, 0x00, 0xD0, 0x96, +0x7C, 0x8F, 0xF4, 0xBF, 0x9D, 0xC1, 0x00, 0x20, 0x49, 0x33, 0x8F, 0x0B, 0x60, 0x92, 0x41, 0x27, +0x38, 0x2A, 0x20, 0xDE, 0x10, 0x42, 0x40, 0xF8, 0x1F, 0x23, 0x20, 0x26, 0x80, 0x39, 0x01, 0x27, +0xA1, 0x37, 0xD2, 0x55, 0xC0, 0x47, 0x06, 0x18, 0xB7, 0x84, 0xC0, 0xFF, 0x60, 0x80, 0x7F, 0x6B, +0xCB, 0x87, 0xA9, 0x4D, 0xA7, 0x01, 0xF6, 0x5A, 0x15, 0x23, 0xCD, 0x57, 0x5E, 0x02, 0x4A, 0x13, +0xBC, 0x6D, 0xD2, 0xD6, 0x0F, 0x81, 0x41, 0x00, 0x5D, 0x05, 0xFE, 0xD1, 0xC0, 0xFF, 0xA8, 0x03, +0x82, 0x7F, 0x2C, 0x71, 0x02, 0x98, 0x95, 0x36, 0xA1, 0x5F, 0xFC, 0x41, 0x3A, 0x79, 0xDC, 0x56, +0x0D, 0x50, 0xE7, 0x82, 0x09, 0xF9, 0xF0, 0x10, 0x13, 0xC0, 0x2C, 0xA1, 0xFF, 0x1B, 0x86, 0x95, +0x78, 0x85, 0x0E, 0xF0, 0x57, 0x72, 0x5C, 0x75, 0x1B, 0x12, 0xFF, 0x24, 0x04, 0x1C, 0x35, 0xA1, +0x68, 0x1A, 0x2C, 0x00, 0x74, 0x10, 0x50, 0xF1, 0x36, 0x38, 0x01, 0xE3, 0xFA, 0x67, 0x56, 0x10, +0x40, 0x9A, 0xE6, 0x7B, 0x17, 0xFF, 0x82, 0x03, 0x46, 0xFF, 0xFB, 0xCA, 0x9E, 0x3A, 0x69, 0x70, +0x07, 0x40, 0x17, 0x01, 0x67, 0x08, 0x99, 0x0A, 0xAE, 0xFD, 0x00, 0x14, 0xFF, 0x93, 0x16, 0x4E, +0xB1, 0x04, 0x89, 0x72, 0xD2, 0x16, 0x06, 0x6B, 0xF4, 0xAF, 0xB4, 0xFC, 0x43, 0x6D, 0x24, 0x21, +0x13, 0x27, 0x80, 0xDD, 0x64, 0x94, 0x10, 0x03, 0x44, 0x0D, 0x88, 0x34, 0x80, 0x4D, 0x0F, 0x5E, +0xD2, 0xBC, 0x64, 0xFB, 0x43, 0xB8, 0xE6, 0x06, 0x20, 0xFC, 0x8F, 0x15, 0xF8, 0x47, 0x13, 0xF9, +0xC7, 0x4A, 0x10, 0x08, 0xFE, 0xB1, 0x2C, 0xF9, 0x47, 0xA3, 0xDF, 0xA4, 0x0B, 0x9D, 0x2B, 0x3D, +0x26, 0xF2, 0x45, 0x9B, 0x54, 0x7C, 0x26, 0xFE, 0x39, 0x3E, 0x4C, 0x72, 0x4F, 0x6A, 0x05, 0x7F, +0xAA, 0x80, 0xE1, 0xDA, 0xE6, 0x25, 0x81, 0xFE, 0xD1, 0xBA, 0x9F, 0xDF, 0x37, 0xD7, 0xF2, 0x41, +0xBC, 0x96, 0x9A, 0x3F, 0x9C, 0x1B, 0x94, 0x3C, 0xA1, 0x7F, 0x59, 0x7B, 0xC1, 0x23, 0x6F, 0xE0, +0x7F, 0x3C, 0x6F, 0x9C, 0xE9, 0x35, 0x15, 0xAC, 0x37, 0x13, 0xF4, 0xE5, 0xC2, 0x1F, 0xF0, 0x8F, +0x45, 0xC7, 0xFF, 0xC2, 0x8B, 0x99, 0x38, 0xCD, 0x51, 0xFA, 0x27, 0x07, 0xFF, 0x70, 0x87, 0x68, +0xF4, 0x00, 0x58, 0x58, 0x07, 0x18, 0x97, 0x55, 0xE8, 0x9F, 0x94, 0xDA, 0xC3, 0xC3, 0xD0, 0x01, +0x46, 0x36, 0x92, 0x40, 0xE1, 0x7C, 0x52, 0xE6, 0xE1, 0x16, 0xA9, 0x03, 0x9A, 0x1A, 0xB2, 0xB1, +0x9E, 0x7C, 0xE9, 0x2C, 0xFC, 0x06, 0x60, 0x9E, 0xE7, 0xFE, 0x7C, 0xE0, 0xCD, 0xF3, 0xCF, 0x7D, +0xFE, 0xA7, 0x9D, 0xE0, 0xE3, 0xCF, 0xDE, 0xF7, 0x12, 0xF0, 0x53, 0x79, 0xFF, 0x2B, 0xA9, 0x17, +0xAF, 0x5F, 0x94, 0x9A, 0x12, 0x70, 0x7B, 0xAB, 0xDE, 0xAE, 0xA5, 0x69, 0xC5, 0x47, 0x9D, 0x67, +0x50, 0x5B, 0xB5, 0x3B, 0x72, 0xFD, 0x7B, 0x6A, 0xFA, 0x5D, 0x7D, 0xE0, 0x05, 0xE0, 0xC1, 0xF8, +0xFA, 0xFC, 0xFC, 0xFC, 0x7A, 0x2E, 0x6D, 0x7E, 0xAD, 0x27, 0x3D, 0xEB, 0x81, 0xD2, 0x27, 0xCE, +0xCF, 0xE7, 0xD7, 0xD7, 0x87, 0xBB, 0xFE, 0x78, 0xE7, 0x56, 0x45, 0x14, 0xDF, 0xDC, 0xDC, 0xBC, +0xF1, 0xD4, 0xCF, 0x37, 0xA7, 0xBF, 0x7A, 0xF3, 0xDB, 0xE9, 0x1B, 0xCF, 0x3F, 0x53, 0xFF, 0xD5, +0x97, 0x17, 0x6E, 0x5A, 0x8F, 0x76, 0xDD, 0x99, 0x9F, 0xCF, 0xC3, 0x8B, 0x69, 0x4E, 0xFA, 0x6A, +0xB6, 0xA5, 0x4F, 0xC9, 0xB7, 0xF9, 0x01, 0x78, 0x20, 0xEF, 0xAD, 0xB3, 0xEA, 0x1E, 0xD9, 0xDE, +0xAA, 0xEA, 0x6D, 0x47, 0x6D, 0x55, 0xD5, 0xA7, 0xAF, 0x71, 0x9D, 0x0B, 0x00, 0x53, 0xC5, 0x49, +0xD6, 0xCD, 0xA6, 0xBB, 0x94, 0x6B, 0x9B, 0xBE, 0x1A, 0x16, 0x6B, 0x28, 0x7F, 0x9E, 0x0F, 0xC7, +0x3F, 0xC4, 0xCB, 0x3F, 0x19, 0x05, 0xDC, 0xF1, 0x45, 0x67, 0x82, 0x01, 0x40, 0xBA, 0x14, 0xA6, +0xDD, 0x03, 0xF7, 0xA2, 0xD8, 0x3E, 0xFD, 0xF4, 0x45, 0x55, 0x6D, 0x6F, 0x6D, 0x6D, 0x4B, 0x69, +0xC3, 0xD7, 0xE4, 0x13, 0x00, 0x20, 0x8F, 0xE7, 0xDA, 0x57, 0x06, 0x1E, 0x1C, 0x1C, 0x8C, 0x3D, +0x11, 0xFE, 0xBD, 0x7A, 0x75, 0x7D, 0x78, 0x78, 0xEE, 0xC9, 0xE1, 0xE1, 0xD1, 0xC2, 0x99, 0xDD, +0x5D, 0x71, 0xC0, 0x97, 0x9E, 0x12, 0x00, 0x5E, 0xDE, 0xF8, 0x72, 0xFA, 0xDB, 0x6F, 0x7E, 0x00, +0xFE, 0xA6, 0x54, 0xF5, 0xE4, 0xF2, 0x52, 0x7A, 0xE1, 0xCD, 0x05, 0xAF, 0x97, 0x17, 0x22, 0x76, +0x0B, 0x67, 0x8E, 0x8E, 0x0E, 0x1D, 0x2F, 0xA8, 0x1E, 0xD7, 0xAF, 0x5E, 0x8D, 0xBD, 0x6F, 0xD6, +0xC1, 0x41, 0xF8, 0x01, 0xE7, 0x69, 0xB5, 0x3B, 0x5B, 0x92, 0x6D, 0x5F, 0xAB, 0xAA, 0x17, 0x8F, +0x2E, 0xF3, 0x24, 0x00, 0xB9, 0x02, 0x9A, 0xE9, 0x91, 0x5E, 0x06, 0xE8, 0x26, 0xE0, 0x3A, 0xB2, +0x1E, 0x50, 0x0E, 0x47, 0x40, 0xF0, 0xEF, 0xF3, 0x0F, 0x3E, 0xFF, 0xC4, 0xC7, 0xBF, 0xF7, 0x8E, +0x65, 0x12, 0xF8, 0x7D, 0xE7, 0x24, 0x48, 0x24, 0xE0, 0x8B, 0x62, 0x93, 0xC5, 0xD0, 0x3F, 0x55, +0x95, 0x52, 0xAE, 0x5A, 0x39, 0xB6, 0xEB, 0x95, 0x43, 0x7E, 0xAA, 0xF6, 0x23, 0xA0, 0xEF, 0xF2, +0xD7, 0x4F, 0xCA, 0x81, 0x4A, 0xC3, 0x01, 0x39, 0x94, 0x7F, 0x4A, 0xC0, 0xF3, 0xF9, 0xB9, 0x26, +0x9E, 0x11, 0x3C, 0x71, 0x7D, 0x28, 0x1F, 0x6A, 0x99, 0x05, 0x59, 0xD0, 0x12, 0xFE, 0x8D, 0x76, +0x47, 0x17, 0x23, 0x17, 0x54, 0x94, 0x3F, 0x97, 0x3E, 0x05, 0xFC, 0x4D, 0xE2, 0xE4, 0xDF, 0xA9, +0x7C, 0xAB, 0x53, 0x00, 0xF5, 0xBF, 0x20, 0xFC, 0x97, 0x90, 0xD6, 0xC8, 0xFF, 0xD0, 0xAE, 0x28, +0xE0, 0xC2, 0x53, 0x47, 0xFA, 0x62, 0x5D, 0x87, 0x97, 0xCE, 0x9C, 0xE4, 0x40, 0x84, 0x7F, 0x92, +0xF0, 0x66, 0xF0, 0x43, 0xE3, 0x78, 0xF7, 0xFB, 0xF9, 0xDF, 0x96, 0xD4, 0xCA, 0x15, 0x9A, 0xF9, +0x63, 0x25, 0xF9, 0x50, 0x1C, 0xF0, 0xA1, 0x14, 0x34, 0x2B, 0xAD, 0x4D, 0x99, 0x6A, 0x26, 0x1C, +0x7D, 0x7A, 0x6A, 0xB3, 0x41, 0xDA, 0x5A, 0x09, 0x28, 0x68, 0xF3, 0x34, 0x7F, 0x9E, 0x0F, 0x49, +0x40, 0xF0, 0x4F, 0x08, 0xE8, 0x71, 0x40, 0x5D, 0x07, 0xF3, 0xC9, 0x31, 0x1C, 0x90, 0xF1, 0xAF, +0x25, 0x20, 0xA9, 0x17, 0x95, 0x02, 0x30, 0x3A, 0x20, 0xAA, 0xB2, 0x47, 0xAD, 0xF8, 0xEB, 0xE9, +0x80, 0xFC, 0x03, 0x70, 0xB0, 0x4C, 0xE8, 0x37, 0xFD, 0x52, 0x38, 0xD4, 0xFF, 0x24, 0x63, 0x21, +0xA0, 0x21, 0xDE, 0xA1, 0x54, 0xDB, 0x34, 0xF2, 0x61, 0x3E, 0x3A, 0x52, 0x02, 0xFA, 0xF8, 0x37, +0x12, 0x54, 0x5C, 0x78, 0xA0, 0xA2, 0xF8, 0x91, 0xBA, 0x29, 0x45, 0xF1, 0xF8, 0xB3, 0xF0, 0x4F, +0x73, 0xEA, 0xF4, 0x3F, 0x8D, 0xFE, 0x4D, 0x24, 0xDA, 0x01, 0xBE, 0xBC, 0xBB, 0xBC, 0xF4, 0x38, +0xE0, 0x48, 0xB1, 0xAE, 0x04, 0xE4, 0x2F, 0x81, 0xBE, 0x50, 0x81, 0x80, 0x26, 0x1D, 0x04, 0xCE, +0x95, 0x7F, 0x21, 0xFB, 0xBF, 0x48, 0x91, 0x37, 0x4B, 0xDF, 0x51, 0x39, 0x82, 0xE2, 0x4F, 0x8B, +0xE7, 0xEF, 0x66, 0xB5, 0x9F, 0x7F, 0xED, 0x25, 0x58, 0xE1, 0x12, 0xCD, 0x5C, 0xB2, 0x5B, 0xE1, +0xB2, 0xFE, 0x10, 0x17, 0xBA, 0x1A, 0x20, 0x80, 0x03, 0xFE, 0x51, 0x9C, 0x41, 0x00, 0xFF, 0xC6, +0xDA, 0x16, 0xFC, 0x3B, 0xC9, 0x03, 0x40, 0x6B, 0x2D, 0x06, 0x98, 0x7B, 0xD0, 0x9B, 0x7F, 0x5A, +0xFE, 0x38, 0xF9, 0xF7, 0x4C, 0xA6, 0x4B, 0x64, 0x21, 0x34, 0xF7, 0x3F, 0xE1, 0x9F, 0x34, 0xC1, +0x9B, 0x67, 0x0E, 0xD8, 0x49, 0xC0, 0x6A, 0x3B, 0xFC, 0xAC, 0x34, 0x0E, 0x68, 0xAB, 0x5A, 0xE2, +0xAF, 0x0F, 0x00, 0xD9, 0xD5, 0xAF, 0xD7, 0x7F, 0xF8, 0xA8, 0xC8, 0x99, 0xF7, 0x7F, 0xEF, 0x5F, +0x81, 0x80, 0xF3, 0x6C, 0x4F, 0x0D, 0xFC, 0x93, 0xA2, 0xF8, 0x5B, 0xEC, 0x8A, 0x2A, 0x5D, 0x04, +0x09, 0xA4, 0x50, 0x51, 0xFA, 0x48, 0xBB, 0x50, 0x15, 0x7B, 0x93, 0x6D, 0x5A, 0xCA, 0x3F, 0x05, +0xA0, 0xC7, 0x01, 0x4F, 0xE5, 0xDB, 0x34, 0xC5, 0x7F, 0xE6, 0x72, 0x58, 0x31, 0xE0, 0xD7, 0xE7, +0x80, 0x0A, 0x40, 0xAD, 0x85, 0xCB, 0xFF, 0x94, 0x80, 0xE7, 0x34, 0xCA, 0xBF, 0x48, 0x40, 0xDA, +0xFF, 0x9D, 0x2E, 0x11, 0xC8, 0x3A, 0xC1, 0x53, 0xF0, 0xCF, 0x91, 0xE5, 0x15, 0x18, 0x69, 0xA7, +0xE7, 0xCC, 0x51, 0x57, 0x12, 0x45, 0xA0, 0x31, 0x40, 0x78, 0x57, 0x1B, 0xB6, 0x0A, 0xC5, 0xC6, +0x8F, 0x3F, 0x20, 0x10, 0x5F, 0xF1, 0xF0, 0xDF, 0xE9, 0x05, 0x6B, 0xCB, 0x7F, 0xED, 0xC9, 0xBF, +0xE1, 0x1C, 0x10, 0xFC, 0x7B, 0x86, 0xDF, 0x85, 0x5E, 0xCE, 0xF1, 0x7B, 0x82, 0x3F, 0xE9, 0x04, +0x1F, 0xC3, 0x01, 0xE9, 0x66, 0x60, 0x01, 0x5C, 0x19, 0x80, 0xCA, 0xBF, 0xA0, 0x80, 0x20, 0x60, +0xEE, 0xCA, 0x6A, 0xFD, 0x6F, 0xD8, 0x4E, 0xB0, 0x7E, 0x4E, 0xE4, 0xD0, 0x8C, 0xB5, 0xEF, 0xF4, +0x4B, 0xE2, 0x18, 0x87, 0x2F, 0x63, 0x15, 0xC0, 0x90, 0xD6, 0x01, 0x0F, 0xDB, 0xD2, 0xD6, 0x31, +0xC0, 0x6B, 0xE1, 0xDF, 0x61, 0xDB, 0xB8, 0xFF, 0x35, 0x0A, 0x0A, 0x65, 0xE0, 0x45, 0x53, 0xB0, +0x3F, 0x39, 0x29, 0x7B, 0xDA, 0x43, 0x6D, 0x2C, 0xD5, 0x7E, 0x96, 0x93, 0x0A, 0xA0, 0x02, 0xCD, +0xE9, 0x80, 0x8A, 0xBF, 0x90, 0xD3, 0xE0, 0x80, 0xA5, 0xB6, 0xE4, 0xDF, 0x9D, 0x67, 0x1C, 0xB0, +0xC5, 0xDF, 0x05, 0x25, 0xE0, 0xAE, 0xFE, 0x9C, 0x80, 0x03, 0x1E, 0xC6, 0xC2, 0xAB, 0x19, 0x1F, +0x1F, 0xCE, 0x5F, 0x69, 0xE0, 0x80, 0x07, 0xD9, 0x63, 0x1C, 0x94, 0x5E, 0x4F, 0xD3, 0x29, 0x1B, +0x07, 0xAC, 0x7B, 0x24, 0x5E, 0x7F, 0x84, 0x7E, 0x72, 0xDE, 0x0E, 0x17, 0xB5, 0x9C, 0x3E, 0xB4, +0x06, 0x68, 0xF9, 0x17, 0x8A, 0x1A, 0x20, 0x42, 0xF9, 0x67, 0x14, 0xD0, 0x7C, 0x59, 0xFF, 0x30, +0xE0, 0x97, 0x6D, 0x0B, 0x85, 0x13, 0x9E, 0xE8, 0xAB, 0x7F, 0xA8, 0x1E, 0xE1, 0xFC, 0x53, 0x03, +0x94, 0x26, 0x33, 0x21, 0x04, 0x80, 0xC7, 0x81, 0x7D, 0xA1, 0x31, 0x05, 0xFC, 0x14, 0x04, 0x7C, +0x51, 0x76, 0x40, 0xBD, 0x4C, 0xE4, 0x50, 0x05, 0x14, 0xC1, 0x2B, 0x33, 0xB0, 0x8E, 0x00, 0xEC, +0x83, 0xC0, 0xE0, 0x79, 0x7A, 0x84, 0x93, 0x79, 0x1C, 0xFC, 0x4F, 0x0F, 0xAD, 0xB1, 0x24, 0xDD, +0xA1, 0x0A, 0x5F, 0x5E, 0x21, 0xE7, 0x87, 0x2B, 0x83, 0x53, 0x5D, 0x01, 0x0C, 0xFA, 0xD7, 0x36, +0xEE, 0x7F, 0x81, 0x14, 0x7A, 0x94, 0xE4, 0xEF, 0xE5, 0xF7, 0xCA, 0x3E, 0x85, 0x8F, 0xF2, 0xE7, +0xE7, 0x34, 0x01, 0xA5, 0x24, 0xCA, 0x3F, 0x84, 0xF9, 0xDF, 0x29, 0xBE, 0xF5, 0x4D, 0x09, 0x7F, +0x81, 0x7F, 0xDA, 0x34, 0xAC, 0xB7, 0xDE, 0xE2, 0xCF, 0xD1, 0x09, 0x8E, 0xFC, 0xD3, 0xA6, 0xEA, +0x8C, 0x00, 0x7E, 0x6D, 0x5E, 0xB5, 0x81, 0x03, 0xE6, 0x7A, 0xC0, 0xE3, 0xF0, 0xA6, 0x4E, 0x97, +0x9D, 0xE0, 0x59, 0xA9, 0x1B, 0xD0, 0xDF, 0xFF, 0xD0, 0x09, 0xCE, 0x56, 0x2D, 0xF8, 0x0B, 0xF4, +0x93, 0x86, 0x5E, 0xF0, 0x06, 0xD0, 0xA3, 0x27, 0x8B, 0x3F, 0x6A, 0x80, 0x7E, 0x00, 0x96, 0x14, +0x10, 0xA7, 0x75, 0x22, 0xF0, 0xCB, 0x95, 0x61, 0x40, 0x7B, 0x0A, 0x6D, 0xED, 0x04, 0x14, 0xC6, +0x95, 0xF8, 0xD7, 0x0A, 0xA0, 0x1E, 0x1F, 0x3C, 0x2B, 0x2B, 0xE0, 0x71, 0xD0, 0x3F, 0x6D, 0x72, +0x62, 0xFD, 0x5F, 0xE4, 0xD3, 0x4F, 0x2B, 0xC2, 0x3F, 0x69, 0xED, 0xA9, 0x44, 0xBF, 0xE0, 0x7F, +0xB8, 0x02, 0xFD, 0x89, 0xA6, 0x17, 0xE1, 0xA7, 0x0D, 0x24, 0x8C, 0x5D, 0xA5, 0x90, 0x71, 0xAE, +0x6B, 0xF5, 0x4B, 0x1C, 0x00, 0x04, 0x01, 0x43, 0x60, 0x7D, 0x9D, 0x01, 0xC0, 0x43, 0x00, 0x50, +0xAA, 0x2C, 0x40, 0x8D, 0x90, 0x22, 0xD6, 0x45, 0xC1, 0x00, 0x75, 0x02, 0x04, 0x04, 0xD4, 0xC5, +0x30, 0x96, 0x52, 0xED, 0xA9, 0xC3, 0xBF, 0xD3, 0x53, 0x36, 0xFF, 0x81, 0x9C, 0xFE, 0x9C, 0x46, +0xA0, 0x56, 0x1C, 0xFF, 0x0B, 0x0A, 0x48, 0x86, 0x01, 0x03, 0xD3, 0x81, 0xC0, 0x05, 0xF7, 0xBF, +0xD0, 0x22, 0x01, 0x61, 0xD4, 0x9A, 0xF8, 0x78, 0x2E, 0x63, 0x0F, 0x88, 0xBC, 0x55, 0xF9, 0x7E, +0xF0, 0xF2, 0xED, 0xDC, 0x6F, 0x4F, 0x25, 0xFD, 0xEB, 0xC7, 0x3F, 0x43, 0xC0, 0xDC, 0x11, 0x7A, +0x35, 0xF1, 0xF8, 0x30, 0x69, 0x80, 0x4E, 0x01, 0xCC, 0x2C, 0x92, 0xE6, 0x02, 0x08, 0x0A, 0x5A, +0xF5, 0x5B, 0xBF, 0x04, 0x82, 0x81, 0x56, 0x01, 0xFF, 0xBE, 0x00, 0xA2, 0xFA, 0x84, 0xF0, 0x2F, +0xE0, 0x2F, 0x9C, 0x74, 0x3D, 0x74, 0x61, 0x00, 0x30, 0xFA, 0x9F, 0x3E, 0x00, 0x01, 0x1D, 0x77, +0x44, 0x7D, 0xC1, 0xF9, 0xA7, 0x47, 0x00, 0x60, 0xDE, 0x00, 0x81, 0xBF, 0xD0, 0x7A, 0xC4, 0xF6, +0x7A, 0xF1, 0x87, 0xD6, 0xFE, 0xA4, 0x89, 0x2E, 0x28, 0x01, 0xB5, 0x0E, 0x96, 0x0D, 0x9D, 0x2A, +0xAD, 0xBF, 0xA8, 0x3B, 0x97, 0xD7, 0x58, 0x8A, 0x28, 0x8C, 0xFB, 0x18, 0xF1, 0x01, 0x2E, 0x02, +0x0E, 0x17, 0x5C, 0x28, 0x64, 0x67, 0x56, 0x21, 0x9B, 0x40, 0x40, 0x88, 0x03, 0x23, 0x3E, 0x90, +0xA0, 0x49, 0x40, 0xCD, 0xEA, 0x6E, 0x22, 0xE8, 0x4A, 0x84, 0x64, 0x31, 0x71, 0xE3, 0x80, 0x8B, +0x6C, 0xB2, 0x11, 0x02, 0x77, 0x23, 0x82, 0x7F, 0xA8, 0xE7, 0x54, 0xF7, 0xC9, 0x37, 0x35, 0xA7, +0xAA, 0xBE, 0xD3, 0x5A, 0x31, 0xFA, 0x9D, 0x9E, 0xEA, 0x31, 0xF7, 0x7A, 0x7D, 0x4C, 0xCF, 0x6F, +0x7E, 0xF5, 0xEA, 0xC9, 0xF9, 0xB7, 0x58, 0xAF, 0x8E, 0x20, 0x7E, 0x38, 0xEB, 0x01, 0xFE, 0xA5, +0x43, 0x08, 0x58, 0xEF, 0xFF, 0x26, 0x01, 0x44, 0xD5, 0x99, 0xF2, 0xF1, 0x00, 0x1E, 0xB3, 0xC0, +0x44, 0x40, 0x47, 0xAB, 0xF4, 0x23, 0x9B, 0x00, 0x41, 0x28, 0x00, 0x91, 0x02, 0xFE, 0x30, 0xFF, +0x01, 0x00, 0x4B, 0xAA, 0xC3, 0x80, 0xEA, 0xB1, 0xE6, 0xB4, 0xC3, 0xB9, 0xC1, 0x7F, 0xE3, 0x9F, +0x1D, 0x4A, 0xC0, 0xFC, 0x7F, 0x2C, 0x3E, 0x57, 0xB6, 0x5E, 0x81, 0xF4, 0xAA, 0xE0, 0x85, 0xC2, +0x63, 0x18, 0x00, 0x34, 0xFC, 0x9D, 0xCB, 0xD1, 0x18, 0x00, 0xDC, 0x0B, 0x07, 0xD7, 0x1E, 0xE5, +0xDF, 0xFB, 0x9B, 0xFC, 0x93, 0x72, 0x63, 0x80, 0x7E, 0x02, 0x44, 0x9E, 0x12, 0x03, 0x8C, 0x13, +0xD0, 0xA5, 0x22, 0x80, 0xBE, 0x1E, 0x45, 0x01, 0x6B, 0xF8, 0x9B, 0xC8, 0xBF, 0xCE, 0x04, 0x44, +0x07, 0xF8, 0x1D, 0x6B, 0x84, 0x80, 0xCD, 0x09, 0x60, 0xC3, 0x9F, 0xB4, 0xE2, 0x80, 0x5C, 0x00, +0xB9, 0x03, 0x0A, 0xF2, 0xEC, 0x5A, 0x31, 0x07, 0xE4, 0xFD, 0xDF, 0xE9, 0x0E, 0x38, 0xF4, 0x75, +0x00, 0x3F, 0x9C, 0x60, 0x0A, 0x1A, 0xD9, 0x11, 0x9C, 0x64, 0x6F, 0x21, 0x07, 0xBA, 0x53, 0xDA, +0xC0, 0xFF, 0x40, 0x40, 0x33, 0xBF, 0x5C, 0x58, 0x56, 0x89, 0x7F, 0xD9, 0xD1, 0x70, 0x40, 0xF5, +0xA3, 0xAC, 0x2A, 0x50, 0x11, 0xA6, 0x08, 0x79, 0x4C, 0xBF, 0xE0, 0x80, 0x25, 0x55, 0x03, 0xFF, +0xE0, 0x80, 0x64, 0xFE, 0x03, 0xF1, 0xC3, 0x80, 0x5A, 0xDA, 0xFC, 0x2C, 0xFF, 0x06, 0x86, 0xDF, +0xA1, 0xFD, 0xF8, 0xCB, 0x0A, 0xAD, 0xD1, 0x01, 0xD6, 0x6A, 0x38, 0x60, 0x9A, 0xFF, 0xCD, 0x8F, +0x15, 0x3A, 0xBF, 0xC0, 0x9F, 0xFA, 0xDF, 0x16, 0xFF, 0x6C, 0x39, 0x60, 0x69, 0xEA, 0x7E, 0x7C, +0x35, 0xF1, 0xE1, 0xB6, 0xAC, 0x76, 0x80, 0xF7, 0xE2, 0xD9, 0xBE, 0x00, 0x4F, 0xCB, 0xF4, 0xD3, +0xC2, 0xF5, 0x9C, 0x9A, 0xD9, 0x49, 0xD5, 0x00, 0x5F, 0x0F, 0x1A, 0xA0, 0x0F, 0xF1, 0x3F, 0x29, +0x84, 0x08, 0x20, 0xEA, 0x71, 0x47, 0x01, 0x7D, 0x13, 0xC7, 0x9F, 0xAF, 0x09, 0x61, 0x13, 0x20, +0xD6, 0xBC, 0x03, 0x07, 0x2C, 0xF9, 0x9F, 0x14, 0x10, 0xA8, 0xCB, 0x01, 0x19, 0xFF, 0xD8, 0x54, +0xF0, 0x49, 0x7E, 0x9D, 0xD8, 0x72, 0x40, 0x40, 0x10, 0x95, 0xF3, 0x4F, 0x8E, 0xC9, 0x04, 0xD4, +0x6B, 0x7E, 0x7B, 0xFA, 0xCF, 0xF0, 0x77, 0x2E, 0xAD, 0x96, 0x44, 0x79, 0xA7, 0xB5, 0xB0, 0xA4, +0xA7, 0xE0, 0x1F, 0xB2, 0x36, 0x43, 0xC9, 0xB2, 0x76, 0xFC, 0xD3, 0x66, 0xB7, 0x3D, 0x00, 0x88, +0xBA, 0xA9, 0xFB, 0x5F, 0x66, 0x80, 0x58, 0x0E, 0x68, 0x9C, 0xC2, 0x06, 0x90, 0x5B, 0x97, 0xA8, +0xFF, 0x61, 0x39, 0x20, 0x0E, 0x8C, 0xFF, 0x6D, 0xFE, 0x0B, 0x68, 0x9B, 0x64, 0xAF, 0x3E, 0xFF, +0x8B, 0xAA, 0x3B, 0x20, 0xFC, 0x0F, 0x13, 0x21, 0x60, 0x5F, 0xB6, 0x00, 0xD0, 0xBF, 0x02, 0x83, +0xAC, 0xFB, 0x8C, 0x03, 0xBA, 0x03, 0x04, 0x87, 0x73, 0x07, 0xFF, 0x73, 0x17, 0x60, 0x6D, 0x18, +0x70, 0x2F, 0x5D, 0xCA, 0x68, 0xF4, 0x48, 0xD7, 0xBF, 0xF7, 0xBF, 0x9C, 0x5B, 0x35, 0xAA, 0x4D, +0x27, 0xA0, 0x26, 0x23, 0x20, 0xA1, 0xDF, 0x23, 0x77, 0x82, 0x29, 0xFE, 0x38, 0xFF, 0xFA, 0x12, +0x10, 0xFC, 0x03, 0xFD, 0xF4, 0xA1, 0x79, 0xA3, 0xEE, 0x7F, 0x49, 0xFC, 0xEC, 0x90, 0xE6, 0x15, +0xC2, 0x3F, 0xEA, 0x80, 0x18, 0xFF, 0x43, 0x1B, 0xEB, 0x00, 0xFF, 0x93, 0xE5, 0x80, 0xE7, 0x0F, +0x02, 0x98, 0xC8, 0x07, 0x03, 0x4C, 0xCF, 0x92, 0x03, 0x6A, 0x2D, 0x0E, 0xE5, 0x18, 0x95, 0xA2, +0xC0, 0x3F, 0x2C, 0x07, 0x94, 0x16, 0x47, 0x5A, 0x00, 0xED, 0x11, 0x58, 0x5F, 0x00, 0xE8, 0xAA, +0x6C, 0x80, 0xB0, 0x2F, 0x23, 0xA1, 0x14, 0x00, 0x85, 0x09, 0x10, 0xF8, 0x1F, 0x71, 0x40, 0xF0, +0xCF, 0x3B, 0xA0, 0x1F, 0x57, 0x4C, 0xFF, 0xBC, 0xFC, 0xDF, 0x60, 0x70, 0xC0, 0xE2, 0x0A, 0x40, +0x5F, 0x65, 0x07, 0x54, 0xFE, 0xB9, 0x63, 0x0D, 0x05, 0xB4, 0x03, 0xFC, 0xF3, 0x0E, 0xA8, 0x2F, +0x13, 0x66, 0x7F, 0xF5, 0x18, 0x63, 0x10, 0x4C, 0xC3, 0x1B, 0x1D, 0x06, 0x00, 0x77, 0xFC, 0x51, +0x36, 0xC0, 0x1C, 0x7F, 0x43, 0x7B, 0x02, 0x03, 0xF4, 0xFC, 0x23, 0x1E, 0x08, 0xFC, 0x45, 0x08, +0x28, 0xC1, 0x33, 0x84, 0x18, 0x20, 0xAA, 0x23, 0xFD, 0xD0, 0x12, 0xFC, 0x71, 0x00, 0x96, 0x2B, +0x9E, 0x22, 0xFF, 0xF6, 0x41, 0x3F, 0x34, 0xFB, 0x65, 0xFF, 0x1B, 0x05, 0xD0, 0x24, 0x50, 0x9E, +0x81, 0x80, 0x84, 0x7F, 0x70, 0x40, 0xEF, 0x7F, 0x17, 0xFE, 0xC3, 0x12, 0x06, 0x98, 0x75, 0x7F, +0xFF, 0x19, 0x00, 0x01, 0x3F, 0xB7, 0x00, 0x3A, 0xCD, 0x81, 0xD8, 0x18, 0xA0, 0x9E, 0x16, 0x36, +0xE9, 0xAB, 0x67, 0x8C, 0xFF, 0xB9, 0x60, 0x4B, 0x08, 0x52, 0xE6, 0x9F, 0x39, 0xA0, 0xF3, 0x3F, +0xF4, 0x12, 0x51, 0x7E, 0x4B, 0x88, 0xF0, 0x0F, 0xCC, 0xC1, 0xD9, 0x1C, 0x10, 0xAA, 0x06, 0xFF, +0x73, 0xA1, 0xFC, 0x43, 0xBC, 0x55, 0x2A, 0xFF, 0x80, 0x3E, 0x9C, 0x85, 0xCC, 0x5E, 0x01, 0xF1, +0x9F, 0x94, 0x4D, 0x84, 0x50, 0xFF, 0xC3, 0x44, 0x08, 0x14, 0x10, 0xFE, 0x67, 0x13, 0x20, 0x8E, +0x80, 0xE3, 0xCB, 0x84, 0xE9, 0xFA, 0x51, 0xE8, 0xCF, 0xAF, 0xCF, 0x1F, 0xE8, 0xA7, 0x71, 0x3D, +0xE0, 0xE9, 0xFE, 0xE7, 0x8F, 0x79, 0x65, 0xFC, 0xCF, 0x21, 0x30, 0x11, 0x10, 0xDC, 0x51, 0x46, +0x45, 0xF1, 0xD7, 0x08, 0x31, 0x40, 0x29, 0x6E, 0x80, 0xBE, 0xFA, 0xFB, 0x1F, 0x21, 0x60, 0x07, +0x00, 0xF2, 0xD4, 0xFC, 0xCF, 0x23, 0xB0, 0xB6, 0x01, 0x44, 0x1B, 0xD3, 0x3F, 0x03, 0xE1, 0x2B, +0xF4, 0x1B, 0xE1, 0x1A, 0xCB, 0x01, 0x31, 0xFE, 0x87, 0x26, 0xA5, 0x60, 0x80, 0x7B, 0x52, 0xFF, +0xD4, 0x01, 0x41, 0x3F, 0xDB, 0x00, 0xAC, 0xDC, 0xC3, 0x0C, 0x70, 0x62, 0xA1, 0x3E, 0xD2, 0xC0, +0x92, 0x8A, 0xA0, 0x1E, 0x12, 0x2C, 0x00, 0x2C, 0x10, 0x30, 0x5B, 0x01, 0x28, 0xF6, 0x52, 0xE4, +0x9F, 0x54, 0xCC, 0xFF, 0x6A, 0x5B, 0x42, 0x32, 0xFC, 0xC9, 0x09, 0x0E, 0x08, 0x5C, 0x61, 0x03, +0x48, 0xC9, 0x01, 0x5B, 0x0B, 0x00, 0xBD, 0x03, 0x66, 0x56, 0x29, 0xE7, 0x1B, 0xE7, 0x9F, 0xE9, +0x24, 0x7D, 0x73, 0xAF, 0x7F, 0xC0, 0x3A, 0x9E, 0xDF, 0x14, 0x1C, 0x10, 0x03, 0x80, 0xAE, 0x17, +0x9C, 0x29, 0xE0, 0xB1, 0xF2, 0xAF, 0x92, 0x83, 0x43, 0x7B, 0x99, 0x2C, 0x87, 0xA6, 0x7D, 0x7A, +0x24, 0xFA, 0x09, 0x09, 0xF5, 0xD9, 0xF2, 0x1F, 0xF8, 0x5F, 0xED, 0xF2, 0x73, 0xE3, 0x80, 0x52, +0x73, 0x77, 0x51, 0xDB, 0x96, 0x90, 0xC8, 0x06, 0x10, 0x0F, 0xB5, 0x56, 0xEA, 0xEC, 0xD3, 0xCA, +0x43, 0xF0, 0x87, 0xEA, 0xEB, 0x7F, 0x78, 0xD2, 0x8F, 0x7F, 0xA8, 0x78, 0xCA, 0xF3, 0xBF, 0xEF, +0xF8, 0xE6, 0x55, 0xBD, 0x37, 0xBE, 0xE7, 0x9F, 0xF5, 0x7F, 0x21, 0x81, 0xD8, 0x12, 0xD2, 0xF2, +0x3F, 0x74, 0x82, 0xB7, 0x15, 0x70, 0x06, 0xFB, 0xCB, 0x9A, 0xD9, 0x7C, 0xDB, 0x00, 0x77, 0x6A, +0x06, 0x38, 0xD9, 0x01, 0xB1, 0x02, 0x50, 0xCA, 0xFA, 0x49, 0x2A, 0x0B, 0x66, 0x80, 0xC3, 0xC3, +0x86, 0xD6, 0xB5, 0x74, 0x92, 0xF1, 0xD2, 0xC7, 0x6D, 0x09, 0xC1, 0x06, 0xB8, 0x8A, 0x03, 0xE6, +0x0E, 0x64, 0xE3, 0x7F, 0xAE, 0xDC, 0x96, 0x10, 0xF0, 0x6F, 0x1B, 0x83, 0x52, 0xD8, 0xA3, 0x3B, +0xCE, 0xFF, 0x56, 0x01, 0x08, 0x09, 0x74, 0x0B, 0x00, 0x5D, 0x54, 0x24, 0x37, 0xAC, 0x12, 0x0B, +0x00, 0x1D, 0x02, 0xDD, 0x96, 0x10, 0x21, 0x5D, 0xAD, 0xEE, 0xDC, 0x02, 0xC0, 0x1A, 0x01, 0x0D, +0x7F, 0x0F, 0x31, 0xFF, 0xF3, 0xB1, 0xD7, 0xC9, 0x66, 0x83, 0x17, 0xD6, 0xF7, 0x55, 0xF4, 0xC1, +0x00, 0x93, 0x03, 0x66, 0x6B, 0x40, 0x3B, 0xF8, 0x9F, 0x5C, 0x94, 0xCE, 0x00, 0x8D, 0x77, 0x85, +0x2B, 0xFB, 0x04, 0xF8, 0xA9, 0x6F, 0x7F, 0x73, 0x12, 0x88, 0x10, 0x02, 0x32, 0x0A, 0x32, 0xFC, +0xA1, 0xBA, 0xE2, 0xCF, 0xCE, 0x8E, 0x80, 0x9D, 0x01, 0xC8, 0xE3, 0x00, 0xA8, 0xB8, 0xF3, 0xCD, +0xBE, 0x5B, 0x10, 0xFD, 0x86, 0x52, 0x6F, 0x34, 0x40, 0xA3, 0xA0, 0x39, 0x20, 0xF3, 0x3F, 0xFF, +0xED, 0xE8, 0xF0, 0x3F, 0x77, 0x8D, 0xD8, 0x13, 0xC0, 0x0F, 0x3B, 0xE0, 0x6A, 0x47, 0x3C, 0xC3, +0xD5, 0x8F, 0x63, 0xEC, 0x29, 0x61, 0x08, 0xD0, 0xF0, 0x77, 0x9E, 0x96, 0x03, 0x5A, 0x35, 0xFC, +0x0F, 0xE3, 0x80, 0x0D, 0xFF, 0xC3, 0xE1, 0x16, 0xC0, 0x54, 0x2B, 0xEB, 0x57, 0xCA, 0x73, 0x60, +0x2F, 0x3B, 0x8D, 0xBD, 0x60, 0xC3, 0x94, 0xB6, 0x60, 0x1A, 0x75, 0xC0, 0xC6, 0x6F, 0xC5, 0x5C, +0xB0, 0x2D, 0x00, 0xCC, 0xE9, 0x8B, 0x93, 0xDB, 0x12, 0x62, 0xCE, 0xE7, 0x0B, 0x04, 0xCC, 0x17, +0x00, 0xFA, 0x03, 0x0B, 0xA2, 0xF5, 0xE3, 0x45, 0x9A, 0xCB, 0x7A, 0xD4, 0xCF, 0x87, 0x1C, 0xE8, +0x81, 0xD7, 0x53, 0x5A, 0x9B, 0xD6, 0x1A, 0x55, 0x30, 0x5F, 0x09, 0x35, 0x75, 0x01, 0x60, 0xE5, +0xD8, 0xDE, 0xAA, 0x84, 0x15, 0xD0, 0xAE, 0x99, 0xD9, 0xFD, 0x5F, 0x98, 0x01, 0xBE, 0x9E, 0xFF, +0x75, 0x0F, 0x03, 0x7C, 0x3D, 0xA0, 0x80, 0xA8, 0xBE, 0x0A, 0x68, 0xA7, 0x8E, 0x02, 0x88, 0x9A, +0x90, 0xCA, 0xFC, 0x87, 0x6F, 0x8C, 0x80, 0xD8, 0x00, 0x92, 0xC8, 0x97, 0x1A, 0x79, 0xE0, 0xF0, +0x53, 0xC1, 0xE0, 0x1F, 0x1B, 0x06, 0x3C, 0xF1, 0x97, 0x88, 0xE1, 0xEF, 0xFB, 0x71, 0x4B, 0x08, +0x0C, 0xB0, 0x01, 0xC0, 0xBF, 0xB7, 0x25, 0x44, 0xCE, 0xC6, 0xBD, 0xC4, 0x3C, 0x2D, 0x15, 0xC1, +0x71, 0xFF, 0xBC, 0x38, 0xA0, 0x05, 0xFC, 0xAB, 0x10, 0x70, 0x43, 0x56, 0x9A, 0xFC, 0x53, 0x07, +0x24, 0xFD, 0x5F, 0xF4, 0x1A, 0xB3, 0xF9, 0x5F, 0x38, 0x97, 0x3B, 0x49, 0x9B, 0x30, 0x65, 0x03, +0x80, 0x0A, 0x2F, 0xAA, 0x80, 0x9C, 0x7F, 0x98, 0x0B, 0xD6, 0x80, 0x7F, 0x25, 0x0C, 0xAA, 0x02, +0x12, 0xFF, 0xC3, 0x54, 0xB0, 0xDB, 0x00, 0x52, 0x3B, 0x74, 0x32, 0x9D, 0xF8, 0x9F, 0x45, 0xED, +0x4F, 0x3D, 0x50, 0x0F, 0x1B, 0xC6, 0xC0, 0xD4, 0x96, 0xBE, 0xA8, 0xA6, 0x80, 0x2F, 0x36, 0x3A, +0x00, 0x1D, 0xFC, 0x6F, 0x5C, 0x8C, 0x35, 0xDF, 0xE4, 0x5F, 0xD6, 0xEB, 0xCD, 0x1A, 0x39, 0xE0, +0x7F, 0x74, 0x05, 0x0B, 0x6A, 0x9A, 0x01, 0x3A, 0x0C, 0x96, 0x07, 0x02, 0x49, 0x3D, 0x4E, 0x27, +0x38, 0x27, 0xE0, 0x13, 0x00, 0x10, 0x08, 0x94, 0x67, 0xFB, 0x35, 0xFC, 0x69, 0x32, 0x02, 0x7E, +0x6D, 0xE8, 0x33, 0xFC, 0xC1, 0x01, 0xB1, 0x20, 0x1A, 0xDF, 0x85, 0xD9, 0xC8, 0xC6, 0x30, 0xE0, +0x0C, 0x3B, 0x40, 0xB2, 0xC6, 0x4E, 0x73, 0x32, 0xFE, 0x47, 0x08, 0xC8, 0xB7, 0x84, 0x60, 0x96, +0x50, 0x1B, 0xA0, 0x70, 0x38, 0xE1, 0xAE, 0x4A, 0xD8, 0x00, 0x57, 0xCB, 0xEA, 0xC1, 0x01, 0x57, +0x47, 0x67, 0x6D, 0x02, 0x6E, 0xFA, 0x1F, 0x58, 0x51, 0x42, 0x60, 0xB6, 0x00, 0xD0, 0x60, 0xE3, +0x4F, 0xD8, 0x12, 0x92, 0x3A, 0xC0, 0xB7, 0x08, 0x9B, 0x0A, 0x56, 0x22, 0x36, 0x92, 0xFC, 0x6F, +0x58, 0x01, 0x88, 0x0D, 0xC0, 0x95, 0x13, 0xC6, 0x01, 0x6F, 0x94, 0xEA, 0xC4, 0x01, 0xB1, 0x00, +0x50, 0x8A, 0x38, 0xE0, 0x51, 0x3A, 0xFC, 0x04, 0xF0, 0xF6, 0x82, 0x68, 0xDB, 0x15, 0xA2, 0x2F, +0x1D, 0x16, 0xC0, 0x60, 0x26, 0xE4, 0x60, 0xAC, 0x25, 0xB6, 0x03, 0x9D, 0xEF, 0x91, 0xC4, 0xFC, +0x6F, 0x5C, 0x0E, 0x68, 0x55, 0x02, 0x1F, 0x1A, 0x18, 0x60, 0x03, 0x81, 0x39, 0xD5, 0x68, 0xBC, +0xFF, 0x79, 0x05, 0xC4, 0xF3, 0x47, 0xEC, 0x04, 0xF3, 0x3E, 0x70, 0x87, 0x25, 0x30, 0x3D, 0x1C, +0x10, 0xFC, 0xAB, 0x2B, 0xE0, 0xE6, 0x4C, 0x88, 0x72, 0xAF, 0x8A, 0xC0, 0x97, 0x85, 0x80, 0xBC, +0x03, 0xEC, 0xB7, 0x84, 0x9C, 0xBC, 0x3F, 0x2F, 0x8F, 0x94, 0x60, 0x39, 0x60, 0x61, 0x01, 0x74, +0xBF, 0x71, 0xC0, 0x65, 0x7A, 0x77, 0x98, 0x21, 0x68, 0x33, 0xE0, 0xCF, 0xDE, 0x37, 0xE2, 0x80, +0x36, 0xB3, 0xB8, 0xB8, 0x64, 0x71, 0x0B, 0x00, 0xAB, 0x04, 0x0C, 0xF4, 0x7F, 0x31, 0x15, 0x8C, +0x09, 0xE0, 0x9A, 0x01, 0xA2, 0x13, 0xAC, 0xB4, 0xD2, 0x09, 0x60, 0x96, 0x7C, 0x01, 0x34, 0x21, +0xE0, 0x38, 0x15, 0x92, 0x5B, 0x9F, 0xE3, 0x1F, 0x1C, 0x50, 0xCE, 0x2D, 0xA6, 0x67, 0xCB, 0x01, +0x81, 0xBF, 0xCA, 0x61, 0x63, 0xAB, 0x58, 0x00, 0x5D, 0x4D, 0x52, 0x3F, 0x6D, 0x30, 0xA3, 0xA5, +0xB4, 0xB3, 0x59, 0x60, 0xA9, 0x87, 0x74, 0x58, 0x00, 0xE8, 0x0E, 0x36, 0x01, 0x8C, 0x06, 0x13, +0x20, 0x64, 0x1B, 0x1B, 0xF8, 0xC7, 0xB3, 0xC5, 0xBF, 0x9A, 0x01, 0x6A, 0x0B, 0x04, 0xD2, 0xEA, +0xDC, 0xFD, 0x1D, 0xD3, 0xA1, 0xFF, 0xDB, 0x81, 0x80, 0x36, 0x01, 0x52, 0xC3, 0x9F, 0x6D, 0x09, +0xC1, 0xF8, 0x1F, 0xA6, 0x3F, 0x86, 0xA7, 0x38, 0x40, 0xC0, 0x00, 0xFF, 0xB0, 0x1C, 0x30, 0x6D, +0x0F, 0x6A, 0xE0, 0x4F, 0x93, 0x8D, 0xFF, 0xB5, 0x2F, 0xC1, 0x78, 0xEC, 0xF3, 0x1F, 0xEB, 0xC4, +0x04, 0x7E, 0x03, 0x04, 0xB5, 0xCD, 0x96, 0x04, 0xDA, 0x1D, 0xA0, 0x69, 0xD6, 0xC3, 0x8D, 0x11, +0x94, 0x7F, 0x8C, 0x80, 0x67, 0xD8, 0x00, 0x22, 0x44, 0x20, 0x0E, 0x38, 0x30, 0xE5, 0xF7, 0xA6, +0x7E, 0x25, 0x3B, 0x1B, 0x65, 0x8D, 0xF2, 0x4F, 0xA8, 0x07, 0x00, 0xB2, 0xD8, 0xB0, 0x62, 0x61, +0xF1, 0x4B, 0x7E, 0xC2, 0xB6, 0xE0, 0xE4, 0x7F, 0x4D, 0x07, 0x14, 0x02, 0x9A, 0xFF, 0xD1, 0x63, +0x8D, 0x05, 0xD0, 0x24, 0xBA, 0xF8, 0x4F, 0x5F, 0xAE, 0x4C, 0xFB, 0xF4, 0x94, 0x9E, 0x64, 0x93, +0x5C, 0x63, 0x07, 0xA0, 0x0B, 0xFF, 0xFC, 0xB6, 0xB8, 0x06, 0xFE, 0x34, 0xCC, 0xFF, 0xAC, 0xF0, +0x24, 0x92, 0x9C, 0x7F, 0x4D, 0x03, 0x04, 0xFF, 0x78, 0xF5, 0x9F, 0x05, 0x96, 0xF4, 0xE4, 0x1F, +0x6A, 0x42, 0xC0, 0xBF, 0x77, 0x1A, 0x0A, 0x28, 0x87, 0xDD, 0x1D, 0x50, 0x29, 0xE7, 0x0C, 0x30, +0x3F, 0x74, 0x1C, 0x90, 0x76, 0x80, 0x31, 0x0E, 0x68, 0x1B, 0x40, 0xDA, 0x08, 0xC4, 0xDD, 0x01, +0x77, 0xF8, 0x05, 0x38, 0x21, 0xB6, 0x00, 0x1A, 0x8B, 0x64, 0x31, 0x0A, 0x88, 0x67, 0x52, 0x32, +0x13, 0x62, 0x0B, 0xA0, 0x59, 0x16, 0x6B, 0xDC, 0x00, 0x81, 0x11, 0x70, 0x14, 0xC0, 0xE4, 0x4A, +0x84, 0x81, 0xD8, 0x00, 0x02, 0xEF, 0x2A, 0x9E, 0xC4, 0x01, 0xB1, 0x01, 0x98, 0x10, 0x10, 0xFC, +0xA3, 0xC1, 0xFC, 0x2F, 0x68, 0x57, 0x3C, 0xD9, 0x54, 0x70, 0xEB, 0xBF, 0xE7, 0x26, 0x5F, 0x0E, +0x48, 0xFC, 0x0F, 0x8B, 0x61, 0x94, 0x7F, 0x3C, 0x83, 0xAD, 0xDB, 0x6B, 0x29, 0xA8, 0x4B, 0xC4, +0x1B, 0x78, 0x28, 0x35, 0x20, 0x71, 0x58, 0x20, 0x08, 0xFF, 0xEB, 0xCF, 0xBF, 0x66, 0x07, 0x58, +0x01, 0x18, 0xBB, 0x03, 0xEA, 0x03, 0x03, 0xA3, 0x01, 0xED, 0xEA, 0x06, 0x88, 0x5E, 0x70, 0xB0, +0xFA, 0xF6, 0x80, 0xAD, 0xE9, 0xD9, 0xFB, 0x45, 0x4D, 0x08, 0x6E, 0x00, 0x53, 0xA5, 0x9F, 0xFD, +0xAA, 0x2D, 0x80, 0x2E, 0x1A, 0x20, 0x0E, 0x5B, 0x10, 0xAD, 0xF8, 0xE3, 0x91, 0xC5, 0x30, 0xC2, +0x3F, 0x37, 0xFE, 0x57, 0x9E, 0x0B, 0x1E, 0xF0, 0xD7, 0x17, 0x81, 0x69, 0x01, 0x20, 0x7A, 0xBF, +0xD6, 0xE9, 0x85, 0x01, 0x22, 0xD8, 0x00, 0x4C, 0x09, 0x38, 0x6C, 0x00, 0x89, 0x78, 0x0D, 0x26, +0x40, 0x58, 0xA5, 0x1B, 0xC0, 0xFC, 0x5E, 0xF7, 0x2E, 0x9C, 0x13, 0x01, 0xC1, 0x3F, 0x3E, 0x0C, +0x28, 0x24, 0x0C, 0x44, 0x0D, 0xB0, 0x81, 0x3E, 0x9C, 0x07, 0x07, 0xCC, 0x98, 0xEE, 0x9E, 0x65, +0xCB, 0x01, 0xC1, 0x3F, 0xE2, 0x80, 0xB6, 0x00, 0x90, 0x05, 0xEB, 0x5F, 0xB0, 0x04, 0x06, 0x3C, +0xBC, 0x96, 0x66, 0x30, 0x40, 0xC9, 0xF4, 0x3B, 0xE0, 0xB3, 0xC3, 0xC6, 0x01, 0x9B, 0x17, 0xB5, +0x06, 0xFE, 0xC7, 0xCB, 0xC8, 0x16, 0x0A, 0x28, 0x47, 0x0C, 0x10, 0x00, 0x7C, 0x82, 0x6E, 0xB0, +0x36, 0x5D, 0xF5, 0x0F, 0x35, 0x49, 0x01, 0x71, 0x07, 0xC0, 0x26, 0x03, 0xC5, 0x01, 0xD3, 0x02, +0x40, 0x66, 0x80, 0x5F, 0xEB, 0xCF, 0x84, 0x7F, 0x08, 0x9B, 0x08, 0x31, 0xFE, 0x31, 0x06, 0xCA, +0xA7, 0x2A, 0xAE, 0xB1, 0x5E, 0x04, 0x54, 0xFE, 0x69, 0xAC, 0xA7, 0x84, 0xCD, 0xC0, 0xF6, 0x0C, +0xFD, 0x25, 0xCC, 0x7F, 0xB0, 0xC0, 0xFF, 0x68, 0x27, 0xD8, 0xDD, 0x00, 0xA6, 0xEE, 0x4C, 0x7A, +0x07, 0x68, 0xE2, 0x5F, 0xD8, 0x12, 0x72, 0x1B, 0xCB, 0xF3, 0x2D, 0xFF, 0x6B, 0x13, 0x50, 0xBF, +0x01, 0x84, 0x13, 0x58, 0x5A, 0x6C, 0x80, 0xA3, 0x85, 0x09, 0x60, 0xEA, 0x80, 0x3F, 0x62, 0x03, +0x08, 0xC9, 0x02, 0x43, 0xB8, 0x18, 0xDD, 0x90, 0xE3, 0xDA, 0xF6, 0xF7, 0xE0, 0xC7, 0xDD, 0xFB, +0xBF, 0x0A, 0xC9, 0xB4, 0x02, 0x90, 0x1A, 0x20, 0xC7, 0x1F, 0x2C, 0x30, 0x1C, 0x2C, 0x9C, 0x61, +0x0A, 0xD8, 0xFF, 0x7B, 0x92, 0xE2, 0x9D, 0x60, 0x90, 0x10, 0x79, 0x12, 0x05, 0xD4, 0x05, 0x30, +0xCC, 0x00, 0xED, 0xD6, 0x30, 0xC3, 0xEA, 0x67, 0xBF, 0x04, 0x3A, 0x7B, 0xA2, 0x0A, 0x28, 0x0E, +0xF8, 0x56, 0x9C, 0x80, 0x73, 0xA3, 0x1F, 0x69, 0x84, 0x80, 0x30, 0xC0, 0x7E, 0x33, 0x21, 0xE8, +0xFE, 0xDA, 0x9E, 0xF9, 0x71, 0xC4, 0xDC, 0xDE, 0x43, 0xD8, 0x16, 0x72, 0x19, 0xCD, 0x02, 0x0B, +0x60, 0x28, 0x01, 0x65, 0x95, 0x5F, 0x90, 0x15, 0xCA, 0xBF, 0x28, 0x01, 0x6F, 0x7F, 0x89, 0x12, +0x10, 0xFE, 0x47, 0x73, 0x75, 0x73, 0x13, 0xB0, 0x3F, 0x6D, 0x65, 0xE5, 0x8E, 0xD7, 0xBE, 0x72, +0xF1, 0x01, 0x40, 0x4C, 0x05, 0x5F, 0x86, 0x03, 0xE9, 0xC3, 0x34, 0xB0, 0xF1, 0xD0, 0x76, 0x83, +0x88, 0x0A, 0x6A, 0x26, 0x00, 0x30, 0xF8, 0x01, 0x2C, 0x11, 0xFE, 0xF5, 0x34, 0x40, 0xB9, 0x0B, +0xF4, 0x34, 0x06, 0xBE, 0xF9, 0x5F, 0x53, 0xC0, 0x4A, 0x1F, 0x78, 0xE2, 0xFA, 0x97, 0x47, 0x01, +0x20, 0xDC, 0xAF, 0xD5, 0xC8, 0x4C, 0x71, 0x66, 0x7E, 0x35, 0x04, 0xBE, 0x3C, 0x19, 0x80, 0x9C, +0x7E, 0x36, 0x0E, 0xB8, 0x23, 0xE9, 0x69, 0x80, 0xBA, 0xF6, 0x75, 0x79, 0x78, 0xEE, 0x0D, 0x30, +0xE1, 0xCF, 0x28, 0x88, 0x8D, 0xC1, 0x71, 0x00, 0xAE, 0xD1, 0x01, 0x66, 0xC7, 0xEA, 0xF8, 0x93, +0x10, 0xFE, 0x8E, 0x8F, 0x93, 0x5B, 0x85, 0x10, 0x78, 0xF3, 0xDB, 0x6D, 0x38, 0x71, 0xFE, 0x3D, +0xBF, 0xA2, 0x1D, 0x60, 0x9C, 0x8F, 0x83, 0xFC, 0x3B, 0x3E, 0x3E, 0x0A, 0x13, 0x70, 0x1D, 0x07, +0xA0, 0xAC, 0x71, 0xB1, 0x97, 0xD0, 0x5E, 0x5E, 0x69, 0x4D, 0x05, 0x8D, 0x84, 0x52, 0x07, 0x71, +0x00, 0x7E, 0x17, 0xED, 0x7F, 0x18, 0xFF, 0xC8, 0x05, 0xFD, 0x12, 0x87, 0x1F, 0x9C, 0x6D, 0x9A, +0xFF, 0xBD, 0x39, 0xC1, 0x00, 0xFF, 0x65, 0xFC, 0x65, 0x02, 0xD8, 0x73, 0x0A, 0x04, 0x35, 0x8D, +0x7F, 0x50, 0xC0, 0x56, 0x93, 0xBE, 0x2A, 0xD8, 0x90, 0xD7, 0x1C, 0x03, 0xD4, 0x5F, 0x7D, 0x19, +0x43, 0x80, 0x8C, 0x7F, 0x3A, 0x04, 0x18, 0xC3, 0x9F, 0x7C, 0xB3, 0xFE, 0x5E, 0xD4, 0x00, 0xC3, +0x17, 0xB5, 0x2C, 0x81, 0x79, 0x61, 0xB2, 0x67, 0x14, 0x34, 0x63, 0x48, 0x0B, 0x62, 0xF4, 0xC0, +0x3C, 0x70, 0x0C, 0x7F, 0x97, 0xEB, 0x75, 0x98, 0x80, 0xAB, 0x55, 0xD4, 0xFF, 0x76, 0xAF, 0x46, +0xBD, 0x22, 0x27, 0x29, 0x99, 0x03, 0x79, 0x1E, 0x15, 0xC0, 0x30, 0xFF, 0x74, 0x66, 0xC5, 0xFF, +0x03, 0xCB, 0xE7, 0x9F, 0xAF, 0x84, 0x80, 0xFC, 0x3F, 0x4A, 0xD9, 0xBF, 0x0A, 0x12, 0x50, 0xF8, +0xB7, 0x8E, 0x12, 0x50, 0x97, 0xC1, 0x0C, 0x2F, 0x21, 0x54, 0x4F, 0x9E, 0xD8, 0xA0, 0x06, 0x64, +0x5F, 0xCC, 0x5E, 0xAE, 0x80, 0xFE, 0x06, 0xB8, 0xA7, 0x3B, 0x3D, 0xC8, 0x55, 0x3D, 0xA5, 0x0B, +0x2C, 0x99, 0xC4, 0xBF, 0xB0, 0x01, 0xF6, 0x07, 0x20, 0xEF, 0x00, 0x03, 0x85, 0xD3, 0x01, 0xD8, +0x9D, 0x7F, 0x12, 0x4E, 0xBF, 0x34, 0x0D, 0x8C, 0xBB, 0xA0, 0x26, 0xCC, 0x55, 0xC7, 0x00, 0xD3, +0x10, 0x60, 0x94, 0x80, 0xF8, 0x1A, 0x4C, 0xD2, 0x64, 0x9D, 0x60, 0x76, 0x68, 0x05, 0xFD, 0x4F, +0xF3, 0x02, 0x7D, 0x5D, 0x74, 0x7D, 0x55, 0x1F, 0x14, 0x7F, 0xE6, 0x09, 0x07, 0x7A, 0x5F, 0xAC, +0xA0, 0x03, 0xEA, 0x3B, 0x75, 0x1D, 0x03, 0xE0, 0x4A, 0xA2, 0x7A, 0xC4, 0x4A, 0xF8, 0xA7, 0x54, +0x61, 0xEA, 0xA7, 0x27, 0xE5, 0x9F, 0xD4, 0x7D, 0x0C, 0x80, 0x61, 0x04, 0x3E, 0xD7, 0x3F, 0x93, +0xF5, 0xC1, 0x71, 0xBE, 0xB2, 0xA5, 0xDD, 0xA4, 0x56, 0x92, 0xA0, 0xFF, 0x69, 0x82, 0x00, 0xD4, +0xBB, 0xC0, 0x9C, 0x0B, 0xDE, 0x2C, 0xE7, 0xA6, 0x83, 0xF8, 0x6E, 0x90, 0xE1, 0xD5, 0xD6, 0x2F, +0x81, 0x89, 0x12, 0x70, 0x19, 0x06, 0xE0, 0xE9, 0xFB, 0x9A, 0x59, 0x2F, 0x03, 0x4C, 0x99, 0xD4, +0xFF, 0x8D, 0x29, 0x60, 0x6F, 0x00, 0x72, 0xFC, 0x95, 0x6F, 0x8D, 0x1A, 0x4F, 0x77, 0xFE, 0x89, +0xDA, 0x49, 0xB8, 0x01, 0xDA, 0x42, 0xC0, 0x37, 0x14, 0x7F, 0x09, 0x83, 0x55, 0x03, 0x54, 0xFF, +0x8B, 0x12, 0x50, 0xB6, 0x00, 0xE3, 0x3E, 0x80, 0xAC, 0xD1, 0xAB, 0x2A, 0x26, 0x80, 0x7A, 0xA5, +0x2E, 0x29, 0xFE, 0x34, 0x87, 0x4B, 0x8D, 0xF5, 0x79, 0x6D, 0x2B, 0xB0, 0x3A, 0xC2, 0xF0, 0x44, +0x21, 0x98, 0x3C, 0x41, 0x1A, 0x49, 0x4C, 0x01, 0xFF, 0x58, 0x87, 0x09, 0xB8, 0x4A, 0x11, 0xBA, +0x71, 0x53, 0xFA, 0x79, 0xCC, 0x0D, 0x47, 0x90, 0xB8, 0x1A, 0x1C, 0x90, 0x09, 0xA0, 0x56, 0xA8, +0xFF, 0xFB, 0x9B, 0x12, 0x50, 0xD6, 0xC1, 0x50, 0x03, 0x95, 0x28, 0xAC, 0x77, 0x8F, 0x03, 0x02, +0xB8, 0x4A, 0x09, 0xA9, 0xF2, 0x25, 0x08, 0xC8, 0xF9, 0x27, 0x49, 0xA0, 0xD3, 0x82, 0xD1, 0x5F, +0x9B, 0x06, 0x6A, 0x93, 0x14, 0x7F, 0x29, 0x91, 0x26, 0xEA, 0x7F, 0x41, 0x04, 0xBE, 0x9F, 0x42, +0x0D, 0x30, 0x08, 0xC0, 0xE9, 0xFC, 0x9B, 0xA8, 0x80, 0x9D, 0xF1, 0xC7, 0x15, 0xD0, 0x02, 0x00, +0xC6, 0x11, 0xD8, 0x95, 0x7F, 0x8A, 0x3F, 0x69, 0xE8, 0x20, 0x20, 0x6E, 0x09, 0x63, 0x98, 0x83, +0x01, 0xBA, 0x43, 0xF1, 0x97, 0x08, 0x48, 0x63, 0x77, 0x84, 0xE1, 0xC3, 0x25, 0xB3, 0xE4, 0x7F, +0x41, 0x02, 0x6A, 0x51, 0x04, 0x82, 0x7F, 0x12, 0xAC, 0x91, 0x48, 0xF8, 0x1B, 0xFB, 0x4E, 0x63, +0x33, 0xD4, 0x42, 0x12, 0x5B, 0x08, 0xB8, 0xB6, 0x70, 0x02, 0xAE, 0xC6, 0x50, 0x52, 0x80, 0x7F, +0x7C, 0x18, 0x50, 0xF9, 0x97, 0x2A, 0xC2, 0xBF, 0x30, 0x01, 0x15, 0x7F, 0xA9, 0xE8, 0x42, 0x40, +0xCB, 0xD5, 0xCD, 0x71, 0xC8, 0xFF, 0x02, 0x0E, 0x28, 0x59, 0xAD, 0x25, 0x31, 0x02, 0xE2, 0xAB, +0x90, 0xC6, 0x28, 0xF7, 0xCC, 0xE7, 0x87, 0x87, 0xFC, 0xC4, 0xFA, 0xBF, 0x89, 0x80, 0x31, 0x01, +0x5C, 0xC6, 0x24, 0x70, 0x6E, 0x1F, 0xD7, 0xE4, 0xAA, 0x0E, 0x76, 0x81, 0x87, 0x08, 0xD8, 0xA6, +0xF2, 0x8F, 0x29, 0x60, 0x5F, 0x00, 0x72, 0xFC, 0xA1, 0xC5, 0xD1, 0xDF, 0x01, 0x27, 0x44, 0xD8, +0x27, 0xC5, 0x15, 0xD0, 0xBE, 0x1D, 0x09, 0xB7, 0x82, 0x69, 0x19, 0xA0, 0xFA, 0x9F, 0x32, 0x90, +0x13, 0x50, 0x6F, 0x08, 0x73, 0xA2, 0x04, 0xA4, 0x13, 0x21, 0x33, 0xBD, 0x9E, 0xE4, 0xA1, 0x09, +0x00, 0x70, 0x69, 0x0E, 0x48, 0xA2, 0x9F, 0xFD, 0x46, 0x40, 0x7B, 0x5B, 0x98, 0x01, 0x62, 0x1A, +0x78, 0xA1, 0xA7, 0xC5, 0x43, 0xE8, 0xFC, 0x87, 0x26, 0x29, 0xE0, 0x8A, 0xFB, 0x9F, 0x45, 0x15, +0x8F, 0xF3, 0x2F, 0x26, 0x81, 0x23, 0xA8, 0xB8, 0x03, 0x1A, 0xFA, 0xA4, 0xA1, 0xA4, 0x14, 0xA8, +0x12, 0x02, 0xDA, 0x19, 0xE1, 0x0E, 0xB8, 0x7A, 0x08, 0x03, 0xA0, 0xF0, 0xCF, 0x12, 0xF3, 0x3F, +0xCD, 0x30, 0xA8, 0x3B, 0xAE, 0xF2, 0x1C, 0x7C, 0x5E, 0xCA, 0x96, 0x42, 0xA7, 0xFE, 0x2F, 0x08, +0xC8, 0xFB, 0xBF, 0x72, 0x48, 0x51, 0x00, 0x8E, 0x1D, 0xE0, 0x5E, 0xCB, 0x60, 0xF0, 0x9B, 0xC2, +0xFC, 0x9B, 0xAE, 0x80, 0x9D, 0xF1, 0xC7, 0x19, 0x08, 0xFE, 0xF5, 0x1E, 0x07, 0x9C, 0x2C, 0x80, +0xA9, 0x6D, 0x1A, 0xA0, 0xF9, 0x9F, 0x66, 0xDF, 0x26, 0x7D, 0x8B, 0x06, 0x28, 0x78, 0x4C, 0xF0, +0x93, 0x52, 0x02, 0xF2, 0x9B, 0x21, 0xD8, 0xDD, 0x10, 0x5A, 0x1F, 0x96, 0xCA, 0x3F, 0x64, 0x4E, +0xF1, 0x37, 0xD2, 0x4F, 0x1F, 0x9C, 0x7F, 0x96, 0xF3, 0x7C, 0xED, 0x8B, 0x1E, 0x98, 0x0D, 0x11, +0xF1, 0xB3, 0xF0, 0xCD, 0xC0, 0x1B, 0xEF, 0xD4, 0x1F, 0xCF, 0x08, 0xFF, 0x90, 0x30, 0xFF, 0xD8, +0x2E, 0x10, 0xD9, 0x08, 0x67, 0xB2, 0x16, 0x74, 0xC0, 0x88, 0x02, 0x0E, 0xFC, 0x4B, 0xCD, 0x3D, +0x3A, 0xC1, 0xA5, 0xF9, 0x90, 0x08, 0x01, 0xD1, 0xFF, 0x45, 0xD8, 0x36, 0x10, 0x84, 0xDD, 0x0C, +0x01, 0xF9, 0x16, 0x4B, 0x61, 0x30, 0xC4, 0x21, 0x0F, 0x1B, 0xE0, 0x5D, 0x5A, 0x38, 0x01, 0x07, +0xF7, 0x93, 0x76, 0x49, 0x3F, 0x7F, 0x93, 0xFF, 0x01, 0x80, 0xC4, 0x00, 0x25, 0x31, 0xFF, 0xD3, +0x9A, 0xCA, 0xBF, 0xA6, 0x01, 0x3E, 0x36, 0x00, 0xF9, 0x44, 0x30, 0xAA, 0xDB, 0x54, 0xF0, 0x44, +0xFF, 0xC3, 0xA3, 0xDD, 0xFF, 0x55, 0xFC, 0x19, 0x01, 0xDF, 0x85, 0xFD, 0x39, 0x03, 0x94, 0xC6, +0x00, 0x98, 0x08, 0x08, 0x00, 0xB2, 0xEF, 0x05, 0x11, 0xB2, 0xB5, 0xB6, 0xC2, 0xE9, 0x05, 0x05, +0x07, 0x64, 0xFD, 0x5F, 0x43, 0xE0, 0x92, 0xF2, 0x0F, 0xD9, 0x74, 0x3E, 0x1B, 0x12, 0x34, 0x29, +0x04, 0xFF, 0xE8, 0x76, 0xE0, 0x75, 0x96, 0xE6, 0x72, 0xC0, 0xDD, 0xD5, 0x66, 0x5A, 0xA8, 0xD8, +0xC2, 0x4A, 0x73, 0x00, 0xEE, 0x37, 0xB8, 0x1A, 0x9B, 0x08, 0x19, 0xD1, 0xA7, 0x0D, 0xBD, 0x1B, +0x96, 0xE1, 0xCF, 0x86, 0x01, 0xEB, 0xFD, 0xF0, 0x1C, 0xD5, 0xC7, 0xDC, 0xFF, 0xB8, 0x03, 0x26, +0xFF, 0x43, 0xA8, 0xFF, 0x21, 0xF8, 0x18, 0xDB, 0x58, 0xEA, 0x69, 0x42, 0xB8, 0x44, 0x08, 0x01, +0xED, 0x82, 0x42, 0x35, 0x16, 0xC0, 0x20, 0x64, 0x22, 0x24, 0x0C, 0x40, 0xFC, 0x25, 0xE7, 0x5F, +0xD4, 0x00, 0xA7, 0x20, 0x10, 0xE9, 0x39, 0x11, 0x9C, 0xD7, 0x84, 0x74, 0xE7, 0x5F, 0x7B, 0x2A, +0x58, 0xFD, 0x2F, 0x8B, 0xA1, 0xCF, 0x19, 0xA0, 0xF5, 0x7F, 0x53, 0x43, 0x08, 0xA8, 0xFE, 0xA7, +0xE0, 0x3B, 0x71, 0xDF, 0x88, 0xEE, 0x9A, 0x3C, 0x73, 0x9D, 0x0A, 0x6E, 0xE1, 0x6F, 0xB9, 0x89, +0x40, 0xC6, 0x3F, 0x04, 0xC0, 0x33, 0xFD, 0xC3, 0x8A, 0x40, 0xBC, 0xA7, 0xE0, 0x80, 0x11, 0x00, +0xFE, 0x21, 0xBD, 0xE0, 0xAA, 0xD3, 0x80, 0x7F, 0xC4, 0x01, 0x3D, 0xFF, 0x2A, 0x06, 0xA6, 0xAD, +0xB1, 0xCF, 0x68, 0xF5, 0xBC, 0x39, 0xFF, 0x9B, 0x55, 0x73, 0x02, 0xD8, 0x0C, 0x10, 0x04, 0x2C, +0xF3, 0x77, 0x3B, 0x0D, 0x00, 0xAE, 0xF2, 0xEC, 0x36, 0x56, 0x8B, 0xAF, 0xF3, 0x70, 0xFF, 0x83, +0x03, 0xDA, 0x76, 0x1E, 0xC0, 0xCF, 0x84, 0x30, 0x2D, 0x00, 0x88, 0x10, 0x10, 0xFE, 0xA7, 0xD5, +0x06, 0xE0, 0x1E, 0x3E, 0xA7, 0x25, 0x74, 0x0C, 0x90, 0x21, 0xD0, 0xFF, 0x32, 0xE7, 0x5F, 0xDC, +0x00, 0xE3, 0x00, 0xEC, 0xAD, 0x80, 0x00, 0x20, 0x2A, 0x9E, 0x5E, 0x13, 0x20, 0xA0, 0x9F, 0x36, +0xD5, 0x09, 0x60, 0xF0, 0x0F, 0xBD, 0x60, 0x20, 0x30, 0xDF, 0x05, 0x3C, 0x80, 0x4F, 0x6B, 0x20, +0x20, 0x3A, 0xC1, 0x9E, 0x7F, 0x69, 0x00, 0x10, 0x55, 0x55, 0x40, 0x20, 0x10, 0x73, 0xC1, 0x04, +0x81, 0xE8, 0x04, 0x73, 0xFE, 0xD9, 0xFB, 0xC0, 0x34, 0x01, 0x33, 0xC2, 0x86, 0xC0, 0xC5, 0xB7, +0x0B, 0x0B, 0xBB, 0x25, 0xEA, 0xF6, 0x3B, 0xB5, 0xB1, 0x25, 0x78, 0xB5, 0x95, 0xFA, 0x6D, 0xF3, +0x0C, 0x26, 0x4C, 0x02, 0xA5, 0xAE, 0xEE, 0xA1, 0x6A, 0xE9, 0xC9, 0x73, 0x32, 0xFF, 0x81, 0x62, +0x13, 0xC0, 0xC0, 0xAA, 0x10, 0x90, 0xE0, 0x8F, 0x13, 0xF0, 0x06, 0x02, 0x48, 0x09, 0x78, 0xB6, +0xDE, 0x0E, 0xE3, 0x1F, 0x72, 0x80, 0xE9, 0x7C, 0x1B, 0xE6, 0xB5, 0xFD, 0xC0, 0xC0, 0x1F, 0x27, +0xE0, 0x0E, 0x14, 0xB0, 0x49, 0xC0, 0x9D, 0xF9, 0xD6, 0xC5, 0xDA, 0xF8, 0x5C, 0x3F, 0xE1, 0x00, +0xF4, 0xBF, 0x38, 0x9D, 0x7F, 0x39, 0xFB, 0x1A, 0x21, 0xF8, 0xEB, 0xAB, 0x80, 0xA8, 0xAE, 0xE3, +0x80, 0xF1, 0x80, 0x7C, 0xED, 0xA9, 0x60, 0xE1, 0x62, 0xF9, 0x4B, 0x91, 0x4A, 0x06, 0x68, 0xFC, +0x33, 0x00, 0x2A, 0x01, 0x81, 0x40, 0xE7, 0x7F, 0x99, 0x01, 0x0A, 0x01, 0x4B, 0x7B, 0x82, 0x67, +0x06, 0xBD, 0x2C, 0x15, 0xFE, 0x61, 0x94, 0x06, 0x08, 0x64, 0xFC, 0x43, 0x6C, 0xAB, 0xBC, 0x9C, +0xF1, 0x44, 0x8E, 0x85, 0xB3, 0x0A, 0x10, 0xD0, 0x2D, 0x80, 0x76, 0x04, 0x2C, 0x03, 0x10, 0xFC, +0x23, 0x0A, 0x28, 0xD1, 0x25, 0x25, 0x2E, 0xB5, 0xDB, 0x41, 0x03, 0x7D, 0x63, 0x71, 0x02, 0xA2, +0x1A, 0xFC, 0x83, 0x01, 0x9A, 0x03, 0x96, 0x2C, 0x74, 0x02, 0x01, 0x57, 0x3E, 0xB5, 0x9B, 0x22, +0xAC, 0x7D, 0x68, 0x07, 0x18, 0x39, 0x37, 0xFC, 0x1D, 0xC0, 0xE8, 0xD1, 0xFF, 0xE5, 0x04, 0x84, +0xFF, 0xE1, 0xA3, 0xB5, 0x0A, 0xC0, 0x3F, 0xDD, 0xD5, 0x8A, 0x4B, 0xDA, 0x7D, 0x35, 0xF0, 0x06, +0x00, 0x9B, 0xFA, 0x97, 0xFF, 0x94, 0x03, 0x90, 0x1B, 0xE0, 0xD3, 0x00, 0x10, 0x0A, 0xD8, 0x81, +0x80, 0x3D, 0x16, 0x40, 0x67, 0x4D, 0xB9, 0x1B, 0x0C, 0xFF, 0xCB, 0x1D, 0xF0, 0xE5, 0x97, 0xFD, +0x46, 0x38, 0xF5, 0x3F, 0x23, 0xA0, 0x36, 0x70, 0xC0, 0xCA, 0xFC, 0xAF, 0x1E, 0xD2, 0x18, 0x01, +0x4F, 0xFC, 0xC7, 0xA5, 0xB6, 0x1E, 0x7F, 0xB5, 0xD5, 0x30, 0x18, 0xA6, 0x59, 0xB2, 0x71, 0x40, +0xBD, 0xDC, 0x7D, 0xF0, 0x1E, 0x19, 0xD6, 0xC2, 0x48, 0xC0, 0x3F, 0x36, 0x0C, 0xB8, 0x80, 0xFF, +0x05, 0x08, 0xB8, 0x3A, 0x2E, 0x00, 0xE0, 0xA6, 0x04, 0x40, 0xE0, 0x8F, 0x10, 0x50, 0xF9, 0x97, +0xC1, 0xAF, 0x41, 0xC0, 0x8C, 0x7A, 0xC4, 0x01, 0x33, 0xF6, 0x0D, 0xA7, 0xCA, 0x38, 0x60, 0x8D, +0x80, 0xC5, 0x0D, 0x20, 0x85, 0x50, 0xFF, 0x43, 0x18, 0xFF, 0x10, 0x8C, 0x64, 0x48, 0xB0, 0xDA, +0xC9, 0xCC, 0x1F, 0x91, 0x1F, 0x35, 0x47, 0x00, 0xB3, 0xCB, 0xEB, 0xB4, 0xBA, 0x00, 0x46, 0x43, +0x10, 0xA8, 0x8F, 0xF4, 0xB5, 0x98, 0x44, 0x01, 0x29, 0xFF, 0x38, 0xFE, 0x10, 0x6E, 0x80, 0x15, +0xFE, 0xFD, 0x8F, 0x14, 0x70, 0x2A, 0xFF, 0x72, 0x06, 0x96, 0x27, 0x80, 0xC5, 0xF7, 0x8A, 0x04, +0xFC, 0x3A, 0x47, 0x20, 0xF8, 0xF7, 0x72, 0x2A, 0x2C, 0x86, 0xA9, 0xF9, 0x9F, 0x32, 0x0F, 0x06, +0xA8, 0xF5, 0x7D, 0x41, 0x01, 0x7D, 0x1A, 0x5B, 0x42, 0x30, 0x4C, 0x63, 0x0F, 0x05, 0xE0, 0x77, +0x84, 0x7F, 0xC8, 0x0B, 0xEB, 0x00, 0xA7, 0x73, 0xE2, 0xE0, 0xF9, 0xA2, 0x90, 0x83, 0xB2, 0x02, +0x96, 0xDF, 0xA9, 0x2B, 0xE6, 0x7F, 0x48, 0x71, 0x02, 0xB8, 0x02, 0x40, 0x8F, 0x9F, 0x9B, 0x07, +0xFF, 0x03, 0xAF, 0x12, 0x01, 0x7F, 0xA9, 0x0D, 0x00, 0x3E, 0x90, 0xF0, 0x81, 0x88, 0xC5, 0xF1, +0x3F, 0xF7, 0xA7, 0xEA, 0x3F, 0xA8, 0x34, 0x0E, 0x58, 0xCC, 0x55, 0x71, 0x2A, 0x78, 0x55, 0x0C, +0xF5, 0x3F, 0x84, 0xF1, 0x0F, 0xC2, 0x7E, 0x00, 0xEC, 0xE1, 0xBC, 0x44, 0x18, 0x01, 0x97, 0xA6, +0x7F, 0x7A, 0x32, 0x1B, 0x2C, 0xF6, 0x7F, 0x61, 0x7F, 0x79, 0x66, 0x85, 0x3E, 0xF0, 0x5B, 0x09, +0x80, 0x48, 0x7D, 0x03, 0x88, 0xFB, 0x25, 0x0A, 0x40, 0x3E, 0x13, 0x12, 0x27, 0x20, 0xD2, 0x93, +0x80, 0xE5, 0x8A, 0xA7, 0xCB, 0x06, 0x10, 0xAF, 0x80, 0x64, 0x02, 0xD8, 0x92, 0x6D, 0x09, 0xC1, +0x16, 0xE0, 0xB7, 0x11, 0x20, 0xB0, 0x48, 0x40, 0x68, 0x9F, 0x14, 0x9E, 0xBA, 0x2D, 0x21, 0x98, +0x00, 0xCE, 0x72, 0x5A, 0xE9, 0x05, 0x3B, 0x03, 0x4C, 0x7F, 0xC9, 0xFD, 0x0F, 0xD9, 0xB8, 0x85, +0xBA, 0x7D, 0x1F, 0xD2, 0xA2, 0x4C, 0xC0, 0x83, 0xFA, 0x02, 0x40, 0xEF, 0x80, 0xC4, 0xFF, 0x90, +0xC2, 0x04, 0x48, 0x19, 0x7F, 0xC5, 0x01, 0xC0, 0x7B, 0xEF, 0x6A, 0x70, 0x40, 0x2F, 0x80, 0x6C, +0x1C, 0x10, 0x0B, 0xA0, 0xFD, 0x9F, 0x2A, 0x0A, 0xC8, 0xF1, 0x87, 0x2D, 0x21, 0x7E, 0x01, 0x4C, +0x25, 0xD5, 0x0D, 0x20, 0x3E, 0x8C, 0x7F, 0x96, 0x6B, 0x71, 0x40, 0x0C, 0xEA, 0xA6, 0x33, 0x7A, +0xC0, 0x2F, 0x08, 0x01, 0xA1, 0x7F, 0xE3, 0x09, 0x10, 0x0C, 0x0B, 0x60, 0x71, 0x54, 0x5B, 0x2F, +0xF8, 0x18, 0x00, 0x5D, 0xF5, 0x13, 0x40, 0x4E, 0xC0, 0x7F, 0x89, 0x7E, 0x3D, 0xB6, 0x84, 0x4C, +0x88, 0xD9, 0x9F, 0x6B, 0x4A, 0x13, 0xC0, 0x65, 0x00, 0xCA, 0xCF, 0x13, 0xF8, 0x30, 0xFF, 0xFB, +0x75, 0xC6, 0xBE, 0xA6, 0x03, 0x4A, 0x67, 0xD7, 0xA0, 0x97, 0x0C, 0x10, 0x15, 0x15, 0xC0, 0x04, +0x40, 0x87, 0xBF, 0xFC, 0x33, 0x1A, 0x9F, 0xDA, 0xD5, 0x0D, 0x20, 0x3E, 0xD9, 0x7A, 0x68, 0xCC, +0xFF, 0x96, 0x10, 0x48, 0xFC, 0x0F, 0xF1, 0x53, 0xC1, 0xBB, 0xAB, 0x5A, 0x6A, 0xFE, 0x47, 0x7B, +0xC1, 0x69, 0x01, 0x60, 0xEE, 0x6A, 0x38, 0x7B, 0xFE, 0x55, 0xAB, 0xBE, 0x00, 0x7A, 0xAB, 0x71, +0xF7, 0x46, 0xAD, 0xC7, 0x13, 0x70, 0x55, 0x8D, 0xDF, 0x00, 0x52, 0xCD, 0x82, 0x4C, 0x80, 0x64, +0x33, 0x21, 0xF9, 0x4D, 0x1F, 0xC1, 0x3E, 0xEA, 0x80, 0xB8, 0x9C, 0x80, 0xC0, 0xF2, 0x30, 0x20, +0x86, 0xFF, 0x78, 0x27, 0xF8, 0x7B, 0x00, 0x10, 0x21, 0x13, 0xC0, 0x56, 0x84, 0x7F, 0xD4, 0x00, +0x5B, 0x79, 0x74, 0xFF, 0xEB, 0x87, 0xC0, 0x7F, 0xCA, 0x3F, 0x4F, 0x3F, 0x37, 0x0C, 0x58, 0xF1, +0x3F, 0xDB, 0x12, 0xE2, 0x3A, 0xC0, 0xDB, 0x73, 0xC0, 0xFA, 0x00, 0x01, 0xB3, 0x01, 0xC0, 0x5C, +0x00, 0x51, 0x31, 0xFC, 0x9D, 0x16, 0x10, 0x68, 0x05, 0xFD, 0xB3, 0xC3, 0x11, 0x10, 0xFE, 0xE7, +0x73, 0x90, 0xAF, 0x1C, 0x5B, 0x34, 0xE2, 0x36, 0x00, 0xD7, 0x72, 0xB9, 0x72, 0xF3, 0xBF, 0x31, +0x02, 0x7E, 0x0E, 0xFE, 0x31, 0x02, 0xDE, 0x08, 0x92, 0xBC, 0x00, 0x5A, 0x33, 0x91, 0x7F, 0x48, +0xA6, 0x7F, 0x68, 0xA4, 0xDC, 0xB7, 0x83, 0x4C, 0x20, 0xE0, 0xAA, 0x11, 0xB7, 0x00, 0xB0, 0x1E, +0xE6, 0x7F, 0x88, 0xA2, 0x0F, 0x53, 0xFC, 0xD9, 0xFC, 0xFF, 0x36, 0x01, 0x3D, 0xFE, 0x70, 0x39, +0xE5, 0x6B, 0x0C, 0x4E, 0x2B, 0xFE, 0xC7, 0x15, 0x70, 0xDC, 0x00, 0xB0, 0x0D, 0xC0, 0x62, 0xFF, +0xD7, 0x57, 0x8D, 0x7F, 0x5D, 0x14, 0xF0, 0x09, 0xFC, 0xAF, 0x4B, 0x2F, 0x78, 0xF2, 0x04, 0x48, +0xD9, 0x00, 0xB1, 0x18, 0x06, 0xFE, 0x57, 0x8B, 0x48, 0xDF, 0x86, 0x01, 0x0E, 0xE0, 0xD3, 0x16, +0x95, 0xE2, 0xB7, 0x84, 0x80, 0x79, 0xDE, 0x02, 0xD5, 0x01, 0xF3, 0x3B, 0x60, 0x95, 0x33, 0x97, +0x23, 0x9F, 0x08, 0xC9, 0x96, 0x69, 0x2D, 0x37, 0x0F, 0x8C, 0x03, 0x72, 0xFE, 0xD9, 0xCD, 0xB1, +0x6C, 0x01, 0x0C, 0xC2, 0x1C, 0xB0, 0xF9, 0x4E, 0x3D, 0x3A, 0x23, 0xFC, 0x43, 0x32, 0x55, 0x22, +0x5C, 0x41, 0xF7, 0x17, 0xFE, 0xE7, 0x0C, 0xD0, 0x11, 0x10, 0xA3, 0x7F, 0x14, 0x81, 0xF9, 0x1F, +0x82, 0xC6, 0x08, 0x08, 0x04, 0x52, 0x02, 0x92, 0xFE, 0x2F, 0xE2, 0x36, 0x80, 0x54, 0xF3, 0x07, +0xF7, 0x3F, 0x2C, 0x07, 0x5C, 0x60, 0x10, 0x10, 0xE4, 0x2B, 0x25, 0xE7, 0xDF, 0x43, 0xBF, 0xD7, +0x4B, 0x60, 0xEE, 0x7F, 0xB6, 0x01, 0xB8, 0x0A, 0x40, 0x9C, 0x66, 0xE3, 0x65, 0xDF, 0x11, 0x80, +0x1C, 0x7F, 0x38, 0x93, 0x3C, 0xA6, 0xFF, 0x69, 0xC3, 0x2A, 0x9C, 0xBF, 0xCD, 0x3F, 0x18, 0xA0, +0x6B, 0xB0, 0x29, 0x8E, 0xF8, 0x9F, 0x64, 0x5F, 0x1C, 0x10, 0xCB, 0xA1, 0xE1, 0x7E, 0x39, 0x08, +0xFD, 0x96, 0x90, 0xBC, 0xD7, 0xEB, 0x68, 0x28, 0x6C, 0xC3, 0x06, 0x60, 0xEE, 0x80, 0xF0, 0xBF, +0xE5, 0xA6, 0x02, 0xE6, 0x06, 0xB8, 0x13, 0xF2, 0x3F, 0x10, 0xD0, 0xC6, 0x8B, 0xE0, 0x14, 0x8C, +0x80, 0x6B, 0x12, 0x2C, 0x07, 0x3C, 0x82, 0x00, 0x55, 0x14, 0xD0, 0x2D, 0x80, 0x26, 0x10, 0xC4, +0x02, 0x18, 0x3B, 0x0A, 0x4D, 0xC6, 0x3F, 0x37, 0x0B, 0x5C, 0x21, 0x20, 0x26, 0x95, 0x7D, 0xA3, +0x05, 0x02, 0xD3, 0xDC, 0x1C, 0x73, 0xFF, 0xF3, 0x5B, 0x42, 0xD6, 0xED, 0x50, 0xFF, 0x43, 0x0E, +0xCF, 0x71, 0x1B, 0xD4, 0xFC, 0xE5, 0x6E, 0x11, 0x70, 0xC7, 0x19, 0xE0, 0x12, 0x1F, 0xB4, 0xB9, +0x03, 0x9E, 0xB6, 0xFC, 0x2F, 0xBF, 0x3B, 0xA0, 0x5D, 0xEB, 0x00, 0xA0, 0x43, 0x60, 0x6B, 0x6A, +0xB8, 0xCC, 0xBF, 0x6E, 0x0A, 0xF8, 0x6F, 0xF8, 0x5F, 0xEF, 0x71, 0xC0, 0xBF, 0xB3, 0x00, 0xBA, +0x3D, 0x10, 0xF8, 0x0E, 0xF1, 0x3F, 0x73, 0x40, 0xB7, 0x01, 0x24, 0x73, 0x40, 0x74, 0x86, 0x41, +0xC0, 0x8A, 0xFC, 0xF9, 0x5E, 0xB0, 0x14, 0x52, 0x94, 0xC0, 0xD3, 0x87, 0x4E, 0x70, 0x7E, 0x65, +0xE6, 0x12, 0x68, 0xBF, 0x60, 0xFC, 0x63, 0x79, 0x61, 0x83, 0xE5, 0x84, 0x7F, 0xFA, 0xCD, 0xDB, +0x51, 0x00, 0x5E, 0x62, 0x1C, 0x70, 0x77, 0x45, 0x82, 0x01, 0xC0, 0x09, 0xFC, 0xCB, 0xE4, 0xAF, +0xD8, 0x63, 0x6D, 0x76, 0x81, 0xB7, 0x7E, 0x96, 0x4D, 0x00, 0xB7, 0x10, 0xC8, 0xC7, 0xFF, 0xFC, +0x72, 0xC0, 0x15, 0xCB, 0x2E, 0x36, 0x80, 0xD0, 0xE4, 0xFE, 0x77, 0x5D, 0xA9, 0xE4, 0x80, 0x1A, +0x6C, 0x00, 0x91, 0x53, 0x35, 0x59, 0x07, 0xB8, 0x6E, 0x80, 0xD2, 0x60, 0x02, 0xB8, 0xED, 0x7F, +0xF9, 0x02, 0x40, 0xBB, 0xD2, 0xBB, 0x01, 0xF0, 0xCD, 0x78, 0x9E, 0x0C, 0x80, 0x18, 0xFF, 0xEB, +0xEF, 0x80, 0x53, 0x92, 0xC9, 0x9E, 0x6F, 0xF4, 0x31, 0x76, 0x80, 0x29, 0xFF, 0xD2, 0x97, 0xC4, +0xF9, 0x05, 0x30, 0x29, 0xF8, 0x2B, 0x6C, 0x09, 0xB1, 0x1B, 0x20, 0x94, 0x05, 0x10, 0x35, 0x63, +0xFD, 0x5F, 0x3F, 0x15, 0x0C, 0x04, 0x96, 0xC6, 0x00, 0xF5, 0xC4, 0xFD, 0x0F, 0x3E, 0x60, 0xB3, +0xC0, 0xAD, 0xB7, 0x94, 0x06, 0x04, 0x5C, 0xB3, 0x60, 0x4B, 0xC8, 0x8A, 0xE6, 0xF8, 0x26, 0xEC, +0x7F, 0x66, 0x5F, 0xF0, 0xBF, 0x2A, 0x01, 0x9F, 0x63, 0xF9, 0x4B, 0xBB, 0xC0, 0x49, 0xF2, 0x47, +0xEA, 0x13, 0x85, 0x6F, 0x30, 0xC7, 0xD8, 0x00, 0x12, 0x22, 0xA0, 0xDE, 0x01, 0x3F, 0x0A, 0xC0, +0x45, 0x5B, 0x00, 0xD3, 0x17, 0xA5, 0xDB, 0x56, 0x38, 0x79, 0x7D, 0x89, 0x02, 0x2E, 0x3D, 0xFE, +0x70, 0x39, 0xE5, 0x5B, 0x8D, 0xC0, 0x3F, 0x9E, 0x99, 0x2D, 0x00, 0x84, 0x01, 0x92, 0x09, 0x8B, +0xAE, 0x00, 0x74, 0xFE, 0x47, 0x10, 0xD8, 0x37, 0x95, 0xF5, 0x7F, 0x5D, 0xD6, 0x03, 0x4E, 0x89, +0x51, 0xAE, 0xD9, 0x28, 0xFE, 0xDE, 0xD1, 0x3B, 0x60, 0xD1, 0xD8, 0x02, 0x68, 0x00, 0xCF, 0x95, +0xD1, 0x50, 0xD8, 0x87, 0x0D, 0x20, 0x6D, 0x0B, 0x1C, 0xF8, 0x47, 0x33, 0x37, 0x02, 0xDA, 0x25, +0x09, 0x0C, 0x7A, 0x03, 0xDC, 0x81, 0xFF, 0xD1, 0x8C, 0x06, 0xB8, 0x20, 0xB9, 0x4E, 0x04, 0x04, +0xFF, 0x68, 0x2F, 0x58, 0xB3, 0x0A, 0x64, 0x5C, 0x00, 0x1D, 0x06, 0x20, 0xF1, 0xBF, 0x6C, 0x41, +0x74, 0x13, 0x80, 0xF6, 0xCB, 0xE0, 0x5F, 0xEB, 0xCF, 0x54, 0xAF, 0xBC, 0xC2, 0xF8, 0x5F, 0x88, +0x80, 0x9C, 0x7F, 0xD8, 0x12, 0xB2, 0x8E, 0x64, 0xA3, 0x03, 0x7C, 0x5D, 0xAD, 0x21, 0x87, 0x9A, +0x65, 0x28, 0xD9, 0x04, 0x88, 0xEF, 0x50, 0xE0, 0xB1, 0x67, 0x37, 0xC0, 0x9F, 0x93, 0xCF, 0xEB, +0x6C, 0x01, 0x4C, 0x08, 0x80, 0xAF, 0x37, 0x01, 0xF8, 0x66, 0x1F, 0x01, 0xE4, 0x04, 0xEC, 0xDF, +0x09, 0xEE, 0xEF, 0x80, 0xF1, 0x04, 0xE8, 0xA7, 0xC1, 0x1D, 0xA0, 0xB9, 0x03, 0x3A, 0xFF, 0xCB, +0xC0, 0x97, 0x6D, 0x8A, 0xC3, 0x02, 0xC0, 0xA2, 0x00, 0xE2, 0x87, 0xF0, 0x3F, 0xEA, 0x80, 0xD9, +0xEC, 0xEF, 0xB2, 0x6E, 0x80, 0x02, 0xC0, 0xEF, 0xB8, 0x00, 0x8E, 0x76, 0xF0, 0x62, 0xDC, 0x01, +0x72, 0xDD, 0xAC, 0x84, 0x40, 0xF0, 0x8F, 0x3A, 0x60, 0x80, 0x7F, 0xD8, 0x16, 0x8C, 0x0D, 0x20, +0x14, 0x80, 0x37, 0x57, 0x54, 0x00, 0x8D, 0x80, 0xCF, 0x93, 0x02, 0xFA, 0x87, 0xFE, 0x58, 0xCB, +0x7E, 0x5D, 0x7E, 0x22, 0x73, 0x1C, 0x0D, 0xFA, 0xE1, 0x44, 0xF9, 0x87, 0xE5, 0x80, 0xF2, 0x5F, +0x65, 0xFC, 0x23, 0xC1, 0x02, 0x40, 0x1A, 0xE3, 0x1F, 0x33, 0x40, 0xDD, 0x13, 0xF7, 0x22, 0x01, +0x90, 0x28, 0x20, 0xE6, 0x82, 0x77, 0xBC, 0x01, 0xC2, 0xFC, 0xEC, 0x9C, 0xE6, 0x7F, 0xE5, 0x5A, +0xA4, 0xB1, 0xF5, 0x2F, 0xA8, 0x16, 0x00, 0xC1, 0x3F, 0x5F, 0x00, 0xE0, 0x34, 0xFE, 0x4D, 0x20, +0x65, 0x7F, 0xFE, 0x81, 0x7E, 0x7D, 0x09, 0xD8, 0x61, 0x01, 0xA0, 0x6B, 0x04, 0x7F, 0xD8, 0x00, +0x42, 0x82, 0x1B, 0xA0, 0xD6, 0x1C, 0x10, 0x53, 0xC1, 0xCA, 0x3F, 0x2E, 0x80, 0xAA, 0x80, 0xF1, +0xCC, 0x55, 0xED, 0xF2, 0xC1, 0xBF, 0x8A, 0x01, 0xEE, 0x60, 0x01, 0x34, 0xED, 0x05, 0x07, 0xFC, +0x0F, 0xBD, 0xE0, 0x75, 0x2C, 0x7F, 0x08, 0x01, 0x8F, 0x57, 0xB1, 0xE0, 0x0E, 0x80, 0x34, 0xF0, +0x3F, 0xCA, 0xAB, 0x7B, 0xE0, 0xCF, 0x3D, 0xB4, 0xD2, 0x13, 0x43, 0x61, 0x6D, 0x46, 0xC5, 0xAF, +0x86, 0x89, 0x45, 0x81, 0x1E, 0xE5, 0xDF, 0xF1, 0x0A, 0xFE, 0x17, 0x20, 0xE0, 0x00, 0xB9, 0x46, +0x8D, 0xC1, 0x06, 0x10, 0xFE, 0x29, 0x88, 0x0E, 0x70, 0xC9, 0x00, 0xB5, 0x6C, 0x76, 0x4D, 0xFC, +0x8F, 0x06, 0x23, 0x84, 0x78, 0x0B, 0xC8, 0x2C, 0xB0, 0x60, 0xC6, 0x0A, 0xE4, 0x09, 0x05, 0xD8, +0x7B, 0x3D, 0xFD, 0xDD, 0x91, 0x43, 0x22, 0x58, 0x0B, 0x1D, 0x93, 0xA0, 0xF6, 0xD4, 0x58, 0x7B, +0x75, 0x42, 0xFF, 0x37, 0x58, 0x01, 0xFF, 0xC3, 0x82, 0x68, 0x8C, 0xF9, 0x8D, 0xC9, 0x4C, 0x70, +0xB3, 0x17, 0x3C, 0xDC, 0x00, 0x66, 0xF3, 0xD0, 0xCA, 0x7F, 0x34, 0x10, 0xF1, 0x64, 0xBE, 0x37, +0x9F, 0xCF, 0x4F, 0x03, 0xC7, 0xFB, 0x3B, 0xF1, 0x2C, 0xE3, 0x11, 0xFF, 0x8B, 0xBD, 0xAD, 0x0E, +0x17, 0xEB, 0x1F, 0xD7, 0xC1, 0xFC, 0x78, 0xB6, 0xBB, 0xBB, 0x7B, 0xB6, 0xE2, 0x8F, 0xA3, 0xDD, +0x09, 0xFC, 0xBB, 0xBA, 0x0F, 0xE6, 0xEA, 0xFE, 0x97, 0x78, 0xEE, 0x85, 0x6D, 0xB1, 0xC0, 0x54, +0x69, 0x82, 0xFF, 0xF9, 0x32, 0x51, 0x74, 0xF7, 0xA3, 0xFE, 0xFF, 0x0A, 0x94, 0x1C, 0xF2, 0x1A, +0x04, 0x03, 0xFE, 0xF1, 0xC8, 0xE5, 0x82, 0xEF, 0x18, 0x2C, 0x7F, 0xF3, 0xA0, 0x36, 0x9A, 0x79, +0x30, 0x62, 0x8A, 0x6F, 0xC9, 0x25, 0x7E, 0x62, 0x47, 0xC6, 0x91, 0x0F, 0x52, 0x69, 0x94, 0x3F, +0x2D, 0x38, 0x39, 0x59, 0x0B, 0x57, 0x3C, 0x1F, 0xBC, 0xF7, 0xC1, 0x7B, 0x2F, 0x85, 0x8E, 0x0F, +0xA6, 0x50, 0x2D, 0x5C, 0xC0, 0x5A, 0xC8, 0xEA, 0x82, 0x79, 0x4C, 0x00, 0xF2, 0x88, 0x02, 0x9E, +0x24, 0xE4, 0x6D, 0x1E, 0x5A, 0x5B, 0x87, 0x3C, 0x04, 0x80, 0x3B, 0xCF, 0xE4, 0xBA, 0xDA, 0x89, +0x54, 0x34, 0x5F, 0x4C, 0x21, 0xE0, 0xE1, 0xF5, 0xF5, 0xF5, 0x82, 0x97, 0xFE, 0xAE, 0x6F, 0x7E, +0x8C, 0xE6, 0xE8, 0x2C, 0x9C, 0x3B, 0x41, 0x60, 0xA4, 0x74, 0xAB, 0xC8, 0xFD, 0xAD, 0x54, 0x20, +0xB2, 0xDE, 0xE5, 0x87, 0x68, 0x64, 0x38, 0x50, 0xFE, 0x86, 0xC8, 0x9F, 0x29, 0x00, 0xB4, 0x7F, +0x57, 0x56, 0xBB, 0x77, 0x67, 0xE1, 0x1C, 0xFD, 0x18, 0xCD, 0x37, 0x8B, 0xEB, 0x68, 0x60, 0x80, +0x34, 0xD1, 0x4B, 0x2A, 0x65, 0xAE, 0x07, 0xCF, 0x5C, 0x00, 0x78, 0xB2, 0x51, 0x65, 0xF6, 0x70, +0x90, 0xE5, 0xE9, 0xCA, 0x3F, 0x10, 0x30, 0x1A, 0xC5, 0x5A, 0x7F, 0xFC, 0x29, 0xD8, 0x22, 0xA5, +0xFC, 0x43, 0x7A, 0x01, 0x50, 0x67, 0x41, 0xF6, 0x09, 0xF9, 0xB0, 0x21, 0x84, 0x12, 0x10, 0xD3, +0x20, 0x03, 0x01, 0x37, 0x0F, 0xAD, 0xED, 0x43, 0x9A, 0xD9, 0x4C, 0x2F, 0xA8, 0x10, 0xFF, 0x5E, +0xD3, 0xEB, 0x90, 0x97, 0xE2, 0x2F, 0x4E, 0x40, 0xFD, 0x22, 0x9D, 0x58, 0x64, 0x04, 0x2A, 0x4A, +0xC0, 0xA3, 0x4F, 0x3F, 0x3D, 0x0B, 0xE5, 0xC3, 0xB3, 0xBB, 0x20, 0x00, 0x77, 0x85, 0x7F, 0x57, +0x57, 0x8A, 0x21, 0x56, 0xCA, 0x33, 0x11, 0xBB, 0x1F, 0x82, 0x25, 0xB9, 0x8F, 0x44, 0xF8, 0x77, +0x15, 0x25, 0xA0, 0x00, 0xF0, 0x2E, 0xCC, 0xBF, 0x4F, 0xA3, 0x04, 0xD4, 0x41, 0xC0, 0x28, 0xFF, +0xE2, 0x00, 0x94, 0x8B, 0x25, 0x8C, 0xC0, 0x67, 0xB8, 0x50, 0x49, 0xCD, 0x66, 0xB3, 0xB7, 0x18, +0x00, 0x23, 0x28, 0xFB, 0x17, 0x1C, 0x30, 0xCC, 0xBF, 0x49, 0x89, 0x03, 0x30, 0xEE, 0x7F, 0xBD, +0x09, 0xA8, 0xBF, 0x4B, 0x13, 0xF4, 0xBF, 0xAF, 0x41, 0x40, 0xC2, 0xBF, 0xCF, 0x5E, 0x79, 0xE5, +0x6D, 0xB3, 0x3E, 0x52, 0xB3, 0x0B, 0x25, 0x60, 0xA0, 0x94, 0x7F, 0x53, 0x12, 0xE7, 0x9F, 0x38, +0x20, 0x37, 0x0B, 0xF5, 0xBF, 0x30, 0x01, 0x8F, 0x34, 0x41, 0xFE, 0xED, 0xDE, 0xED, 0x9E, 0x45, +0xA8, 0x92, 0xF8, 0x97, 0x1C, 0x90, 0xE7, 0xF6, 0xA7, 0x5F, 0x7E, 0x09, 0x3A, 0xE0, 0x2F, 0x9A, +0xDB, 0x20, 0xFF, 0x40, 0x40, 0xCE, 0xBF, 0xA8, 0x03, 0x7E, 0x7A, 0xA4, 0x04, 0xFC, 0x46, 0xF4, +0xAE, 0x59, 0xFA, 0x1B, 0x2E, 0x25, 0xBF, 0x46, 0xF0, 0x87, 0x59, 0xE0, 0x40, 0x8C, 0x6E, 0xA1, +0xC4, 0x00, 0xA8, 0xFC, 0xBB, 0xB8, 0x38, 0xD9, 0x20, 0x60, 0x19, 0x7F, 0x89, 0x70, 0x1C, 0x7F, +0xF8, 0x52, 0xDF, 0x38, 0x02, 0x27, 0xA5, 0x23, 0xFF, 0x90, 0xA7, 0xE1, 0x1F, 0x12, 0xE6, 0x9F, +0x3C, 0x0B, 0xF3, 0x4F, 0xEF, 0x03, 0xC3, 0xF3, 0xCA, 0x10, 0x4A, 0xC0, 0xB7, 0x06, 0xFE, 0xCD, +0x4E, 0xF4, 0x92, 0xA1, 0x35, 0x21, 0x4B, 0xA9, 0x08, 0x02, 0x65, 0xA6, 0x58, 0xB2, 0x8C, 0x39, +0xA0, 0xBC, 0xFF, 0xA2, 0x04, 0xD4, 0x77, 0xF5, 0xD1, 0xA7, 0x67, 0x77, 0x91, 0xFE, 0x6F, 0xAA, +0x98, 0xFF, 0x29, 0x00, 0x23, 0x04, 0xBC, 0x4D, 0x50, 0x0B, 0x39, 0xA0, 0xFE, 0x36, 0xA5, 0x65, +0x80, 0x7F, 0x5F, 0xFD, 0x0C, 0x02, 0x52, 0xFE, 0x69, 0xDD, 0x05, 0xFD, 0x4F, 0x13, 0xE9, 0xFF, +0x8E, 0xCB, 0x60, 0x42, 0xFE, 0x17, 0x27, 0xA0, 0x5D, 0x2D, 0xB1, 0x3C, 0x93, 0x8A, 0xF9, 0x5F, +0x4E, 0xC0, 0x9A, 0xFE, 0x11, 0x0D, 0xFC, 0xBB, 0x06, 0x38, 0x95, 0x81, 0x41, 0xFC, 0xF5, 0x27, +0x60, 0x1C, 0x7F, 0x00, 0x60, 0x4F, 0x07, 0xB4, 0xC4, 0xF8, 0xA7, 0x79, 0x39, 0xC0, 0x3F, 0x11, +0x40, 0x51, 0x40, 0xD9, 0x08, 0x17, 0xF2, 0x3F, 0x4D, 0x80, 0x80, 0x22, 0x80, 0xCF, 0x26, 0x42, +0x90, 0xE7, 0x50, 0x12, 0x72, 0xC0, 0xC3, 0xEB, 0xCB, 0xF1, 0x0D, 0x98, 0x5C, 0xA5, 0xAD, 0x2A, +0x9F, 0x9E, 0x1D, 0x29, 0x00, 0x8F, 0x22, 0xFE, 0x17, 0x23, 0xA0, 0xE4, 0x6A, 0xC8, 0xCF, 0x5F, +0x09, 0x8B, 0x38, 0xFF, 0x34, 0xC9, 0x01, 0xF1, 0x90, 0xC3, 0x9E, 0xE1, 0xB0, 0xDC, 0x86, 0xF8, +0x07, 0x02, 0x72, 0xFF, 0xD3, 0x8A, 0xF2, 0x4F, 0x5A, 0x25, 0x9C, 0x3C, 0xAC, 0xC5, 0x09, 0xFC, +0xB3, 0x70, 0xFF, 0xB3, 0x84, 0xF8, 0xA7, 0x47, 0xD4, 0x01, 0x9F, 0xC9, 0x11, 0xF2, 0xBF, 0x44, +0xC0, 0x19, 0x08, 0x58, 0x11, 0x40, 0x56, 0xC8, 0x04, 0x0A, 0xA2, 0x89, 0xE7, 0x31, 0xF8, 0xD7, +0x5D, 0xFF, 0xFA, 0x13, 0x10, 0x61, 0x00, 0x54, 0xF6, 0x81, 0x80, 0xD4, 0xFF, 0x8C, 0x80, 0x4D, +0x04, 0x82, 0x7F, 0x01, 0x02, 0x3E, 0x8B, 0x4F, 0x80, 0x2C, 0x53, 0x45, 0x14, 0x10, 0xEF, 0x14, +0xDA, 0x09, 0xBE, 0xB4, 0x70, 0x07, 0x3C, 0xFA, 0xF0, 0x48, 0x12, 0x72, 0x40, 0xE3, 0xDF, 0xDD, +0x6E, 0x8C, 0x7F, 0xD6, 0x0B, 0x26, 0xFD, 0xDF, 0x8C, 0x80, 0x52, 0x55, 0x04, 0x1A, 0x2B, 0x7F, +0x22, 0x04, 0x94, 0x5F, 0x15, 0xFE, 0x81, 0x80, 0x84, 0x7F, 0x56, 0x21, 0xFE, 0x69, 0xCE, 0x3E, +0x35, 0xDC, 0x69, 0x2B, 0x95, 0x9F, 0xF4, 0x09, 0x5E, 0x00, 0xEE, 0x7F, 0x71, 0x02, 0x1A, 0xFE, +0xF4, 0x11, 0x26, 0x20, 0x43, 0xE0, 0xC5, 0xCC, 0x11, 0xD0, 0xE3, 0x0F, 0xB4, 0x0A, 0x1A, 0xA0, +0xF1, 0x30, 0x2A, 0x80, 0xD3, 0x00, 0xF8, 0xD2, 0x7B, 0xDD, 0xF8, 0x87, 0xF4, 0xF3, 0x3F, 0xA4, +0x2B, 0x02, 0x83, 0x04, 0x94, 0x59, 0x92, 0xAF, 0x29, 0x01, 0x31, 0xFF, 0x01, 0x02, 0x92, 0x0E, +0xF0, 0xEC, 0x01, 0x80, 0x27, 0x17, 0x6D, 0x02, 0x3E, 0x1B, 0x7A, 0x1F, 0x51, 0xF7, 0xB3, 0x96, +0xF2, 0x0F, 0xA1, 0xFC, 0x43, 0x86, 0xB7, 0xA5, 0x35, 0x68, 0xC1, 0x3F, 0x7B, 0x5F, 0x33, 0x07, +0x54, 0x56, 0x58, 0x05, 0xF9, 0x27, 0x2B, 0x51, 0xBE, 0xBA, 0xBD, 0xA5, 0xFE, 0xF7, 0x13, 0x7A, +0xC1, 0x45, 0xF6, 0x8D, 0xFE, 0xB7, 0xF9, 0x9B, 0xDB, 0xFC, 0x13, 0xF0, 0x3E, 0x84, 0x00, 0x50, +0xFD, 0xCF, 0x8A, 0xF3, 0xCF, 0x42, 0x04, 0xF0, 0x12, 0x61, 0x04, 0x5C, 0xC6, 0x09, 0x38, 0x5E, +0x28, 0xCB, 0xA8, 0x03, 0x3E, 0xE3, 0xE3, 0x80, 0xE0, 0x1F, 0x08, 0xD8, 0xC1, 0x00, 0xE3, 0x04, +0x44, 0xD3, 0xAF, 0x17, 0xFC, 0xDE, 0xA3, 0x10, 0xF0, 0xA9, 0x01, 0x98, 0x65, 0xBF, 0xC9, 0x3F, +0xE0, 0x8F, 0x3A, 0xE0, 0x2B, 0x8C, 0x80, 0xE0, 0xDF, 0x05, 0x2E, 0x95, 0x99, 0x10, 0xB0, 0x09, +0xC0, 0xD7, 0x82, 0xFA, 0x87, 0x0B, 0x5A, 0x1F, 0x9C, 0x7F, 0xA1, 0x4E, 0xB0, 0xF5, 0x7F, 0x41, +0xC0, 0x12, 0x02, 0xB5, 0xE0, 0x7F, 0x63, 0x2F, 0xF8, 0x8E, 0x0E, 0x00, 0xF2, 0x4E, 0x70, 0xE2, +0x1F, 0x52, 0x27, 0xA0, 0xFE, 0x78, 0x24, 0x9A, 0x05, 0x0A, 0x98, 0x1D, 0xE0, 0x9F, 0x21, 0xB0, +0x4E, 0xC0, 0x5B, 0x29, 0xE0, 0x8F, 0x28, 0x20, 0x98, 0xCE, 0x01, 0x78, 0x04, 0x00, 0x7E, 0xFA, +0xA1, 0x75, 0x82, 0xCB, 0x08, 0xBC, 0xCC, 0x42, 0xF9, 0x87, 0x84, 0x3A, 0xC0, 0x71, 0x05, 0x7C, +0x96, 0xEA, 0xA3, 0x16, 0x00, 0x67, 0xC8, 0xC5, 0x03, 0x01, 0x89, 0x00, 0x32, 0x04, 0x62, 0x06, +0xA4, 0xBF, 0x01, 0x62, 0x39, 0x60, 0x7F, 0xFE, 0x3D, 0x9D, 0x00, 0x72, 0x02, 0x02, 0x80, 0x8C, +0x80, 0xFB, 0xE0, 0x1F, 0x27, 0xE0, 0x5B, 0xAF, 0x10, 0x02, 0xA2, 0xFF, 0xAB, 0xFC, 0x43, 0x2E, +0xFE, 0xE2, 0xEE, 0x6C, 0x5A, 0xDB, 0xB8, 0xA2, 0x30, 0x9C, 0x14, 0x1B, 0xDA, 0x94, 0x50, 0xB4, +0x10, 0x86, 0xB8, 0x54, 0x50, 0xF0, 0xC2, 0x85, 0x40, 0x37, 0x45, 0xB6, 0xC1, 0xD0, 0x1A, 0x84, +0x50, 0x41, 0x18, 0x1C, 0x2F, 0x2A, 0xB4, 0xEB, 0xC2, 0x8B, 0x7A, 0x25, 0x0C, 0xF5, 0x22, 0x74, +0x13, 0x83, 0x17, 0xDA, 0x78, 0xE9, 0xDF, 0xD0, 0x3F, 0x90, 0xDF, 0xD7, 0x73, 0xEE, 0xCC, 0xC9, +0xEB, 0xEB, 0x33, 0x77, 0xDE, 0x33, 0xF1, 0x18, 0xB5, 0x7D, 0xEF, 0xD5, 0x1D, 0xD9, 0x56, 0x4C, +0xA2, 0xCC, 0x3C, 0x7E, 0xEE, 0xD7, 0xB8, 0xFC, 0x83, 0xF5, 0x97, 0xC1, 0x20, 0x6E, 0x80, 0xF9, +0x19, 0x4D, 0xF9, 0x87, 0x90, 0x09, 0x60, 0x47, 0x40, 0x27, 0x80, 0xE8, 0xFF, 0x02, 0x80, 0x46, +0x40, 0xE2, 0x7F, 0x36, 0x15, 0x5C, 0x98, 0xFF, 0xAD, 0xF1, 0x83, 0x4E, 0x70, 0xB9, 0x17, 0x5C, +0x77, 0x7E, 0xAF, 0xAC, 0x13, 0x0C, 0x03, 0xCC, 0x24, 0x50, 0x02, 0xF8, 0xD5, 0xE1, 0xFE, 0x07, +0x07, 0x0C, 0xF0, 0x8F, 0xCF, 0x84, 0x18, 0xFE, 0x6C, 0x18, 0xD0, 0xD3, 0xCF, 0x9A, 0xC5, 0x45, +0x98, 0x80, 0xE3, 0x38, 0x00, 0xED, 0x6C, 0x91, 0x9A, 0x1A, 0x1A, 0x9C, 0x81, 0x65, 0xFF, 0x1B, +0x6E, 0xE5, 0x04, 0x6C, 0x06, 0x60, 0xC6, 0xBE, 0x40, 0x0F, 0x18, 0xF4, 0x23, 0x0E, 0xE8, 0x14, +0x30, 0x9E, 0x1E, 0xF9, 0x87, 0x6C, 0xC4, 0xFF, 0x10, 0x32, 0x01, 0x9C, 0x87, 0xFA, 0x1F, 0x08, +0xC8, 0xFC, 0x0F, 0x09, 0xF8, 0x1F, 0x86, 0x01, 0x8B, 0xF3, 0xBF, 0x41, 0x03, 0x9C, 0x67, 0x5D, +0x9A, 0xD4, 0x52, 0x00, 0xC2, 0x01, 0x79, 0xFF, 0x17, 0xC3, 0x80, 0x25, 0x04, 0xCE, 0x70, 0x55, +0x33, 0x02, 0x7E, 0xEF, 0x00, 0xD8, 0xB6, 0x00, 0x06, 0x51, 0x18, 0xC1, 0x01, 0x1D, 0xFF, 0x72, +0xAE, 0xAD, 0xFD, 0xCC, 0x87, 0x29, 0xA0, 0x05, 0xE3, 0x80, 0x8C, 0x7F, 0xC8, 0x5F, 0x65, 0x59, +0x8D, 0x03, 0x10, 0xFE, 0xA7, 0x91, 0x37, 0xCE, 0xDE, 0xC7, 0x85, 0x1D, 0x2C, 0x17, 0x2E, 0x7C, +0x00, 0x90, 0x13, 0x10, 0xF8, 0xB3, 0x93, 0x25, 0x66, 0x80, 0xDB, 0xF2, 0x28, 0xFE, 0xA8, 0xC6, +0x49, 0x9D, 0x39, 0x60, 0x69, 0xFD, 0x1F, 0xC3, 0x1F, 0xE0, 0x87, 0x36, 0x6E, 0x80, 0x5A, 0xE3, +0x21, 0xFC, 0xEB, 0x17, 0x80, 0x3D, 0xF1, 0x8F, 0x87, 0xFB, 0x1F, 0x1C, 0x90, 0xF9, 0x1F, 0x42, +0x07, 0x00, 0x91, 0xC2, 0x3C, 0xC8, 0xD6, 0x52, 0x8A, 0x23, 0x60, 0x79, 0x02, 0x24, 0x38, 0x0B, +0x3C, 0x79, 0xDC, 0xA7, 0xA1, 0xFC, 0xE3, 0x04, 0x3C, 0xB9, 0x70, 0x59, 0x78, 0xFA, 0xA5, 0xE6, +0xC8, 0x02, 0x02, 0x92, 0xFE, 0x2F, 0xED, 0x05, 0x3B, 0xFE, 0x61, 0x22, 0xA4, 0xC8, 0x3F, 0x20, +0x50, 0xE9, 0xE6, 0x7B, 0xBF, 0xDA, 0x34, 0x64, 0x5D, 0x5A, 0x00, 0x88, 0xA0, 0x17, 0x4C, 0x26, +0x80, 0x51, 0xA8, 0xFF, 0xB9, 0x71, 0x40, 0x64, 0x51, 0xD5, 0x0B, 0x1F, 0xC6, 0x3F, 0x84, 0x0F, +0x00, 0x62, 0xC8, 0x64, 0x1E, 0x35, 0x40, 0x32, 0x01, 0x9C, 0x11, 0xD0, 0x8F, 0x01, 0x3E, 0x36, +0xB5, 0x12, 0xC7, 0xB2, 0x1E, 0xB0, 0x75, 0x82, 0x09, 0x04, 0x9F, 0x30, 0x0E, 0xF8, 0xEF, 0x04, +0x20, 0x50, 0xD6, 0xAF, 0x04, 0x36, 0x84, 0xF1, 0x0F, 0xF9, 0x8D, 0xFB, 0x1F, 0x14, 0xF0, 0xB4, +0xA9, 0x03, 0x0C, 0xFA, 0x51, 0x02, 0xC2, 0x00, 0x63, 0xF8, 0xB3, 0xA3, 0x9D, 0xD7, 0x8C, 0x7F, +0xC8, 0x09, 0x11, 0x40, 0x24, 0xE7, 0x9E, 0x25, 0x73, 0x1A, 0x4C, 0x05, 0x13, 0xFE, 0xA1, 0x50, +0xFF, 0x03, 0x01, 0xCF, 0xD6, 0xCD, 0x13, 0xC0, 0xA0, 0x9F, 0x5B, 0x0C, 0x63, 0x15, 0x13, 0xC0, +0x19, 0x2E, 0xA5, 0xAE, 0x9B, 0xF9, 0xF7, 0x17, 0x27, 0xA0, 0xF7, 0x3F, 0x38, 0x20, 0xF5, 0x3F, +0xE8, 0x32, 0x98, 0xA7, 0x15, 0xFE, 0xE7, 0x73, 0xC2, 0xF8, 0x87, 0x94, 0xFD, 0x0F, 0x06, 0x88, +0x27, 0x94, 0x80, 0xDB, 0x52, 0xE4, 0x50, 0x5A, 0x00, 0xE8, 0x09, 0x98, 0x77, 0x81, 0x41, 0x3B, +0x8E, 0xC0, 0x3A, 0x78, 0x62, 0x2D, 0xC5, 0x1F, 0x9A, 0x2E, 0xE9, 0x91, 0x7F, 0xC8, 0x06, 0xC6, +0xFF, 0x38, 0x01, 0x0B, 0xA1, 0xFC, 0x43, 0xA8, 0xFF, 0x21, 0xCD, 0xFC, 0x0B, 0x13, 0xD0, 0xE0, +0xD7, 0x7D, 0x0C, 0xB0, 0x3E, 0x50, 0xFE, 0xC1, 0x01, 0x99, 0xFF, 0x21, 0x6E, 0xB0, 0x0A, 0xFE, +0x17, 0x71, 0x40, 0x27, 0x4A, 0xA5, 0xA9, 0x60, 0xF0, 0x8F, 0x3B, 0xE0, 0x3A, 0x27, 0x1A, 0x08, +0x98, 0x77, 0x80, 0xB5, 0xC5, 0x6B, 0xB2, 0xAC, 0x39, 0xFF, 0x40, 0x40, 0xE2, 0x7F, 0x28, 0xD4, +0xFF, 0xF0, 0x5E, 0x51, 0xFF, 0x43, 0x18, 0xFF, 0x90, 0x02, 0xFF, 0xBC, 0x01, 0x4A, 0xE6, 0x84, +0x7F, 0x08, 0xF7, 0x3F, 0x10, 0x30, 0x07, 0x20, 0x33, 0x40, 0xF8, 0xDF, 0x47, 0x37, 0x01, 0x02, +0x1A, 0x06, 0x10, 0xD8, 0x87, 0x03, 0x7E, 0xF7, 0xE4, 0x6C, 0x46, 0x00, 0x11, 0x3E, 0xFE, 0x87, +0x78, 0x00, 0xDA, 0x02, 0x68, 0xEE, 0x80, 0x25, 0xFE, 0xE9, 0xA6, 0xB8, 0xE2, 0x02, 0x40, 0x4E, +0xC0, 0xC1, 0x76, 0xCC, 0x00, 0xE7, 0x25, 0x03, 0x1C, 0x10, 0xFE, 0x21, 0x13, 0x73, 0x40, 0xE2, +0x7F, 0x20, 0x60, 0x6E, 0x80, 0xB3, 0x38, 0x01, 0xCD, 0x95, 0x1C, 0x01, 0x8B, 0xFE, 0xC7, 0x09, +0xB8, 0xF6, 0xF4, 0x33, 0x02, 0xE6, 0x08, 0xC4, 0xFC, 0xAF, 0xFB, 0x23, 0xEB, 0xC2, 0x02, 0x40, +0x4A, 0x40, 0xF8, 0x1F, 0x77, 0x40, 0xF8, 0x9F, 0x0F, 0xFC, 0xCF, 0x09, 0x20, 0x75, 0xC0, 0x71, +0x29, 0x4D, 0x00, 0x6C, 0x34, 0xC0, 0x09, 0x37, 0xC0, 0x6A, 0x10, 0x50, 0x0B, 0xF7, 0x3F, 0x10, +0xF0, 0xB1, 0xFF, 0x71, 0x05, 0x34, 0xD0, 0x15, 0x0C, 0x30, 0x44, 0xBF, 0xEE, 0xC3, 0x80, 0x2F, +0xFA, 0xE3, 0x1F, 0xB2, 0x21, 0xFE, 0x21, 0x14, 0x80, 0x88, 0xF3, 0x3F, 0x00, 0xD0, 0x11, 0x90, +0xF1, 0x0F, 0x53, 0xC1, 0x4D, 0x1B, 0x40, 0x18, 0x01, 0xB1, 0x00, 0x30, 0x6A, 0x80, 0x93, 0x46, +0x03, 0xD4, 0x27, 0x94, 0x7F, 0x40, 0xA0, 0xDF, 0x00, 0xD2, 0x4A, 0x40, 0x6B, 0xA4, 0x42, 0x00, +0x29, 0x01, 0x01, 0x07, 0x0F, 0x40, 0x37, 0x01, 0x1C, 0x25, 0xE0, 0xBA, 0x41, 0xE9, 0x30, 0x15, +0x8C, 0xAA, 0x45, 0x52, 0x7A, 0x71, 0x61, 0x03, 0x08, 0x27, 0x20, 0xFC, 0xCF, 0x97, 0x02, 0xFF, +0x88, 0x03, 0x2E, 0xC0, 0xBF, 0x08, 0x01, 0xC7, 0xE5, 0x34, 0x0A, 0xA0, 0x33, 0x40, 0xAD, 0x63, +0xC6, 0x3F, 0x84, 0xFB, 0x1F, 0x96, 0x03, 0x36, 0x8C, 0xFE, 0x31, 0x02, 0xE6, 0xE0, 0xD3, 0x0A, +0x0F, 0x4C, 0x21, 0x04, 0xEC, 0x65, 0x39, 0xE0, 0x77, 0xFD, 0x64, 0x33, 0x13, 0x20, 0x08, 0xE5, +0x1F, 0xE2, 0x16, 0x40, 0x17, 0xF3, 0x92, 0xF1, 0xAF, 0xB0, 0x25, 0x04, 0xFC, 0xE3, 0x04, 0x4C, +0x3F, 0x69, 0x61, 0x80, 0xC4, 0xFF, 0x4A, 0x06, 0x28, 0x95, 0xF1, 0x0F, 0x0E, 0xC8, 0xFC, 0x0F, +0xF1, 0x1B, 0x80, 0x4B, 0x99, 0xB9, 0x1B, 0x60, 0x95, 0x11, 0xE8, 0x16, 0x40, 0x17, 0x82, 0x4D, +0x71, 0xE0, 0x5F, 0x39, 0xA9, 0xEB, 0x6B, 0x0D, 0xC8, 0x88, 0xC0, 0x01, 0xB9, 0xFF, 0x81, 0x80, +0xCC, 0xFF, 0xAC, 0x04, 0xF8, 0x87, 0x2D, 0x21, 0x99, 0x03, 0x5E, 0xB4, 0x84, 0xF2, 0x0F, 0xF1, +0xF8, 0x2B, 0x8F, 0x01, 0x72, 0x03, 0xAC, 0x1D, 0x70, 0xE0, 0x36, 0x80, 0x14, 0x09, 0x98, 0xF1, +0x2F, 0x84, 0x3F, 0x30, 0x0F, 0x2D, 0x18, 0xE8, 0x14, 0x90, 0x90, 0x35, 0x9C, 0x67, 0xE1, 0xDF, +0xA6, 0x06, 0x00, 0x11, 0x37, 0xFF, 0x5B, 0x0E, 0xE5, 0x1F, 0x08, 0xC8, 0xF8, 0x87, 0xB8, 0x05, +0x80, 0xC5, 0x2C, 0xB3, 0x1B, 0xC0, 0x48, 0xA8, 0x01, 0x42, 0x00, 0x8B, 0x06, 0x38, 0x70, 0xFC, +0x23, 0x04, 0x04, 0xFF, 0x18, 0x01, 0xE1, 0x7F, 0xB2, 0x03, 0x38, 0xE8, 0x80, 0xC6, 0x0A, 0x42, +0x40, 0xF8, 0x5F, 0xC9, 0x01, 0x1F, 0x2E, 0x86, 0xB9, 0x6A, 0x52, 0x3A, 0x90, 0xCE, 0xAD, 0x7F, +0x29, 0xBF, 0xD8, 0x2D, 0x80, 0x29, 0xE6, 0x7B, 0xB7, 0x01, 0xA4, 0x58, 0xD8, 0x00, 0x20, 0xB2, +0x42, 0xC0, 0xBF, 0x00, 0x01, 0x27, 0x9C, 0x80, 0x00, 0xA0, 0x33, 0x40, 0xBA, 0x25, 0x04, 0x06, +0x88, 0xB8, 0x0D, 0x20, 0xA5, 0x2C, 0x3B, 0x1B, 0xE0, 0x0B, 0xA8, 0x1E, 0xA0, 0x87, 0xA6, 0x8B, +0x01, 0x3E, 0x41, 0x01, 0xBF, 0xDB, 0xB0, 0x01, 0xF6, 0xC9, 0x3F, 0x94, 0xF6, 0xFC, 0x08, 0x00, +0xA2, 0xFF, 0x4B, 0x09, 0xA8, 0x77, 0xC0, 0x6A, 0x73, 0x40, 0xB7, 0x00, 0xB0, 0x98, 0x11, 0x1C, +0x50, 0xCE, 0xB0, 0x03, 0x62, 0x80, 0xC0, 0x5F, 0xC1, 0x00, 0x9D, 0x02, 0xFE, 0x30, 0x26, 0x17, +0xCA, 0xF5, 0x89, 0xDF, 0x00, 0xC2, 0x1D, 0xF0, 0x08, 0x61, 0x04, 0x04, 0x16, 0x18, 0x01, 0x3D, +0x72, 0x8A, 0x5B, 0x42, 0x3E, 0xF8, 0x5C, 0x35, 0xF5, 0x82, 0x31, 0x00, 0x98, 0xDA, 0xA2, 0x03, +0x62, 0x03, 0x08, 0x25, 0x20, 0x17, 0x40, 0x81, 0xE3, 0x5D, 0x40, 0x00, 0xB1, 0x25, 0x84, 0xF9, +0x9F, 0x85, 0x09, 0x20, 0x92, 0xF1, 0xAF, 0xCD, 0x00, 0x27, 0xB4, 0x0F, 0xBC, 0x5D, 0x15, 0x7D, +0xFE, 0x4B, 0xC4, 0xFF, 0x00, 0x40, 0x50, 0x8A, 0xF2, 0xAF, 0xE2, 0x1B, 0xE8, 0xE7, 0x9B, 0xB0, +0x00, 0x76, 0x54, 0xC0, 0x17, 0xFD, 0xF1, 0x0F, 0xD9, 0x1C, 0xFF, 0x3C, 0x01, 0x69, 0xB2, 0x3B, +0xC0, 0x10, 0x02, 0x12, 0xFE, 0x81, 0x80, 0xD4, 0xFF, 0x10, 0x03, 0xE0, 0x2F, 0x46, 0x3D, 0xB2, +0x0E, 0x90, 0x1B, 0xE0, 0x5C, 0x1A, 0xE6, 0x7F, 0x70, 0x40, 0xCA, 0x3F, 0xE4, 0xD3, 0x95, 0xAA, +0x8C, 0x6B, 0x05, 0xA0, 0x11, 0x70, 0x4A, 0xF9, 0x27, 0x21, 0xE3, 0x7F, 0x96, 0x07, 0x77, 0x88, +0x2E, 0x29, 0x9D, 0x27, 0xA0, 0x7E, 0xD0, 0xFA, 0xE2, 0x2B, 0xA3, 0x2A, 0x26, 0x80, 0x29, 0x01, +0x13, 0xFE, 0x08, 0x02, 0x99, 0xFF, 0xE1, 0xBD, 0xC2, 0x06, 0x38, 0x1A, 0xB7, 0x01, 0xA4, 0x18, +0xD7, 0x01, 0x2E, 0x19, 0xA0, 0xD4, 0xA8, 0x01, 0x6E, 0xE3, 0x67, 0x35, 0x39, 0xA9, 0x9D, 0xFE, +0x11, 0x06, 0x22, 0x25, 0x06, 0x7A, 0x07, 0x24, 0x4D, 0x38, 0xE0, 0x5F, 0x8F, 0xD9, 0x0C, 0xFF, +0x10, 0xC7, 0x3F, 0xEE, 0x80, 0xCA, 0x3F, 0x96, 0x00, 0xFF, 0xD0, 0x0B, 0x4E, 0x00, 0x1C, 0x09, +0xFF, 0x48, 0x86, 0x95, 0x03, 0x1A, 0xF4, 0xF8, 0x2C, 0xF0, 0xBC, 0xDD, 0x00, 0xD3, 0x01, 0x00, +0xE4, 0x04, 0x64, 0xF3, 0x1F, 0x7E, 0x39, 0xA0, 0x8A, 0x4B, 0x7B, 0x66, 0xF0, 0x3F, 0x5A, 0xB0, +0x00, 0x9A, 0xE6, 0xFE, 0x30, 0xD1, 0x4A, 0x79, 0x46, 0x1C, 0xB0, 0x71, 0x01, 0x60, 0xE1, 0x4F, +0x39, 0xFE, 0xB1, 0x61, 0xC0, 0x18, 0x00, 0xB9, 0xFF, 0x61, 0x4B, 0x08, 0xEE, 0x80, 0xC5, 0x09, +0x28, 0xCE, 0x3E, 0xE6, 0x01, 0x00, 0x89, 0x01, 0x4E, 0x88, 0x01, 0xEE, 0x98, 0x03, 0xEA, 0x53, +0x4C, 0x00, 0x53, 0x00, 0x72, 0x52, 0x39, 0x9E, 0x11, 0x03, 0x7C, 0x40, 0x40, 0xDA, 0x74, 0x08, +0xF0, 0xD7, 0x63, 0x9E, 0xF7, 0x0E, 0x80, 0x71, 0x02, 0x46, 0x02, 0xFF, 0xA3, 0xC1, 0x1D, 0x00, +0x49, 0xEA, 0xDF, 0x12, 0xA2, 0xFE, 0x47, 0x63, 0xFD, 0xDF, 0xED, 0xF0, 0x18, 0xE0, 0x84, 0x8C, +0x01, 0x6A, 0x03, 0xFE, 0xC5, 0x08, 0x78, 0x01, 0x00, 0x12, 0x02, 0x62, 0xFC, 0x8F, 0x75, 0x82, +0x8F, 0x31, 0x50, 0xC6, 0x7A, 0xC1, 0x3F, 0x53, 0xFA, 0x60, 0x2A, 0x78, 0x7D, 0x45, 0x04, 0x10, +0xCB, 0x01, 0x01, 0xC6, 0x96, 0xAC, 0xC1, 0xBF, 0x20, 0x01, 0x23, 0xFF, 0x2E, 0xF0, 0x8F, 0x06, +0xFC, 0xA3, 0x41, 0xFF, 0x97, 0xC5, 0xAD, 0x7F, 0x71, 0x06, 0x48, 0xB7, 0x84, 0xEC, 0xB8, 0x0F, +0x31, 0x01, 0x1C, 0x32, 0xC0, 0x18, 0x02, 0x81, 0xBE, 0xA2, 0x01, 0x5A, 0x1B, 0xC4, 0x9F, 0x96, +0x78, 0x9E, 0x83, 0x7F, 0x1B, 0xD5, 0x3F, 0x10, 0x30, 0x16, 0xF0, 0x8F, 0x06, 0x0B, 0xA0, 0x69, +0xB4, 0x03, 0x4C, 0xF9, 0x87, 0xA9, 0xE0, 0x80, 0x01, 0xC2, 0xFF, 0x98, 0x01, 0x6A, 0x05, 0xFF, +0x22, 0x04, 0xBC, 0x88, 0x65, 0x81, 0x1B, 0x20, 0x90, 0xCC, 0x30, 0xFF, 0x41, 0x0B, 0x16, 0x00, +0xD2, 0x68, 0x2F, 0xF8, 0x03, 0xCB, 0x95, 0x39, 0xA0, 0xB4, 0x91, 0x17, 0xAF, 0x31, 0xFF, 0xC1, +0x09, 0x08, 0xFF, 0xE3, 0x0E, 0xC8, 0xF9, 0x87, 0x2D, 0x21, 0x17, 0xA1, 0x9C, 0x80, 0x7F, 0x2C, +0x15, 0xFF, 0x88, 0x01, 0xE2, 0x09, 0x35, 0x40, 0x20, 0x70, 0x8B, 0x05, 0x02, 0xC8, 0x49, 0x05, +0xAE, 0xB9, 0x6E, 0x70, 0x79, 0x24, 0x90, 0x34, 0x5A, 0xBB, 0xFD, 0xA2, 0xB8, 0xFE, 0xF3, 0xEC, +0xF3, 0xBF, 0x1C, 0x81, 0xE1, 0x08, 0xFF, 0x82, 0xF9, 0x0D, 0x13, 0xC0, 0xDC, 0x01, 0xB1, 0x00, +0x86, 0x64, 0x58, 0x9F, 0x65, 0x6C, 0x0C, 0x10, 0xFE, 0xC7, 0x0D, 0x70, 0x3E, 0x00, 0xFF, 0x68, +0x70, 0x03, 0x18, 0x96, 0x85, 0xDE, 0x00, 0x21, 0x76, 0x59, 0xA3, 0xFF, 0xCB, 0x0A, 0xF8, 0x17, +0x71, 0x40, 0x48, 0x1D, 0x73, 0x40, 0xE0, 0x90, 0x04, 0xFE, 0x47, 0x83, 0x01, 0x40, 0x5A, 0x30, +0xFE, 0x47, 0xDF, 0x2B, 0xF0, 0x8F, 0x06, 0xFC, 0x63, 0xA9, 0xF9, 0xC7, 0x0D, 0x10, 0x61, 0x06, +0xA8, 0xED, 0x70, 0x14, 0x04, 0x60, 0xBC, 0x13, 0xAC, 0x31, 0x14, 0x5A, 0x6D, 0x6E, 0xC2, 0x02, +0x28, 0x35, 0x9E, 0xEF, 0x9E, 0x23, 0x5D, 0x57, 0x00, 0x6E, 0x0C, 0x80, 0x62, 0x8A, 0xF0, 0x3F, +0x96, 0x97, 0x5F, 0x84, 0xF3, 0x0A, 0xFE, 0x47, 0x32, 0x12, 0xDC, 0xC5, 0xC7, 0x00, 0x27, 0xD4, +0x00, 0xEB, 0x26, 0x7E, 0xA5, 0xD8, 0x00, 0x20, 0xCB, 0xED, 0xC5, 0x05, 0x04, 0x90, 0x13, 0x30, +0xC8, 0x0A, 0x79, 0x19, 0xE5, 0x0E, 0xEE, 0x8F, 0x0A, 0x6C, 0x11, 0xAD, 0x03, 0x09, 0xC9, 0x4B, +0xA5, 0x62, 0x02, 0x98, 0xE6, 0xEE, 0x19, 0x00, 0x78, 0xBE, 0x8A, 0xE2, 0x6F, 0x71, 0x81, 0x05, +0x30, 0x34, 0x86, 0x37, 0x6A, 0x80, 0x93, 0x88, 0x01, 0xDA, 0xE9, 0xB9, 0xC5, 0x43, 0x05, 0x10, +0x8D, 0x09, 0x20, 0xB5, 0x3F, 0xA3, 0x5F, 0xD8, 0x00, 0x37, 0xAD, 0x80, 0xBB, 0xFF, 0x19, 0x00, +0x7E, 0x83, 0x1D, 0x70, 0x01, 0x05, 0xFC, 0x35, 0x0C, 0xC0, 0xAD, 0x21, 0x23, 0x20, 0x56, 0x03, +0x1E, 0x40, 0xF9, 0xE8, 0x2C, 0x70, 0xC8, 0x00, 0xBB, 0xF0, 0x6F, 0x8C, 0x11, 0x40, 0x9A, 0x85, +0xE9, 0x1F, 0x89, 0xBE, 0xAA, 0x4F, 0xFE, 0xC1, 0x00, 0xAF, 0x62, 0x52, 0x87, 0xD7, 0x70, 0x5A, +0xAE, 0xCF, 0xE4, 0x5B, 0xF7, 0x4E, 0x40, 0x7D, 0x17, 0x62, 0xFC, 0x3B, 0x8A, 0x03, 0x10, 0x33, +0x20, 0x81, 0x44, 0x0D, 0x70, 0x42, 0x0D, 0x10, 0xC1, 0x49, 0xDD, 0xCB, 0x24, 0x88, 0xC4, 0xA0, +0x67, 0x8E, 0xD7, 0xD6, 0x40, 0x2D, 0x99, 0x02, 0x76, 0xBB, 0x43, 0x7E, 0xFF, 0xD9, 0xED, 0x96, +0x4D, 0xF2, 0xEF, 0x8D, 0x24, 0x4A, 0xC0, 0x97, 0x2F, 0xA3, 0x04, 0xC4, 0x1C, 0x08, 0xE7, 0xDF, +0x50, 0x08, 0xC8, 0x0C, 0x10, 0xE1, 0x06, 0xA8, 0xED, 0x78, 0x1E, 0xC5, 0x1F, 0xC6, 0x00, 0x79, +0x56, 0x37, 0x8B, 0xA3, 0xE3, 0xD9, 0x51, 0x30, 0x41, 0xFE, 0xDD, 0xFD, 0x39, 0x0D, 0xE2, 0xEF, +0x4F, 0x5B, 0x04, 0xCD, 0x98, 0xB6, 0xC6, 0x91, 0x8F, 0x17, 0xDE, 0x4B, 0x82, 0x00, 0xD4, 0xBF, +0x69, 0x70, 0x14, 0x30, 0xCD, 0xF1, 0x06, 0xC7, 0x00, 0x17, 0x37, 0x8B, 0x20, 0xFF, 0xE2, 0x63, +0x80, 0x7A, 0x02, 0xF4, 0x37, 0x06, 0x68, 0x77, 0x86, 0x91, 0x73, 0x75, 0x19, 0x01, 0x60, 0x58, +0x00, 0x53, 0xCD, 0x27, 0x40, 0xCA, 0xF8, 0xD3, 0x50, 0xFE, 0x75, 0x17, 0xC0, 0x67, 0x70, 0xC0, +0xDD, 0x4D, 0x03, 0x30, 0xDE, 0x01, 0x4E, 0xEB, 0x60, 0x82, 0xFE, 0xF7, 0xF2, 0xF5, 0xCB, 0x97, +0x36, 0x09, 0x4C, 0xF8, 0x27, 0xC1, 0x2A, 0x40, 0xC6, 0xBF, 0x51, 0xBA, 0x0D, 0x42, 0x9F, 0x06, +0x98, 0x2E, 0x80, 0x58, 0xAA, 0xB5, 0x15, 0x21, 0x07, 0x5C, 0x09, 0x00, 0x6F, 0x42, 0xFE, 0xA7, +0x59, 0x9D, 0x07, 0xF9, 0x17, 0x06, 0x60, 0x42, 0xD5, 0x1A, 0x06, 0x48, 0xFD, 0x8F, 0x9B, 0xA0, +0xDD, 0x16, 0x2B, 0xEC, 0x80, 0xD3, 0x98, 0x03, 0xE2, 0x9D, 0xE0, 0xFE, 0x77, 0x23, 0x65, 0x11, +0xEA, 0x00, 0x63, 0x15, 0x0C, 0xCF, 0x5C, 0x1D, 0xB0, 0x97, 0x31, 0x40, 0x64, 0x38, 0x02, 0x01, +0x89, 0x01, 0x46, 0x05, 0x30, 0x1B, 0xF3, 0x6B, 0xA3, 0x9F, 0xD4, 0x30, 0x01, 0x3B, 0xE5, 0xBB, +0xFD, 0x17, 0x1B, 0x07, 0xE0, 0xEE, 0x66, 0xF8, 0x87, 0x95, 0xD0, 0x61, 0xFE, 0x89, 0x03, 0xC6, +0xFC, 0x4F, 0x13, 0x98, 0x06, 0x19, 0x0D, 0xAB, 0xE8, 0x09, 0xD7, 0x9F, 0x01, 0xDA, 0x15, 0xC0, +0x82, 0x5F, 0x0F, 0x72, 0x11, 0xE3, 0x9F, 0x12, 0x50, 0x96, 0x01, 0xD2, 0xBC, 0x07, 0x01, 0x59, +0x01, 0xFD, 0x58, 0xEE, 0xAB, 0x80, 0x80, 0x91, 0xEE, 0x2D, 0x7D, 0xC1, 0x7D, 0x95, 0x3F, 0x03, +0x51, 0x56, 0x4B, 0x7B, 0xC7, 0x1D, 0xF0, 0x7C, 0x75, 0x14, 0x55, 0xC0, 0xC4, 0x3F, 0x79, 0x5F, +0x43, 0xFC, 0x8B, 0x13, 0x70, 0x9E, 0x1A, 0x6E, 0x80, 0x08, 0x37, 0xC0, 0x81, 0x9C, 0xAD, 0xEF, +0x38, 0x01, 0xE3, 0x94, 0xC2, 0x0A, 0x40, 0xDA, 0xFF, 0x7D, 0x2E, 0xFE, 0x09, 0xFD, 0x92, 0x04, +0x6E, 0x86, 0x7F, 0x48, 0xCF, 0x00, 0x8C, 0x2F, 0x82, 0xA9, 0x23, 0x7C, 0xA3, 0xFC, 0xAB, 0xC3, +0x1D, 0x50, 0xEF, 0x08, 0x53, 0x13, 0x90, 0x31, 0x30, 0x9D, 0x51, 0xFA, 0x83, 0xF5, 0xA0, 0xA7, +0xBD, 0xC0, 0x7A, 0x98, 0xD7, 0xA7, 0x7F, 0xC4, 0xFF, 0x2C, 0x41, 0xFE, 0x49, 0x77, 0x6D, 0xC5, +0xBC, 0x66, 0x56, 0x03, 0x50, 0x0E, 0x77, 0xDC, 0xFF, 0xCE, 0xBA, 0xF1, 0x4F, 0x1D, 0x90, 0xED, +0x04, 0xE9, 0x02, 0xC8, 0x7B, 0x4B, 0x98, 0xC3, 0xD3, 0xBB, 0x08, 0xFF, 0xE2, 0x33, 0xC0, 0xAB, +0x1B, 0x2D, 0xA1, 0x9D, 0x20, 0x46, 0xC0, 0x49, 0x84, 0x7F, 0x1A, 0x6E, 0x80, 0x08, 0x9F, 0x05, +0x5E, 0x0E, 0x53, 0xD8, 0x44, 0x70, 0x84, 0x54, 0xE8, 0x21, 0x67, 0x77, 0x43, 0x68, 0x6B, 0x24, +0x3D, 0x12, 0x10, 0xFC, 0x4B, 0x75, 0x53, 0x02, 0x88, 0x6C, 0x68, 0x00, 0xF0, 0x4B, 0x10, 0x90, +0xF2, 0xCF, 0x12, 0xE6, 0x1F, 0xEF, 0x05, 0x57, 0xE7, 0x93, 0x3E, 0xE8, 0x18, 0x20, 0x42, 0x0D, +0x10, 0x57, 0x01, 0xF7, 0xBF, 0x30, 0x01, 0xED, 0x42, 0xBD, 0x59, 0xB0, 0xBD, 0x70, 0xC6, 0x3F, +0x09, 0x75, 0xC0, 0x69, 0xCD, 0x94, 0x40, 0xFF, 0xD7, 0x92, 0x66, 0x42, 0x78, 0xD8, 0x30, 0xE0, +0x95, 0xF1, 0xCF, 0x12, 0x20, 0x9F, 0x75, 0x82, 0x99, 0x02, 0x66, 0x88, 0x6B, 0x8D, 0xFE, 0x40, +0x49, 0xA5, 0x9F, 0xBD, 0xC0, 0xFE, 0x7F, 0xFE, 0x89, 0x06, 0x58, 0x0B, 0xE0, 0x81, 0x3E, 0x1F, +0x4A, 0xF6, 0x86, 0x7B, 0xD4, 0x01, 0x83, 0x9C, 0x92, 0x64, 0x88, 0x23, 0x1E, 0x08, 0x68, 0xF5, +0xEF, 0x7F, 0x5A, 0xF7, 0x37, 0xC3, 0x3F, 0xA4, 0x57, 0xFE, 0x71, 0x07, 0x4C, 0x2F, 0x7A, 0x23, +0x00, 0xB4, 0x50, 0xFE, 0x21, 0x7C, 0x11, 0xB4, 0x31, 0x90, 0x2C, 0x06, 0xDC, 0x1B, 0x6A, 0x19, +0xEA, 0x63, 0xD4, 0x9B, 0x01, 0x8E, 0x91, 0x39, 0x01, 0x60, 0x76, 0x37, 0x68, 0xCE, 0xBF, 0x1A, +0x80, 0x37, 0xAD, 0x8B, 0x61, 0x66, 0x19, 0x07, 0xE9, 0x04, 0xB0, 0x12, 0x30, 0xB5, 0x77, 0xED, +0x00, 0xBC, 0x47, 0xCE, 0x30, 0x17, 0x4C, 0xFC, 0x8F, 0xE6, 0x1E, 0xE1, 0x33, 0x21, 0x18, 0xAB, +0x24, 0x62, 0xDB, 0xCD, 0xFF, 0xAC, 0x2C, 0x02, 0xFC, 0x33, 0x07, 0x9C, 0x50, 0xFE, 0x59, 0xCC, +0xF7, 0x9E, 0x62, 0x80, 0x18, 0x00, 0xDC, 0x1B, 0x26, 0x0B, 0x1C, 0x91, 0xBB, 0xC1, 0xC4, 0x30, +0x85, 0x0F, 0x0A, 0xB3, 0xC0, 0xD9, 0xF2, 0x40, 0xA4, 0x37, 0x02, 0x8A, 0xFA, 0xA1, 0x6E, 0x0A, +0x7F, 0x48, 0xDF, 0xFE, 0xC7, 0xF9, 0xA7, 0xF8, 0x43, 0xC2, 0xFC, 0xFB, 0xF2, 0x35, 0xF7, 0xBF, +0x94, 0x3F, 0xDA, 0xB7, 0x83, 0x2C, 0x87, 0xA9, 0x03, 0xBC, 0x57, 0x95, 0xD1, 0xF0, 0x60, 0x1B, +0x06, 0x48, 0xD2, 0x76, 0x37, 0x98, 0x34, 0xF6, 0xC3, 0x09, 0xE8, 0xEF, 0x07, 0xC8, 0xF8, 0x67, +0x05, 0x04, 0xE4, 0x59, 0xB5, 0xF2, 0x4F, 0x88, 0x82, 0x50, 0xFE, 0x21, 0x4F, 0x74, 0x40, 0x2C, +0x00, 0xCC, 0xC3, 0x01, 0x78, 0x67, 0xB4, 0x66, 0xFD, 0xDF, 0x98, 0x03, 0x3E, 0x78, 0x53, 0xDB, +0x27, 0x42, 0x16, 0x8F, 0xEE, 0x88, 0x1A, 0x1A, 0xFF, 0xAB, 0x8E, 0xAD, 0x06, 0xC8, 0x09, 0x58, +0xEB, 0x9F, 0xF9, 0xDF, 0xB2, 0x3E, 0x5D, 0x5B, 0xF8, 0xB7, 0x0C, 0x71, 0x4A, 0x92, 0x77, 0x7E, +0xF1, 0x2C, 0x63, 0x20, 0xF0, 0x97, 0x01, 0xB0, 0x3F, 0xFF, 0x43, 0xDD, 0xDF, 0x0C, 0x00, 0x91, +0xFE, 0xF8, 0x07, 0x01, 0xE4, 0xFC, 0x43, 0xDA, 0xD7, 0xBF, 0x3C, 0x44, 0x60, 0x79, 0x43, 0xF0, +0xEB, 0xC4, 0x3F, 0x40, 0x30, 0x11, 0x70, 0x59, 0x02, 0xE0, 0x0F, 0x43, 0x65, 0xA0, 0x54, 0x38, +0xE0, 0xD3, 0x7E, 0x27, 0x08, 0xFA, 0xBF, 0xF3, 0xF1, 0x64, 0xAE, 0x07, 0xD6, 0x01, 0x46, 0xC6, +0x2D, 0x53, 0xC1, 0x8B, 0xDA, 0xFE, 0xE0, 0x80, 0x33, 0x36, 0xFE, 0x57, 0x3D, 0x59, 0x1D, 0x31, +0xFF, 0xB3, 0xDC, 0x4D, 0x39, 0xFF, 0xE0, 0x80, 0x8A, 0xB0, 0x27, 0xFA, 0x1F, 0xF8, 0xE7, 0x09, +0xC8, 0x1D, 0xB0, 0xCC, 0xBF, 0xA3, 0x60, 0x66, 0xE7, 0xD9, 0x9B, 0xDA, 0x4A, 0xC0, 0xC5, 0x75, +0x9E, 0x13, 0xCA, 0xBF, 0xC9, 0xD8, 0xDA, 0x7E, 0x0C, 0x70, 0xAF, 0xA6, 0x9F, 0x34, 0x23, 0x73, +0xC0, 0xC2, 0x3D, 0xF1, 0x43, 0xA6, 0x86, 0xA5, 0x82, 0x38, 0x40, 0x01, 0x9D, 0x07, 0xBA, 0x90, +0x05, 0x80, 0x71, 0x01, 0x44, 0xDD, 0x14, 0xFF, 0x90, 0xDE, 0xFA, 0xBF, 0x91, 0x64, 0xFC, 0x23, +0xB7, 0x84, 0x31, 0xFC, 0x59, 0x5A, 0x16, 0x44, 0x27, 0xF4, 0x41, 0x01, 0xCB, 0x0E, 0xB8, 0xD4, +0xF3, 0xA8, 0xEE, 0x02, 0xA7, 0x27, 0xBA, 0x20, 0xFA, 0xE9, 0x06, 0x68, 0xFE, 0xA7, 0x0F, 0x6D, +0xE6, 0x63, 0xFA, 0x3B, 0x41, 0x78, 0x2F, 0x38, 0xBB, 0x4E, 0x31, 0x13, 0xE2, 0xE1, 0x77, 0x6C, +0xFC, 0xB3, 0x9C, 0xB7, 0x10, 0x70, 0x9A, 0xB3, 0x85, 0x2D, 0x00, 0xD4, 0x60, 0x1C, 0xF0, 0x43, +0x37, 0x07, 0xE4, 0xFE, 0x17, 0x77, 0x40, 0x4D, 0x79, 0x1C, 0xB0, 0x09, 0x75, 0xCC, 0xFF, 0xCC, +0x02, 0x17, 0xCC, 0xFF, 0x90, 0x76, 0xFE, 0xCD, 0xED, 0x27, 0xA0, 0x7E, 0xF0, 0xF9, 0x06, 0x88, +0x0C, 0x2B, 0xFA, 0x8D, 0xD2, 0x09, 0xFB, 0x0E, 0x8B, 0x61, 0x9A, 0x7E, 0x33, 0x26, 0xC5, 0x54, +0xFA, 0x3C, 0xF4, 0x0F, 0x13, 0x20, 0x74, 0xFC, 0x8F, 0xB1, 0xB5, 0xB3, 0xFF, 0x65, 0xB5, 0x0F, +0x07, 0xDC, 0x7D, 0x52, 0xFA, 0xF1, 0xBF, 0x20, 0x03, 0x13, 0xFF, 0xF2, 0x14, 0xF9, 0x67, 0x00, +0x44, 0x2F, 0xF8, 0x55, 0x1B, 0xFF, 0xA4, 0x45, 0x46, 0x46, 0x40, 0xEF, 0x7F, 0x4B, 0xEB, 0x54, +0xA4, 0x76, 0xB4, 0x7C, 0x92, 0x01, 0x6A, 0xF4, 0x9C, 0x77, 0x95, 0xFA, 0x1F, 0x1C, 0x70, 0xD1, +0x3A, 0xFE, 0x97, 0x3B, 0xA0, 0xCF, 0x4C, 0xAC, 0xE6, 0xBD, 0x9F, 0x09, 0x29, 0xF9, 0xDF, 0x59, +0xB6, 0xC2, 0x64, 0x4A, 0xFC, 0x8F, 0x38, 0x20, 0xF1, 0x3F, 0xFE, 0x9B, 0x81, 0xD9, 0x72, 0x40, +0x9B, 0xAF, 0x21, 0x73, 0xC1, 0x71, 0xFF, 0x03, 0x00, 0x89, 0x03, 0xC2, 0xFF, 0xA2, 0x0E, 0x38, +0x91, 0x8A, 0xA7, 0x73, 0x9C, 0x25, 0x99, 0x01, 0x76, 0xE1, 0x9F, 0xD1, 0xCF, 0xDA, 0x77, 0x46, +0x40, 0xCF, 0xBF, 0x57, 0x1C, 0x53, 0xD0, 0x3F, 0x34, 0xE5, 0x25, 0xD0, 0x05, 0xAC, 0xF5, 0x30, +0xFF, 0xEB, 0x6A, 0x0F, 0xFC, 0xDB, 0x2C, 0x01, 0x81, 0xBF, 0x00, 0xFF, 0x7C, 0x68, 0xFF, 0x17, +0x79, 0xCD, 0xFC, 0x0F, 0x69, 0x9C, 0x0A, 0x5E, 0xBE, 0xAB, 0xBC, 0x4F, 0x0E, 0x4B, 0x03, 0x61, +0xB5, 0x20, 0xBA, 0xFB, 0xEF, 0x05, 0x86, 0x11, 0xD6, 0xB4, 0x9B, 0xE0, 0x22, 0x28, 0x8F, 0xFF, +0x81, 0x7F, 0x88, 0x11, 0xD0, 0xF1, 0x2F, 0x2F, 0x69, 0x2A, 0xF8, 0x78, 0xE6, 0xF7, 0xFF, 0x2A, +0xF5, 0x7C, 0x28, 0xFF, 0xB8, 0xFF, 0xF9, 0x1C, 0x82, 0x7F, 0x7C, 0xC6, 0x77, 0xCD, 0x7E, 0x2F, +0x30, 0x9F, 0x08, 0x99, 0xFA, 0x71, 0xC0, 0x16, 0xFF, 0xE3, 0x0E, 0xB8, 0xC2, 0x04, 0xB0, 0x1F, +0x07, 0xF4, 0x1B, 0x40, 0x7C, 0x88, 0xFF, 0x49, 0x47, 0x00, 0xE3, 0x80, 0x4F, 0x32, 0xC0, 0x83, +0x7A, 0xFE, 0x03, 0x9D, 0xE0, 0xBD, 0x74, 0x68, 0xE4, 0x9F, 0x5C, 0x00, 0x84, 0x52, 0x10, 0xC0, +0x0C, 0x81, 0x8F, 0x9C, 0x0F, 0xCF, 0xE2, 0xFC, 0xEB, 0x12, 0x55, 0x3E, 0x5F, 0xF7, 0x37, 0x83, +0x3F, 0xA4, 0x07, 0xFE, 0xC5, 0x18, 0x88, 0x09, 0xE0, 0x3C, 0xAC, 0xFF, 0x8B, 0xA8, 0x03, 0x72, +0xFE, 0xC1, 0x01, 0xFD, 0x04, 0x48, 0x1A, 0xFB, 0x4B, 0xAD, 0x4D, 0x05, 0x0B, 0x01, 0x0F, 0x9E, +0x32, 0x06, 0x08, 0xDB, 0x1B, 0x64, 0xDD, 0xA0, 0x90, 0xFF, 0x15, 0xB7, 0x84, 0xC0, 0xFE, 0x32, +0x07, 0x14, 0x89, 0x99, 0x3D, 0x96, 0x1A, 0x00, 0x30, 0x43, 0xA1, 0xE7, 0xDF, 0xF9, 0xDD, 0x34, +0xEA, 0x7F, 0xE0, 0x5F, 0x16, 0x4C, 0x05, 0x33, 0xFF, 0xF3, 0x5F, 0x03, 0xFF, 0x5C, 0x8A, 0xFA, +0xE7, 0x59, 0xFD, 0x14, 0xFF, 0x3B, 0x4E, 0x0B, 0x60, 0x88, 0x03, 0x62, 0x01, 0x74, 0x9C, 0x80, +0x73, 0xFB, 0xF1, 0x67, 0x49, 0x27, 0x85, 0x1B, 0x03, 0xEC, 0xD4, 0x03, 0xAE, 0xD7, 0x6A, 0xA1, +0x13, 0x9C, 0x9E, 0xBE, 0x5B, 0x36, 0xF3, 0xEF, 0xB4, 0x0C, 0x2A, 0xF0, 0xCC, 0x90, 0x57, 0x30, +0x40, 0x8D, 0x7D, 0x88, 0x10, 0x04, 0x3E, 0xC1, 0xFF, 0x50, 0x7B, 0x00, 0xE0, 0x06, 0x09, 0x08, +0xFC, 0x45, 0x27, 0x40, 0x38, 0x00, 0x7F, 0x03, 0xFF, 0x98, 0x03, 0x5A, 0xD7, 0xD7, 0xC5, 0x4D, +0x83, 0xEC, 0xFD, 0xA0, 0xDC, 0xB3, 0x41, 0xC0, 0x74, 0x76, 0xD5, 0x27, 0x18, 0xC6, 0x00, 0x59, +0x9C, 0x01, 0xD6, 0x03, 0x80, 0xF3, 0x9A, 0x78, 0x13, 0x63, 0x9D, 0x07, 0x20, 0xFC, 0xCF, 0xE5, +0x82, 0xF0, 0x0F, 0xC3, 0x80, 0x37, 0x36, 0x15, 0x8C, 0xF1, 0x3F, 0x2F, 0x80, 0xC5, 0x4D, 0x71, +0x53, 0x67, 0x57, 0xA5, 0xF5, 0x80, 0xF7, 0x85, 0x9C, 0x01, 0x6A, 0x44, 0x00, 0xF1, 0x35, 0xB7, +0x00, 0xDA, 0xA7, 0xB0, 0x01, 0xC4, 0x8F, 0x03, 0x9E, 0xB9, 0x2D, 0x21, 0x77, 0xEF, 0x5B, 0x90, +0x97, 0x99, 0xF2, 0x0C, 0xFD, 0x5F, 0xE7, 0xD6, 0x51, 0xFE, 0x9D, 0x5C, 0xB7, 0x0A, 0xE0, 0x00, +0x13, 0xC1, 0x89, 0x80, 0xB9, 0x01, 0x22, 0x7C, 0x16, 0x58, 0x17, 0x40, 0xEF, 0xA1, 0x13, 0x3C, +0x32, 0x1A, 0x3A, 0x07, 0x54, 0xFE, 0x49, 0xA8, 0xA8, 0xD9, 0x06, 0xE0, 0x36, 0x03, 0x94, 0x6A, +0xA5, 0x90, 0xBE, 0xE6, 0x7F, 0xB9, 0x03, 0xC6, 0xF9, 0xB7, 0x59, 0x02, 0xE6, 0x8C, 0x0B, 0x2D, +0x00, 0xF4, 0x29, 0x6C, 0x80, 0xF3, 0xC1, 0x96, 0x10, 0xF8, 0x5F, 0x81, 0x7F, 0x7E, 0x4B, 0xC8, +0x1E, 0x16, 0x15, 0x2C, 0xB5, 0x95, 0x32, 0xAA, 0xDB, 0xC1, 0xF6, 0xE7, 0x1A, 0x60, 0x36, 0xF9, +0x87, 0xAB, 0xA0, 0x49, 0x01, 0x4F, 0x0C, 0x80, 0x3E, 0x8C, 0x7F, 0x20, 0x20, 0x16, 0x44, 0xBB, +0x09, 0x60, 0x7B, 0x5A, 0x52, 0x40, 0x74, 0x80, 0xE1, 0x7F, 0x49, 0xB3, 0xA6, 0x25, 0xFE, 0x71, +0x07, 0x04, 0xE3, 0x48, 0xC0, 0x3F, 0x42, 0x40, 0x36, 0x17, 0x7C, 0xE7, 0xFC, 0x2F, 0x3E, 0x01, +0x7C, 0x53, 0x2C, 0x6E, 0x01, 0x60, 0x39, 0x10, 0x3D, 0xF0, 0x4F, 0x83, 0xCF, 0x4F, 0x6A, 0x07, +0xCC, 0x7F, 0x60, 0x46, 0xF9, 0x87, 0x0D, 0x20, 0x4A, 0x3D, 0xEB, 0xA7, 0x88, 0xFC, 0xD5, 0x93, +0x77, 0x4B, 0xC7, 0x3F, 0x0D, 0x07, 0x15, 0xD8, 0x57, 0x32, 0x40, 0x7C, 0xA1, 0x1C, 0xA2, 0x7F, +0x04, 0x80, 0xC5, 0xDA, 0x03, 0xFF, 0x36, 0x43, 0x40, 0x82, 0x3F, 0xE6, 0x7F, 0x96, 0xC7, 0xFC, +0x6B, 0x49, 0xC8, 0xFF, 0xFC, 0x82, 0xE8, 0xE5, 0x08, 0xEB, 0xFF, 0x6C, 0x75, 0xA9, 0x79, 0xE0, +0x68, 0xCB, 0x26, 0x42, 0x02, 0xC9, 0xBB, 0x34, 0x9F, 0x26, 0xFF, 0x5C, 0x37, 0x28, 0xD4, 0xFF, +0x05, 0x01, 0x17, 0x84, 0x7F, 0xC5, 0xE5, 0x80, 0xEF, 0x83, 0xCB, 0x01, 0x9D, 0xFF, 0xE1, 0x48, +0xF8, 0xF7, 0xD4, 0xE5, 0x80, 0xD8, 0x00, 0x12, 0x23, 0x20, 0xB4, 0xD4, 0x7F, 0x6E, 0xEA, 0x08, +0xD8, 0x0E, 0x3D, 0xB7, 0x01, 0xA4, 0x24, 0x81, 0x94, 0x7F, 0x88, 0xE3, 0x9F, 0x69, 0xDF, 0x1C, +0x4F, 0x30, 0x15, 0xDC, 0xDD, 0x00, 0x35, 0x72, 0xB2, 0x62, 0xA1, 0xC2, 0xC8, 0xFA, 0xBF, 0xF2, +0xA1, 0x3C, 0x1A, 0xF8, 0x77, 0xDA, 0x00, 0x40, 0x70, 0xCA, 0xC0, 0x05, 0xC2, 0xA1, 0x69, 0x60, +0x20, 0xC1, 0xDA, 0xE7, 0xDE, 0x00, 0x06, 0xC6, 0xD7, 0xA3, 0x03, 0xEE, 0xF6, 0x95, 0x1E, 0xF8, +0x47, 0x18, 0x08, 0xDA, 0x51, 0x02, 0x82, 0x76, 0xD4, 0x01, 0x81, 0x3F, 0x46, 0xC0, 0xEA, 0x94, +0x5A, 0x6A, 0x5B, 0xA3, 0xD0, 0x46, 0x99, 0xD3, 0xA6, 0xB8, 0x6D, 0xDC, 0x0D, 0x86, 0x06, 0x06, +0x58, 0x9F, 0xE7, 0x72, 0xA8, 0x9B, 0x8A, 0x86, 0xF6, 0xC4, 0x6D, 0x00, 0x21, 0x04, 0xC4, 0x04, +0x48, 0xB9, 0x2C, 0x12, 0x01, 0x67, 0xB8, 0xBE, 0x91, 0xF7, 0xE5, 0x5E, 0x30, 0x16, 0x00, 0xC2, +0xFF, 0x70, 0x64, 0x13, 0xC0, 0x7E, 0x31, 0xCC, 0xD5, 0xD3, 0x36, 0x80, 0xF0, 0x99, 0x90, 0x69, +0x51, 0x02, 0x73, 0x02, 0xAE, 0x9E, 0xE6, 0x7F, 0x28, 0x8C, 0x7F, 0x88, 0xE7, 0x9F, 0x75, 0x01, +0xF0, 0x23, 0x70, 0x30, 0x4E, 0xE9, 0x6E, 0x80, 0x18, 0x00, 0xC4, 0x8F, 0x69, 0x29, 0x36, 0x66, +0xFD, 0x68, 0x4B, 0xC8, 0x72, 0x69, 0x17, 0x40, 0xAB, 0xA9, 0xA5, 0xB6, 0x09, 0x7F, 0x7E, 0xF2, +0x57, 0x2B, 0x42, 0x10, 0xD8, 0x75, 0xFD, 0x5F, 0xB9, 0xF6, 0xC0, 0xBF, 0x4D, 0x10, 0x90, 0xE3, +0x0F, 0xFC, 0x23, 0x61, 0xFC, 0x43, 0x5E, 0x47, 0xFC, 0x0F, 0x04, 0x84, 0x00, 0x66, 0x7B, 0x40, +0x30, 0xB0, 0x9C, 0x1E, 0x23, 0x28, 0x60, 0x97, 0xD9, 0x60, 0xBB, 0x04, 0x70, 0xC8, 0x96, 0x42, +0x64, 0x03, 0x80, 0x24, 0x11, 0xFE, 0x81, 0x80, 0x16, 0xA2, 0x82, 0xC6, 0x89, 0xE2, 0xF8, 0x5F, +0xA3, 0x6F, 0x11, 0x54, 0x09, 0x01, 0xE1, 0x77, 0xD4, 0x01, 0xB1, 0x00, 0x90, 0xE4, 0x31, 0x00, +0xEF, 0x1A, 0x00, 0x58, 0x51, 0xBC, 0xCB, 0x0D, 0x10, 0x66, 0xC5, 0x05, 0x80, 0xE5, 0xA9, 0xE0, +0x6B, 0x12, 0xE7, 0x7F, 0x30, 0xBF, 0xEA, 0xB9, 0x7D, 0x01, 0x04, 0x44, 0x22, 0x04, 0xB4, 0xB3, +0x74, 0xA9, 0xAD, 0xF6, 0x51, 0xF0, 0x91, 0x34, 0xE6, 0x80, 0x4B, 0x29, 0xB2, 0x00, 0xA6, 0x60, +0x80, 0x8D, 0xFD, 0x5F, 0xD7, 0x34, 0xDD, 0x00, 0x6B, 0xBF, 0x37, 0xFE, 0xF1, 0x01, 0x40, 0xD4, +0xFD, 0xCD, 0xF0, 0x0F, 0xF9, 0x3C, 0xFE, 0x45, 0x19, 0xF8, 0x86, 0x86, 0x4E, 0x80, 0x80, 0x80, +0xBF, 0xC2, 0xFF, 0x48, 0xB6, 0x6C, 0x4B, 0x88, 0x9D, 0x52, 0x52, 0x55, 0x02, 0xF5, 0x34, 0xD2, +0xFE, 0xC4, 0x9E, 0x3E, 0xAA, 0x8F, 0x3E, 0xC7, 0x00, 0x8D, 0x74, 0x83, 0x54, 0x27, 0x6E, 0x1E, +0x58, 0x2A, 0x06, 0x00, 0x49, 0x4E, 0xC0, 0x3F, 0x02, 0xC0, 0x9B, 0x15, 0xD9, 0xEE, 0xE5, 0x08, +0x48, 0xFD, 0x6F, 0xEA, 0xFC, 0x8F, 0x11, 0x10, 0x77, 0xBD, 0xE2, 0x01, 0xFF, 0x48, 0x27, 0x38, +0xEC, 0x80, 0xDD, 0x17, 0x00, 0xA2, 0xFF, 0x5B, 0x2A, 0x0B, 0xF0, 0x2F, 0x4C, 0xC0, 0x7C, 0xEA, +0x0B, 0x02, 0xA8, 0xA7, 0x80, 0x8D, 0x03, 0x76, 0x37, 0xC0, 0x6A, 0x90, 0xDA, 0x26, 0x80, 0x6D, +0xDD, 0x56, 0x7D, 0xD4, 0x66, 0xB4, 0xC4, 0x02, 0xC0, 0x3A, 0x2D, 0xA0, 0xB2, 0xA7, 0xC4, 0x00, +0xED, 0x09, 0xC2, 0x08, 0xD8, 0x83, 0x00, 0xA2, 0x3E, 0x81, 0x7F, 0x1B, 0x23, 0x20, 0xC5, 0x1F, +0xF8, 0xC7, 0xE3, 0xFC, 0x8F, 0x3B, 0x20, 0xF1, 0x3F, 0x2C, 0x86, 0x59, 0x8E, 0xB0, 0xF4, 0xAF, +0xE2, 0xA0, 0x7C, 0x6C, 0x44, 0xB4, 0x71, 0x96, 0xB8, 0x03, 0xE6, 0xF3, 0xBF, 0xFE, 0x62, 0xC0, +0x8E, 0xA8, 0x39, 0xE7, 0x1F, 0x08, 0x48, 0xFD, 0x0F, 0xE3, 0x80, 0xE7, 0x33, 0x9B, 0xFF, 0x20, +0x0A, 0xB8, 0xAA, 0x49, 0xE1, 0x30, 0x62, 0x47, 0x1F, 0x8E, 0xAA, 0x33, 0x21, 0x60, 0xB0, 0xFF, +0xCB, 0xFC, 0x8F, 0x3B, 0xA0, 0x0F, 0xB6, 0x84, 0xC4, 0xE0, 0x57, 0x58, 0x00, 0x58, 0xDA, 0x12, +0x72, 0x72, 0xCD, 0xE3, 0xC7, 0xFF, 0x06, 0x52, 0x31, 0x0B, 0x66, 0xFE, 0x2F, 0x87, 0x41, 0x57, +0x03, 0x54, 0xFF, 0xAB, 0xEB, 0x08, 0x07, 0x2D, 0xA3, 0x44, 0x3F, 0xCD, 0x12, 0xFC, 0x2B, 0x1B, +0x20, 0x3C, 0xAD, 0x30, 0xFE, 0xD7, 0xB8, 0x07, 0x38, 0x92, 0x5E, 0xFD, 0x0F, 0x5B, 0x42, 0x36, +0x03, 0x40, 0xA4, 0xBB, 0x00, 0x72, 0x05, 0xC4, 0xFA, 0x3F, 0x9E, 0xDF, 0xC0, 0x3F, 0xEA, 0x80, +0x31, 0xFE, 0xD9, 0xA6, 0xB8, 0x65, 0xBD, 0xF4, 0xC5, 0x76, 0x14, 0xD9, 0xD2, 0x82, 0xA5, 0x34, +0x36, 0x27, 0x02, 0x02, 0x06, 0x63, 0x7D, 0x5C, 0x9C, 0xF5, 0xB8, 0x04, 0x72, 0x07, 0x9C, 0x90, +0xFE, 0x2F, 0xB6, 0x84, 0xD8, 0x06, 0x10, 0xE2, 0x80, 0x0B, 0x25, 0x60, 0xBC, 0x17, 0xFC, 0x3D, +0x54, 0xCF, 0xF9, 0x1F, 0x16, 0xDD, 0x61, 0x01, 0x60, 0xCC, 0x01, 0xC3, 0x59, 0x4B, 0xBD, 0xE7, +0xC1, 0x96, 0x10, 0x6C, 0x00, 0x29, 0x65, 0x0A, 0xFE, 0x85, 0x37, 0x80, 0xF0, 0xB2, 0xC0, 0x02, +0xE8, 0xB8, 0x03, 0x4E, 0x9A, 0x77, 0x83, 0xCC, 0x2B, 0x01, 0xC4, 0x5C, 0x70, 0x90, 0x7F, 0xF3, +0x81, 0x9E, 0x97, 0xA9, 0x63, 0x52, 0x6D, 0xDB, 0xB4, 0x61, 0xEB, 0x65, 0x35, 0x80, 0x63, 0x6B, +0xB8, 0x96, 0x89, 0x7F, 0x48, 0x19, 0x53, 0xDA, 0x96, 0x52, 0xF8, 0x0D, 0x20, 0x3C, 0x89, 0xA0, +0x3D, 0xA7, 0x33, 0xFF, 0x22, 0x45, 0x6A, 0x17, 0x02, 0x4A, 0x0D, 0x87, 0xE2, 0x0F, 0xFC, 0x8B, +0x05, 0xFD, 0x5F, 0x4E, 0x40, 0xF0, 0x2F, 0xD2, 0x0B, 0xAE, 0xCE, 0x9C, 0x77, 0xF5, 0x60, 0x0A, +0xB6, 0x83, 0xD4, 0x12, 0x88, 0x2D, 0x21, 0xD1, 0xFC, 0x20, 0xA7, 0xB4, 0x9D, 0xF3, 0x56, 0xFD, +0x86, 0x28, 0x73, 0x04, 0x4C, 0x00, 0x73, 0x07, 0x5C, 0xDD, 0x84, 0xCA, 0x91, 0xAE, 0x7F, 0x76, +0x45, 0xAA, 0x2F, 0x7A, 0x07, 0xD4, 0x29, 0xF5, 0x3F, 0xC7, 0x3F, 0x36, 0x13, 0xD2, 0x05, 0x80, +0xEB, 0xE8, 0xB7, 0xFD, 0xCB, 0x56, 0x00, 0x96, 0x1C, 0x70, 0xFA, 0x60, 0x4B, 0xC8, 0xFB, 0xA3, +0x50, 0x11, 0x02, 0xEA, 0xB8, 0x41, 0x20, 0xAB, 0xBA, 0x03, 0x7C, 0x12, 0x28, 0x6E, 0x03, 0x70, +0x56, 0xB3, 0x15, 0xA1, 0x93, 0xC1, 0x0F, 0xC1, 0xA2, 0x11, 0xB6, 0x0D, 0x1F, 0x16, 0xFB, 0x18, +0xC7, 0xEA, 0x4C, 0x4E, 0x13, 0xC0, 0x08, 0xC1, 0x55, 0x05, 0x43, 0x57, 0xF3, 0xA2, 0x4D, 0xFF, +0xD1, 0x29, 0x5E, 0x78, 0x5E, 0x6F, 0x0A, 0xB8, 0xFB, 0x0C, 0xE9, 0xFD, 0x06, 0x58, 0xF0, 0xBF, +0x58, 0xE0, 0x7F, 0x94, 0x80, 0xE0, 0x1F, 0x27, 0xE0, 0x10, 0x63, 0xC8, 0x89, 0x81, 0xF5, 0xC3, +0x16, 0x43, 0x8F, 0xAA, 0xCE, 0x85, 0xFD, 0x9E, 0xA4, 0x60, 0xD2, 0x89, 0x4E, 0x8B, 0x56, 0xEE, +0x7F, 0xD8, 0x14, 0x27, 0x1D, 0xB1, 0x40, 0xB9, 0x91, 0xD7, 0x09, 0x01, 0x83, 0xF9, 0x9E, 0xCF, +0xFF, 0xEA, 0x47, 0xDA, 0x02, 0x54, 0x34, 0x57, 0x97, 0xC2, 0xB6, 0x4B, 0x57, 0x5D, 0xE4, 0x93, +0xEB, 0xB3, 0xFB, 0x60, 0x80, 0x62, 0x07, 0x69, 0xB7, 0x25, 0xE4, 0x28, 0x98, 0xF7, 0x0A, 0xC0, +0x48, 0x91, 0xF7, 0x95, 0xF9, 0x9F, 0xDF, 0x16, 0xEC, 0xE6, 0x80, 0xED, 0x29, 0xA6, 0x46, 0xC6, +0x83, 0x0E, 0x49, 0xB3, 0xBF, 0x34, 0x8A, 0x40, 0xF5, 0x3F, 0x44, 0x30, 0xD3, 0x94, 0x17, 0xFA, +0x68, 0x2B, 0x39, 0xF2, 0xE4, 0x13, 0xEE, 0x4F, 0x95, 0xBE, 0x6F, 0x3C, 0xBB, 0xBB, 0xFB, 0xB1, +0xD2, 0x8D, 0x56, 0xC1, 0xD2, 0x09, 0x6A, 0xC1, 0xA2, 0x4D, 0x3C, 0x6F, 0xA2, 0xF9, 0xE6, 0x4B, +0xF3, 0x3F, 0x96, 0xDF, 0x5E, 0xBE, 0x1A, 0x45, 0x01, 0x78, 0x3A, 0x1C, 0x0C, 0xEB, 0x0C, 0xA4, +0xDA, 0x33, 0x6B, 0x90, 0x3D, 0x01, 0xE0, 0xC1, 0xC1, 0x3C, 0x58, 0xC7, 0x03, 0x01, 0xDC, 0x80, +0x56, 0x29, 0xBF, 0x5F, 0x07, 0x33, 0xBE, 0x7E, 0xBB, 0x5A, 0xAD, 0xDE, 0xBE, 0xA5, 0x55, 0x5E, +0x34, 0x3B, 0x3F, 0x3E, 0x0A, 0x95, 0xD9, 0xF1, 0xF9, 0x43, 0xD0, 0xE1, 0xE8, 0x3E, 0xAB, 0x2B, +0xA5, 0xD7, 0x57, 0xEB, 0x50, 0xEE, 0xD7, 0x97, 0x3F, 0x5D, 0x5E, 0x5E, 0x7E, 0x90, 0x07, 0x5A, +0x97, 0xFA, 0xF3, 0x57, 0xF7, 0xEB, 0x60, 0xEE, 0xEF, 0x9C, 0xF4, 0xE1, 0xE3, 0xFC, 0x33, 0xE7, +0x47, 0xC7, 0xB1, 0x72, 0x7E, 0x9C, 0xDE, 0xB4, 0x55, 0xA4, 0xBE, 0xBD, 0x8E, 0xE6, 0x76, 0x3C, +0x9F, 0x4B, 0xE5, 0x91, 0xD3, 0xA4, 0xC3, 0x69, 0x35, 0xB0, 0xC5, 0x7F, 0x3A, 0xE1, 0x5B, 0xAE, +0x43, 0xC9, 0xE9, 0xC3, 0x73, 0x5C, 0x00, 0xF8, 0xAD, 0x2F, 0x25, 0x62, 0x81, 0x6D, 0xAA, 0x86, +0x28, 0xF6, 0xB5, 0xD4, 0x22, 0x9E, 0x9B, 0x9A, 0x6F, 0xA5, 0xC6, 0xCA, 0xEE, 0xB7, 0x52, 0x79, +0xF4, 0x55, 0xFD, 0x53, 0xAD, 0xA3, 0xD5, 0x45, 0x19, 0xD8, 0x25, 0x61, 0xFE, 0xBD, 0x41, 0x0F, +0x38, 0x62, 0x80, 0xA7, 0x51, 0x03, 0x04, 0xEA, 0x48, 0x76, 0xB6, 0xBF, 0xFE, 0xFA, 0xE0, 0xE0, +0x6B, 0x5E, 0xF4, 0x8C, 0x1E, 0x04, 0xCB, 0x7C, 0xFC, 0xFB, 0xDF, 0xD7, 0xA1, 0xF2, 0xF7, 0xED, +0xED, 0xDB, 0xB7, 0x0B, 0x29, 0xA4, 0x4A, 0x66, 0xB3, 0xD9, 0x71, 0x38, 0xE7, 0x82, 0x95, 0x48, +0xB9, 0x3B, 0x53, 0x00, 0x5E, 0xF1, 0x1C, 0xCA, 0xE3, 0xF2, 0xF2, 0xA7, 0x50, 0x84, 0x93, 0xF2, +0xEA, 0xF5, 0x55, 0x24, 0x87, 0x67, 0x67, 0x42, 0x61, 0xA9, 0xBC, 0x9C, 0x4F, 0x8F, 0xA3, 0x99, +0xCD, 0xDE, 0x46, 0x73, 0x7B, 0xFB, 0xF7, 0xDF, 0xD7, 0xB1, 0xA2, 0x68, 0x1B, 0xF0, 0xCC, 0xA5, +0x1E, 0x84, 0xA2, 0x27, 0xDE, 0xF6, 0x0E, 0x7E, 0x30, 0xB3, 0x9C, 0x0A, 0xF6, 0x40, 0xC0, 0x82, +0x92, 0x19, 0xB0, 0x4A, 0x5F, 0xFD, 0xF8, 0xD5, 0x47, 0xF9, 0x3A, 0x1E, 0x21, 0x03, 0x04, 0x01, +0x79, 0xF4, 0x65, 0xBB, 0xDF, 0x4A, 0x09, 0x44, 0x01, 0xA8, 0x0D, 0x2F, 0xCF, 0x88, 0xC0, 0xFE, +0x23, 0x60, 0x0B, 0xE6, 0x4B, 0x10, 0x90, 0xCE, 0x82, 0x08, 0x01, 0x47, 0xAF, 0x4E, 0x59, 0xD1, +0xA5, 0x80, 0x5B, 0xA3, 0xAD, 0x61, 0x2C, 0xDB, 0x3B, 0x3B, 0xDB, 0x07, 0xE1, 0xE8, 0x15, 0xC0, +0x93, 0x7A, 0xC1, 0xC1, 0x8B, 0xEA, 0x76, 0x21, 0x04, 0x54, 0x5D, 0x59, 0xB4, 0xD5, 0xF4, 0x8A, +0x99, 0x24, 0x8A, 0xBF, 0xE3, 0xF3, 0x73, 0x4E, 0x94, 0xE4, 0x7F, 0x92, 0xF5, 0xA1, 0x3A, 0xE0, +0x21, 0x79, 0xAC, 0xAF, 0x84, 0x6A, 0x42, 0x40, 0xD1, 0xBB, 0x47, 0xE5, 0xA7, 0xCB, 0xC7, 0xE5, +0x52, 0x5F, 0xAB, 0x7F, 0x8A, 0x3C, 0x84, 0xBD, 0x67, 0x92, 0x20, 0xAC, 0xF5, 0x5F, 0x15, 0xE5, +0x9F, 0x12, 0x70, 0x15, 0x29, 0xB7, 0x17, 0x42, 0xC0, 0xEB, 0x48, 0xF9, 0x7D, 0x3C, 0x57, 0xBD, +0x0F, 0xE5, 0x20, 0x4C, 0x40, 0x39, 0x01, 0x95, 0x80, 0xE5, 0x80, 0x8D, 0x3A, 0x0F, 0xAC, 0xE6, +0x97, 0x4A, 0xC1, 0x00, 0x4B, 0x79, 0x48, 0xBB, 0xAF, 0xF6, 0xBF, 0x12, 0x0A, 0x56, 0xDD, 0x5F, +0xFD, 0x4C, 0xF5, 0x45, 0x39, 0x12, 0x03, 0xD4, 0x04, 0x15, 0xD0, 0x10, 0x18, 0x45, 0xDB, 0x26, +0x2D, 0xF0, 0x59, 0x04, 0x30, 0x3E, 0x09, 0xC2, 0x09, 0x88, 0x5B, 0xA3, 0xBE, 0xFE, 0xF5, 0x0F, +0xCA, 0xBF, 0xFA, 0x96, 0x08, 0xA7, 0xCB, 0xD0, 0x8F, 0xD5, 0x1D, 0x39, 0xFF, 0x06, 0x41, 0x02, +0xCE, 0xA3, 0x0E, 0x58, 0x8D, 0x14, 0x86, 0x2E, 0x2A, 0xE5, 0xDF, 0x85, 0x12, 0xB0, 0x55, 0xFF, +0x56, 0xDA, 0xCC, 0x52, 0x42, 0xF8, 0x3B, 0x3F, 0x17, 0x04, 0xC6, 0xA8, 0x72, 0xA6, 0x51, 0x07, +0x3C, 0x64, 0x0F, 0x61, 0x9A, 0x44, 0xE8, 0xE6, 0x7D, 0xCF, 0xFB, 0x9F, 0x96, 0xD0, 0x77, 0x3D, +0xD3, 0xBF, 0x41, 0x8C, 0x7F, 0xC7, 0x61, 0x00, 0xCE, 0x52, 0x6C, 0xF4, 0xA0, 0xF5, 0x21, 0xEF, +0xBF, 0xFC, 0x1F, 0xC4, 0xFC, 0x6F, 0x2C, 0x25, 0x49, 0x20, 0x2D, 0x07, 0x61, 0x00, 0xCA, 0x42, +0xD4, 0x1D, 0x75, 0x40, 0x9E, 0x41, 0x5A, 0xDC, 0x05, 0x02, 0xC2, 0x00, 0x7D, 0xDA, 0x14, 0x30, +0x2D, 0x7A, 0x56, 0x08, 0x7E, 0x94, 0x9A, 0xD8, 0xF6, 0xF1, 0x81, 0x01, 0x2A, 0x0A, 0xB5, 0x94, +0xDD, 0x8E, 0x06, 0xBD, 0xE0, 0x3E, 0x8B, 0xC0, 0xEF, 0x3F, 0xE3, 0x80, 0x6F, 0x52, 0x09, 0xF2, +0x4F, 0x09, 0xF8, 0xF2, 0x35, 0xE7, 0x9F, 0xEE, 0x86, 0xFB, 0x55, 0x09, 0x48, 0x01, 0x98, 0x6E, +0x0B, 0x38, 0x3A, 0x5D, 0x2A, 0xFE, 0x38, 0xFF, 0x34, 0x9C, 0x80, 0x18, 0xD1, 0x19, 0x84, 0x04, +0x50, 0x0B, 0x57, 0x0A, 0xE5, 0x5F, 0x8A, 0x5E, 0xA8, 0x95, 0xEC, 0x55, 0x56, 0x92, 0xB5, 0xDA, +0x43, 0x5E, 0xAD, 0x66, 0x75, 0x42, 0x00, 0x9C, 0x56, 0x04, 0xE4, 0x02, 0x78, 0x7F, 0x96, 0xA2, +0x0A, 0x28, 0xB5, 0xED, 0x21, 0x44, 0xD3, 0xF2, 0x41, 0xF8, 0xE6, 0x4A, 0x1A, 0x1A, 0xB4, 0x9A, +0xFA, 0xBF, 0x5A, 0x45, 0x01, 0xDB, 0xBF, 0xA3, 0x14, 0xE5, 0x9F, 0xE6, 0xEE, 0x2E, 0xC4, 0xBF, +0x69, 0x8C, 0x80, 0xB3, 0x4F, 0x04, 0x6C, 0xA7, 0xDF, 0x4A, 0xF9, 0xA7, 0x0A, 0x18, 0x71, 0x40, +0x9B, 0xE4, 0x62, 0x31, 0xFE, 0xCD, 0xA3, 0xFE, 0xA7, 0xE1, 0xFA, 0xF7, 0x8B, 0xF2, 0x2F, 0x27, +0xE0, 0x8B, 0x0E, 0xFE, 0x27, 0x8F, 0xCA, 0xF2, 0x3E, 0xEE, 0xBF, 0x10, 0xEE, 0x09, 0xE8, 0xD2, +0xF8, 0x5F, 0xED, 0x80, 0xB5, 0x06, 0xB6, 0x28, 0xA0, 0xE7, 0x1B, 0x2F, 0xFF, 0x2B, 0x07, 0xEC, +0x1B, 0x80, 0xE0, 0x9F, 0x12, 0x30, 0xB8, 0x0E, 0x5A, 0x1D, 0x90, 0x19, 0xA0, 0xDD, 0x12, 0xEB, +0x74, 0x4B, 0x4E, 0x1A, 0xCE, 0xBF, 0x2A, 0x07, 0x5F, 0x07, 0xF9, 0x77, 0x40, 0x0D, 0xC0, 0xF0, +0x17, 0xEA, 0x05, 0xCB, 0xF5, 0x97, 0x2E, 0x41, 0xBD, 0x16, 0x6F, 0x05, 0x76, 0x49, 0x04, 0x7D, +0xBB, 0x52, 0xFF, 0xB3, 0x04, 0xF9, 0x37, 0xE5, 0x04, 0x54, 0xFF, 0x4B, 0x49, 0x13, 0x21, 0x87, +0xAA, 0x64, 0xA9, 0xFA, 0xE3, 0x7D, 0xD5, 0xFF, 0x4D, 0xCD, 0xA5, 0xF3, 0xBF, 0xEC, 0x53, 0xE0, +0x9F, 0x34, 0x6B, 0x7C, 0x27, 0x7F, 0x54, 0xFF, 0xB3, 0xB0, 0x41, 0x40, 0xE3, 0x5F, 0xC4, 0x01, +0xF1, 0x56, 0xD5, 0xEF, 0x5D, 0xE1, 0xA1, 0x51, 0xFC, 0xA5, 0xFF, 0x83, 0x98, 0xFF, 0x69, 0xE1, +0x1D, 0x00, 0x00, 0x90, 0xF3, 0x6F, 0xB0, 0xA3, 0xE1, 0x0E, 0x38, 0xB0, 0xFB, 0x21, 0xE8, 0x4E, +0x60, 0x18, 0x60, 0x07, 0x07, 0x7C, 0x61, 0xAD, 0x76, 0x80, 0xD5, 0x01, 0x05, 0x85, 0x09, 0x7E, +0x1F, 0xB5, 0x26, 0x3A, 0x7A, 0xE0, 0x75, 0x4F, 0xBC, 0x13, 0xDC, 0x15, 0x90, 0xFF, 0x15, 0x07, +0x7C, 0x83, 0x42, 0x22, 0xE8, 0x8B, 0x12, 0xF0, 0x8B, 0x3A, 0x02, 0xC2, 0xD3, 0x56, 0x07, 0x4C, +0xAB, 0xA0, 0x8D, 0x80, 0x03, 0xCA, 0x3F, 0x4B, 0xD4, 0xFF, 0xE8, 0x30, 0xA0, 0x76, 0x80, 0xAD, +0x30, 0x07, 0xD4, 0x2B, 0xEF, 0xA2, 0x42, 0xA0, 0x5D, 0x94, 0x8B, 0x55, 0xAD, 0x82, 0x78, 0xAE, +0x0F, 0xF0, 0x8F, 0x13, 0xB0, 0xA6, 0x1F, 0x1C, 0x90, 0xF1, 0xAF, 0xEE, 0x05, 0xAB, 0x93, 0xA5, +0xD2, 0x70, 0x34, 0xFF, 0x4B, 0xB5, 0x9E, 0x0B, 0xB6, 0x5A, 0x53, 0x10, 0x36, 0x68, 0xAF, 0x4B, +0x0E, 0x58, 0xFE, 0x8E, 0xC9, 0xFF, 0x40, 0x40, 0x02, 0x40, 0xF9, 0xE7, 0x18, 0x02, 0x43, 0x00, +0x84, 0x03, 0xB6, 0x3D, 0x6E, 0x35, 0x8B, 0xC8, 0x30, 0xE0, 0x78, 0x8E, 0x42, 0xFC, 0x6F, 0x8E, +0x93, 0x25, 0x2A, 0x80, 0x6C, 0x1C, 0xF0, 0x97, 0xEC, 0x7E, 0x30, 0xAF, 0x0A, 0x06, 0x58, 0x0E, +0x80, 0x26, 0xC2, 0x27, 0xE6, 0x27, 0x25, 0xB1, 0x2F, 0xF5, 0x7F, 0x15, 0x7D, 0x55, 0x93, 0xC5, +0xD1, 0xF0, 0x19, 0x15, 0xF0, 0x5F, 0x30, 0x17, 0xDC, 0x5A, 0xFA, 0xE7, 0x1F, 0x04, 0x10, 0xBD, +0xE0, 0xD8, 0xDD, 0x60, 0x5E, 0xBF, 0x3A, 0x6D, 0xC3, 0xDF, 0x68, 0x4B, 0xC3, 0x1C, 0xD0, 0xF8, +0x87, 0x50, 0x00, 0x46, 0x1C, 0x10, 0xF8, 0x0B, 0x39, 0x60, 0xD5, 0xFF, 0xAA, 0x2C, 0xF0, 0x6D, +0x92, 0x40, 0xA9, 0xAA, 0x7D, 0xAB, 0xAA, 0x49, 0x1F, 0x68, 0xAB, 0xFC, 0x43, 0x98, 0xFF, 0x25, +0x4C, 0xA0, 0x17, 0x4C, 0xF8, 0x67, 0x0E, 0x78, 0xF5, 0xE1, 0xB0, 0xE2, 0x55, 0x3A, 0xA4, 0x87, +0x1D, 0x94, 0x7F, 0x4A, 0xB4, 0x54, 0xE4, 0xF8, 0xC8, 0x00, 0x15, 0x7B, 0xC8, 0x27, 0x53, 0x4C, +0x45, 0xBF, 0x49, 0xE3, 0x77, 0x3C, 0x84, 0xFF, 0xC1, 0x01, 0xCB, 0xFE, 0x07, 0xAA, 0x33, 0x07, +0x3C, 0x9A, 0x3D, 0x0C, 0xE7, 0xDF, 0x42, 0x9B, 0xE4, 0x80, 0xBF, 0x13, 0xFE, 0xA1, 0x30, 0xFF, +0xB3, 0xCA, 0xB2, 0x83, 0x88, 0x03, 0x72, 0xFF, 0x83, 0x03, 0xD6, 0x00, 0x44, 0xB8, 0x03, 0x26, +0xDF, 0x4B, 0xD1, 0x2E, 0x70, 0x22, 0xA0, 0x75, 0x7F, 0xE5, 0x20, 0xD5, 0xF7, 0x79, 0xBB, 0xE7, +0xF3, 0x10, 0x48, 0xE6, 0x82, 0x1B, 0x11, 0xF8, 0x2F, 0x55, 0xC0, 0x37, 0x59, 0xA1, 0xFC, 0x43, +0x27, 0x58, 0x08, 0x48, 0x3A, 0xC0, 0x9C, 0x80, 0xFE, 0x17, 0xA4, 0x0F, 0xCB, 0xA7, 0xD5, 0xDE, +0x40, 0xF9, 0x87, 0x10, 0xFE, 0x45, 0x1D, 0x70, 0x9C, 0x95, 0xB6, 0x6B, 0xCA, 0xAE, 0x3E, 0x6D, +0xD4, 0x01, 0x55, 0x57, 0x6C, 0xD8, 0x7E, 0x91, 0x9A, 0x4F, 0x1A, 0x28, 0xD0, 0x0B, 0x10, 0x10, +0xFD, 0x5F, 0x3C, 0x04, 0x1E, 0x8C, 0x7F, 0x70, 0x40, 0x2D, 0x87, 0xEE, 0x20, 0x2B, 0xF5, 0x94, +0x7F, 0x28, 0x42, 0xC0, 0x4C, 0xF9, 0xB4, 0xC5, 0x00, 0xA0, 0x12, 0x12, 0x0C, 0x54, 0xAD, 0xF4, +0xDF, 0x31, 0x3D, 0xBB, 0xBA, 0xC7, 0xDF, 0x80, 0x39, 0xE0, 0xB4, 0xA6, 0xDF, 0x94, 0x8F, 0x03, +0xCE, 0x10, 0x46, 0xC0, 0xFA, 0xBD, 0x5F, 0x48, 0x91, 0x7A, 0x5D, 0x5E, 0xB9, 0x64, 0xE3, 0x7F, +0xDC, 0x01, 0x07, 0xE0, 0x1F, 0x47, 0xA0, 0xF4, 0x7F, 0xA5, 0x1A, 0x00, 0x07, 0x01, 0xFF, 0xC3, +0xFD, 0x00, 0xBD, 0x01, 0x46, 0xA3, 0xCC, 0xB3, 0xB9, 0x0E, 0xA9, 0xD6, 0x11, 0xF6, 0xAF, 0xB3, +0x42, 0x28, 0xD7, 0x9B, 0x04, 0xFE, 0x7B, 0x1D, 0xF0, 0x1F, 0xF2, 0xCE, 0xA7, 0xB7, 0x91, 0x22, +0x88, 0xE2, 0xFC, 0x8B, 0x04, 0xAC, 0x76, 0x23, 0x4B, 0x1B, 0x45, 0x5A, 0x90, 0x72, 0xCA, 0x8D, +0x48, 0x5C, 0x10, 0x49, 0x56, 0x39, 0x44, 0x08, 0x45, 0x46, 0xB2, 0x56, 0x0A, 0x39, 0xAC, 0xE5, +0x43, 0x24, 0x1F, 0x72, 0x80, 0x53, 0x84, 0x44, 0x38, 0x83, 0x94, 0x43, 0x2E, 0x1C, 0xCD, 0x85, +0x13, 0xDA, 0x83, 0xBF, 0x40, 0x3E, 0x1F, 0x55, 0xD5, 0x5D, 0x79, 0x69, 0xF7, 0xF4, 0xBC, 0x32, +0x4C, 0x60, 0x03, 0xAF, 0x6A, 0x7A, 0xC6, 0x8E, 0x63, 0x58, 0x7B, 0xFC, 0xCB, 0xEB, 0xAE, 0xEE, +0xF1, 0xD0, 0x04, 0x04, 0xFF, 0x40, 0x40, 0xBD, 0x22, 0x34, 0xBB, 0x14, 0x0C, 0x86, 0x01, 0x19, +0xFF, 0x40, 0xC0, 0x63, 0x62, 0x00, 0xA1, 0x20, 0xFF, 0x44, 0x7D, 0x03, 0x80, 0x45, 0xC8, 0x78, +0x60, 0x7F, 0x07, 0x58, 0x36, 0x77, 0x81, 0x36, 0xDA, 0xA7, 0x26, 0x70, 0x6A, 0xF8, 0x33, 0x07, +0x98, 0x2D, 0xE1, 0x78, 0x55, 0x41, 0xFE, 0x69, 0x90, 0xFA, 0x2F, 0xF4, 0xE3, 0xE2, 0x07, 0xF3, +0x65, 0x30, 0x6C, 0x09, 0x55, 0xE6, 0xFF, 0xBC, 0x5B, 0x9B, 0x77, 0x30, 0x7D, 0x99, 0x84, 0x0D, +0xFF, 0xA7, 0xBF, 0xE8, 0x4F, 0x87, 0x67, 0xCC, 0x77, 0x9C, 0x42, 0x8C, 0x80, 0xA0, 0x1F, 0x1D, +0x07, 0x1C, 0xAF, 0x6A, 0xDA, 0x1E, 0xFF, 0x33, 0xD9, 0x1B, 0x60, 0x7B, 0x32, 0x00, 0x18, 0xF4, +0x80, 0xC5, 0xD9, 0x42, 0xFD, 0xDF, 0x08, 0x16, 0xB0, 0xAF, 0x17, 0xDC, 0x75, 0x45, 0x7C, 0xEE, +0x00, 0x2D, 0x6A, 0x19, 0xF7, 0x74, 0x33, 0xF4, 0xA5, 0xB0, 0xC3, 0x32, 0x02, 0xE2, 0x68, 0x1C, +0xA8, 0xFE, 0xFB, 0x78, 0x3C, 0xE0, 0x8B, 0x30, 0x01, 0x0D, 0x7F, 0xF7, 0x11, 0x18, 0xFD, 0x4E, +0x10, 0x9D, 0x0E, 0xD8, 0x3D, 0x0E, 0x58, 0xF3, 0x6F, 0x67, 0x16, 0xE4, 0x1F, 0x99, 0x0C, 0x33, +0x09, 0x7A, 0xC0, 0x2F, 0xAB, 0xE8, 0xE1, 0xDF, 0xC5, 0xB5, 0x6D, 0x53, 0x3F, 0xF0, 0x0F, 0xA6, +0x41, 0x2F, 0x39, 0x40, 0x91, 0xFA, 0xBF, 0x38, 0x01, 0x41, 0x3F, 0x3F, 0xE2, 0xFC, 0x03, 0x01, +0xCD, 0xA0, 0xA5, 0x8A, 0x70, 0x3E, 0x96, 0xBD, 0x80, 0x11, 0x1D, 0x60, 0xE7, 0x9A, 0x81, 0xCF, +0x24, 0x07, 0x08, 0xF8, 0x3F, 0xEC, 0x16, 0x37, 0xE9, 0xA9, 0xB0, 0x83, 0xFF, 0x2B, 0xD5, 0x72, +0xAB, 0x67, 0xF8, 0x17, 0x31, 0x02, 0x8E, 0x6B, 0xED, 0x4D, 0xEB, 0xEA, 0xAF, 0xC6, 0xDD, 0xF0, +0x9F, 0x6F, 0x4D, 0x0F, 0x78, 0x55, 0xBF, 0xB1, 0x0D, 0x81, 0x7F, 0xC8, 0x3E, 0xFE, 0x19, 0x02, +0x5B, 0x1E, 0x10, 0x37, 0xBB, 0xBE, 0x13, 0xE4, 0x2F, 0x3B, 0x40, 0xAD, 0xFF, 0xBA, 0x05, 0x74, +0x08, 0xEA, 0xD6, 0xEF, 0x00, 0xDF, 0xAA, 0x61, 0xC0, 0x7F, 0xB2, 0x14, 0xFC, 0x50, 0x00, 0x34, +0xE6, 0x59, 0xC0, 0x03, 0x52, 0xFF, 0x47, 0x4A, 0xC1, 0x15, 0xFF, 0xD2, 0x74, 0xC0, 0x63, 0xC2, +0x3F, 0xD7, 0x06, 0xC3, 0x1F, 0x92, 0x15, 0x80, 0x11, 0x93, 0xAB, 0xC6, 0x04, 0x68, 0xEB, 0x77, +0xD9, 0x07, 0x4F, 0x1B, 0xD3, 0xA5, 0x51, 0x4F, 0x6D, 0x5F, 0x3E, 0x90, 0x46, 0xDC, 0xE0, 0xB8, +0x43, 0x6C, 0xFC, 0x0F, 0xC4, 0x68, 0x74, 0x82, 0x4F, 0xBB, 0x24, 0x1E, 0x50, 0x23, 0x81, 0x2F, +0x1F, 0x1F, 0x80, 0x67, 0x39, 0x34, 0x8D, 0x80, 0x95, 0x00, 0x4A, 0xFC, 0x8A, 0x79, 0xC0, 0x4C, +0x54, 0xF4, 0x85, 0x31, 0x00, 0xC8, 0x3D, 0x20, 0xFE, 0x45, 0x60, 0x20, 0xE1, 0x1F, 0xE9, 0x05, +0x1B, 0xFF, 0xCC, 0x78, 0xA3, 0xD1, 0xBC, 0x22, 0xFC, 0xA3, 0x16, 0xB0, 0xE3, 0x4C, 0xE9, 0x9B, +0x00, 0x68, 0x22, 0x1E, 0x10, 0xFC, 0xAB, 0x08, 0xC8, 0x5C, 0x5A, 0x8B, 0x5F, 0xE6, 0xFE, 0x3C, +0x35, 0xDE, 0x01, 0x05, 0x11, 0x03, 0xF8, 0xBF, 0x21, 0x86, 0x01, 0x01, 0xBD, 0x47, 0x50, 0x0A, +0x7E, 0xD1, 0x11, 0xBD, 0xFD, 0xDF, 0x12, 0x81, 0xD4, 0xFF, 0xA1, 0x16, 0xDC, 0x9A, 0x00, 0x53, +0x69, 0x07, 0xB5, 0x60, 0xC2, 0x3F, 0x78, 0x40, 0x0A, 0x40, 0x25, 0x20, 0x33, 0x80, 0x1E, 0xDD, +0x1E, 0x30, 0xF5, 0xBC, 0xDC, 0x01, 0x3A, 0x0A, 0xD3, 0xF0, 0x9F, 0x6C, 0xDA, 0xBA, 0x03, 0x1C, +0x77, 0xAA, 0xA7, 0x03, 0xEC, 0xE1, 0xC7, 0x5D, 0x04, 0xFC, 0xB1, 0x93, 0x3F, 0x28, 0x55, 0xD8, +0x41, 0x42, 0x97, 0xBB, 0xBE, 0xDA, 0x03, 0xA6, 0xB8, 0x53, 0x31, 0x01, 0xC6, 0x0F, 0x34, 0xF1, +0xAC, 0xD2, 0xA4, 0x1B, 0x0B, 0x2D, 0x00, 0xD7, 0x6A, 0x2C, 0x00, 0x91, 0x08, 0xF5, 0x82, 0xC7, +0xDD, 0xAA, 0xE6, 0xC2, 0xC8, 0xAB, 0x7B, 0xE1, 0xFD, 0x5F, 0xBC, 0x01, 0xAD, 0xC9, 0x30, 0x8D, +0xF7, 0xB5, 0x31, 0x00, 0x18, 0x24, 0xE0, 0x86, 0xDB, 0xBF, 0xA2, 0x17, 0x5C, 0xDA, 0x3F, 0xF0, +0xAF, 0x96, 0x10, 0xB0, 0x70, 0x80, 0x10, 0x77, 0x80, 0x56, 0x03, 0xF6, 0xD2, 0x87, 0x36, 0xEE, +0x04, 0x0B, 0x11, 0x10, 0xC6, 0x3D, 0xE0, 0xE3, 0x19, 0x07, 0xA4, 0x0E, 0x30, 0x8E, 0x3F, 0x44, +0x8B, 0x7F, 0x20, 0x20, 0x3C, 0x20, 0xF1, 0x7F, 0xC4, 0x03, 0xE2, 0x7B, 0x13, 0x4A, 0x0F, 0x78, +0xDC, 0xC1, 0xBF, 0x6E, 0x6D, 0x3C, 0x61, 0xF8, 0x03, 0x01, 0x49, 0x01, 0x18, 0x31, 0x69, 0x16, +0x40, 0xE0, 0x02, 0xD3, 0xFE, 0x3A, 0x7F, 0x52, 0xA7, 0x79, 0x02, 0xB4, 0x19, 0xC0, 0x71, 0x43, +0xDD, 0xFE, 0x0F, 0x1E, 0x09, 0xC7, 0x35, 0x01, 0x61, 0x00, 0xBB, 0x0A, 0x21, 0x4E, 0x3F, 0xE3, +0x5F, 0x39, 0xA6, 0x77, 0xDF, 0xD9, 0x65, 0xD3, 0x57, 0xFB, 0xBF, 0x12, 0x96, 0x89, 0x80, 0x3E, +0x08, 0xE8, 0x0B, 0x40, 0x5A, 0xFF, 0x03, 0x1D, 0xA5, 0x60, 0x70, 0xAF, 0x6C, 0x39, 0xFF, 0x30, +0x19, 0xA6, 0x76, 0x80, 0x18, 0x7E, 0x75, 0x12, 0x5A, 0x76, 0x00, 0xB0, 0xF1, 0xBE, 0xB2, 0x02, +0x30, 0xB2, 0xC7, 0xFF, 0xE5, 0x79, 0x80, 0x20, 0x60, 0x63, 0x01, 0x08, 0x04, 0x0F, 0xA8, 0x00, +0x84, 0xE2, 0x1E, 0xF0, 0x6E, 0xDE, 0xB3, 0x07, 0x60, 0x57, 0x78, 0x40, 0xA2, 0x38, 0x12, 0xFF, +0xEE, 0x00, 0xE0, 0x23, 0xF1, 0x80, 0x2F, 0x9A, 0xD1, 0xEA, 0xFF, 0x22, 0xE0, 0x01, 0x9F, 0x56, +0x0B, 0x40, 0xA0, 0x72, 0x1C, 0xF0, 0xD5, 0xCE, 0x6A, 0x01, 0x04, 0x67, 0x4A, 0x49, 0x40, 0xEE, +0xFF, 0xE0, 0x01, 0xDB, 0xF8, 0xE3, 0x1E, 0xF0, 0x4B, 0x4A, 0x40, 0xF8, 0x3F, 0xE0, 0x0F, 0x95, +0xE0, 0x4C, 0xC0, 0x29, 0x1C, 0xA0, 0xFA, 0xBF, 0xA6, 0x9A, 0x1D, 0x60, 0x0F, 0x00, 0xE3, 0x47, +0xC2, 0x3F, 0xC8, 0xCB, 0x1F, 0xA9, 0xD5, 0xE8, 0xC2, 0x1F, 0xA6, 0x03, 0xC2, 0x08, 0xCA, 0x01, +0x1E, 0x8B, 0xC7, 0x65, 0x02, 0xC2, 0x02, 0x96, 0x13, 0x00, 0xB9, 0x07, 0xBC, 0xF7, 0x6F, 0x61, +0xA5, 0xE0, 0x71, 0x0F, 0x01, 0xE1, 0x02, 0xAD, 0xB6, 0x8E, 0xE1, 0x57, 0x69, 0xEF, 0xBF, 0x11, +0xAD, 0x05, 0x20, 0x75, 0xB4, 0x16, 0x80, 0xD4, 0xD9, 0xF2, 0x7F, 0x4A, 0xBF, 0x0D, 0x6D, 0x41, +0xC0, 0x11, 0xEC, 0x1F, 0x16, 0x80, 0xB4, 0x08, 0x08, 0x07, 0x08, 0x45, 0x88, 0xF8, 0x51, 0xB2, +0x7D, 0x08, 0x90, 0x8F, 0xF6, 0x9F, 0xFF, 0xDB, 0x2B, 0x42, 0x88, 0xFF, 0x1B, 0x8A, 0x80, 0x99, +0x76, 0x1E, 0x3D, 0xD3, 0x01, 0xC1, 0xBF, 0xDA, 0x03, 0xBE, 0xAA, 0x17, 0x00, 0x37, 0x09, 0xB8, +0xCD, 0xF8, 0xE7, 0x5A, 0x03, 0x80, 0xD4, 0xFF, 0x21, 0x56, 0xC6, 0x94, 0x96, 0xC9, 0x7A, 0x00, +0x81, 0x7E, 0xDB, 0x08, 0xA8, 0xE0, 0xB3, 0x16, 0x13, 0x00, 0x23, 0x04, 0xAC, 0x2A, 0x05, 0x40, +0x46, 0x65, 0xAB, 0x4E, 0xDB, 0x4A, 0xBE, 0x4F, 0x36, 0x3D, 0x90, 0x9D, 0xB3, 0xAC, 0xA0, 0x9F, +0x13, 0x10, 0x0E, 0x10, 0xFE, 0xCF, 0xB3, 0x68, 0xEC, 0x39, 0xBD, 0x95, 0xF1, 0xBF, 0xB6, 0x5A, +0x03, 0x80, 0xBC, 0x13, 0x3C, 0xEE, 0xD1, 0x8A, 0x03, 0xC4, 0x02, 0x10, 0x54, 0x81, 0x1D, 0x85, +0xAC, 0xFE, 0x8B, 0x20, 0xFE, 0x0F, 0xD9, 0x58, 0x00, 0x32, 0xEA, 0x1A, 0x87, 0x1E, 0x55, 0x13, +0x00, 0x5B, 0x9A, 0x91, 0x31, 0xC0, 0x16, 0xC6, 0x74, 0xD9, 0x87, 0x73, 0x4F, 0x13, 0xB7, 0x4A, +0x0F, 0x48, 0x15, 0xC7, 0xE1, 0xDF, 0xF2, 0x7F, 0x8F, 0xC6, 0x03, 0x86, 0x01, 0xE8, 0xF8, 0x43, +0x34, 0x09, 0xD8, 0xE6, 0x9F, 0xC4, 0xAB, 0xDE, 0x09, 0x30, 0xC5, 0x84, 0xE8, 0xE3, 0x51, 0xC1, +0xBF, 0x6E, 0x00, 0x8E, 0xB4, 0x09, 0xF0, 0x0F, 0xA5, 0x60, 0x6E, 0x00, 0xEB, 0x5A, 0xF0, 0x7C, +0xB9, 0x9C, 0x16, 0xFD, 0x2E, 0x8C, 0x03, 0x7A, 0x29, 0x18, 0x0E, 0x70, 0x0C, 0x11, 0x02, 0xAE, +0xD2, 0xAF, 0x00, 0x87, 0x54, 0x42, 0x88, 0xFF, 0x83, 0x14, 0x7D, 0x79, 0xA2, 0xCA, 0xF9, 0x0D, +0x70, 0x57, 0xEE, 0x2C, 0x85, 0x7D, 0x9A, 0x49, 0xE2, 0xFF, 0xCA, 0x28, 0x0F, 0xB2, 0xF7, 0xB3, +0x16, 0xFE, 0x8F, 0xF7, 0x82, 0xC1, 0xF1, 0x8E, 0x96, 0x02, 0x10, 0x2A, 0xAF, 0x8A, 0x70, 0x2D, +0x02, 0x03, 0xB1, 0xE9, 0x3D, 0xD4, 0xFF, 0x21, 0x1A, 0x0B, 0x40, 0x38, 0x01, 0x47, 0x19, 0x76, +0x70, 0x7F, 0xD0, 0xA8, 0x9A, 0x00, 0xD8, 0xD2, 0xCC, 0x1D, 0x20, 0x15, 0x70, 0x76, 0x9B, 0xCB, +0xBF, 0x75, 0x54, 0xE0, 0xCB, 0x37, 0xFE, 0x67, 0x1E, 0x70, 0x80, 0xF9, 0x7F, 0x0C, 0x80, 0xCE, +0xBA, 0x4E, 0x0B, 0x28, 0x04, 0x44, 0xFF, 0xD7, 0xF8, 0xD7, 0x46, 0xA0, 0x78, 0x40, 0xD6, 0xFF, +0x05, 0x01, 0x09, 0xFF, 0x20, 0xC6, 0x3F, 0xE4, 0x84, 0xFA, 0x3F, 0x84, 0x1A, 0x3F, 0xF7, 0x7F, +0x69, 0xD4, 0x0F, 0x0E, 0xD0, 0x36, 0x1C, 0x6B, 0x27, 0x38, 0xFB, 0xC0, 0x31, 0x51, 0x61, 0x00, +0x1D, 0x0B, 0x08, 0xDC, 0x73, 0x46, 0xFD, 0x1F, 0x26, 0xC3, 0x60, 0x1C, 0xF0, 0x87, 0x16, 0xFB, +0x2C, 0xBC, 0x12, 0x92, 0x54, 0xD6, 0x3D, 0x3C, 0xD0, 0x60, 0x4C, 0xF1, 0xE6, 0xB4, 0x52, 0x73, +0x49, 0x48, 0x0F, 0xFD, 0xB4, 0xE2, 0x53, 0x2D, 0x00, 0x69, 0x0B, 0xF5, 0x8F, 0xE4, 0xFF, 0xA6, +0xA8, 0xC2, 0xFB, 0x66, 0x6D, 0xB9, 0x24, 0x64, 0x4E, 0x00, 0x48, 0xFC, 0x1F, 0xB2, 0x90, 0x62, +0x2E, 0x19, 0x40, 0x49, 0x50, 0x10, 0x1E, 0x90, 0xF8, 0x3F, 0x00, 0x30, 0x24, 0x5C, 0xEB, 0x34, +0x93, 0x0E, 0xE6, 0x0F, 0xC7, 0x02, 0x46, 0xFF, 0xA9, 0x07, 0x57, 0x1C, 0x85, 0x03, 0xF8, 0xBF, +0xB7, 0x7A, 0x3A, 0xE0, 0x0B, 0x12, 0x4D, 0x03, 0x58, 0x23, 0xF0, 0x35, 0x29, 0x80, 0x14, 0x4B, +0x42, 0x98, 0xFF, 0x03, 0x01, 0xB7, 0x29, 0xFF, 0xFC, 0x44, 0xA4, 0x00, 0x44, 0x8E, 0x60, 0xFF, +0x08, 0x00, 0xE7, 0xAB, 0xE3, 0x7F, 0x17, 0x55, 0xEF, 0x4B, 0xD2, 0x64, 0xF4, 0xB3, 0x91, 0xC0, +0x31, 0xD3, 0xFD, 0x05, 0xC0, 0x2D, 0x07, 0x98, 0xF7, 0xD4, 0xFF, 0x41, 0x77, 0xEB, 0xD7, 0x7E, +0x76, 0x8E, 0x55, 0x4C, 0xC3, 0x92, 0x10, 0x8C, 0xFF, 0xE1, 0xB1, 0x96, 0x38, 0x4C, 0x71, 0xE3, +0x43, 0x80, 0xF0, 0x7F, 0x0D, 0x55, 0x0B, 0x40, 0xEA, 0xB6, 0xEE, 0x05, 0x8F, 0x99, 0x8C, 0x7D, +0x97, 0x9A, 0x09, 0x75, 0xA8, 0xC2, 0xBB, 0x01, 0x77, 0x1E, 0x2E, 0xE7, 0xF0, 0x7F, 0x24, 0x8A, +0xFA, 0x6F, 0x14, 0x81, 0x98, 0xF5, 0xE2, 0x14, 0x04, 0x01, 0x0D, 0x89, 0xCC, 0xFF, 0xB9, 0x92, +0x03, 0x8C, 0x1B, 0xC0, 0xC4, 0x3C, 0xF4, 0x73, 0x71, 0x54, 0x4C, 0x09, 0x2C, 0x7E, 0xED, 0xFF, +0xE7, 0x01, 0x87, 0x34, 0x80, 0x88, 0x6A, 0x01, 0x5C, 0x83, 0x7F, 0x7A, 0xFC, 0xF4, 0xA9, 0xF9, +0x3F, 0xC6, 0x3F, 0x2B, 0x05, 0x7F, 0x47, 0xF8, 0x57, 0x2D, 0x0B, 0xDE, 0x66, 0x02, 0x01, 0x37, +0xD8, 0x29, 0xED, 0x1E, 0x90, 0xF2, 0x4F, 0xBF, 0x28, 0xE2, 0x0E, 0x80, 0x69, 0x00, 0x0A, 0x1B, +0xAC, 0x48, 0x66, 0x63, 0x1A, 0xA6, 0x92, 0xFA, 0x2F, 0x17, 0xFC, 0x5F, 0x81, 0x88, 0x2E, 0x0E, +0x52, 0xFF, 0x07, 0x0F, 0xE8, 0x55, 0x5B, 0xF0, 0xAB, 0x32, 0x81, 0x2B, 0xCB, 0x82, 0x6B, 0x3E, +0xAE, 0xFC, 0xA2, 0x77, 0x82, 0x75, 0x02, 0x0C, 0xD5, 0x1D, 0xAC, 0x7B, 0xFB, 0xBF, 0x05, 0x00, +0xC7, 0x5C, 0x18, 0xFF, 0xC3, 0x5F, 0x1E, 0x4F, 0xD9, 0xA6, 0x38, 0xE0, 0x03, 0x80, 0x88, 0x72, +0x01, 0x48, 0x3B, 0x6B, 0xFF, 0xE7, 0xF8, 0x1B, 0xB5, 0xA7, 0x03, 0x7E, 0xD0, 0xAF, 0xB5, 0x1D, +0x20, 0x98, 0x57, 0xB8, 0x3F, 0xD2, 0x19, 0xE6, 0x1A, 0x98, 0x80, 0x20, 0xE1, 0xA3, 0xF1, 0x80, +0x2F, 0x78, 0x64, 0x01, 0x7D, 0x4D, 0x04, 0xBE, 0x7E, 0x4A, 0xFC, 0x1F, 0x4A, 0xC1, 0xBE, 0x00, +0x84, 0x00, 0x10, 0x57, 0x88, 0xD6, 0xF3, 0xAB, 0xAD, 0x51, 0x49, 0xC0, 0x09, 0x49, 0x8C, 0x03, +0x06, 0xAC, 0x02, 0xAE, 0x00, 0x08, 0xDB, 0xE1, 0x0D, 0xC6, 0xA0, 0x4C, 0x66, 0x54, 0xC0, 0x3F, +0x46, 0xC0, 0x97, 0xEA, 0xFF, 0x80, 0x86, 0x32, 0x80, 0xC4, 0xCC, 0xBF, 0x00, 0x80, 0xD2, 0x92, +0x10, 0xC3, 0x56, 0x89, 0xBB, 0x94, 0x85, 0xD5, 0x4B, 0x17, 0x43, 0x58, 0xB1, 0x7F, 0xB8, 0x8D, +0x3B, 0xAD, 0x14, 0x6C, 0xFC, 0xE3, 0x22, 0xF5, 0x8F, 0xBA, 0x16, 0x3C, 0x8E, 0x28, 0x39, 0xC0, +0x7B, 0xAF, 0x7D, 0x35, 0x04, 0xE1, 0xF7, 0x63, 0x02, 0x34, 0x0D, 0x15, 0xE3, 0x9F, 0x25, 0xF8, +0xE7, 0xE4, 0x43, 0xB3, 0x3A, 0x19, 0xE6, 0x18, 0x13, 0x00, 0x99, 0x03, 0x5C, 0x87, 0x81, 0x6A, +0xEE, 0x60, 0x00, 0x6D, 0x07, 0x27, 0xA8, 0x69, 0x40, 0x94, 0x6D, 0x38, 0xF4, 0x21, 0x1E, 0x91, +0x07, 0x1C, 0xB2, 0x00, 0x8C, 0x70, 0xFE, 0x11, 0xFC, 0xF9, 0x15, 0xA2, 0x29, 0xFF, 0xCC, 0x02, +0x0A, 0x01, 0x99, 0xFF, 0xC3, 0x92, 0x10, 0x55, 0xDD, 0xFF, 0x6D, 0x4F, 0x86, 0x99, 0x04, 0x12, +0x0B, 0x40, 0x38, 0x01, 0xF3, 0x15, 0xF0, 0x3D, 0x51, 0xF9, 0xF5, 0x74, 0x6F, 0x92, 0x3C, 0xE0, +0xF8, 0x65, 0x90, 0x80, 0x2F, 0xB1, 0x02, 0xB8, 0xC7, 0x01, 0x5A, 0x21, 0xE4, 0xD7, 0x10, 0x7E, +0x94, 0x80, 0xA7, 0x25, 0xC8, 0x3A, 0x5C, 0x20, 0x3C, 0xA0, 0x80, 0xB2, 0x7E, 0x4C, 0xCE, 0xD2, +0x03, 0x3A, 0xFF, 0x98, 0xE0, 0xFF, 0xFA, 0x21, 0x28, 0x01, 0xFE, 0x51, 0x79, 0xFF, 0xD7, 0x5F, +0x7B, 0x4F, 0x78, 0x42, 0x6F, 0x31, 0x01, 0x9A, 0x05, 0x16, 0x80, 0xD0, 0xC4, 0x04, 0xC0, 0x12, +0x7F, 0x1D, 0x4B, 0x42, 0x9C, 0x7F, 0x0C, 0x80, 0x61, 0xC1, 0xEF, 0x21, 0xFC, 0x42, 0xF8, 0x55, +0x88, 0x06, 0xF3, 0x7F, 0x88, 0xBF, 0x6C, 0xFF, 0xDE, 0xF6, 0x52, 0xF0, 0x8B, 0x60, 0x80, 0x7F, +0x5D, 0x51, 0x12, 0x90, 0xF1, 0x0F, 0x95, 0x90, 0x08, 0xFF, 0xB0, 0x2C, 0x78, 0x9B, 0xF0, 0x6F, +0x04, 0x02, 0x06, 0xCF, 0x69, 0xF0, 0x2F, 0xE2, 0x01, 0x7D, 0xEC, 0x1D, 0x1F, 0x38, 0xDC, 0x80, +0x2F, 0xB1, 0x71, 0xC0, 0x71, 0xF0, 0x63, 0x8D, 0x02, 0x30, 0xD0, 0xD0, 0xF2, 0x80, 0xBF, 0xC2, +0xFF, 0x31, 0x0F, 0xD8, 0xEA, 0xCB, 0x62, 0xE7, 0xA9, 0xFC, 0xAB, 0x7F, 0x5E, 0xDF, 0x67, 0x1E, +0xF0, 0x34, 0x28, 0x9B, 0x00, 0xD8, 0xB4, 0x80, 0x05, 0xEF, 0xC1, 0xBF, 0x80, 0x07, 0x84, 0xF3, +0x2B, 0x5E, 0x79, 0xBF, 0x77, 0xEA, 0xE3, 0xB1, 0xE0, 0x1F, 0x0D, 0x03, 0x60, 0x94, 0x80, 0x69, +0xE0, 0x8F, 0x58, 0x40, 0xB9, 0x07, 0xFC, 0x23, 0x00, 0x8C, 0xCB, 0x68, 0x07, 0xBF, 0x57, 0x9A, +0xBF, 0xC2, 0x14, 0xCA, 0x55, 0xA3, 0xA1, 0xFF, 0xE9, 0x38, 0xE0, 0x03, 0x00, 0x10, 0xFC, 0xA3, +0x04, 0x94, 0x09, 0xD1, 0xB8, 0x02, 0x20, 0x1B, 0x07, 0x04, 0xFF, 0x98, 0x07, 0x04, 0xFF, 0x22, +0x1E, 0x70, 0x12, 0x4B, 0xFD, 0x1E, 0xD8, 0x60, 0x5C, 0x95, 0x8E, 0x0F, 0xE3, 0xEE, 0xF9, 0x06, +0x3E, 0x9D, 0x17, 0xF0, 0x7F, 0x54, 0xF5, 0xB4, 0x97, 0xF6, 0x30, 0x20, 0xE3, 0x0E, 0x16, 0xC5, +0x7D, 0x0F, 0xD0, 0x95, 0x9D, 0xDB, 0x0A, 0x82, 0x98, 0x00, 0x5D, 0xFF, 0xD4, 0x02, 0xD7, 0x90, +0xC1, 0x04, 0x40, 0x4E, 0xC0, 0x92, 0xDE, 0x68, 0x4B, 0xAE, 0x6B, 0x8C, 0xC3, 0xBA, 0x2C, 0x5E, +0xFE, 0xE2, 0x95, 0x77, 0x10, 0xBA, 0x35, 0x04, 0xFF, 0x68, 0xC0, 0x00, 0x92, 0xF4, 0x09, 0x80, +0xD2, 0xF6, 0x5B, 0x40, 0xBD, 0x73, 0xB6, 0x33, 0x28, 0x00, 0x33, 0xEB, 0x0A, 0x13, 0x58, 0x4F, +0x86, 0xF6, 0xFD, 0x90, 0xFE, 0x0F, 0xF1, 0x78, 0xAE, 0x8B, 0xF0, 0x30, 0x16, 0x70, 0xB3, 0xE6, +0x5F, 0x6B, 0x32, 0xCC, 0x6B, 0xC6, 0x3F, 0x4C, 0x07, 0x04, 0x00, 0xF9, 0x30, 0x20, 0x07, 0xE0, +0x08, 0x04, 0x9C, 0x04, 0x33, 0xFE, 0x41, 0x51, 0x00, 0x22, 0x61, 0xF8, 0x6C, 0x43, 0xAA, 0xF6, +0xC0, 0x3F, 0x26, 0x61, 0x00, 0xA5, 0x9F, 0x6D, 0x67, 0x27, 0x30, 0x80, 0x0C, 0x80, 0x37, 0x2B, +0xF6, 0xAD, 0xB6, 0x75, 0xF8, 0x09, 0xB0, 0x57, 0xFD, 0x4E, 0x11, 0x52, 0x09, 0x8E, 0x03, 0xD0, +0x87, 0x35, 0xB9, 0x03, 0x3C, 0x1C, 0x87, 0xB5, 0x57, 0x74, 0x7C, 0x2F, 0xEA, 0x52, 0x08, 0x36, +0x14, 0x40, 0x68, 0xEC, 0xC7, 0x01, 0x38, 0xC2, 0xFA, 0x0F, 0xC5, 0xA0, 0x37, 0x25, 0x01, 0x0D, +0x8B, 0x5B, 0x1F, 0xBC, 0x1A, 0x18, 0x80, 0x9A, 0x08, 0xD0, 0x0E, 0x2E, 0x10, 0xB1, 0x96, 0x05, +0xFC, 0xEF, 0x2D, 0x0A, 0xDE, 0x7C, 0x08, 0x00, 0x9A, 0x03, 0x6C, 0x45, 0xBD, 0x28, 0x18, 0x90, +0xA3, 0xA3, 0x80, 0x41, 0x02, 0x6A, 0x21, 0x78, 0x3B, 0xA8, 0xD1, 0x28, 0xDC, 0x07, 0x9E, 0xEF, +0x87, 0x3F, 0x29, 0x5E, 0x02, 0x29, 0xC6, 0xFC, 0xBA, 0x10, 0x78, 0x81, 0x6B, 0xC0, 0x50, 0x1D, +0x1E, 0x9E, 0x91, 0x0E, 0xB0, 0x85, 0xF2, 0xE4, 0xE4, 0x24, 0x8A, 0x9F, 0x45, 0x2A, 0x81, 0xD4, +0xB4, 0x43, 0xEB, 0xAE, 0xEE, 0xFB, 0x9F, 0xCB, 0x5A, 0x89, 0x64, 0xEB, 0x17, 0x6E, 0x6E, 0xC2, +0x04, 0x96, 0xFF, 0xD7, 0xB3, 0xA0, 0x03, 0x3C, 0x0C, 0x13, 0xF0, 0x32, 0x2D, 0x01, 0xF6, 0xBC, +0xF0, 0xC6, 0xD3, 0xE9, 0x67, 0x85, 0xE0, 0x38, 0xFF, 0xE6, 0x71, 0xFE, 0x09, 0xE9, 0xB2, 0xFB, +0x03, 0xFD, 0x3A, 0x5C, 0xE0, 0xBE, 0x4E, 0x85, 0xF9, 0x60, 0x50, 0x00, 0x66, 0xE3, 0xE7, 0x06, +0x10, 0x0B, 0x40, 0x10, 0xA8, 0x09, 0xAF, 0xA7, 0x70, 0x19, 0xE4, 0xD3, 0xC7, 0x33, 0x06, 0x38, +0x38, 0x01, 0xF5, 0x51, 0x4A, 0x36, 0x4E, 0x40, 0xDD, 0xBD, 0xC6, 0x55, 0xF0, 0xF9, 0x18, 0x60, +0x94, 0x80, 0x5B, 0xBB, 0x28, 0x02, 0x33, 0xFC, 0x49, 0x6E, 0x44, 0x01, 0x38, 0x0F, 0xF7, 0x80, +0x53, 0x11, 0x18, 0xD4, 0xC3, 0xC1, 0xCA, 0xB8, 0x20, 0xAE, 0x02, 0xC3, 0xF9, 0x27, 0x82, 0x21, +0xEA, 0xF5, 0x7F, 0xA2, 0x20, 0x01, 0xB5, 0x5A, 0x7B, 0x03, 0x9C, 0x75, 0x40, 0x10, 0x77, 0x2B, +0x02, 0xAB, 0x1A, 0x49, 0x0D, 0x41, 0xCD, 0x53, 0x79, 0xDA, 0x20, 0xFF, 0x54, 0x31, 0x0B, 0x78, +0x28, 0x0A, 0xF2, 0x4F, 0xCB, 0xC0, 0xF7, 0x09, 0x08, 0x13, 0x8E, 0xCC, 0xFC, 0x9B, 0xC7, 0x09, +0x38, 0x9F, 0x07, 0x09, 0xB8, 0xA1, 0xA7, 0x55, 0x5E, 0x03, 0x07, 0xFA, 0xA1, 0x22, 0xE2, 0x1A, +0xE5, 0x89, 0x30, 0xC3, 0x3A, 0x40, 0x85, 0x9F, 0xCF, 0xF6, 0x83, 0xFF, 0x83, 0xFB, 0xAB, 0x16, +0x04, 0x0F, 0x4D, 0x40, 0x53, 0x9C, 0x80, 0xFF, 0x6A, 0x09, 0x64, 0x78, 0x02, 0x6E, 0xE6, 0x09, +0x30, 0x1C, 0x81, 0xD2, 0x60, 0x16, 0x20, 0xF7, 0x7F, 0x2A, 0xFB, 0x1E, 0x24, 0xEE, 0xFF, 0x8C, +0x80, 0x4C, 0x23, 0x07, 0x60, 0xCC, 0x03, 0xCA, 0xD9, 0x1F, 0x43, 0xA0, 0x2E, 0x08, 0x9E, 0x4B, +0xD4, 0xB3, 0xA0, 0xB1, 0x79, 0xC7, 0x78, 0x6F, 0xAA, 0x71, 0xF9, 0x32, 0xC2, 0x3F, 0x13, 0x26, +0xC1, 0xF4, 0xF9, 0x3F, 0x10, 0x90, 0x4F, 0x83, 0x39, 0x58, 0x08, 0x04, 0x51, 0xDD, 0x28, 0x38, +0x88, 0x9D, 0x3B, 0x40, 0x39, 0x6A, 0x21, 0x10, 0xFD, 0xDF, 0x9F, 0x17, 0x3A, 0xB9, 0x66, 0x11, +0xE6, 0x9F, 0x79, 0x40, 0xCA, 0xC0, 0x43, 0x53, 0xB0, 0x04, 0xA2, 0xBA, 0x58, 0xA9, 0xBB, 0xE3, +0x36, 0x7C, 0xE1, 0x95, 0xBD, 0x55, 0x51, 0xFE, 0xED, 0x47, 0x08, 0x28, 0x9B, 0xD2, 0x0F, 0x35, +0x60, 0x8C, 0x03, 0xFA, 0x3D, 0xD5, 0x44, 0xC0, 0x9D, 0x01, 0x01, 0x08, 0xBE, 0x81, 0x81, 0xAD, +0x78, 0x30, 0x00, 0x3E, 0x8E, 0x69, 0x80, 0x0F, 0x31, 0x0D, 0x06, 0xFE, 0x8F, 0x44, 0xE2, 0x9F, +0x12, 0x50, 0x3C, 0x60, 0x60, 0x1E, 0xA0, 0x08, 0x1E, 0x90, 0xF9, 0xBF, 0x99, 0x34, 0x64, 0x21, +0x9C, 0x8E, 0xC7, 0x8C, 0x72, 0x72, 0x02, 0xEA, 0xA9, 0x3F, 0x17, 0xC5, 0xFA, 0xBF, 0x12, 0x5F, +0x5E, 0xA5, 0x3E, 0x17, 0x36, 0xB8, 0x10, 0x6C, 0xF9, 0x9A, 0x58, 0x61, 0xFE, 0x99, 0x07, 0x3C, +0xA1, 0xFE, 0x8F, 0x13, 0x10, 0x97, 0x84, 0x11, 0x2D, 0x60, 0xDD, 0x00, 0xB7, 0x95, 0x5B, 0x82, +0x3F, 0x49, 0xEB, 0x05, 0x77, 0x76, 0x82, 0xEF, 0x03, 0xF4, 0x54, 0xA8, 0xAA, 0x4F, 0x1B, 0xE0, +0x9F, 0x8B, 0x74, 0x82, 0xE5, 0xE8, 0x30, 0x2B, 0xE0, 0xFF, 0xF2, 0x17, 0x8C, 0xFA, 0xCB, 0x6D, +0x3B, 0xBC, 0x07, 0xC8, 0x3D, 0xF1, 0x7F, 0x16, 0x21, 0x02, 0xCE, 0xF7, 0xA3, 0x04, 0xB4, 0x93, +0xAA, 0xB0, 0x80, 0x58, 0x0E, 0x9C, 0x0F, 0xC1, 0xBF, 0x5D, 0x89, 0xAD, 0xDD, 0x01, 0x01, 0x88, +0xFA, 0x6F, 0x57, 0xF5, 0x57, 0x13, 0x77, 0x3E, 0x88, 0x05, 0x4C, 0x7A, 0x0C, 0x00, 0xDC, 0xF4, +0x88, 0x6B, 0x50, 0xFE, 0x09, 0xFA, 0xF2, 0x4A, 0x10, 0xE2, 0xFF, 0x04, 0x81, 0x89, 0x7F, 0x32, +0x0E, 0xC8, 0x00, 0x38, 0x53, 0x03, 0x68, 0xC9, 0xFD, 0x9F, 0x03, 0x70, 0xC4, 0x2D, 0xE0, 0x5C, +0xB4, 0x2F, 0xC1, 0x2B, 0x21, 0x66, 0x2A, 0x2C, 0x7C, 0xAE, 0x05, 0xB6, 0x8B, 0x62, 0x36, 0xDA, +0xD4, 0x57, 0xC2, 0xED, 0x05, 0xF8, 0xE7, 0x02, 0x1A, 0x1A, 0xFC, 0x83, 0x02, 0xE3, 0x7F, 0x0B, +0xA1, 0xD5, 0xF9, 0xC1, 0xA2, 0x45, 0x3E, 0x58, 0x3C, 0xC3, 0x9F, 0x0A, 0xA0, 0x6B, 0xF9, 0x44, +0x7D, 0x5A, 0x5B, 0x0D, 0xBC, 0x06, 0x00, 0x71, 0x89, 0x9B, 0x86, 0x03, 0x3C, 0x74, 0x71, 0x02, +0xEA, 0x4B, 0x6A, 0x08, 0x9C, 0x96, 0xD5, 0xDF, 0x1A, 0x81, 0x78, 0xAB, 0xBE, 0xA4, 0xEF, 0xEB, +0x9B, 0xD4, 0x05, 0x98, 0x73, 0x03, 0xE8, 0x67, 0x95, 0x77, 0x7A, 0x2D, 0xB1, 0x1C, 0xB8, 0x5C, +0x0C, 0xBC, 0x6B, 0x7F, 0xAC, 0xF9, 0x52, 0xB8, 0xB8, 0x5A, 0x9E, 0xEF, 0xB6, 0x3E, 0xFA, 0x2B, +0x8A, 0x02, 0xF0, 0x11, 0xAC, 0x05, 0x1E, 0x76, 0x29, 0x1C, 0x3A, 0xC0, 0xA1, 0x00, 0xFF, 0x8C, +0x80, 0xCC, 0xFF, 0x41, 0x1F, 0xCC, 0x28, 0xFF, 0x66, 0xE9, 0xB4, 0x6A, 0x8F, 0x03, 0xFA, 0x5F, +0xE4, 0xB8, 0x07, 0xB4, 0xB3, 0xDF, 0x34, 0x61, 0xFC, 0x9B, 0xDF, 0x45, 0xED, 0x00, 0x71, 0xAC, +0xB9, 0xE7, 0x5F, 0x10, 0x7C, 0xB1, 0xC7, 0x01, 0x08, 0x02, 0xB6, 0xFB, 0xC0, 0x6B, 0x02, 0xF0, +0x20, 0x5D, 0xBC, 0x4F, 0xCD, 0xDA, 0xCF, 0x55, 0x21, 0xB8, 0x64, 0x9B, 0x28, 0x39, 0x40, 0x10, +0xB0, 0xF5, 0x0B, 0x37, 0x8B, 0x03, 0xCD, 0x1B, 0xC9, 0x05, 0xC3, 0x1F, 0x74, 0x46, 0xCA, 0x20, +0x87, 0x10, 0xE7, 0x9F, 0x5D, 0x5F, 0x56, 0xF6, 0xFA, 0x22, 0xD7, 0x85, 0x28, 0x0C, 0xC2, 0x8A, +0x4F, 0x9F, 0xE7, 0x60, 0xFC, 0x33, 0xFB, 0x67, 0x5B, 0x9C, 0x7F, 0xB2, 0x61, 0x09, 0xF0, 0xFD, +0x63, 0x97, 0xF0, 0xCF, 0x11, 0x38, 0x1B, 0x70, 0x22, 0x74, 0xED, 0xFD, 0xF8, 0x75, 0x50, 0xE3, +0xE2, 0x25, 0xE0, 0xF5, 0x11, 0xF8, 0xEF, 0x5F, 0x11, 0x30, 0xAE, 0x38, 0xFF, 0x5E, 0x50, 0xFE, +0xB9, 0x3E, 0xEC, 0x1D, 0x07, 0x7C, 0xEA, 0xFE, 0xCF, 0x3C, 0xA0, 0x10, 0x90, 0xAC, 0x02, 0x49, +0x67, 0x94, 0x26, 0x00, 0x58, 0xDB, 0xBF, 0x82, 0x7F, 0xC4, 0x03, 0xE2, 0xEC, 0x97, 0xA4, 0xFD, +0x5F, 0xD8, 0x8A, 0x46, 0xF5, 0x43, 0x37, 0xE5, 0x5F, 0x8A, 0x94, 0xE3, 0x97, 0x84, 0x7F, 0x10, +0x33, 0x80, 0x51, 0x04, 0x0A, 0xA3, 0xCE, 0x8D, 0x53, 0xE7, 0x76, 0x39, 0xC0, 0x7A, 0x5E, 0x33, +0x8E, 0x0D, 0x7D, 0x9A, 0xDA, 0x54, 0x9D, 0x65, 0x84, 0xFA, 0x3F, 0x7D, 0xD2, 0x1F, 0xE4, 0x39, +0x35, 0x83, 0x00, 0x84, 0x07, 0x6C, 0x38, 0x40, 0xE1, 0x1F, 0x44, 0xF9, 0xA7, 0x23, 0x0B, 0xD2, +0x48, 0xE2, 0xA5, 0xEF, 0xE8, 0x04, 0x5F, 0xC8, 0x58, 0x2D, 0x82, 0xD7, 0x3F, 0xFC, 0x24, 0xA0, +0xF5, 0x5F, 0x64, 0x2A, 0xFB, 0xBA, 0xFD, 0xF3, 0x63, 0x1F, 0x1F, 0x4C, 0xA7, 0xEA, 0x8E, 0xEC, +0xC8, 0x6C, 0xE8, 0x59, 0x9C, 0x56, 0x98, 0xFD, 0x87, 0x83, 0xD5, 0x52, 0xB0, 0xE6, 0xED, 0x43, +0xF1, 0x0F, 0x7A, 0xEB, 0xAF, 0x07, 0xF8, 0x17, 0x01, 0xC8, 0x0A, 0x20, 0x31, 0xFF, 0xF7, 0x02, +0xFC, 0x23, 0xEB, 0x81, 0xE1, 0xFF, 0x68, 0x2F, 0xF8, 0x95, 0x15, 0x40, 0x34, 0x77, 0x64, 0x9B, +0xF5, 0x11, 0x10, 0xFD, 0xDF, 0x40, 0x25, 0x64, 0xAE, 0x92, 0x36, 0x1D, 0x44, 0xF9, 0xB7, 0xFC, +0x12, 0x17, 0x84, 0x2E, 0x6B, 0x8F, 0x58, 0x07, 0x2C, 0x39, 0x95, 0x94, 0x26, 0xCC, 0xBF, 0xF1, +0xE1, 0x59, 0x83, 0x7E, 0xCE, 0x3F, 0x88, 0x8C, 0xFF, 0x19, 0x01, 0xCF, 0x15, 0x81, 0xF8, 0x46, +0xE0, 0xAE, 0x59, 0xD1, 0xA6, 0x9F, 0x81, 0x41, 0x90, 0x2F, 0xB7, 0xF8, 0xC5, 0x1B, 0x79, 0x5E, +0x0B, 0x49, 0x11, 0xE5, 0x1F, 0x74, 0xD6, 0xE3, 0x00, 0x0F, 0x4B, 0x11, 0xFF, 0x97, 0x19, 0x38, +0x95, 0xFC, 0x05, 0xA5, 0xA7, 0xCA, 0x01, 0xE2, 0x9D, 0xA2, 0x04, 0x04, 0xFE, 0x12, 0x01, 0xFB, +0x0A, 0xC0, 0x25, 0x00, 0xBD, 0xFA, 0x31, 0xC2, 0x50, 0xA0, 0xB6, 0xBE, 0x0E, 0x78, 0x16, 0xF1, +0x80, 0xB3, 0xB8, 0x03, 0xFC, 0xA8, 0x55, 0xEE, 0x40, 0x29, 0xD8, 0x7B, 0xC9, 0x7F, 0x5D, 0x1C, +0x7F, 0xEB, 0x23, 0xF0, 0xDF, 0xFF, 0x72, 0xE0, 0xB8, 0x48, 0x01, 0x38, 0x14, 0xAB, 0xFC, 0xFB, +0xB0, 0x3D, 0x19, 0xE6, 0xE9, 0xC7, 0x25, 0x00, 0xAD, 0x17, 0xDC, 0xE6, 0xDF, 0xCC, 0xF0, 0xB7, +0xA5, 0xDB, 0x6E, 0x63, 0x45, 0xB0, 0x9C, 0x93, 0xAB, 0xFC, 0x93, 0xA6, 0x75, 0x56, 0x2B, 0xFF, +0x90, 0xDA, 0xF4, 0xF1, 0xEF, 0xAA, 0xB0, 0x80, 0xCB, 0xB2, 0xF8, 0x8B, 0x61, 0x40, 0xE3, 0x1F, +0x1C, 0x60, 0x3F, 0x01, 0xF3, 0xE7, 0x1F, 0x6A, 0x39, 0x40, 0xF0, 0x8F, 0x13, 0xD0, 0x2E, 0x83, +0x2A, 0x3A, 0x48, 0x9B, 0xDC, 0xAE, 0xBD, 0x1F, 0xFC, 0x9F, 0xA3, 0x2F, 0xED, 0x80, 0xBC, 0xB2, +0x14, 0xA2, 0xFD, 0x5F, 0x7D, 0xDA, 0x9C, 0x07, 0xD2, 0xBD, 0x8E, 0xF0, 0x8F, 0x94, 0x82, 0xA5, +0x00, 0x1C, 0x06, 0x60, 0xFE, 0x7A, 0x15, 0xDB, 0x69, 0xA6, 0xE9, 0x80, 0x9D, 0x14, 0x2C, 0xF1, +0x27, 0x6F, 0x1C, 0xE3, 0x9F, 0xA5, 0x6D, 0x7D, 0x1D, 0xE0, 0xF2, 0xBC, 0x52, 0xD2, 0x39, 0x05, +0xB1, 0x2F, 0x0A, 0x20, 0x7A, 0xBA, 0x82, 0x80, 0x8D, 0x4B, 0xE2, 0xC7, 0xFD, 0x1F, 0x4C, 0x1F, +0xF6, 0x08, 0x51, 0x3E, 0x78, 0xCB, 0x00, 0xF8, 0xC9, 0xA7, 0x8F, 0x07, 0x80, 0x4D, 0xFE, 0xC1, +0xFE, 0xF1, 0x78, 0x77, 0x45, 0xAF, 0x9D, 0x80, 0x75, 0x01, 0x04, 0xF0, 0x63, 0xA5, 0xE0, 0x2D, +0xD5, 0xEE, 0xB7, 0xBB, 0x18, 0x5B, 0x19, 0xF5, 0xCC, 0x00, 0xAC, 0x2C, 0x60, 0x17, 0x02, 0xBD, +0xFE, 0xE1, 0x69, 0x08, 0x6C, 0x5C, 0x08, 0x6B, 0x62, 0xFC, 0x2B, 0x23, 0x2D, 0x3B, 0xAD, 0x87, +0x01, 0xF3, 0x65, 0x3B, 0xA7, 0x29, 0x6D, 0xCC, 0x9E, 0xF9, 0x3F, 0x88, 0xF6, 0x7F, 0xA1, 0x7E, +0x03, 0x28, 0x71, 0x6E, 0xA9, 0x81, 0x09, 0xD1, 0x20, 0x1B, 0xC6, 0xFF, 0xB4, 0x01, 0x05, 0x01, +0xBF, 0xF2, 0x37, 0x16, 0xF9, 0x29, 0xED, 0x32, 0x83, 0x0B, 0xA5, 0x20, 0xE5, 0x1F, 0xD4, 0xEA, +0x04, 0x1F, 0x56, 0xEA, 0xAF, 0x7F, 0xE0, 0xEF, 0x8A, 0xBE, 0xC2, 0x55, 0x01, 0x5E, 0x12, 0x05, +0x90, 0x88, 0x07, 0x2C, 0xF1, 0xA7, 0x4D, 0xDF, 0x04, 0xC0, 0x2A, 0xB1, 0x14, 0x0E, 0x4B, 0xE2, +0xCC, 0xFF, 0x59, 0x47, 0x65, 0x47, 0x4F, 0xD9, 0x74, 0xB2, 0xCE, 0x1A, 0xFC, 0x7B, 0xF5, 0x1E, +0x80, 0xC5, 0x0B, 0xC0, 0xB7, 0x5D, 0xCE, 0x2F, 0xA5, 0x86, 0xF6, 0x7E, 0x09, 0x00, 0xB9, 0xF8, +0xF8, 0xDF, 0xFA, 0x08, 0x7C, 0xFC, 0xDF, 0x0A, 0xB7, 0xD9, 0x81, 0xBF, 0x08, 0xFF, 0x7C, 0x32, +0x0C, 0xE3, 0x1F, 0x4C, 0x20, 0xA6, 0x03, 0x56, 0xFC, 0x9B, 0xF9, 0xD9, 0xE4, 0x63, 0x2B, 0x1B, +0x8C, 0x7F, 0xC8, 0x1E, 0xFF, 0x07, 0x04, 0x8A, 0xBA, 0x97, 0x84, 0xA4, 0x09, 0x80, 0x55, 0xF8, +0x34, 0x8C, 0x02, 0x81, 0x17, 0xE9, 0x92, 0xC5, 0xD7, 0x97, 0x9A, 0x53, 0xED, 0x07, 0x6B, 0x52, +0xFE, 0x81, 0x80, 0xAD, 0x09, 0x80, 0xB5, 0x5A, 0x13, 0x00, 0x73, 0xD7, 0x37, 0x71, 0xD0, 0x48, +0x05, 0x5B, 0x57, 0x7E, 0xE9, 0x39, 0x3A, 0xBF, 0x38, 0xC4, 0x8F, 0xFD, 0x97, 0x14, 0x9F, 0x36, +0xFD, 0xC5, 0x87, 0x15, 0xB5, 0x12, 0xA2, 0x41, 0xF8, 0xC7, 0x7A, 0xC1, 0xE0, 0x1F, 0x27, 0xA0, +0x99, 0xEA, 0x4B, 0xC9, 0xFC, 0x82, 0xDA, 0x6B, 0x7B, 0x5D, 0x15, 0xE0, 0x35, 0x3B, 0xDE, 0xA9, +0xAB, 0x76, 0xFD, 0xA3, 0x44, 0x60, 0xDB, 0x03, 0xC2, 0xFF, 0x21, 0xCB, 0x95, 0xC0, 0x7E, 0x63, +0x94, 0x4E, 0xD5, 0x34, 0x64, 0xED, 0xFD, 0x95, 0x06, 0xFF, 0xF0, 0xAD, 0x70, 0xB1, 0x09, 0x80, +0xD8, 0x37, 0x6B, 0xC1, 0x0F, 0x02, 0x40, 0x88, 0x12, 0xF0, 0x5F, 0xFF, 0x5E, 0x60, 0x02, 0x40, +0xA6, 0xBF, 0x55, 0xFF, 0x75, 0xFE, 0x55, 0xFA, 0x86, 0x0C, 0x00, 0x12, 0x02, 0xDE, 0xFD, 0x29, +0x05, 0x03, 0xBB, 0x4A, 0xC1, 0x23, 0xCD, 0x11, 0xB2, 0x31, 0x0C, 0x08, 0xFF, 0x57, 0xE0, 0xCF, +0x7B, 0xC1, 0x5F, 0xD7, 0x00, 0x84, 0xFF, 0xAB, 0x3D, 0x20, 0xE6, 0xBE, 0x58, 0xE6, 0x3E, 0x5A, +0x32, 0x81, 0xB2, 0x68, 0x41, 0x11, 0x28, 0x7B, 0xCA, 0x3F, 0xE8, 0x84, 0xF8, 0x3F, 0xA8, 0xC1, +0x3F, 0xA3, 0x94, 0xB5, 0x96, 0xBA, 0x24, 0xA4, 0xC3, 0xD6, 0xDD, 0xF1, 0xCF, 0x37, 0x37, 0x83, +0xE5, 0x83, 0xDC, 0xFF, 0x2D, 0xAC, 0xDF, 0x2B, 0xCF, 0xA7, 0x7B, 0x7F, 0x6A, 0xCE, 0x3F, 0x10, +0xB0, 0x76, 0x80, 0xE0, 0x1F, 0x25, 0xE0, 0xA5, 0xCF, 0x7F, 0xB9, 0xB6, 0x9D, 0xD3, 0xF0, 0xFA, +0xA2, 0x2E, 0xC0, 0x77, 0xBE, 0x53, 0xCB, 0x48, 0x07, 0xB8, 0x3D, 0x1D, 0xD0, 0x26, 0x00, 0x12, +0x0B, 0x68, 0xCB, 0x3F, 0xBC, 0xFF, 0xAB, 0xE7, 0xA7, 0xC2, 0x0F, 0xC3, 0xD6, 0xDD, 0xFC, 0x7B, +0x0F, 0x00, 0x24, 0xFE, 0x0F, 0x51, 0xB0, 0xB0, 0x9C, 0x03, 0x38, 0x88, 0xB8, 0xFB, 0x5B, 0x9F, +0x80, 0xFF, 0x92, 0x01, 0x44, 0xAC, 0xA3, 0x1A, 0x80, 0x0D, 0xDE, 0xD5, 0x5C, 0x6C, 0xF0, 0x0F, +0x4B, 0x42, 0x8A, 0x4B, 0xC0, 0x40, 0xA4, 0x10, 0x22, 0xFC, 0xF3, 0x3F, 0xA5, 0x3B, 0x79, 0x6F, +0x14, 0xAC, 0x26, 0xC0, 0xC0, 0xFF, 0x51, 0x0B, 0xB8, 0xA1, 0x00, 0xDC, 0x2F, 0xB2, 0x35, 0x19, +0x26, 0x2D, 0x80, 0xAB, 0xE3, 0xCB, 0xAB, 0xFA, 0x5B, 0x79, 0x6C, 0xD4, 0x4F, 0x37, 0xEF, 0xAB, +0x5D, 0xE6, 0x5D, 0x93, 0x7F, 0xDC, 0x03, 0x82, 0x7F, 0x94, 0x80, 0x3F, 0x1A, 0xFF, 0x2C, 0xCF, +0xAD, 0x4D, 0xE5, 0xE0, 0xC5, 0x02, 0x9D, 0x60, 0xEC, 0x80, 0xBF, 0x62, 0x1C, 0xD0, 0x5D, 0x22, +0xE2, 0x7B, 0x85, 0x9E, 0x42, 0x35, 0x3D, 0xA1, 0x1B, 0x40, 0xE9, 0x09, 0x73, 0xFE, 0xD5, 0x1E, +0xB0, 0xEE, 0xFF, 0x72, 0x02, 0xA6, 0x65, 0x35, 0xEE, 0xA8, 0xAF, 0x2F, 0xF1, 0xCD, 0x20, 0xD9, +0x00, 0xA6, 0x0D, 0x06, 0xB0, 0x8A, 0x06, 0xFF, 0x90, 0xD8, 0xD5, 0xF8, 0x43, 0x01, 0xB8, 0x6B, +0x1C, 0x50, 0x5D, 0x1F, 0xCE, 0xC0, 0xF4, 0x17, 0x5A, 0x62, 0x2B, 0xB5, 0x3B, 0xF9, 0x70, 0x67, +0x95, 0x7F, 0x33, 0xF1, 0x7F, 0x70, 0x80, 0xDC, 0xFF, 0xA1, 0xE0, 0xDB, 0x28, 0x02, 0xCB, 0xD1, +0xA0, 0xFC, 0x43, 0x50, 0x00, 0xF2, 0xF8, 0x57, 0xFC, 0x1F, 0xE2, 0xEF, 0xF1, 0xEF, 0xAF, 0x8C, +0xFF, 0x91, 0xEF, 0x06, 0xD6, 0x05, 0x70, 0x4D, 0x02, 0xCE, 0x3A, 0xFD, 0x9F, 0xE1, 0xCF, 0xF7, +0x09, 0x81, 0x55, 0x29, 0x78, 0xD4, 0x22, 0xE0, 0xA8, 0x35, 0x01, 0x1A, 0xE9, 0x95, 0x90, 0x09, +0xE3, 0x1F, 0xC2, 0x3B, 0x5F, 0xD8, 0x6C, 0x9A, 0x06, 0x46, 0x01, 0x93, 0x03, 0xB4, 0x3C, 0x8A, +0xF1, 0x0F, 0x4B, 0x42, 0x7C, 0x83, 0x01, 0x0C, 0x10, 0xD0, 0x8C, 0x5F, 0x62, 0x95, 0x10, 0x50, +0x0F, 0x6C, 0x13, 0x03, 0xF7, 0xFD, 0x4A, 0x71, 0x03, 0xE8, 0xAB, 0xC6, 0x01, 0xF1, 0x20, 0xEF, +0x00, 0x9F, 0x2A, 0xFA, 0xFC, 0x99, 0xD5, 0x07, 0xDA, 0x81, 0x58, 0xCB, 0x00, 0xFF, 0x40, 0xC0, +0xF2, 0xEA, 0x58, 0x87, 0x4D, 0x35, 0xBE, 0x12, 0x38, 0x6D, 0xD2, 0x08, 0xF8, 0xEC, 0xC5, 0x95, +0xED, 0xFA, 0xA2, 0xF8, 0x13, 0xB4, 0x77, 0x35, 0x47, 0xB9, 0x9E, 0xF5, 0x82, 0xBB, 0xF1, 0x67, +0x33, 0xA2, 0xEB, 0x09, 0x80, 0xAD, 0x14, 0x15, 0x08, 0xDC, 0xF2, 0xDA, 0x87, 0xFF, 0xC1, 0xB6, +0x43, 0x3D, 0x59, 0x57, 0x01, 0xA8, 0xFE, 0xCF, 0x00, 0xC8, 0xFD, 0x5F, 0x97, 0xDF, 0xEB, 0x8C, +0x07, 0x72, 0x80, 0x83, 0x11, 0xF0, 0xE1, 0xED, 0xDF, 0xE0, 0x08, 0xFC, 0x1C, 0xFC, 0x0B, 0x4F, +0x80, 0x86, 0xDA, 0x13, 0xA2, 0x61, 0x00, 0x2B, 0x02, 0x56, 0x13, 0xA0, 0x0D, 0x77, 0x4E, 0x3D, +0xC7, 0xA0, 0xDD, 0x2C, 0x09, 0xA8, 0xA0, 0x6B, 0x13, 0xB0, 0xE2, 0xDF, 0x7E, 0x8D, 0xC0, 0x4E, +0x0F, 0x78, 0x35, 0x6F, 0x45, 0x31, 0x23, 0x5A, 0x9B, 0x8C, 0xBF, 0xEB, 0x34, 0x0A, 0x28, 0xFB, +0xE4, 0x00, 0xB5, 0xA5, 0xFC, 0x83, 0x28, 0xFF, 0xA0, 0xBA, 0xFF, 0x2B, 0x61, 0x06, 0xD0, 0x38, +0x95, 0xB9, 0x75, 0x20, 0x04, 0x5B, 0xBD, 0x0A, 0x4C, 0x41, 0x3E, 0x09, 0xCF, 0xD5, 0xE9, 0x80, +0x72, 0x6B, 0xA1, 0x75, 0x65, 0x37, 0x95, 0x19, 0xAB, 0x99, 0xAC, 0x1C, 0x80, 0xD0, 0x59, 0xB5, +0x00, 0x38, 0x48, 0x40, 0x7B, 0x4D, 0xF3, 0x0B, 0x7A, 0x69, 0xF0, 0xD3, 0x9D, 0xC1, 0x30, 0xBD, +0xEC, 0xD8, 0xAE, 0x30, 0x5A, 0xCB, 0x0A, 0x21, 0xF5, 0xBB, 0xEF, 0xBB, 0x49, 0x9C, 0x7F, 0x58, +0x0F, 0x6C, 0xCD, 0xC8, 0xA1, 0xB7, 0x6B, 0xB1, 0xE3, 0x07, 0x9A, 0x5B, 0xAB, 0x05, 0x60, 0x51, +0x0C, 0x80, 0xAD, 0x99, 0x2F, 0x95, 0x13, 0x1C, 0x46, 0xB5, 0xFF, 0xFB, 0x3F, 0x03, 0x70, 0xBD, +0x05, 0x20, 0xB5, 0x30, 0x21, 0x9A, 0x15, 0x40, 0x20, 0x39, 0x3D, 0x4A, 0xFE, 0xA1, 0xDB, 0xEB, +0x3D, 0x61, 0x47, 0x20, 0x29, 0x80, 0xB4, 0x97, 0x84, 0xB4, 0xF0, 0xB7, 0x2F, 0xB1, 0x7A, 0x01, +0x98, 0x36, 0x01, 0xCB, 0xE9, 0x80, 0xD3, 0x3C, 0xFB, 0x6F, 0x6A, 0x5D, 0x34, 0xDB, 0xD9, 0xC5, +0x4B, 0x52, 0x31, 0x98, 0xF2, 0x0F, 0x2A, 0x17, 0x80, 0x9C, 0x87, 0x01, 0x78, 0x63, 0xA3, 0x73, +0xC6, 0x29, 0xEF, 0xAF, 0x4A, 0x47, 0xD5, 0xEA, 0xC0, 0x36, 0x1D, 0x10, 0xD6, 0x0E, 0xBC, 0x43, +0xE7, 0x17, 0x44, 0x2C, 0xBB, 0xCB, 0x37, 0x5E, 0x00, 0xF6, 0xA7, 0xD4, 0x9D, 0xD3, 0x75, 0x41, +0xF1, 0x07, 0x15, 0xFD, 0xFA, 0xC3, 0x30, 0x01, 0xBD, 0xEA, 0x9B, 0x2D, 0xB5, 0xF9, 0xC1, 0xBB, +0x97, 0xFA, 0x17, 0xBC, 0xFE, 0x3E, 0x01, 0xB0, 0x15, 0x95, 0xFF, 0xEB, 0xC6, 0x9F, 0x28, 0xCE, +0x3F, 0xD9, 0x36, 0xBC, 0xFC, 0xEB, 0x13, 0xA0, 0x31, 0x52, 0xE3, 0x6E, 0x30, 0xEF, 0x4A, 0xFE, +0xBD, 0xE7, 0x00, 0x64, 0xF8, 0x6B, 0x5D, 0xF0, 0xAF, 0xBE, 0x6B, 0x28, 0x11, 0xFB, 0x37, 0x40, +0x21, 0x04, 0x1A, 0x1C, 0x7F, 0x43, 0x0F, 0x03, 0xF6, 0x4F, 0x7A, 0x0E, 0xF1, 0x0F, 0xE3, 0x80, +0x58, 0x00, 0xD2, 0x14, 0x96, 0x84, 0x60, 0x01, 0x1C, 0x98, 0x87, 0x62, 0x48, 0xDA, 0x6F, 0x11, +0xFF, 0x87, 0x2C, 0xA6, 0x03, 0x3A, 0xFD, 0x6A, 0x04, 0x9A, 0xAA, 0x09, 0xD0, 0xCD, 0xB8, 0xBA, +0x2E, 0xC6, 0xFF, 0xFC, 0xA3, 0x29, 0x76, 0x45, 0x0D, 0x8B, 0xE1, 0x2F, 0xD7, 0x43, 0x7E, 0xD9, +0xA3, 0x00, 0x84, 0xE0, 0xFF, 0x8E, 0x4E, 0x88, 0x4A, 0xFE, 0x1D, 0x68, 0x28, 0x02, 0x73, 0x3F, +0x58, 0x0F, 0x92, 0x77, 0xC3, 0xB5, 0xB1, 0x30, 0xFE, 0x87, 0xCD, 0xD3, 0x89, 0xE8, 0x04, 0x4C, +0xFD, 0x5F, 0x95, 0xD9, 0x4A, 0x49, 0xE7, 0xAA, 0xE3, 0x75, 0x0D, 0x00, 0x1E, 0xC1, 0x03, 0x82, +0x7F, 0x14, 0x80, 0xE9, 0x35, 0x35, 0x4B, 0x0D, 0x2B, 0x78, 0xA9, 0xAD, 0xC2, 0xB0, 0x58, 0x14, +0xD7, 0xFF, 0x56, 0xCD, 0x0B, 0xFE, 0xA9, 0x9A, 0x08, 0xAC, 0x16, 0x80, 0xB4, 0x13, 0x2B, 0x40, +0x36, 0x46, 0x58, 0xAA, 0x64, 0xCD, 0xCC, 0x27, 0x6E, 0x65, 0x53, 0x38, 0x2B, 0xFD, 0x5F, 0x10, +0x80, 0xB7, 0x65, 0xF5, 0x17, 0x99, 0x03, 0xCD, 0x83, 0x00, 0x10, 0x1A, 0xD0, 0x03, 0x3E, 0x88, +0x36, 0x59, 0xC4, 0x45, 0xFC, 0x1F, 0x59, 0x00, 0x42, 0x08, 0x48, 0xFC, 0x9F, 0x0A, 0x04, 0x74, +0xD6, 0x39, 0xFD, 0xBC, 0x57, 0xA1, 0xC7, 0xBE, 0x24, 0x04, 0xE3, 0x7F, 0x24, 0x41, 0xC0, 0x06, +0xFE, 0x30, 0x0E, 0xF8, 0x75, 0x8C, 0x7F, 0xE8, 0x04, 0x8B, 0xD4, 0xA2, 0x78, 0x17, 0x4D, 0xE4, +0xF3, 0x60, 0x72, 0x77, 0x58, 0x6A, 0xC1, 0x9C, 0x7F, 0x28, 0x84, 0x60, 0x01, 0x70, 0x18, 0x80, +0x3E, 0x3A, 0xA7, 0x7B, 0xDB, 0x14, 0x84, 0x09, 0x7F, 0x22, 0xB9, 0x36, 0x02, 0x56, 0x7A, 0xC0, +0xFD, 0x61, 0x0F, 0x07, 0x08, 0x02, 0x9A, 0xFF, 0x93, 0x27, 0xF0, 0xCC, 0xE6, 0xCF, 0xDB, 0x85, +0xF4, 0x8E, 0x6F, 0x28, 0xFF, 0xA0, 0x33, 0xF8, 0x3F, 0xA2, 0xF2, 0x0A, 0x30, 0x66, 0xFC, 0xF2, +0x0B, 0x3A, 0xD5, 0x03, 0xBB, 0x3D, 0x4D, 0x37, 0xB1, 0x14, 0x78, 0x7E, 0x45, 0xA2, 0xAA, 0x7F, +0xB4, 0x1C, 0x20, 0x86, 0x01, 0x23, 0x00, 0xF4, 0x2B, 0xE4, 0x1F, 0xFB, 0x69, 0xFA, 0x2D, 0x3C, +0xA0, 0x1E, 0xD5, 0x4B, 0x42, 0x66, 0x1F, 0x13, 0x00, 0x92, 0xFE, 0x6F, 0xBD, 0x2E, 0x18, 0x2B, +0xE0, 0x86, 0x25, 0x20, 0x55, 0x1C, 0x80, 0xFF, 0x24, 0xFF, 0x06, 0x9B, 0x0D, 0xC3, 0xB9, 0xE7, +0x47, 0x8D, 0x02, 0x48, 0xB9, 0x2C, 0x18, 0xFE, 0x2F, 0x48, 0xC0, 0x3C, 0xA6, 0x3C, 0xC3, 0x1C, +0x68, 0x3B, 0xC1, 0x7C, 0x87, 0x25, 0x21, 0xCA, 0x3F, 0x96, 0xA9, 0x13, 0x8C, 0xFE, 0x6F, 0x03, +0x81, 0x2A, 0xC6, 0x3F, 0x8C, 0xAD, 0x2F, 0xF3, 0x42, 0x84, 0xE4, 0xFC, 0xCC, 0x95, 0x5C, 0x2A, +0x03, 0xA7, 0xB9, 0xFF, 0xEB, 0xBD, 0x35, 0xBD, 0x1F, 0xFC, 0xA3, 0xC2, 0x02, 0x90, 0x28, 0x01, +0x9D, 0x7B, 0xEE, 0xFE, 0xDC, 0x0B, 0xDE, 0xA0, 0x18, 0x9C, 0x6D, 0x1D, 0x9C, 0x1F, 0xA0, 0xF7, +0x05, 0x60, 0x08, 0x02, 0xDA, 0x04, 0x40, 0x60, 0xCF, 0x66, 0xD7, 0xE4, 0xC6, 0x7D, 0xA0, 0x74, +0xB0, 0xC1, 0x3F, 0x4E, 0x40, 0x4C, 0x00, 0x24, 0xAA, 0x17, 0x80, 0x68, 0xE3, 0x3D, 0xE1, 0x74, +0x3B, 0xDD, 0x67, 0x04, 0xBC, 0xC0, 0x02, 0xE0, 0x08, 0x01, 0x81, 0x3C, 0x24, 0x76, 0xAA, 0x62, +0x01, 0x1C, 0x49, 0xAF, 0x83, 0xD8, 0xD9, 0xB9, 0x8B, 0x9A, 0x1D, 0x7A, 0x2B, 0x3B, 0xBE, 0x86, +0x13, 0xFE, 0x0F, 0x00, 0xE4, 0xFC, 0xAB, 0x6B, 0xC0, 0x1D, 0x95, 0xDF, 0xB7, 0x1F, 0x80, 0xEE, +0x01, 0x93, 0xDE, 0x72, 0x02, 0xBA, 0xFF, 0x8B, 0x17, 0x80, 0xB9, 0x7C, 0x1C, 0x90, 0xF3, 0xEF, +0xBD, 0xBC, 0x24, 0xC4, 0xFB, 0xBF, 0xC5, 0x0C, 0x18, 0x1F, 0x57, 0xC6, 0x74, 0x40, 0xE7, 0x1F, +0x49, 0xFF, 0x9E, 0xA4, 0x39, 0xC1, 0x1F, 0x6A, 0xC1, 0xF3, 0x2B, 0x1E, 0xCB, 0x34, 0x0F, 0x03, +0x0B, 0x55, 0xD5, 0xB1, 0x64, 0xD7, 0xE2, 0x38, 0xB4, 0x61, 0xAC, 0x0B, 0x27, 0xE0, 0x61, 0x44, +0x98, 0x00, 0x18, 0x23, 0xA0, 0x51, 0xE9, 0xDC, 0x2B, 0x14, 0x09, 0x83, 0xE6, 0x09, 0x31, 0x60, +0xA7, 0xBD, 0x60, 0xBF, 0x00, 0x74, 0x49, 0x3B, 0x1C, 0xF9, 0x26, 0x69, 0x13, 0x60, 0x16, 0xE7, +0x5E, 0x4E, 0xD6, 0x30, 0x06, 0xFA, 0xF3, 0xDA, 0x10, 0x20, 0x4A, 0xC1, 0x27, 0x10, 0xF3, 0x80, +0x87, 0x01, 0xAD, 0x2E, 0x00, 0x49, 0x76, 0xDA, 0xEC, 0x75, 0x7A, 0x61, 0xD5, 0xFC, 0xE5, 0xD2, +0xB0, 0x4D, 0xC1, 0x04, 0xFF, 0x18, 0x01, 0xBF, 0xEC, 0xC5, 0x9F, 0x27, 0x16, 0xC0, 0xB1, 0xD4, +0xEA, 0x87, 0x4C, 0x87, 0x49, 0x27, 0xEB, 0xD6, 0xAE, 0xD1, 0xCE, 0x36, 0x0C, 0x58, 0xFB, 0x18, +0xF6, 0x2C, 0x2F, 0x00, 0x09, 0x02, 0x30, 0x8D, 0xFF, 0xD5, 0x15, 0xE0, 0x72, 0xE4, 0x4F, 0xB6, +0xE1, 0x85, 0x11, 0x40, 0xA2, 0xF5, 0x00, 0xF8, 0xE9, 0xFB, 0x0F, 0x22, 0x61, 0xDB, 0xD0, 0x16, +0x50, 0x01, 0x38, 0x58, 0xFF, 0x17, 0x93, 0x61, 0x24, 0x3F, 0xE6, 0xCA, 0xDF, 0x12, 0x02, 0xCA, +0xC9, 0x76, 0xFF, 0x06, 0xEE, 0x93, 0xED, 0xD8, 0xC6, 0xA1, 0x47, 0x11, 0x25, 0xFE, 0xE1, 0x5C, +0x6F, 0x20, 0x50, 0x77, 0x5F, 0x62, 0x02, 0x0C, 0x0B, 0xEB, 0x81, 0xB9, 0x3D, 0xD1, 0xA2, 0xC7, +0xD4, 0x3A, 0x69, 0xA2, 0x3C, 0x0E, 0x28, 0x91, 0x27, 0xC8, 0x80, 0x7F, 0x4C, 0x67, 0xA2, 0x93, +0x98, 0x72, 0x01, 0xD8, 0x10, 0x65, 0x99, 0x1C, 0x20, 0x48, 0x78, 0xA0, 0xA5, 0x10, 0xBF, 0x3A, +0xA0, 0xAF, 0xF8, 0x40, 0x23, 0x1B, 0x4C, 0x20, 0x48, 0x28, 0x8F, 0x95, 0xDF, 0x06, 0x3F, 0xEF, +0x86, 0x15, 0x41, 0x58, 0x9B, 0x64, 0x7D, 0xB3, 0x00, 0xFF, 0x38, 0x01, 0xE1, 0xFF, 0x88, 0xDC, +0xFF, 0x65, 0x07, 0x78, 0x6D, 0xF8, 0xB3, 0x03, 0xB9, 0x6D, 0xFD, 0x61, 0xD1, 0xD4, 0xB2, 0x18, +0xFF, 0xE3, 0xE3, 0x80, 0xFA, 0xF6, 0x72, 0x04, 0x62, 0x00, 0x90, 0xA6, 0x0F, 0x00, 0x5A, 0x18, +0x07, 0x7D, 0xD8, 0x4F, 0x76, 0x30, 0x80, 0xB6, 0x24, 0x64, 0x47, 0x27, 0xC0, 0xF4, 0x3B, 0x40, +0x5C, 0xD8, 0xE5, 0x9D, 0x86, 0x84, 0x8C, 0x98, 0x04, 0xA8, 0x94, 0x4C, 0x4F, 0xD3, 0x37, 0x39, +0x66, 0xFD, 0xA1, 0xC2, 0x4F, 0xE3, 0x5F, 0x95, 0xB4, 0x8E, 0xDE, 0x0F, 0xC7, 0xDF, 0xB2, 0x7F, +0x35, 0xFE, 0x2C, 0xD7, 0xD2, 0x60, 0xFE, 0x0F, 0x04, 0x04, 0xFF, 0xA8, 0x07, 0xCC, 0x0B, 0xE0, +0xB0, 0x06, 0x78, 0x07, 0x76, 0x50, 0xEF, 0xC3, 0x0C, 0x2B, 0x31, 0x81, 0xA3, 0xA0, 0xB6, 0x27, +0x19, 0x70, 0x5C, 0xE2, 0x14, 0xD4, 0x54, 0x5C, 0xE5, 0xCD, 0x5A, 0x0B, 0xDC, 0xC6, 0x84, 0x68, +0x1B, 0xEB, 0x23, 0x21, 0x8F, 0x98, 0x5E, 0x82, 0x7F, 0x4C, 0xE0, 0x1F, 0x27, 0xE0, 0xE2, 0xF4, +0x46, 0xF9, 0x76, 0x73, 0xAA, 0x61, 0x97, 0xED, 0xB3, 0x9D, 0xDE, 0x12, 0x56, 0xE9, 0x6D, 0xBF, +0x53, 0x10, 0xB8, 0xE2, 0x00, 0x8D, 0x7C, 0x16, 0x0E, 0x41, 0x5C, 0x18, 0xE1, 0x54, 0x7F, 0xE9, +0xC0, 0x62, 0x91, 0x9A, 0xFB, 0xCF, 0x6B, 0x4F, 0xBD, 0xD0, 0xBB, 0xC1, 0x3F, 0x26, 0xD4, 0x3F, +0xA8, 0x6C, 0x01, 0x88, 0x06, 0x7F, 0x61, 0xC1, 0x3F, 0x3A, 0x64, 0x21, 0xFC, 0x0B, 0x4A, 0xD7, +0x7F, 0xC4, 0xA4, 0x08, 0x4C, 0xA7, 0xA3, 0x72, 0xCE, 0x03, 0xA3, 0x7F, 0xBA, 0xF7, 0x91, 0xC1, +0x0F, 0x6C, 0x01, 0x08, 0x00, 0xD8, 0x45, 0x14, 0xD5, 0xAD, 0xF2, 0xCF, 0xF6, 0x5D, 0x02, 0xD9, +0xF0, 0x00, 0xAE, 0x5B, 0xE3, 0x5A, 0x34, 0xC2, 0x7A, 0x30, 0x5F, 0xB7, 0x19, 0x8F, 0x07, 0x10, +0x86, 0xF7, 0x78, 0x28, 0xDC, 0x24, 0x3E, 0x64, 0x9B, 0x5C, 0x18, 0x01, 0x7F, 0xFE, 0x98, 0x07, +0xDC, 0x82, 0xE7, 0xDB, 0x75, 0x08, 0xDA, 0x80, 0x60, 0xBE, 0x4F, 0x32, 0x0F, 0xB7, 0x6C, 0xCB, +0xB9, 0x1A, 0x89, 0x8D, 0x51, 0x1A, 0x00, 0xE4, 0x61, 0x95, 0x92, 0xA5, 0x95, 0x39, 0xF2, 0x66, +0xAD, 0x46, 0x75, 0x5B, 0x40, 0xA9, 0x3E, 0x24, 0xA4, 0xEB, 0xF1, 0xCB, 0xB3, 0xF1, 0xE1, 0x11, +0x0F, 0xFD, 0xB2, 0xE0, 0x93, 0x38, 0x01, 0xED, 0x3A, 0xCD, 0x08, 0xE1, 0x9C, 0xA6, 0x85, 0xFD, +0xE4, 0x40, 0xF6, 0x7A, 0xE3, 0x54, 0xBE, 0x04, 0x5D, 0x59, 0x07, 0x03, 0x88, 0x36, 0xF1, 0xCF, +0xF5, 0xC5, 0x17, 0xDF, 0xAB, 0xBB, 0x3B, 0x97, 0xDF, 0xF2, 0xD6, 0x1A, 0xC4, 0x81, 0xCD, 0x0E, +0x34, 0x0F, 0x08, 0xFE, 0x51, 0x1D, 0x8D, 0x0F, 0x63, 0x71, 0x78, 0x84, 0x57, 0x95, 0x6A, 0x29, +0x13, 0xA0, 0x4B, 0x5D, 0x79, 0xAB, 0x1B, 0xEE, 0xB9, 0x9A, 0x4C, 0x9E, 0xC8, 0xBB, 0x3B, 0x0F, +0xC5, 0xF6, 0x44, 0x62, 0x9F, 0x6E, 0x32, 0xB4, 0xB2, 0x9D, 0x99, 0x67, 0xDA, 0xD1, 0x34, 0xEC, +0xC1, 0xF9, 0xA5, 0x9D, 0xE6, 0x2B, 0xF3, 0x00, 0x00, 0xE0, 0xF3, 0x4F, 0x57, 0xF2, 0xBE, 0x6E, +0x75, 0xEB, 0x8A, 0x3B, 0x48, 0xDA, 0xEE, 0x56, 0x1F, 0xC5, 0x23, 0xEB, 0x79, 0x2C, 0xDF, 0x7F, +0x1E, 0x8D, 0xE7, 0xCF, 0x3F, 0xFF, 0xFC, 0x79, 0x4C, 0x9F, 0xAF, 0xA1, 0xCD, 0x87, 0xD0, 0x8B, +0xB0, 0xE2, 0xFC, 0xCB, 0x00, 0xB4, 0x56, 0xB6, 0xC6, 0x5E, 0x11, 0xF9, 0x21, 0x00, 0xC8, 0xF4, +0xCD, 0xAB, 0xAD, 0xE3, 0xAD, 0x90, 0x66, 0x5B, 0xDB, 0x4F, 0x9E, 0x3D, 0x7B, 0xF6, 0x24, 0xA6, +0xFD, 0x90, 0x26, 0x1A, 0xCB, 0xA5, 0x7C, 0x62, 0x7C, 0xF3, 0xD6, 0x8E, 0xD0, 0xBE, 0x99, 0x2F, +0x97, 0x6F, 0x96, 0xD3, 0xBD, 0xB0, 0x5E, 0xFE, 0x2E, 0xC1, 0x64, 0x8F, 0x58, 0x03, 0x80, 0xE7, +0x3F, 0x84, 0xF5, 0xC5, 0x17, 0x7F, 0x34, 0x02, 0x69, 0xB7, 0x94, 0x80, 0x51, 0x9D, 0x9F, 0x1C, +0x85, 0x01, 0xF8, 0x32, 0xAC, 0xF1, 0x5E, 0x54, 0xD3, 0xE5, 0x64, 0x39, 0x2F, 0x63, 0xEE, 0xED, +0x1B, 0x3D, 0xD0, 0xBD, 0xB5, 0x4B, 0x2F, 0xF0, 0x06, 0x4E, 0x81, 0x27, 0x51, 0x3D, 0x7B, 0xB2, +0xBD, 0x15, 0xD2, 0xAE, 0x9C, 0xD3, 0xE5, 0x07, 0xE0, 0x9D, 0xE7, 0x9F, 0x56, 0x21, 0xF0, 0xA1, +0x52, 0xEA, 0x19, 0xFB, 0xAC, 0xA7, 0xBA, 0x86, 0xF4, 0xE9, 0x63, 0xA1, 0x64, 0xDB, 0x0C, 0xE5, +0xFB, 0x9B, 0x02, 0xB6, 0xCD, 0x50, 0xAC, 0xA3, 0x17, 0x9B, 0xF1, 0x88, 0x03, 0xF0, 0x01, 0x08, +0x28, 0xBA, 0x43, 0x5C, 0x63, 0x6F, 0xF1, 0x5A, 0xA6, 0xC2, 0x3C, 0xFD, 0x26, 0x46, 0x40, 0x5D, +0x11, 0x17, 0x24, 0xA0, 0x96, 0x41, 0x9E, 0x85, 0xF5, 0x64, 0x7F, 0x12, 0x45, 0xE0, 0x1B, 0x61, +0x1B, 0x8F, 0xF9, 0x64, 0xA9, 0x73, 0x00, 0x63, 0x1A, 0x8F, 0x3F, 0x53, 0xBE, 0xB1, 0x30, 0x08, +0x1E, 0x1D, 0x29, 0x2F, 0x68, 0xE8, 0xC3, 0xC4, 0xA1, 0x05, 0x68, 0xF5, 0x93, 0xF6, 0x7F, 0x15, +0x6F, 0xBA, 0xF1, 0xF8, 0x1E, 0x04, 0x64, 0x4F, 0x7B, 0x7E, 0x1A, 0x25, 0xE0, 0xD1, 0xD1, 0xEF, +0x09, 0xF0, 0x24, 0x25, 0xC6, 0x9F, 0x85, 0x09, 0x78, 0x7D, 0xBD, 0x7C, 0xB3, 0x42, 0xC0, 0xA5, +0xB7, 0xF9, 0xE6, 0x3C, 0xDD, 0x9C, 0x4C, 0x42, 0x6F, 0xBF, 0x31, 0xF2, 0x59, 0x58, 0xBA, 0x06, +0x38, 0xA4, 0xE3, 0x2D, 0x29, 0x81, 0x14, 0x00, 0xEC, 0xF2, 0x5E, 0x5C, 0xB7, 0x18, 0xA8, 0x93, +0x0D, 0xE6, 0x8E, 0xE8, 0x81, 0x3C, 0xE0, 0x73, 0xDD, 0x3E, 0x8F, 0x04, 0x34, 0xB4, 0x05, 0x8C, +0x93, 0x72, 0x78, 0x02, 0xBE, 0x96, 0x14, 0xCA, 0xB1, 0x10, 0x3D, 0xFD, 0x46, 0x09, 0x48, 0x10, +0x88, 0xAF, 0xC9, 0x8C, 0x11, 0xF0, 0x78, 0x43, 0x26, 0xE1, 0x3F, 0x09, 0x3A, 0x40, 0x25, 0xE0, +0xFE, 0x24, 0x92, 0xA2, 0xF9, 0xB2, 0x37, 0x52, 0xF3, 0x46, 0xF8, 0x17, 0x26, 0xA0, 0xB8, 0x9A, +0xF1, 0xCB, 0x90, 0x8E, 0x54, 0x41, 0xFF, 0x77, 0x7A, 0x1E, 0xF2, 0x80, 0xC6, 0x3F, 0xC9, 0x3F, +0x04, 0x81, 0x5C, 0xE9, 0x7B, 0x92, 0x42, 0x3A, 0x3D, 0x3F, 0x8F, 0xFA, 0x3F, 0x55, 0xD0, 0xFF, +0x8D, 0x41, 0x40, 0x8A, 0x3F, 0xC9, 0xEA, 0xFD, 0xA9, 0x76, 0xE6, 0xFF, 0x8C, 0x80, 0x81, 0x14, +0xFE, 0x85, 0xFD, 0x9F, 0x5D, 0x0F, 0x30, 0xD8, 0x5D, 0xB1, 0xAB, 0x20, 0x94, 0x5D, 0x60, 0x11, +0xDA, 0xA0, 0xA4, 0xD7, 0x9B, 0xFC, 0x9F, 0x34, 0xB8, 0x37, 0xCA, 0xBF, 0x50, 0x6B, 0x26, 0x30, +0xB2, 0x59, 0x6C, 0xF2, 0x00, 0xFF, 0x1E, 0x80, 0x80, 0x71, 0x4A, 0xAE, 0x49, 0x40, 0xAA, 0xD7, +0x0A, 0xC0, 0x0F, 0x39, 0x01, 0xD3, 0x44, 0xC0, 0xA7, 0x4F, 0x9F, 0x7E, 0x1C, 0x01, 0xE0, 0x6C, +0x06, 0x02, 0x32, 0xFE, 0x09, 0x00, 0xD7, 0x22, 0xA0, 0xF6, 0x6F, 0x69, 0x4E, 0x12, 0x01, 0xEF, +0x7F, 0x9C, 0x26, 0x4B, 0x95, 0x1F, 0xE5, 0x9F, 0xA9, 0xFF, 0xD3, 0x4F, 0x60, 0xE4, 0x83, 0x6A, +0xDF, 0x0F, 0x22, 0xCD, 0xEF, 0x09, 0x71, 0xDE, 0xDA, 0x86, 0x36, 0xED, 0x92, 0x22, 0x16, 0xF0, +0x7C, 0x71, 0x2E, 0x0E, 0x2C, 0x06, 0x40, 0xC5, 0x9A, 0x99, 0xC0, 0x4E, 0xFD, 0x01, 0x77, 0x98, +0x1E, 0x18, 0x23, 0xA0, 0x10, 0x58, 0x22, 0xC4, 0x3F, 0x13, 0xFE, 0xC9, 0x7A, 0x50, 0xB7, 0xB6, +0xC9, 0xEB, 0xF4, 0x99, 0x30, 0x30, 0x04, 0xC0, 0xF4, 0x16, 0xCC, 0xEB, 0x80, 0x03, 0x94, 0x9C, +0x18, 0xFF, 0xA2, 0x04, 0x5C, 0x93, 0x7F, 0x1B, 0x31, 0x02, 0xE6, 0x69, 0x30, 0x85, 0x03, 0x14, +0xD2, 0xE8, 0xE6, 0xBB, 0x98, 0x7C, 0x04, 0xD0, 0xF0, 0x77, 0xAB, 0x19, 0x14, 0xE8, 0x96, 0xF6, +0xF5, 0x31, 0xE8, 0x27, 0x2D, 0xA7, 0x5F, 0x1C, 0x80, 0x9F, 0xAF, 0xAF, 0x21, 0x0D, 0x20, 0x62, +0x60, 0x7D, 0xA8, 0x08, 0x0C, 0x10, 0xF0, 0xB5, 0x4C, 0x81, 0x16, 0x0B, 0x18, 0x22, 0xE0, 0x2C, +0x4F, 0x19, 0x0D, 0xFA, 0xBF, 0x6D, 0x10, 0x90, 0xEB, 0xD9, 0xFE, 0x24, 0xE2, 0xFF, 0x40, 0xC0, +0x09, 0x3E, 0x4D, 0x38, 0x92, 0x94, 0x6D, 0xA2, 0xFE, 0x2F, 0x4C, 0xC0, 0x71, 0x92, 0x10, 0xD0, +0x3F, 0xE6, 0xD6, 0xE2, 0x08, 0xB7, 0x5D, 0xB4, 0xA8, 0x7A, 0x72, 0x7E, 0x9E, 0xF8, 0x13, 0xE1, +0x5F, 0x56, 0xAB, 0x0B, 0x6C, 0x10, 0x84, 0xFF, 0x0B, 0x5A, 0x40, 0xFB, 0xCF, 0x87, 0x3C, 0xE0, +0x91, 0x0B, 0xB8, 0x3B, 0xB2, 0xAC, 0x8F, 0xD5, 0xFE, 0x89, 0x5E, 0xEE, 0x25, 0xFD, 0xD6, 0xB3, +0xBB, 0xCE, 0x5A, 0x19, 0x07, 0x5C, 0x75, 0x80, 0x7A, 0xC7, 0x24, 0x69, 0x1D, 0xFE, 0x3D, 0x23, +0xA1, 0xFD, 0x5F, 0x8B, 0x8D, 0x63, 0x7E, 0xAE, 0xCE, 0x70, 0x25, 0xD4, 0xD2, 0x01, 0x3E, 0xC7, +0x16, 0x13, 0xBA, 0xBF, 0x0D, 0xF6, 0x31, 0x04, 0xF6, 0x6F, 0xCA, 0x36, 0x3D, 0x10, 0xBE, 0xB1, +0xF4, 0x18, 0xD2, 0x01, 0x42, 0x03, 0xFB, 0xBF, 0xE1, 0x3D, 0xA0, 0xC2, 0x0F, 0x1E, 0x90, 0xF8, +0x3F, 0x89, 0x18, 0x01, 0x3F, 0x10, 0x00, 0x82, 0x80, 0x9C, 0x7F, 0x46, 0xC0, 0x67, 0x61, 0x0F, +0x68, 0x0E, 0x8F, 0xDA, 0x3F, 0x13, 0x3E, 0x4A, 0xD6, 0x88, 0x70, 0x53, 0xD2, 0xF8, 0x07, 0x02, +0xFE, 0xD6, 0xDA, 0xCC, 0xFF, 0x99, 0xFD, 0xFB, 0x4C, 0xB7, 0x66, 0x1D, 0xC4, 0x39, 0x00, 0x11, +0xA4, 0x9C, 0x08, 0xFE, 0x72, 0xC6, 0xFC, 0x9F, 0xA9, 0x61, 0x01, 0x51, 0x02, 0x49, 0x06, 0x50, +0x33, 0xE0, 0xFF, 0x54, 0xC6, 0xE0, 0xA3, 0x10, 0xFF, 0x40, 0xC0, 0x36, 0x04, 0xC7, 0x22, 0xF7, +0x80, 0x4D, 0xF8, 0x95, 0xFC, 0xD3, 0x71, 0xC0, 0xAE, 0x7E, 0x30, 0xF6, 0xCE, 0x3F, 0xEA, 0x01, +0xC1, 0x3F, 0x8A, 0xC0, 0xE4, 0xFF, 0x24, 0xE0, 0x01, 0x09, 0xFF, 0x40, 0x40, 0x38, 0x40, 0x6C, +0x51, 0xA9, 0xF5, 0x53, 0x02, 0x5A, 0x99, 0xD8, 0x33, 0xAE, 0xF7, 0x09, 0x02, 0x25, 0x1D, 0x82, +0x84, 0x7D, 0x04, 0x81, 0xDC, 0xFF, 0x71, 0x02, 0x0E, 0xEF, 0x02, 0x07, 0x34, 0x81, 0x86, 0xBF, +0x88, 0x07, 0x7C, 0xAD, 0xEC, 0xF3, 0xE4, 0x0B, 0xE1, 0x5C, 0xEC, 0x9C, 0xB2, 0x93, 0x0F, 0x1E, +0x70, 0x20, 0x02, 0xDE, 0x97, 0x8E, 0x9C, 0x03, 0x79, 0x16, 0xF8, 0x48, 0xCD, 0xAF, 0x4D, 0x5F, +0x59, 0x4B, 0xFD, 0x9F, 0xDA, 0x1A, 0x93, 0x96, 0x38, 0x6C, 0xAB, 0x5B, 0xF8, 0x3F, 0x4E, 0x40, +0x25, 0xCE, 0x0F, 0x06, 0x1F, 0xEB, 0x82, 0x86, 0xF9, 0x97, 0xC7, 0x01, 0xBB, 0x52, 0x64, 0xFD, +0x5F, 0x88, 0xFB, 0xBF, 0x45, 0xD0, 0x03, 0x1E, 0xD5, 0x04, 0x04, 0xF8, 0xF2, 0x96, 0x76, 0x82, +0x3D, 0x79, 0xA5, 0x24, 0xA5, 0x09, 0xF4, 0x7F, 0xE1, 0x01, 0x57, 0x0D, 0x60, 0xE1, 0x00, 0x27, +0x10, 0x23, 0xE0, 0x13, 0x88, 0x00, 0x50, 0x26, 0x57, 0xDD, 0x45, 0xAF, 0x07, 0x94, 0x1F, 0x56, +0x17, 0x43, 0xA8, 0x1C, 0x60, 0x58, 0xE2, 0xFD, 0x6E, 0x65, 0x13, 0x81, 0x7C, 0x71, 0x05, 0xED, +0x9F, 0x6D, 0xC6, 0xB6, 0x4F, 0x3B, 0xD3, 0xF8, 0x87, 0x20, 0xF6, 0xEF, 0xE1, 0x09, 0x18, 0xC7, +0x63, 0x4C, 0xDC, 0x03, 0x02, 0x7E, 0x7A, 0xD8, 0x43, 0xC0, 0x0F, 0xEF, 0xF3, 0x4F, 0x09, 0xF8, +0x8A, 0xF9, 0x3F, 0x57, 0x7F, 0x2D, 0x58, 0xFE, 0xF0, 0x02, 0x81, 0xFB, 0x51, 0x0F, 0xA8, 0xA5, +0x60, 0xE6, 0xFF, 0x5C, 0x6F, 0x4A, 0xF0, 0x99, 0xE6, 0xD6, 0x28, 0x18, 0xEF, 0x7F, 0xFA, 0x96, +0x53, 0xCE, 0x3F, 0xB7, 0x35, 0x18, 0x07, 0xF4, 0x06, 0x02, 0xFF, 0x02, 0x1E, 0xD0, 0xE8, 0x93, +0xF2, 0xE4, 0x9C, 0xF3, 0xAF, 0xF4, 0x80, 0xD2, 0x54, 0xAD, 0xED, 0xD3, 0x43, 0x72, 0xF2, 0xFE, +0xAF, 0xA5, 0xC6, 0x11, 0xC3, 0x1F, 0x54, 0xB9, 0x5E, 0x10, 0xD1, 0xFC, 0x1F, 0x3C, 0xE0, 0x5E, +0x9F, 0xF0, 0xF7, 0x47, 0x05, 0x07, 0xB8, 0x52, 0xAA, 0xCA, 0xFD, 0x5F, 0x88, 0xF0, 0xAF, 0x38, +0x91, 0xFA, 0xFC, 0xDF, 0xFE, 0x36, 0x00, 0xD8, 0x4F, 0xC0, 0x63, 0xE1, 0x5F, 0x4D, 0xC0, 0x77, +0xFE, 0x9A, 0x01, 0x54, 0xFF, 0x27, 0xBA, 0x75, 0xFA, 0x65, 0x23, 0x18, 0x17, 0xB1, 0x7F, 0x16, +0xDA, 0x28, 0x04, 0xBB, 0x0D, 0x20, 0xE8, 0x17, 0xF0, 0x80, 0x36, 0x03, 0xE6, 0xED, 0xF1, 0x80, +0x03, 0x59, 0x40, 0x2B, 0x00, 0xC3, 0x01, 0x7E, 0xA8, 0x04, 0x6C, 0x15, 0x80, 0xB5, 0x03, 0x8C, +0x7C, 0x2A, 0xF3, 0x9C, 0x63, 0xFC, 0x43, 0x21, 0x84, 0xF0, 0x6F, 0x6D, 0x02, 0x12, 0x00, 0x42, +0x3E, 0x0C, 0x58, 0x39, 0xC0, 0x37, 0x89, 0x7F, 0xE8, 0x04, 0x4F, 0x09, 0xFF, 0x8C, 0x81, 0x9A, +0x7B, 0xEA, 0x01, 0xEF, 0xA1, 0xEF, 0x48, 0x13, 0xBB, 0x20, 0x01, 0x75, 0xFE, 0xCB, 0x81, 0x38, +0x2F, 0x10, 0x88, 0xF1, 0x0F, 0x12, 0xD4, 0x79, 0xC1, 0xA3, 0x6C, 0xAD, 0xFF, 0x5B, 0xAA, 0x77, +0x02, 0x20, 0xFE, 0xE3, 0x92, 0xD4, 0xFF, 0x41, 0x85, 0xE5, 0x33, 0xF2, 0x01, 0x86, 0xE2, 0xFF, +0xEC, 0x45, 0x92, 0x46, 0xD4, 0x26, 0xE0, 0x6F, 0xA9, 0x00, 0x0C, 0x2D, 0x57, 0x08, 0x78, 0xFF, +0x3D, 0x7B, 0xF3, 0x27, 0x77, 0x67, 0xF0, 0x1A, 0x49, 0x15, 0x84, 0x71, 0x37, 0x2A, 0x2C, 0x0E, +0x46, 0x04, 0x65, 0x61, 0x11, 0x3C, 0x85, 0xB9, 0x64, 0x60, 0x2F, 0x42, 0x24, 0x78, 0x08, 0x39, +0x2C, 0x2E, 0xC4, 0x80, 0x5E, 0x5C, 0x46, 0x08, 0xF4, 0x1E, 0xF7, 0x18, 0x84, 0x3D, 0x7B, 0xF0, +0xE0, 0x3F, 0xE0, 0x5E, 0x72, 0x92, 0x3E, 0x78, 0xF4, 0xA2, 0xFF, 0x9E, 0x55, 0xD5, 0x5D, 0x7E, +0x79, 0xA9, 0xAE, 0xFE, 0x6A, 0x76, 0x3B, 0x24, 0xEB, 0x57, 0xAF, 0x5F, 0xBF, 0x19, 0x47, 0x89, +0x93, 0xCE, 0x6F, 0xBE, 0xF7, 0xAA, 0x5E, 0xCF, 0x99, 0x8A, 0x7B, 0xC0, 0xC8, 0xBF, 0x39, 0xFF, +0x67, 0x13, 0x60, 0x20, 0x30, 0xC7, 0x5F, 0x76, 0x43, 0xD4, 0x14, 0x7F, 0x95, 0x29, 0xB0, 0xAA, +0x84, 0xBE, 0x3A, 0x02, 0xE1, 0xFE, 0x00, 0x41, 0x39, 0xA4, 0x23, 0x13, 0x60, 0x7D, 0xF0, 0xA4, +0x6C, 0x00, 0x3F, 0xB9, 0x1D, 0x02, 0xD6, 0xD9, 0xB8, 0x88, 0x07, 0xC4, 0xFC, 0x77, 0xE8, 0x52, +0x0F, 0x28, 0x3B, 0x40, 0x40, 0x3F, 0xE2, 0x01, 0xC3, 0x2D, 0xF1, 0xA5, 0x7A, 0x94, 0xF1, 0xCF, +0x09, 0xB8, 0x5A, 0xC2, 0x03, 0x9E, 0xDD, 0x50, 0x67, 0x86, 0x2F, 0x3A, 0xC0, 0xFF, 0xFC, 0xDF, +0xA9, 0xB5, 0xF9, 0x62, 0x18, 0xD8, 0x3F, 0xE9, 0x54, 0x31, 0x01, 0xEC, 0x38, 0x08, 0x9A, 0x2B, +0x80, 0xB1, 0xF0, 0x36, 0xE3, 0x01, 0x47, 0xEC, 0x81, 0x6A, 0x20, 0x5E, 0x30, 0x80, 0xE3, 0x0B, +0xD0, 0xE6, 0xFC, 0x1F, 0xF8, 0x6B, 0x3F, 0x41, 0x4E, 0xEB, 0x20, 0xFB, 0x9F, 0xBD, 0xC2, 0xFC, +0xD7, 0x42, 0x07, 0xFE, 0x51, 0x11, 0x3C, 0xE0, 0x6B, 0x9C, 0x07, 0x3D, 0x07, 0xFB, 0x60, 0x01, +0x11, 0xD6, 0xC6, 0xE1, 0xD9, 0x4D, 0x31, 0xFE, 0x71, 0x04, 0xCA, 0xC5, 0x36, 0xE2, 0x0F, 0x1E, +0x90, 0xF9, 0x3F, 0x97, 0x17, 0xC3, 0xBC, 0x47, 0x0C, 0x60, 0x82, 0x37, 0xAC, 0xFF, 0x55, 0x1D, +0x60, 0xDD, 0x00, 0x62, 0x0A, 0x3C, 0x7A, 0x40, 0xE7, 0x5C, 0x92, 0xFF, 0xF5, 0x90, 0x36, 0x8B, +0xBF, 0xFB, 0x64, 0x01, 0x97, 0x59, 0x06, 0x1C, 0xA0, 0xD7, 0x60, 0x30, 0xF3, 0x7F, 0x96, 0xFF, +0x40, 0x03, 0x01, 0x73, 0xFE, 0x71, 0x0F, 0x68, 0x0B, 0xCF, 0x08, 0x52, 0x0C, 0x53, 0x26, 0x60, +0x94, 0x31, 0x2F, 0x38, 0x40, 0xE7, 0x1F, 0x28, 0xA8, 0x04, 0x0C, 0xE9, 0x0F, 0x93, 0x61, 0xCF, +0x57, 0xB5, 0x2C, 0xBE, 0x75, 0xE2, 0x0D, 0xEB, 0x7E, 0x40, 0x60, 0x04, 0xC5, 0x37, 0x99, 0x01, +0xFC, 0x5D, 0xF1, 0x83, 0xA6, 0x07, 0xF3, 0x7F, 0xD0, 0xC8, 0xBC, 0xB8, 0x04, 0x18, 0x5E, 0x98, +0x7B, 0xC0, 0xA7, 0x23, 0x7E, 0xD1, 0x38, 0xFF, 0xA0, 0x64, 0x05, 0xC0, 0xAC, 0x9F, 0x76, 0x89, +0x07, 0x04, 0x04, 0x07, 0xFF, 0x77, 0xDA, 0x12, 0xF0, 0xAC, 0xA9, 0x83, 0x46, 0x01, 0x60, 0xD0, +0xCE, 0xFC, 0x8B, 0x81, 0x4B, 0x8F, 0x11, 0x10, 0xFC, 0x03, 0x01, 0xDF, 0xD2, 0x01, 0x1A, 0xF3, +0xCA, 0xE0, 0xAB, 0x1B, 0x40, 0x43, 0x1F, 0x26, 0xC0, 0xE2, 0xFE, 0x1C, 0x78, 0xDA, 0x4B, 0x80, +0x7F, 0x21, 0x96, 0xCC, 0x80, 0x40, 0x0B, 0xFA, 0xBF, 0x25, 0x53, 0xC1, 0x8E, 0x3D, 0xE0, 0x2F, +0x4D, 0x05, 0x0B, 0xF2, 0x22, 0x01, 0x19, 0xFF, 0x20, 0xE2, 0xFF, 0x10, 0x3B, 0x11, 0xF0, 0x8C, +0xF8, 0x3F, 0xA8, 0x07, 0xFB, 0xAE, 0x39, 0x40, 0xF8, 0x3F, 0x11, 0x29, 0x86, 0x19, 0xFD, 0x9F, +0x1C, 0x18, 0x58, 0x31, 0x8C, 0x33, 0x00, 0xC3, 0x29, 0xA5, 0x09, 0xE0, 0x96, 0x3F, 0xA9, 0x07, +0x04, 0xCA, 0xAE, 0x09, 0xCC, 0x43, 0x2F, 0x0D, 0xAF, 0xB5, 0x66, 0xE3, 0xCC, 0xFF, 0x3D, 0xBD, +0xC9, 0x3F, 0xA4, 0x82, 0x39, 0xFF, 0x60, 0x7E, 0x21, 0x79, 0x68, 0xD8, 0xB3, 0xB6, 0x81, 0x07, +0x6C, 0xC0, 0x97, 0xFA, 0x3F, 0x78, 0xC0, 0x36, 0x0B, 0x0C, 0xFF, 0xC7, 0x09, 0x98, 0x14, 0x40, +0xCF, 0x26, 0x80, 0x11, 0x29, 0x01, 0x71, 0x55, 0xB7, 0x04, 0x7C, 0x8F, 0xE0, 0x2F, 0x05, 0x60, +0x93, 0x01, 0x59, 0xB0, 0x18, 0xC6, 0xE1, 0x07, 0x0C, 0x8A, 0x0C, 0x77, 0x40, 0x9F, 0xB5, 0xC9, +0x58, 0x14, 0x7F, 0xD0, 0x3D, 0xB5, 0x80, 0xC6, 0x3C, 0x98, 0x40, 0xA4, 0x82, 0xE3, 0xFA, 0xDF, +0x24, 0x01, 0xCF, 0x09, 0xFF, 0x20, 0xE2, 0xFF, 0x10, 0x6F, 0x4F, 0xC0, 0x49, 0xF9, 0x7C, 0xAA, +0x71, 0x80, 0xBF, 0x42, 0x8C, 0x80, 0xE3, 0x9C, 0xCE, 0x1D, 0xCD, 0x78, 0x1A, 0x9D, 0x9F, 0x6B, +0x70, 0x82, 0x10, 0x23, 0x20, 0xA8, 0x83, 0x96, 0x14, 0x44, 0x37, 0xE4, 0x7B, 0x05, 0x02, 0xC6, +0x05, 0xC0, 0xE8, 0xFF, 0xF2, 0x75, 0x40, 0xC7, 0x2F, 0x9A, 0x44, 0xC9, 0xFF, 0x81, 0x80, 0x21, +0x03, 0x8E, 0x54, 0xF9, 0x21, 0x3C, 0xE0, 0x71, 0x9A, 0x00, 0x39, 0xB5, 0x2E, 0x21, 0x20, 0x4C, +0xFB, 0xD9, 0xA4, 0xEA, 0x05, 0xD0, 0xDC, 0xFF, 0xC1, 0x03, 0x52, 0xFE, 0x81, 0x80, 0x70, 0x80, +0x54, 0x71, 0x0A, 0x6C, 0xD4, 0x5B, 0xDA, 0x02, 0x0A, 0xE1, 0xDC, 0xF9, 0xB5, 0xC9, 0x10, 0x63, +0x1F, 0x47, 0xE0, 0xA2, 0x13, 0x60, 0x68, 0x71, 0xFF, 0xB7, 0xBB, 0x07, 0xA4, 0xFE, 0xCF, 0x3A, +0x78, 0xC0, 0x50, 0x00, 0x18, 0x5B, 0x9C, 0x04, 0x9F, 0x5B, 0x02, 0x24, 0x6A, 0x9B, 0x15, 0xC0, +0x2C, 0xEE, 0x01, 0xCF, 0xA0, 0xA9, 0x5C, 0xB0, 0xCA, 0xCE, 0x3D, 0xFC, 0x9F, 0x74, 0x84, 0x80, +0xFE, 0xF7, 0x2C, 0x87, 0x97, 0x02, 0x5A, 0x17, 0x4A, 0x40, 0xBE, 0x49, 0x95, 0x2D, 0x00, 0xB6, +0x04, 0x4A, 0xB6, 0x84, 0x0C, 0x24, 0x93, 0x80, 0x40, 0xC0, 0x76, 0x01, 0x10, 0xDC, 0xB3, 0x86, +0x7F, 0x71, 0x7A, 0x03, 0x08, 0x47, 0x20, 0xF8, 0x97, 0x13, 0x10, 0xFA, 0x46, 0xDE, 0x17, 0xA4, +0xCA, 0xE3, 0x3A, 0x60, 0x2C, 0x80, 0x89, 0x6A, 0x96, 0x00, 0x2D, 0x81, 0xD5, 0x9F, 0x25, 0xA2, +0xFC, 0x83, 0xA8, 0xFF, 0x83, 0x07, 0xE4, 0x13, 0x60, 0x94, 0x03, 0xBE, 0x57, 0x33, 0x80, 0x60, +0x1C, 0x66, 0xC0, 0x0B, 0x68, 0x26, 0x03, 0xD2, 0x8C, 0x1C, 0x7D, 0x38, 0x65, 0x21, 0x2D, 0x4B, +0x00, 0xFF, 0xCF, 0xD6, 0x01, 0x1D, 0x7B, 0x71, 0x1D, 0xB0, 0x4D, 0x05, 0xA3, 0x00, 0x90, 0x13, +0x30, 0xFA, 0xBF, 0xBC, 0x18, 0xC6, 0xFC, 0x5F, 0x8C, 0x9D, 0xCB, 0x01, 0xB9, 0xFF, 0x03, 0x01, +0x31, 0x0F, 0x3E, 0xEB, 0x7E, 0x0D, 0x3A, 0x4D, 0x08, 0x38, 0xD2, 0x4E, 0x04, 0x10, 0x6E, 0xB0, +0x25, 0x04, 0x39, 0x50, 0x19, 0xE4, 0x9A, 0x2E, 0x80, 0x0E, 0xF4, 0x99, 0x2A, 0x07, 0xF4, 0xFA, +0x97, 0x28, 0x63, 0x1E, 0x52, 0x21, 0xE0, 0x5F, 0xAB, 0xC9, 0x44, 0x48, 0x64, 0xDF, 0x48, 0x64, +0xCE, 0x3F, 0xC8, 0xBD, 0xAF, 0x76, 0x3E, 0xFF, 0x45, 0xBE, 0x68, 0x33, 0xE7, 0x01, 0xF1, 0xB6, +0x7B, 0xE7, 0x12, 0xE4, 0xC1, 0x01, 0xAA, 0xCE, 0x32, 0xED, 0xC0, 0xBF, 0x6C, 0x03, 0x48, 0x8C, +0x0F, 0x4F, 0xB2, 0x02, 0xE8, 0xE8, 0x01, 0xE1, 0x00, 0xEF, 0x44, 0xD1, 0x00, 0x7A, 0x06, 0xC4, +0xE2, 0xDA, 0xA8, 0xC9, 0xFC, 0xCE, 0x43, 0x90, 0xF8, 0xBF, 0x3B, 0xF0, 0x80, 0x8F, 0x97, 0xF5, +0x80, 0xD1, 0xFF, 0x01, 0x86, 0x71, 0x1D, 0xF0, 0x47, 0xF7, 0x7F, 0xB1, 0x05, 0x02, 0x6E, 0x01, +0xC0, 0x48, 0xC0, 0x47, 0xC4, 0xFF, 0x21, 0x76, 0x20, 0xE0, 0x19, 0xE7, 0x1F, 0x66, 0xC1, 0x70, +0x80, 0x5D, 0xF0, 0x7F, 0xA9, 0x07, 0xFC, 0xB5, 0xFD, 0x93, 0xB6, 0x81, 0x3D, 0x36, 0x0A, 0x5A, +0x31, 0x0C, 0x6C, 0xE0, 0x9C, 0x5A, 0xFE, 0x19, 0x6F, 0x62, 0xB3, 0x98, 0xF0, 0x7F, 0xD0, 0x2B, +0xEF, 0xE1, 0x01, 0xD1, 0x4D, 0x1A, 0xC0, 0x69, 0x02, 0xC2, 0x7F, 0xB6, 0x0D, 0x5B, 0x42, 0xC0, +0x3F, 0x46, 0x40, 0x14, 0x00, 0x62, 0xAD, 0x54, 0xCE, 0xED, 0x3A, 0x60, 0xE0, 0x5F, 0x2E, 0xF1, +0xE7, 0xD7, 0x17, 0x2D, 0xCE, 0x72, 0x85, 0x04, 0xC8, 0x8C, 0x6E, 0xFA, 0x3F, 0x4A, 0xC0, 0x9C, +0x7F, 0xF0, 0x80, 0xEF, 0xBD, 0x09, 0xFE, 0xD4, 0x11, 0x2E, 0xA3, 0xF7, 0x6F, 0x12, 0xB0, 0xB5, +0x7E, 0x16, 0xBE, 0x6B, 0x04, 0xDC, 0xB3, 0x96, 0xDF, 0x19, 0x66, 0x72, 0x01, 0xF0, 0x7F, 0xB6, +0x0E, 0x08, 0xE4, 0xA1, 0x9B, 0xF2, 0x80, 0x5A, 0x00, 0x33, 0x03, 0x40, 0x10, 0x10, 0x05, 0x80, +0xC4, 0x03, 0x12, 0xFE, 0xBD, 0xD5, 0xA6, 0xB8, 0x59, 0xF5, 0x30, 0x80, 0xFD, 0x9F, 0xD1, 0xFE, +0x65, 0x1E, 0x10, 0xFE, 0xEF, 0xD0, 0x0E, 0xCC, 0xEB, 0x4C, 0x09, 0xFF, 0xA8, 0x07, 0xFC, 0x0D, +0xC8, 0x89, 0x89, 0x58, 0x9A, 0x00, 0x81, 0xB0, 0x06, 0x08, 0xFF, 0x97, 0x28, 0xFA, 0x3F, 0xEB, +0x22, 0x05, 0x2F, 0xB8, 0x01, 0x84, 0x14, 0x7D, 0x63, 0x43, 0xFD, 0x8B, 0xAF, 0xFF, 0xF9, 0xF9, +0x30, 0xA4, 0x82, 0x3D, 0xEF, 0x9E, 0x78, 0xC0, 0x1E, 0x0E, 0x10, 0xFE, 0x8F, 0x10, 0x90, 0xF1, +0x2F, 0x6C, 0x00, 0xC9, 0xE3, 0x24, 0x14, 0x00, 0x26, 0xDA, 0xBE, 0x37, 0xF8, 0xAE, 0x5D, 0xB4, +0x34, 0x06, 0x81, 0x3F, 0xF8, 0x3E, 0xD0, 0x0F, 0x4B, 0x82, 0x28, 0x01, 0x64, 0xF1, 0x84, 0xF0, +0x6F, 0xE9, 0x72, 0xC0, 0x3A, 0x0E, 0x17, 0x2A, 0x07, 0x74, 0xD4, 0x25, 0xEB, 0x80, 0x28, 0x07, +0x44, 0x02, 0x24, 0x6B, 0x4E, 0x40, 0xF0, 0x2F, 0x93, 0x5C, 0x4B, 0xB3, 0x09, 0xE0, 0xB7, 0xDE, +0x12, 0x72, 0x46, 0x34, 0x4E, 0xA8, 0xB0, 0x01, 0xE4, 0x14, 0x1D, 0x40, 0x78, 0x93, 0x80, 0xDF, +0xC2, 0xD6, 0x20, 0x0D, 0xAC, 0x9D, 0x71, 0x71, 0xA3, 0x95, 0x70, 0xBE, 0x25, 0x8C, 0x28, 0x24, +0x80, 0x73, 0x17, 0x18, 0x37, 0x80, 0x44, 0x13, 0x08, 0x00, 0xFA, 0x81, 0x57, 0x05, 0x03, 0x68, +0x83, 0xE0, 0xFF, 0xFC, 0x47, 0x88, 0xC9, 0x68, 0x78, 0xC0, 0x6F, 0x88, 0x0C, 0xFF, 0x5E, 0xFF, +0x07, 0x8F, 0x8C, 0x5C, 0x08, 0x3E, 0x2F, 0xA8, 0xFF, 0x83, 0xA4, 0x48, 0x33, 0x6C, 0x80, 0xE3, +0xB3, 0x60, 0x36, 0x75, 0x08, 0x1B, 0x40, 0x92, 0x00, 0x01, 0x51, 0x00, 0x98, 0x68, 0x5C, 0x03, +0xAC, 0x6B, 0x59, 0x02, 0x02, 0x7F, 0x8A, 0x3A, 0x3B, 0x6E, 0x58, 0x3F, 0x40, 0x50, 0x66, 0xC7, +0xD2, 0x73, 0x02, 0x8A, 0xDA, 0x09, 0xF0, 0xFF, 0xCF, 0x03, 0x3A, 0xEC, 0x92, 0x65, 0x40, 0xFB, +0x8A, 0x24, 0x24, 0x80, 0xE7, 0xDA, 0xC7, 0x7B, 0xE7, 0xE7, 0x05, 0xFE, 0xA1, 0x1C, 0x10, 0x09, +0xE0, 0x3C, 0x50, 0x10, 0x5D, 0x9B, 0x05, 0x7B, 0x63, 0x1A, 0x2D, 0x60, 0x1F, 0x13, 0xC0, 0xC1, +0x82, 0x80, 0x7F, 0x6E, 0xF6, 0x0E, 0x37, 0x48, 0x03, 0x63, 0x1E, 0x6C, 0xDB, 0x82, 0x3D, 0x03, +0xC2, 0x9C, 0x12, 0xF8, 0xF7, 0x5B, 0xC2, 0xBE, 0xB8, 0x29, 0xCE, 0x41, 0xA6, 0x3D, 0xD0, 0xE7, +0x43, 0x10, 0xD0, 0xF8, 0xC7, 0x04, 0xFE, 0x8D, 0x04, 0x4E, 0x1B, 0xF7, 0x7F, 0xD0, 0x7F, 0x53, +0x60, 0x7F, 0x4F, 0xEC, 0x8D, 0x42, 0xBE, 0x28, 0x7A, 0x40, 0x6C, 0x00, 0xC9, 0x3D, 0xA0, 0x4F, +0x81, 0xF9, 0xAF, 0x35, 0xF2, 0x8F, 0x03, 0x50, 0xE7, 0x19, 0xB3, 0xC1, 0xFC, 0x9F, 0x4B, 0x1D, +0xE0, 0x5D, 0x0B, 0x16, 0x10, 0x76, 0x0F, 0xD6, 0x0F, 0x4C, 0xC4, 0x0A, 0x20, 0xF7, 0x80, 0x30, +0x80, 0x0B, 0x6A, 0x21, 0x03, 0xF8, 0xD6, 0xDB, 0x82, 0x1D, 0x75, 0x81, 0x7C, 0xDE, 0xF9, 0x96, +0x90, 0x87, 0x3A, 0xFF, 0x25, 0x08, 0x94, 0x4D, 0x71, 0x48, 0x80, 0x30, 0x02, 0x12, 0xFF, 0x07, +0x04, 0xEE, 0x5A, 0x10, 0xAD, 0x1D, 0x55, 0x37, 0xDC, 0x00, 0xA6, 0x4B, 0xFC, 0x1F, 0x48, 0xE8, +0xDB, 0x82, 0x9F, 0xBB, 0x93, 0x39, 0x6C, 0xD2, 0xC0, 0x58, 0xDB, 0xB2, 0xB1, 0xDF, 0x1B, 0x8B, +0xAB, 0x4D, 0x80, 0xE4, 0x0D, 0xE5, 0x80, 0x2F, 0xB9, 0x8C, 0x7E, 0xD2, 0xC9, 0x70, 0xD6, 0x00, +0x6A, 0x0B, 0xFE, 0x2F, 0x67, 0xB0, 0xFF, 0xB0, 0x05, 0xE1, 0x0E, 0xA8, 0x78, 0x7F, 0xDC, 0x26, +0xE3, 0xBD, 0x52, 0x0A, 0x7A, 0x01, 0x20, 0xE8, 0x97, 0xC9, 0x7C, 0x7A, 0x27, 0x3D, 0x57, 0x28, +0x80, 0xE6, 0x08, 0x7C, 0xC4, 0x00, 0x28, 0x04, 0x74, 0xFF, 0xC7, 0x00, 0xF8, 0xE6, 0x5A, 0xC0, +0x01, 0x02, 0x81, 0xB0, 0x7D, 0x72, 0xC4, 0x6C, 0xB0, 0x3D, 0x83, 0x1C, 0x30, 0x8D, 0x1A, 0xFE, +0xEE, 0xC3, 0x1D, 0xA2, 0x1F, 0xEF, 0xAC, 0x6B, 0xA8, 0x93, 0x3E, 0x18, 0x40, 0x3D, 0xD9, 0xD7, +0xA4, 0x63, 0x03, 0xC8, 0x4C, 0x33, 0x02, 0x82, 0x7F, 0x94, 0x80, 0xF0, 0x7F, 0xC4, 0x03, 0x96, +0x2D, 0xA0, 0x13, 0xB0, 0xA0, 0xDE, 0xE7, 0xBF, 0x89, 0x4E, 0xAD, 0x99, 0x9E, 0xE3, 0x0E, 0xD0, +0x6E, 0x62, 0x5C, 0x0E, 0x42, 0x73, 0x37, 0xD8, 0x16, 0x5C, 0xD1, 0xB8, 0x01, 0xF8, 0x77, 0x42, +0x40, 0x6C, 0x09, 0x71, 0xF3, 0x87, 0xFE, 0x55, 0xC8, 0x84, 0xC0, 0xFF, 0xE1, 0xC9, 0x4C, 0xE0, +0xDF, 0x2C, 0xFE, 0xE4, 0x27, 0x24, 0xFC, 0x8B, 0x5B, 0x42, 0x0C, 0x78, 0xD8, 0xFC, 0x91, 0xAD, +0x03, 0x62, 0x03, 0xC8, 0xBC, 0x07, 0xD4, 0x95, 0x5A, 0xDB, 0x00, 0xC2, 0xB5, 0x3C, 0xFF, 0x40, +0xC0, 0x2D, 0x03, 0xE0, 0xDD, 0xCD, 0x80, 0x21, 0x63, 0xDB, 0x74, 0xF9, 0x4B, 0xBB, 0x37, 0x18, +0xFC, 0x63, 0x81, 0xF9, 0xEF, 0x5D, 0x11, 0x10, 0x10, 0x5C, 0x78, 0x19, 0x30, 0x58, 0xBE, 0xF6, +0x91, 0xF6, 0x9E, 0x0A, 0xB6, 0x3B, 0x40, 0x3F, 0xA3, 0xED, 0xDC, 0xF9, 0xC7, 0xB4, 0x85, 0xFF, +0xA3, 0x21, 0x68, 0xAB, 0x13, 0x50, 0xC3, 0x45, 0x52, 0xC1, 0x7D, 0xEA, 0xFF, 0x62, 0x2A, 0x18, +0xFE, 0x6F, 0x83, 0x2C, 0x30, 0x68, 0x88, 0x54, 0x30, 0xF8, 0x47, 0x34, 0xB9, 0x01, 0x24, 0x2F, +0x88, 0xA6, 0xB3, 0x5A, 0xCC, 0x82, 0x0B, 0x06, 0x50, 0x3B, 0xE7, 0x1F, 0x41, 0xE0, 0xE8, 0x01, +0xBF, 0xA9, 0xC9, 0x0A, 0x00, 0x4D, 0x48, 0xFA, 0x1A, 0xFA, 0x1A, 0x18, 0x9A, 0xCC, 0xFF, 0x31, +0x9D, 0x6A, 0xA7, 0xB9, 0xFA, 0xB3, 0x92, 0x30, 0xFF, 0xAD, 0x21, 0x10, 0xFC, 0x23, 0x04, 0x54, +0xFE, 0x51, 0x00, 0xDE, 0x03, 0xF9, 0x62, 0x1F, 0x90, 0xE7, 0x0D, 0x86, 0xD0, 0xF0, 0x87, 0x6A, +0x18, 0x1E, 0x28, 0x00, 0xFC, 0x7F, 0x2D, 0x03, 0x3E, 0x0C, 0xDC, 0x6B, 0x1F, 0x20, 0x15, 0xEC, +0x05, 0x30, 0xA4, 0xC9, 0x61, 0x5F, 0x83, 0x5E, 0x12, 0xFC, 0x1F, 0x89, 0x5D, 0xEF, 0x91, 0x5F, +0x95, 0xCC, 0x7F, 0x99, 0x70, 0x6B, 0x98, 0x63, 0x98, 0xBE, 0xB1, 0x73, 0x8F, 0xB3, 0xB1, 0xC3, +0x05, 0xFE, 0x15, 0x08, 0xA8, 0xF6, 0x8F, 0xB7, 0xA7, 0xE2, 0x01, 0x9D, 0x5F, 0xB0, 0x80, 0x89, +0x50, 0xFF, 0xC2, 0x75, 0xA9, 0xEB, 0x8F, 0xB4, 0xA9, 0xC0, 0x3F, 0xAA, 0xAB, 0xD1, 0xFF, 0xC1, +0xEC, 0xF9, 0xFB, 0xA3, 0xBD, 0xD3, 0xD0, 0x86, 0x03, 0xFF, 0x4E, 0x03, 0xEF, 0xD0, 0xBB, 0xE0, +0xFF, 0x0A, 0xB3, 0xE0, 0x1D, 0xD6, 0x4C, 0xAC, 0xD0, 0xA0, 0x42, 0x40, 0xE5, 0xDF, 0x3B, 0x01, +0x40, 0xA7, 0x5B, 0x63, 0xFF, 0xD0, 0x70, 0x6B, 0x18, 0x9E, 0x02, 0x41, 0x31, 0x0C, 0xE8, 0xB7, +0x30, 0x01, 0x97, 0x87, 0xE0, 0xAE, 0xFC, 0x9B, 0xF7, 0x80, 0xBE, 0x0E, 0x08, 0xFE, 0xD1, 0x86, +0x02, 0x40, 0xAA, 0x13, 0xE0, 0x8F, 0xC5, 0x6A, 0x5D, 0xDF, 0x12, 0x52, 0x56, 0xE6, 0xFF, 0x30, +0x3C, 0x75, 0x02, 0x2A, 0xFF, 0x40, 0x3A, 0x77, 0x7E, 0x9B, 0x06, 0x86, 0xA3, 0x09, 0xBC, 0x02, +0x0B, 0x58, 0x26, 0xE4, 0xFB, 0x8B, 0xAF, 0x6B, 0x04, 0x7C, 0x6A, 0xFE, 0x2F, 0x52, 0x0F, 0xD3, +0x60, 0x3B, 0x4C, 0xD4, 0x00, 0xE2, 0x89, 0xCB, 0xA7, 0x66, 0x41, 0xB9, 0x07, 0xBD, 0xFC, 0xFE, +0x9B, 0xBA, 0xDA, 0xCF, 0x09, 0x9F, 0xFA, 0x82, 0x8A, 0xC8, 0x19, 0xF9, 0x06, 0x90, 0xE8, 0xBD, +0xC3, 0xD3, 0x30, 0x80, 0x9C, 0x80, 0x0B, 0xF2, 0x0F, 0x04, 0xFC, 0xE0, 0x83, 0x77, 0x07, 0x80, +0x28, 0xFC, 0x6B, 0xE0, 0x17, 0xA8, 0xB8, 0xCB, 0x97, 0x05, 0x53, 0xDD, 0x8F, 0x6F, 0x09, 0xD9, +0x05, 0x80, 0x00, 0x1D, 0x68, 0x37, 0x7D, 0x3C, 0x7E, 0xF0, 0xF1, 0x5E, 0x89, 0x80, 0x22, 0x64, +0x80, 0x17, 0x04, 0xE0, 0xA3, 0xA3, 0x75, 0x95, 0x80, 0xEB, 0x1D, 0x1C, 0x20, 0x9D, 0x7C, 0xD9, +0x49, 0x01, 0xE8, 0xDC, 0x1B, 0xCC, 0x0B, 0xF6, 0xF8, 0xDB, 0x23, 0x50, 0x51, 0x55, 0x27, 0x05, +0x08, 0x43, 0x1B, 0x6E, 0x01, 0x13, 0x12, 0xC1, 0xD1, 0x02, 0x3A, 0x18, 0x89, 0x04, 0x80, 0x6A, +0x2E, 0x39, 0xFE, 0xEC, 0x5C, 0xE7, 0x1F, 0x0C, 0x1E, 0x4C, 0x9F, 0x33, 0x10, 0x4F, 0x1C, 0xEA, +0x38, 0xD2, 0xAF, 0xFD, 0xEC, 0x81, 0xBA, 0xBA, 0x03, 0x5C, 0xAF, 0xCA, 0x55, 0x03, 0x14, 0x7F, +0xA8, 0x87, 0xDE, 0xBE, 0x33, 0x00, 0x6C, 0x0B, 0xFF, 0xB2, 0x36, 0x58, 0xBB, 0x62, 0xD4, 0x57, +0x00, 0x3F, 0xB9, 0xB5, 0x59, 0xF0, 0xE2, 0xFE, 0x4F, 0x57, 0xF7, 0x5A, 0x03, 0x98, 0xD8, 0x40, +0xAB, 0x05, 0x2C, 0x5A, 0xC0, 0xBD, 0x3D, 0xD4, 0xC0, 0xF0, 0x45, 0xC0, 0xFA, 0xF5, 0xF7, 0xA8, +0xBC, 0xAE, 0xD3, 0xAF, 0xCF, 0x6A, 0xEA, 0x71, 0x0F, 0x84, 0xE0, 0xFF, 0xC2, 0x14, 0x78, 0xC8, +0x01, 0x6F, 0x1A, 0x27, 0x83, 0x6D, 0x21, 0xB8, 0x3B, 0xCC, 0xC6, 0x10, 0x58, 0x33, 0x81, 0x57, +0x17, 0x57, 0x15, 0xF8, 0x69, 0xE7, 0xDF, 0x82, 0xC9, 0xF5, 0x95, 0xA8, 0x62, 0x00, 0xC7, 0x35, +0xC0, 0xDF, 0x9E, 0x16, 0x7F, 0x82, 0x8B, 0xAA, 0xB1, 0x55, 0xAB, 0x0C, 0x6B, 0x8C, 0x81, 0x3D, +0x8B, 0x27, 0x54, 0x92, 0x59, 0xF7, 0xF7, 0x9A, 0xA9, 0x3E, 0x05, 0xEE, 0xBB, 0xEA, 0x27, 0xA5, +0xF1, 0x4F, 0x1A, 0x8F, 0x61, 0x3F, 0xC8, 0x3B, 0x03, 0xC0, 0x79, 0xF8, 0xE1, 0x16, 0x09, 0x3B, +0xF0, 0x0F, 0x04, 0xBC, 0xDF, 0xEB, 0x80, 0x3B, 0x7F, 0x51, 0x70, 0x83, 0xBB, 0x64, 0x21, 0x50, +0x26, 0xC0, 0x0F, 0x84, 0x80, 0x25, 0xFF, 0x27, 0xFC, 0xDB, 0x13, 0x02, 0x96, 0xF8, 0x77, 0x52, +0x25, 0xA0, 0x75, 0x47, 0xFB, 0xB5, 0x4F, 0xF6, 0x6E, 0xD5, 0x57, 0x93, 0x20, 0x92, 0x05, 0x31, +0xDA, 0xF1, 0x4A, 0xC0, 0xE7, 0x12, 0x61, 0xE7, 0xC7, 0xA1, 0xC4, 0xB5, 0x6A, 0x37, 0x78, 0xC0, +0x62, 0x16, 0xF8, 0x42, 0x00, 0x58, 0x83, 0xCF, 0xA5, 0x28, 0x5F, 0x05, 0x7C, 0x85, 0x81, 0x3C, +0x6B, 0xAA, 0x90, 0xB2, 0xC9, 0x02, 0x93, 0x76, 0xA5, 0x51, 0xE7, 0x9F, 0x9B, 0x40, 0x78, 0x64, +0x1B, 0xE1, 0x09, 0x1B, 0xD8, 0xBB, 0x4A, 0xCC, 0xF7, 0x28, 0xEC, 0x02, 0x21, 0xD2, 0x0D, 0x20, +0x7D, 0x57, 0xF6, 0x7F, 0xC2, 0xB6, 0xEA, 0x12, 0xE0, 0xC9, 0x3B, 0x92, 0x04, 0x51, 0xE1, 0x16, +0x80, 0xF9, 0x04, 0x78, 0x88, 0x3A, 0x00, 0x3F, 0x5B, 0xD2, 0xFF, 0x41, 0x65, 0xFC, 0x89, 0x16, +0x37, 0x80, 0x16, 0x0F, 0x89, 0x03, 0xD4, 0x24, 0xB0, 0xA9, 0x96, 0x02, 0x11, 0xED, 0x55, 0x96, +0x01, 0xB7, 0xF8, 0x22, 0x38, 0x1A, 0x5E, 0x0C, 0x53, 0x20, 0x60, 0xA7, 0x16, 0xB0, 0x62, 0x16, +0x8E, 0xFE, 0xC4, 0x7D, 0x00, 0x53, 0xFF, 0x77, 0xAA, 0xED, 0x4F, 0xE3, 0xDF, 0xF3, 0x81, 0x80, +0x1B, 0x77, 0x80, 0xF0, 0x7F, 0xCD, 0x32, 0x57, 0x9D, 0x80, 0x02, 0x3F, 0x6D, 0x95, 0x2C, 0xB0, +0x82, 0x2A, 0x7A, 0xC0, 0x48, 0x3F, 0xE3, 0x9F, 0xA9, 0x62, 0x00, 0x51, 0x07, 0x48, 0x9B, 0xA9, +0x46, 0xC0, 0xF6, 0x2B, 0x40, 0x4C, 0x98, 0xFB, 0x36, 0x4F, 0xE8, 0x7B, 0x1A, 0xD2, 0xC0, 0xC1, +0x90, 0x83, 0x7F, 0x25, 0x0F, 0x78, 0xD4, 0xAD, 0xBB, 0x55, 0x57, 0xF6, 0x7F, 0x12, 0xDC, 0x03, +0x1A, 0xFF, 0x8C, 0x80, 0xEF, 0x0A, 0x00, 0xD3, 0x19, 0xB0, 0x04, 0xD0, 0xA8, 0x51, 0xE6, 0xDF, +0x1D, 0x7B, 0xC0, 0x5B, 0xC9, 0x80, 0x58, 0x34, 0x19, 0x8F, 0x98, 0x13, 0x71, 0xFE, 0xA9, 0x4A, +0xFE, 0xCF, 0x08, 0xC8, 0x0B, 0x61, 0xB6, 0x7E, 0x6F, 0x7C, 0x9A, 0x08, 0xC6, 0x60, 0xC5, 0xD7, +0x01, 0xFB, 0x55, 0x27, 0xD7, 0xFF, 0x7A, 0x55, 0xF1, 0x7F, 0x20, 0x20, 0x59, 0x7F, 0x17, 0xFC, +0x69, 0x18, 0x01, 0x0F, 0xB1, 0xF3, 0xA3, 0x4D, 0x68, 0xE2, 0x2F, 0xBC, 0x38, 0x09, 0x36, 0xA4, +0x68, 0x47, 0x1D, 0xE0, 0xA5, 0x2B, 0x4D, 0x04, 0x23, 0x01, 0xE2, 0x2A, 0xF8, 0x3F, 0x17, 0x5F, +0x07, 0x1C, 0x50, 0x5D, 0x22, 0x20, 0x20, 0x87, 0xFC, 0xB8, 0xFB, 0xE3, 0xEB, 0x4F, 0x1C, 0x2B, +0xFF, 0x36, 0x7A, 0x3C, 0x9F, 0x2D, 0x83, 0x3E, 0x05, 0xFF, 0x4A, 0x1E, 0x50, 0x7E, 0xF7, 0x5D, +0xAF, 0xD7, 0x01, 0xF7, 0x7F, 0x7E, 0x69, 0x55, 0xFC, 0xDF, 0xA8, 0xED, 0xBB, 0x02, 0xC0, 0x34, +0x11, 0x02, 0x28, 0x7A, 0x14, 0xF8, 0xA7, 0x21, 0x08, 0x5C, 0xD2, 0x01, 0x42, 0x35, 0xFC, 0x2D, +0xBC, 0x13, 0x04, 0xFE, 0x8F, 0xEE, 0x84, 0xB3, 0xAD, 0x70, 0x26, 0xB6, 0x0E, 0x88, 0xFB, 0x42, +0xEF, 0x29, 0x01, 0xAB, 0x9B, 0x81, 0xE9, 0x15, 0x08, 0x12, 0x1E, 0xAD, 0x39, 0xFF, 0xB4, 0x5B, +0xF7, 0xD4, 0x2C, 0xB4, 0xF7, 0x82, 0x39, 0x8D, 0xDC, 0x83, 0x94, 0x7D, 0xEE, 0x01, 0x8F, 0xA3, +0xB7, 0x91, 0x1E, 0x4F, 0x82, 0x80, 0x04, 0x81, 0x8A, 0xBE, 0xE1, 0x78, 0xCA, 0xF9, 0x17, 0x09, +0x18, 0x05, 0xFE, 0xFD, 0x62, 0x3D, 0x4B, 0x01, 0x5F, 0x42, 0x94, 0x7F, 0x57, 0x12, 0x35, 0x0F, +0xF8, 0x2D, 0x84, 0x12, 0x18, 0xAC, 0x13, 0x60, 0x3B, 0x88, 0xF2, 0xCF, 0x1B, 0x52, 0xC1, 0xD1, +0x80, 0x7B, 0x11, 0xE0, 0xA0, 0x8E, 0xF9, 0xBF, 0x7E, 0xAD, 0xEC, 0xEB, 0xA8, 0x09, 0x6C, 0xEE, +0x80, 0x2A, 0xAD, 0xBA, 0x15, 0x6E, 0xFB, 0xEE, 0x00, 0x10, 0xBC, 0x0B, 0xF6, 0xAF, 0x09, 0xCE, +0xBF, 0xD1, 0x01, 0xDE, 0x7B, 0x0B, 0xB8, 0x63, 0x15, 0x34, 0x02, 0xD4, 0x8B, 0x1C, 0x54, 0xFE, +0x41, 0x73, 0x00, 0x34, 0xFF, 0x07, 0x02, 0x12, 0xFE, 0x9D, 0x28, 0xFF, 0x0E, 0x34, 0x98, 0x07, +0x6C, 0x8B, 0x61, 0x66, 0x33, 0x21, 0x9D, 0x87, 0x20, 0x90, 0xF2, 0x0F, 0x04, 0x64, 0x25, 0x80, +0x1E, 0x46, 0x40, 0xCF, 0x5F, 0xC2, 0xDB, 0x20, 0xB3, 0x09, 0xD1, 0x5C, 0xB0, 0xBB, 0x2A, 0xBE, +0x0E, 0x38, 0xDA, 0x34, 0x10, 0x70, 0xC2, 0x02, 0x82, 0x7F, 0x10, 0xF5, 0x7F, 0xF8, 0xAF, 0x92, +0xAD, 0xC0, 0xFE, 0x63, 0x6A, 0x2B, 0xF3, 0x0F, 0xAE, 0x18, 0xF0, 0xDB, 0x60, 0xB1, 0xC0, 0xCC, +0x9F, 0xC6, 0xC6, 0x09, 0x78, 0x9A, 0x50, 0x10, 0xFC, 0xE3, 0x04, 0xEC, 0x6D, 0xFE, 0x6B, 0x1F, +0x82, 0x7D, 0xBD, 0x00, 0x86, 0xF3, 0xEF, 0x40, 0x83, 0x6E, 0x06, 0xDE, 0xDE, 0x23, 0x00, 0x36, +0xDF, 0x04, 0x07, 0x1C, 0xE2, 0x84, 0xA0, 0xFC, 0x73, 0x07, 0x88, 0xDD, 0x70, 0xCB, 0xAA, 0x02, +0x3F, 0xD7, 0x72, 0xFE, 0x0F, 0x91, 0xD5, 0x40, 0xE3, 0x56, 0x08, 0x8C, 0x80, 0xF0, 0x7F, 0x20, +0xE0, 0x07, 0x9F, 0x6F, 0xF9, 0x46, 0x60, 0x85, 0x20, 0xF5, 0x80, 0x18, 0xD2, 0x72, 0xC0, 0xBE, +0xD3, 0x26, 0x5A, 0xAF, 0x3B, 0xB2, 0x0D, 0x6E, 0x8A, 0x80, 0xF1, 0xCF, 0xF0, 0x4F, 0xF7, 0x7F, +0xEE, 0x01, 0x8F, 0x1D, 0x7F, 0xF0, 0x36, 0xC8, 0x09, 0xD7, 0x09, 0xE8, 0xEC, 0xB3, 0xC6, 0xF9, +0x07, 0x5A, 0x01, 0x7A, 0xD9, 0xFC, 0xF7, 0x17, 0x61, 0x9F, 0x13, 0x70, 0xD6, 0x00, 0x5E, 0x14, +0x3D, 0x20, 0x48, 0x2D, 0x2A, 0xF0, 0x0F, 0x42, 0xBE, 0x1C, 0x5E, 0x59, 0x9A, 0xEA, 0x39, 0xDE, +0x52, 0x27, 0x60, 0xE6, 0xFF, 0x7C, 0x02, 0xCC, 0x09, 0xA8, 0xFE, 0xAF, 0xD3, 0xC6, 0x1C, 0xE0, +0xFA, 0xE6, 0x1D, 0xA0, 0x67, 0x6F, 0x06, 0x23, 0xD7, 0xE8, 0xD6, 0x2E, 0xD5, 0x79, 0x02, 0x6E, +0xEF, 0x15, 0x00, 0x81, 0xBB, 0x30, 0x17, 0xDE, 0xCD, 0x02, 0xC2, 0x01, 0x62, 0x16, 0x7C, 0x27, +0x1E, 0x70, 0xF9, 0x04, 0x30, 0x22, 0x9F, 0x07, 0x3F, 0xD0, 0x04, 0x30, 0x44, 0xFC, 0x5F, 0x91, +0x80, 0xBE, 0xFE, 0x67, 0x17, 0xD6, 0x36, 0x10, 0x30, 0xBF, 0x30, 0x3F, 0xCD, 0x09, 0xA8, 0xFF, +0xA0, 0xD3, 0x26, 0x47, 0xD7, 0xE9, 0x34, 0x98, 0xF9, 0x3F, 0x97, 0x3C, 0xCA, 0xD7, 0xA0, 0xCC, +0xA2, 0x78, 0xBC, 0x96, 0x47, 0xD8, 0xE6, 0x1F, 0x5C, 0x4E, 0x9D, 0x80, 0x60, 0x1F, 0xB5, 0x80, +0x86, 0xBE, 0x38, 0x0B, 0x46, 0x1F, 0xFD, 0x1F, 0xF7, 0x80, 0xAF, 0x2E, 0x6F, 0xA8, 0x86, 0x3F, +0x1B, 0x97, 0xF8, 0x17, 0xB3, 0x1F, 0x1B, 0x7F, 0x68, 0xAE, 0xD9, 0xC9, 0xE7, 0x91, 0x56, 0x43, +0x83, 0x7F, 0x9C, 0x80, 0xDD, 0x7A, 0xB8, 0x02, 0x7A, 0x5B, 0x06, 0xEC, 0xE6, 0xFC, 0x9F, 0x25, +0x80, 0x11, 0xE4, 0x76, 0x80, 0xEE, 0x00, 0xAD, 0x70, 0x21, 0xE7, 0xDF, 0x7D, 0x9A, 0x02, 0x63, +0x1A, 0x1C, 0x8B, 0x02, 0x43, 0x10, 0xFF, 0x07, 0x07, 0xA8, 0xF1, 0xE4, 0x16, 0x44, 0xD1, 0x07, +0xDD, 0x82, 0xFF, 0x8B, 0xF4, 0xF3, 0x43, 0x5C, 0x60, 0xCB, 0x3F, 0xEC, 0x88, 0x23, 0xFC, 0x1B, +0x8A, 0x61, 0xB6, 0xF3, 0xB7, 0x43, 0xDD, 0xEA, 0x45, 0x65, 0x57, 0x16, 0xB3, 0x7F, 0x88, 0xA3, +0x9C, 0x80, 0x9D, 0x7D, 0xF4, 0xF7, 0x9D, 0x5D, 0xF9, 0xFA, 0xC7, 0xC0, 0xF8, 0xE7, 0xEA, 0xBC, +0x20, 0x3A, 0xDE, 0x09, 0x46, 0xF9, 0x87, 0xD0, 0xE6, 0xD0, 0x83, 0xFF, 0xF3, 0xEA, 0xB6, 0x20, +0xC2, 0x3F, 0xB0, 0x25, 0x2B, 0x07, 0x6C, 0xFD, 0x9F, 0x7B, 0xC0, 0x44, 0xEE, 0xFF, 0x70, 0x92, +0x27, 0x93, 0x5D, 0xC0, 0xF8, 0x8F, 0x4A, 0x9B, 0x4B, 0x05, 0x83, 0x7C, 0x76, 0x68, 0x5F, 0xE6, +0x1F, 0xEE, 0x95, 0x33, 0x0E, 0x30, 0x84, 0xAB, 0x76, 0x83, 0xED, 0x93, 0xE0, 0x20, 0xCC, 0x7F, +0x19, 0x01, 0x15, 0x7A, 0x12, 0x23, 0x02, 0xB5, 0xE3, 0x09, 0x60, 0x44, 0xEE, 0xFF, 0xFC, 0x73, +0x7A, 0x9B, 0x78, 0x40, 0x7C, 0x3B, 0xFA, 0x3D, 0x03, 0x60, 0x80, 0xDF, 0x1B, 0xF2, 0x0F, 0x0E, +0xF0, 0xD6, 0x3C, 0xE0, 0xDD, 0xFA, 0xBF, 0xE4, 0x56, 0x58, 0xBA, 0x01, 0xE4, 0xA6, 0xF2, 0x7B, +0xA2, 0x3A, 0xF8, 0x18, 0x01, 0xB7, 0xE7, 0xA3, 0xFF, 0x3B, 0x50, 0x04, 0xEA, 0x91, 0xCF, 0x82, +0x27, 0x9F, 0x4A, 0x52, 0xC1, 0xC3, 0xA7, 0xFF, 0x90, 0x05, 0xB1, 0xF3, 0x7A, 0xDD, 0x33, 0xFE, +0x81, 0x80, 0xD9, 0x9F, 0x9F, 0x2F, 0x55, 0x21, 0x9E, 0x37, 0x77, 0x02, 0xC4, 0x42, 0x7F, 0x50, +0x5E, 0x0C, 0x83, 0xD9, 0x2F, 0x46, 0x24, 0x01, 0xA2, 0x03, 0x57, 0x62, 0x01, 0xE1, 0xFC, 0x7E, +0x61, 0x1E, 0xD0, 0xFE, 0x8B, 0xDC, 0x03, 0x4A, 0x0C, 0xEB, 0x7F, 0xED, 0x0F, 0x5C, 0xE4, 0x5F, +0xD8, 0x3A, 0x8D, 0x61, 0x7C, 0x53, 0xB3, 0x9B, 0x22, 0x20, 0x01, 0x0C, 0x1D, 0xA5, 0x1B, 0x40, +0x3A, 0x8D, 0xAE, 0x37, 0x02, 0x6A, 0x37, 0x5B, 0x00, 0xD8, 0xC6, 0xDC, 0x0D, 0xF1, 0x8D, 0x7C, +0x7A, 0x1C, 0xE4, 0x1E, 0x70, 0x2B, 0xFC, 0xDB, 0x7B, 0x63, 0x00, 0xFE, 0xAD, 0x6D, 0x71, 0x19, +0xDB, 0xC2, 0x1C, 0x38, 0x89, 0x0C, 0x7F, 0x08, 0x61, 0xE0, 0x1D, 0x78, 0x40, 0x37, 0x80, 0xD0, +0xF2, 0xFE, 0x4F, 0x10, 0x18, 0xF0, 0xE7, 0x37, 0x02, 0x8C, 0x08, 0x9C, 0xBA, 0x2B, 0x8C, 0xF1, +0x2F, 0x12, 0x70, 0x7A, 0x16, 0xEC, 0x6B, 0x7F, 0x4A, 0xBE, 0x2F, 0xED, 0xB2, 0x12, 0x4D, 0x5F, +0x81, 0x13, 0x00, 0x34, 0x0F, 0x98, 0x2F, 0xFF, 0x59, 0xAF, 0x67, 0x41, 0x62, 0x77, 0x94, 0xDD, +0x0A, 0x15, 0xCA, 0x8A, 0x61, 0xBC, 0x00, 0x30, 0x84, 0x6C, 0x8A, 0x43, 0x2E, 0x18, 0x65, 0x80, +0xAD, 0x50, 0x0D, 0x43, 0xF8, 0x07, 0xB6, 0x7C, 0x3F, 0xC3, 0xBF, 0x0B, 0x78, 0xC0, 0x34, 0x15, +0xEC, 0xE8, 0x0B, 0x99, 0x90, 0xB8, 0x02, 0xD8, 0xB8, 0x4A, 0x3F, 0xA5, 0xF5, 0x2F, 0x01, 0x81, +0x57, 0x79, 0x01, 0x74, 0x14, 0xB6, 0x4E, 0x63, 0xB9, 0xE0, 0x75, 0x0B, 0x3F, 0x3B, 0x6D, 0xC2, +0xDB, 0xEF, 0xFE, 0x2F, 0x2A, 0xDB, 0x00, 0xA2, 0x81, 0x4B, 0xC0, 0x3A, 0xEE, 0xFF, 0x10, 0xD9, +0x06, 0x90, 0x03, 0x09, 0x57, 0xEA, 0x01, 0x95, 0x7F, 0x1F, 0xDD, 0x8F, 0xFB, 0x01, 0x26, 0xB7, +0x86, 0x51, 0x0C, 0xE6, 0x41, 0xBF, 0x18, 0xD8, 0x1C, 0xE0, 0x1D, 0x7A, 0xC0, 0xE5, 0x0A, 0x60, +0x1E, 0x86, 0x30, 0x06, 0x02, 0x7C, 0xCD, 0x06, 0x90, 0x08, 0xC0, 0xE9, 0x75, 0xC0, 0x29, 0x00, +0x2A, 0x01, 0x27, 0xE7, 0xBF, 0x46, 0x3F, 0xD7, 0x00, 0xC1, 0x89, 0x9A, 0xFC, 0x7C, 0x5B, 0xF0, +0xFE, 0x54, 0x02, 0x18, 0x0E, 0xD0, 0xCE, 0x96, 0x0A, 0x3E, 0xE2, 0xFC, 0x83, 0x07, 0x8C, 0x93, +0x60, 0xFC, 0x89, 0x22, 0xE4, 0x11, 0xF6, 0x33, 0xA0, 0xD6, 0x6D, 0x5A, 0xC7, 0x91, 0x80, 0xC7, +0x4F, 0x27, 0xF0, 0xA7, 0x5D, 0xBC, 0x31, 0x0B, 0xB8, 0xD7, 0xAA, 0xFD, 0x7E, 0x23, 0xF0, 0xAF, +0xE8, 0x01, 0x01, 0x53, 0xEB, 0x5C, 0x93, 0xF9, 0xDF, 0x88, 0x3F, 0x1D, 0xD6, 0xF9, 0x87, 0xAD, +0xD3, 0xD8, 0x43, 0x68, 0xEF, 0x61, 0x8C, 0x21, 0x11, 0x72, 0x9A, 0xF8, 0x3F, 0x46, 0x40, 0xF9, +0x58, 0x1C, 0x09, 0xD8, 0x4B, 0x87, 0x54, 0x30, 0xF3, 0x7F, 0x88, 0xC9, 0xA7, 0x70, 0x85, 0xE2, +0x03, 0x5B, 0x2C, 0x61, 0xF4, 0x7F, 0xDB, 0xF3, 0xBD, 0xB7, 0x01, 0xE0, 0xDF, 0xE8, 0x97, 0x14, +0xF0, 0x47, 0x21, 0x38, 0x65, 0x00, 0x89, 0x03, 0x5C, 0x56, 0x39, 0xF9, 0x0A, 0x30, 0x24, 0xE2, +0x06, 0x30, 0x7C, 0x33, 0x88, 0x3C, 0xE7, 0x09, 0x90, 0xA0, 0x64, 0x03, 0x08, 0xD4, 0x94, 0x03, +0x46, 0xFE, 0xA9, 0x0E, 0xD0, 0x44, 0xDB, 0xC9, 0x2D, 0x21, 0x09, 0x00, 0xA7, 0x36, 0xC5, 0xF5, +0xD7, 0x1D, 0xA0, 0x9C, 0x86, 0x35, 0xA0, 0x75, 0x47, 0x26, 0xC0, 0x10, 0xCA, 0x01, 0xE1, 0xFF, +0x02, 0xFC, 0x9C, 0x87, 0xC8, 0x7E, 0xA0, 0x2E, 0xBA, 0x6A, 0x01, 0x1D, 0x24, 0x01, 0x81, 0x01, +0x40, 0x58, 0x00, 0x04, 0xB2, 0x32, 0x0F, 0x08, 0xEC, 0xB5, 0x1E, 0x30, 0xBB, 0x11, 0x34, 0x04, +0x06, 0x4E, 0x27, 0x40, 0x22, 0x02, 0xE5, 0xE0, 0x13, 0x60, 0x68, 0xE3, 0x46, 0x79, 0xA3, 0x7D, +0x98, 0xFF, 0xFA, 0xA9, 0xF5, 0x80, 0xA7, 0x19, 0xFF, 0x4C, 0x5D, 0xE4, 0x5F, 0x67, 0x09, 0x60, +0x9F, 0xFB, 0x3A, 0x09, 0x25, 0xA6, 0xF8, 0x57, 0x4B, 0xB9, 0x39, 0xFF, 0x0E, 0x06, 0x08, 0xDA, +0xC0, 0x28, 0x18, 0xB7, 0x84, 0x0C, 0xFC, 0x63, 0x00, 0xE4, 0x5A, 0x94, 0x81, 0x91, 0x7F, 0xBB, +0x39, 0xC0, 0x4F, 0xA2, 0x03, 0xBC, 0x03, 0x0F, 0xB8, 0x7C, 0x01, 0x4C, 0x62, 0x00, 0x1F, 0xB6, +0xF3, 0x5F, 0x14, 0x00, 0x26, 0x04, 0x4C, 0xFC, 0x1F, 0xE4, 0x9B, 0xE2, 0x6E, 0xF2, 0x4F, 0x0D, +0xA0, 0x7F, 0xAC, 0xEA, 0xB1, 0x95, 0x43, 0x03, 0x1E, 0x90, 0x95, 0x26, 0xC4, 0x4D, 0x71, 0x1D, +0x1C, 0xE0, 0x70, 0xD2, 0xBF, 0x04, 0x6C, 0x09, 0x21, 0xFC, 0x03, 0x01, 0x1B, 0x08, 0x0E, 0x1B, +0x15, 0x26, 0x09, 0x88, 0x5B, 0xDD, 0xD9, 0x00, 0xE2, 0x04, 0x34, 0xA4, 0xA0, 0x5D, 0x3F, 0x5D, +0xDE, 0xF0, 0x7F, 0xAF, 0xC0, 0xBC, 0x8B, 0xE0, 0x01, 0x1B, 0x0B, 0x18, 0xBC, 0x1F, 0x3C, 0x60, +0x2C, 0x00, 0x8C, 0xF6, 0x0F, 0xE5, 0x80, 0x81, 0x7F, 0x38, 0x22, 0x01, 0x39, 0xFF, 0xE2, 0x5A, +0x20, 0xF8, 0x17, 0xE3, 0x57, 0xFC, 0x0A, 0x9C, 0x7F, 0x99, 0xB2, 0x04, 0xB0, 0x3B, 0x40, 0x1F, +0xAE, 0xFA, 0x64, 0x03, 0x48, 0x8C, 0x89, 0x27, 0x7C, 0xA5, 0x06, 0xF6, 0xCF, 0x71, 0x18, 0xF8, +0x27, 0x97, 0xFA, 0xDB, 0x00, 0xF0, 0xB6, 0x96, 0x01, 0xE3, 0x8E, 0xE0, 0x3C, 0x02, 0xFF, 0x32, +0x07, 0x18, 0x00, 0xB8, 0x8C, 0x27, 0xCC, 0xC0, 0x87, 0x13, 0xF4, 0x36, 0xF3, 0xDF, 0xC4, 0x00, +0x4A, 0x84, 0x0D, 0xC0, 0xA9, 0x88, 0xFF, 0xCB, 0x0B, 0xA2, 0xC5, 0xE9, 0xD9, 0xD5, 0x64, 0x99, +0x0F, 0x3D, 0xB6, 0xD6, 0x7F, 0x39, 0x59, 0x0C, 0x93, 0x01, 0x30, 0x14, 0x44, 0xF7, 0xD7, 0xD7, +0x00, 0x47, 0x27, 0xE0, 0x50, 0x2C, 0xF1, 0x2F, 0x6E, 0x0B, 0x1E, 0x0B, 0x00, 0x37, 0x93, 0x93, +0x35, 0xDB, 0x12, 0xE2, 0x1E, 0x50, 0x22, 0x28, 0xDD, 0x12, 0x32, 0x81, 0x13, 0x8C, 0x9E, 0x86, +0x0D, 0xC0, 0x10, 0x98, 0x65, 0xC7, 0xDC, 0xFA, 0x1F, 0xCE, 0xC8, 0x05, 0x9B, 0x74, 0x78, 0x19, +0x17, 0x00, 0xA1, 0xEF, 0xAF, 0xFD, 0x04, 0xBF, 0xE3, 0xC7, 0xC3, 0x81, 0x56, 0xE6, 0x1F, 0x52, +0xBF, 0xD2, 0x07, 0xFE, 0xB5, 0x43, 0xC0, 0x0F, 0xFC, 0x2B, 0x79, 0xC0, 0x7E, 0x48, 0x80, 0xF4, +0x70, 0x80, 0xE3, 0x50, 0x62, 0x9D, 0x6C, 0x00, 0xE1, 0x1E, 0xD0, 0xF0, 0xE7, 0x17, 0x29, 0x9C, +0x20, 0x96, 0x01, 0xC1, 0x3F, 0xC5, 0xDF, 0x02, 0x0E, 0x70, 0x41, 0x0A, 0xC6, 0x72, 0x40, 0xA0, +0xAE, 0x04, 0xC0, 0xC4, 0x01, 0x6A, 0xDC, 0x2F, 0x0B, 0xB8, 0x13, 0xFF, 0x32, 0x03, 0x68, 0xD1, +0x2C, 0x02, 0xCE, 0xF1, 0xEF, 0xC7, 0xC6, 0x02, 0xEA, 0x2F, 0x3F, 0xB7, 0x80, 0x4E, 0x40, 0xE7, +0x9F, 0x71, 0xCF, 0xA9, 0xE7, 0xD7, 0xD5, 0x70, 0x26, 0xFE, 0x2F, 0xBB, 0x3F, 0xAA, 0x5D, 0xFC, +0x03, 0xFB, 0x86, 0x91, 0x9E, 0x3D, 0xD6, 0x7D, 0x81, 0x7F, 0x28, 0x07, 0x74, 0x79, 0x01, 0x74, +0x6A, 0x57, 0x0E, 0x51, 0xE8, 0x46, 0x14, 0xFC, 0x5F, 0x82, 0xBF, 0x36, 0x17, 0xFC, 0x14, 0xF3, +0xDE, 0xC0, 0x2C, 0x7C, 0x41, 0x1C, 0x00, 0xC8, 0x3C, 0x60, 0xDC, 0x00, 0x62, 0x83, 0x38, 0x0B, +0xC6, 0x17, 0xA2, 0xA7, 0xF8, 0xB3, 0x56, 0xE6, 0x9F, 0x7B, 0x65, 0xDF, 0x00, 0x32, 0x17, 0xA1, +0x00, 0x90, 0x11, 0x10, 0xFE, 0xCF, 0x42, 0x3B, 0xE3, 0x1E, 0xEC, 0x60, 0x9F, 0x17, 0x00, 0xE6, +0x26, 0x10, 0xFC, 0xB3, 0xB9, 0xAF, 0x74, 0xD6, 0x2C, 0x1D, 0x82, 0x72, 0x40, 0x24, 0x80, 0xF7, +0xE4, 0x42, 0x17, 0x2D, 0x90, 0x05, 0x5E, 0x9C, 0x82, 0x74, 0x01, 0x10, 0xD1, 0xFA, 0xBF, 0xDC, +0x01, 0xDE, 0xDA, 0x96, 0x10, 0x6A, 0x00, 0xA1, 0x37, 0x9D, 0xFF, 0xE6, 0x06, 0xD0, 0x02, 0xB3, +0x60, 0x00, 0x30, 0x9D, 0x04, 0x73, 0xFE, 0xED, 0x39, 0x01, 0xC1, 0x3F, 0x5C, 0x54, 0xC6, 0x3C, +0x1B, 0x6D, 0x47, 0x04, 0x9E, 0x10, 0xFB, 0x97, 0x11, 0xB0, 0x97, 0x18, 0xAC, 0x5F, 0x37, 0x4E, +0x80, 0xDD, 0x06, 0x4A, 0x5B, 0x1F, 0x51, 0xFE, 0x01, 0x81, 0x0D, 0xFF, 0x66, 0x42, 0xCA, 0x63, +0x8E, 0xDD, 0xD6, 0x50, 0xB5, 0x05, 0x80, 0x12, 0x19, 0x02, 0xAF, 0x42, 0xFE, 0x37, 0xD4, 0xEB, +0x81, 0x56, 0x37, 0xF1, 0xF7, 0x12, 0x7D, 0x58, 0x07, 0x84, 0x5A, 0x27, 0xD9, 0x5A, 0x4B, 0x55, +0x3B, 0x01, 0x4E, 0x11, 0x28, 0x22, 0xFC, 0x4B, 0x4A, 0x02, 0xF3, 0x09, 0x30, 0xB6, 0x05, 0x9F, +0x32, 0xFE, 0x99, 0xBA, 0xE0, 0xFF, 0x06, 0xE3, 0x8F, 0x49, 0x80, 0xAF, 0x83, 0x84, 0x0D, 0x20, +0x73, 0xD1, 0x14, 0x00, 0x6E, 0xF1, 0xF1, 0x6C, 0x87, 0x4D, 0x54, 0x64, 0xD4, 0x78, 0xC0, 0xAD, +0x25, 0x80, 0x17, 0x71, 0x80, 0x8B, 0x92, 0x2F, 0x22, 0x90, 0x46, 0xEB, 0xFF, 0x72, 0x07, 0x78, +0x37, 0xCB, 0x80, 0x64, 0xFD, 0x6F, 0x01, 0x07, 0x28, 0x01, 0xFF, 0xC7, 0x34, 0xD2, 0xEF, 0xC1, +0x0C, 0xFF, 0x50, 0x0E, 0x08, 0xFE, 0x35, 0x15, 0x80, 0x00, 0xA1, 0x3E, 0xC4, 0x2C, 0x98, 0xDF, +0xA0, 0xE8, 0xD3, 0x0F, 0xFD, 0x6B, 0x92, 0x7C, 0xF2, 0x23, 0x9D, 0xA7, 0x81, 0xDD, 0x10, 0x6A, +0xA7, 0xC9, 0x41, 0xCA, 0x3F, 0x78, 0x40, 0xB2, 0xFE, 0xE7, 0x21, 0x1A, 0xE7, 0xBE, 0x9B, 0x1D, +0x08, 0x78, 0x25, 0xA6, 0x2A, 0x77, 0x80, 0x36, 0xF4, 0xF2, 0xBB, 0x26, 0xED, 0x11, 0x30, 0xA8, +0x7D, 0xBE, 0xFE, 0x17, 0x1F, 0xBB, 0xFF, 0xF3, 0x45, 0x45, 0x28, 0x2D, 0x07, 0x4C, 0x27, 0xC0, +0x00, 0x78, 0xE0, 0x1F, 0xF7, 0x80, 0x84, 0x7F, 0x12, 0x58, 0x83, 0xA0, 0xBF, 0x2D, 0xF8, 0x3F, +0x05, 0x9D, 0x47, 0x8F, 0xDF, 0x7E, 0x8F, 0x54, 0x70, 0xF0, 0x7F, 0xD4, 0x03, 0x9E, 0x0C, 0xA4, +0x03, 0x02, 0xB7, 0x78, 0x24, 0x43, 0x27, 0xA0, 0xF3, 0xEF, 0x6D, 0xD7, 0x00, 0xFF, 0xC6, 0x60, +0xF9, 0x4C, 0xC8, 0xEE, 0x04, 0xFC, 0x84, 0x38, 0xC0, 0x5B, 0xF6, 0x80, 0xDC, 0x00, 0x82, 0x87, +0x75, 0x09, 0xDE, 0x6A, 0x16, 0x10, 0xFE, 0x8F, 0x7B, 0xC0, 0xBD, 0x67, 0x33, 0xEC, 0x6B, 0x09, +0xA8, 0x90, 0xC3, 0x55, 0xE5, 0x23, 0x9D, 0x59, 0xFC, 0x20, 0x83, 0xB6, 0x1C, 0x50, 0x1A, 0x89, +0x23, 0x27, 0x60, 0x2F, 0xAD, 0xC3, 0x05, 0xDF, 0xB9, 0x21, 0xF4, 0xE7, 0xFB, 0x35, 0xE1, 0x5F, +0x48, 0x05, 0xEB, 0x06, 0x10, 0x09, 0xE6, 0x01, 0x91, 0xD8, 0x34, 0xF1, 0x4C, 0x08, 0x10, 0x42, +0x27, 0xC1, 0x69, 0xAA, 0x16, 0x03, 0xE7, 0x5F, 0xC3, 0xBA, 0x97, 0xDE, 0x1A, 0xC5, 0xEF, 0x42, +0x77, 0x9C, 0x06, 0xD0, 0x62, 0x03, 0xC8, 0x1C, 0x02, 0x4D, 0x75, 0xFE, 0x79, 0xB5, 0xF8, 0xEB, +0xC0, 0xBF, 0xB4, 0x20, 0xBA, 0xE7, 0xBF, 0xAD, 0x66, 0x03, 0x48, 0x13, 0x6E, 0x05, 0x1D, 0x8C, +0x4D, 0x01, 0x20, 0x0B, 0x2F, 0x00, 0xB4, 0x99, 0xCA, 0xD0, 0x1B, 0xFC, 0x4C, 0x28, 0x5D, 0x75, +0x02, 0x82, 0x7F, 0x04, 0x80, 0x44, 0x0B, 0x72, 0x2F, 0x12, 0xB0, 0x1C, 0xCE, 0x3F, 0xE6, 0x00, +0xEF, 0xC0, 0x03, 0x2E, 0x91, 0x00, 0x4E, 0x1D, 0x20, 0xC6, 0x96, 0x00, 0x79, 0x50, 0xD2, 0x33, +0x6C, 0x00, 0xE1, 0x1E, 0xD0, 0x0B, 0x60, 0x7C, 0x06, 0xAC, 0x17, 0x92, 0x33, 0xD0, 0xCE, 0x5F, +0x5A, 0xFF, 0x08, 0x06, 0x90, 0x85, 0x7D, 0x4B, 0x88, 0x4F, 0x72, 0x7A, 0x64, 0x00, 0x61, 0x08, +0xED, 0x79, 0x9B, 0x05, 0xE3, 0x0E, 0xA8, 0x35, 0x0F, 0x98, 0xF8, 0xBF, 0x58, 0x0E, 0x58, 0x14, +0x12, 0x20, 0x29, 0xFE, 0x40, 0x40, 0x6C, 0x00, 0x6E, 0xD1, 0x14, 0x26, 0xC4, 0x00, 0x60, 0xF4, +0x7F, 0x2F, 0xF5, 0x09, 0x3C, 0x67, 0x06, 0x30, 0x31, 0x7D, 0x13, 0x1E, 0x90, 0xE2, 0xCF, 0x66, +0xF2, 0xE0, 0x5F, 0x41, 0x1B, 0xE2, 0xFF, 0xB0, 0x29, 0x0E, 0x09, 0x10, 0xA2, 0xE1, 0xD7, 0xBA, +0x76, 0xEC, 0x21, 0xF1, 0x8B, 0x1D, 0x21, 0xD2, 0x49, 0xEB, 0x43, 0x01, 0x20, 0xF1, 0x80, 0x28, +0x80, 0xB6, 0x66, 0x3A, 0xB0, 0xF0, 0xE5, 0x6B, 0x45, 0xE0, 0xB6, 0x99, 0xFF, 0x2E, 0x54, 0x06, +0x73, 0x4B, 0x05, 0xD1, 0x3B, 0x21, 0xF0, 0x09, 0xF0, 0xD7, 0x34, 0x8C, 0xC6, 0x95, 0x40, 0x61, +0x61, 0xA9, 0x2D, 0x40, 0x40, 0x02, 0x45, 0x12, 0xA3, 0xFF, 0xCB, 0x1D, 0x20, 0xC6, 0x28, 0x80, +0x66, 0x62, 0xFC, 0xDB, 0xBB, 0x4E, 0x40, 0xE1, 0x9F, 0x49, 0x4E, 0xD0, 0x97, 0xB0, 0x84, 0xA2, +0xAD, 0xDF, 0x21, 0xBA, 0x26, 0x2B, 0x07, 0xC4, 0xA7, 0xBC, 0x85, 0x1B, 0x41, 0x3F, 0x7B, 0x1C, +0xA1, 0x00, 0x9A, 0x11, 0x10, 0x05, 0xD0, 0x24, 0x84, 0x80, 0x75, 0x0D, 0xF9, 0x8F, 0x12, 0x02, +0xBF, 0x17, 0xFE, 0x45, 0x01, 0x7C, 0x90, 0x7F, 0x03, 0x88, 0x99, 0x3E, 0x0C, 0x6C, 0xF8, 0x47, +0xCB, 0x45, 0x2F, 0x80, 0x89, 0x0B, 0x7F, 0x17, 0xD1, 0x03, 0xFE, 0x76, 0x51, 0x91, 0x11, 0xB0, +0x0E, 0x40, 0x4D, 0x00, 0x4B, 0xF0, 0x06, 0xFE, 0x95, 0x3C, 0xE0, 0xFA, 0xA6, 0xF9, 0xC3, 0xC8, +0xCB, 0x02, 0x06, 0x0F, 0xB8, 0xDE, 0xE5, 0x1B, 0x90, 0x1C, 0x73, 0x98, 0xAC, 0xA8, 0x0F, 0x1C, +0x9F, 0xDA, 0xA2, 0x1C, 0x70, 0xBB, 0x1D, 0x16, 0xBA, 0xDF, 0x3C, 0x0B, 0x0C, 0xE0, 0xDD, 0xAE, +0x3E, 0xB3, 0x2C, 0x30, 0x6D, 0xB8, 0x03, 0x74, 0xDE, 0xF4, 0xB0, 0x4E, 0x68, 0x55, 0x43, 0xE0, +0xED, 0x7D, 0x57, 0xE6, 0x0E, 0xFC, 0xD3, 0xD0, 0xF3, 0x64, 0x69, 0x0C, 0x86, 0x28, 0x80, 0xE1, +0xB2, 0xF9, 0xEF, 0x1E, 0x8B, 0x67, 0xCF, 0x94, 0x80, 0xB8, 0x90, 0xB0, 0xAC, 0x8C, 0x6D, 0xE6, +0x36, 0x3E, 0xD0, 0x81, 0x66, 0x42, 0x2A, 0xFA, 0x50, 0x09, 0x28, 0xCB, 0x3F, 0xD2, 0xD6, 0xBD, +0x1C, 0x2B, 0xED, 0x6C, 0xD8, 0xD9, 0x40, 0x7A, 0x7F, 0xD6, 0x3C, 0x60, 0xA7, 0x78, 0xA3, 0xA1, +0x4D, 0xF9, 0x47, 0xA5, 0xAF, 0x79, 0xBD, 0x0B, 0x01, 0x15, 0x6E, 0x16, 0x71, 0x80, 0x07, 0x76, +0xFA, 0xCD, 0x01, 0x95, 0xD9, 0x3F, 0x9C, 0x31, 0xE7, 0x6D, 0x4F, 0x6E, 0x01, 0x21, 0xCC, 0x7F, +0x43, 0x05, 0x4C, 0xE0, 0xEC, 0x53, 0xFF, 0x49, 0x58, 0xBB, 0x00, 0xFE, 0xB8, 0xCC, 0x35, 0xC3, +0x03, 0x26, 0x03, 0xE9, 0xC1, 0xBF, 0x02, 0x01, 0xED, 0x77, 0xDF, 0x0D, 0x21, 0x63, 0xC1, 0xA1, +0x9E, 0x3A, 0x1D, 0xAC, 0x25, 0x3A, 0x6B, 0xFA, 0x00, 0xFE, 0x8F, 0x7B, 0x40, 0x4D, 0x00, 0x63, +0x95, 0x7A, 0x8B, 0x8B, 0x76, 0xA0, 0x1F, 0x96, 0xAD, 0xD5, 0xFF, 0x21, 0xF6, 0xDE, 0xFB, 0xEC, +0xCD, 0xA4, 0xE0, 0xB1, 0x7E, 0x60, 0xD4, 0xDD, 0x8A, 0x23, 0xEA, 0xB1, 0x1D, 0xD6, 0x53, 0x01, +0x2C, 0xD2, 0x2A, 0x01, 0x3E, 0x51, 0x3D, 0x1C, 0x1B, 0x8F, 0xC7, 0x42, 0xB5, 0x62, 0x58, 0x02, +0xE4, 0x47, 0xE8, 0xC1, 0x4C, 0xFC, 0x28, 0x9F, 0x7B, 0xCF, 0x0A, 0xFA, 0x48, 0xDA, 0xE7, 0x7A, +0x5B, 0xB5, 0x4A, 0x1C, 0x3C, 0x5A, 0xAD, 0x8E, 0x2A, 0x5A, 0x7D, 0x28, 0x16, 0x50, 0xB4, 0x5A, +0xAF, 0xF7, 0xC7, 0x58, 0xDB, 0x50, 0x9F, 0xB1, 0x7E, 0xDF, 0xCE, 0xF6, 0xDC, 0x7E, 0xDF, 0x77, +0xB5, 0x76, 0xD4, 0xCB, 0x6D, 0xAF, 0x6A, 0x7A, 0xFE, 0xDD, 0x71, 0x51, 0xDF, 0x1E, 0x0B, 0x51, +0xAE, 0xE4, 0x98, 0x6B, 0x7E, 0xB2, 0x02, 0xE8, 0x57, 0x3C, 0xE4, 0x45, 0x5F, 0x89, 0xD1, 0x8B, +0x92, 0x67, 0x71, 0xF2, 0xE1, 0x4B, 0x2D, 0xAC, 0xE6, 0xA1, 0xED, 0x4A, 0x74, 0x81, 0x23, 0x6B, +0xDA, 0xC9, 0xFF, 0x59, 0x51, 0x78, 0x53, 0x89, 0x36, 0xAF, 0xFF, 0xEC, 0x8B, 0xD2, 0xBB, 0x9E, +0x0D, 0xD7, 0x80, 0xC5, 0xBE, 0x05, 0x06, 0xA2, 0x7D, 0x8C, 0x8F, 0x3E, 0x3C, 0x2A, 0x69, 0xB5, +0x7A, 0x64, 0x4B, 0x7C, 0xD0, 0x98, 0xF7, 0xB5, 0xFE, 0xFA, 0x33, 0x12, 0xE7, 0xCD, 0x1A, 0xF8, +0x9B, 0x02, 0xF0, 0x6F, 0xA7, 0xA0, 0xB4, 0xDB, 0xD2, 0x93, 0xB2, 0x28, 0x53, 0x9E, 0xE8, 0x61, +0xB1, 0xBC, 0x14, 0x41, 0xC5, 0x66, 0xAA, 0xBF, 0x92, 0x0B, 0xCC, 0xAB, 0x4A, 0x7F, 0xF9, 0x72, +0x10, 0x29, 0x24, 0xCF, 0x0F, 0x4E, 0x64, 0x0B, 0x48, 0x29, 0x1E, 0xED, 0x97, 0xB5, 0xAE, 0x6B, +0xD5, 0x57, 0x75, 0xFA, 0xF3, 0xEB, 0xEF, 0x5E, 0xD7, 0x74, 0x78, 0x78, 0xFC, 0x42, 0xFE, 0xB6, +0x0F, 0x59, 0x3B, 0x96, 0x97, 0x5D, 0x55, 0x75, 0x71, 0xF1, 0xEA, 0xE5, 0xAB, 0x82, 0x04, 0x57, +0x02, 0xB6, 0xA2, 0x84, 0x85, 0xF2, 0xFA, 0x9A, 0xC4, 0xDC, 0x51, 0x8D, 0x8C, 0xF4, 0xFF, 0x7D, +0xD6, 0xE4, 0x38, 0x7C, 0x5D, 0xD5, 0xCF, 0xA7, 0x7D, 0x59, 0xEB, 0xBA, 0xF6, 0x4B, 0x5A, 0x49, +0xFB, 0x30, 0xB9, 0x32, 0x85, 0x81, 0xED, 0xE3, 0x93, 0x83, 0xF3, 0x8F, 0x5A, 0x00, 0x3E, 0x09, +0x51, 0xB4, 0x80, 0xD6, 0x24, 0x76, 0x07, 0x5B, 0x35, 0x76, 0xD0, 0xC3, 0x42, 0x18, 0x06, 0xA1, +0xBB, 0x81, 0xA0, 0x44, 0xE5, 0x65, 0x1A, 0xBB, 0x21, 0xB0, 0x16, 0x1F, 0x3F, 0x78, 0x66, 0x7C, +0xA3, 0xED, 0x99, 0xAE, 0x01, 0x96, 0x08, 0x78, 0x70, 0x22, 0x19, 0xB8, 0x95, 0x5D, 0x89, 0xEC, +0x90, 0xFD, 0x70, 0x3F, 0xED, 0x57, 0xF1, 0xB7, 0x0B, 0xFF, 0x84, 0x80, 0x55, 0xFE, 0x1D, 0x3A, +0xE0, 0xE6, 0x75, 0xF8, 0xE2, 0xEA, 0x18, 0xA6, 0x2A, 0xE9, 0xA5, 0xD9, 0x48, 0xF4, 0x4A, 0x11, +0xC8, 0xF9, 0xA7, 0xF3, 0xDC, 0x3F, 0xFE, 0x2A, 0xF2, 0x4F, 0x5E, 0x5C, 0x21, 0xE0, 0x4B, 0xE1, +0xDF, 0x40, 0x40, 0xD8, 0xBC, 0x99, 0xFE, 0x45, 0xE1, 0x7F, 0xDF, 0x18, 0x79, 0xB8, 0x29, 0x13, +0xF0, 0xF4, 0xB4, 0x48, 0x40, 0xCB, 0x6E, 0x54, 0xF1, 0xB7, 0xD6, 0x4B, 0x86, 0x5E, 0x57, 0xDA, +0x59, 0x0E, 0x98, 0x86, 0xF1, 0x4F, 0xB2, 0xC0, 0x46, 0x40, 0xE6, 0x00, 0xFF, 0xF9, 0xE2, 0x9F, +0x99, 0xDE, 0x27, 0xBE, 0xCA, 0x40, 0xBC, 0x9C, 0x77, 0xCB, 0x7B, 0xC0, 0xCF, 0x86, 0x7E, 0x00, +0x5C, 0xDE, 0xC6, 0xD0, 0xEE, 0xAE, 0x85, 0x54, 0x06, 0x09, 0x79, 0xE9, 0xD2, 0x04, 0x7C, 0xF0, +0x4C, 0xDA, 0x7F, 0x2E, 0x2F, 0xF6, 0x30, 0x80, 0x52, 0x0B, 0x7D, 0x5E, 0xF4, 0x80, 0x1F, 0xCA, +0x5E, 0x4D, 0x2B, 0x71, 0xA1, 0xDA, 0xB7, 0x0F, 0xF5, 0xAA, 0xFD, 0x03, 0x02, 0x29, 0xFF, 0x4E, +0x4F, 0xCB, 0xFC, 0xDB, 0x6C, 0x06, 0xBE, 0x1D, 0xCA, 0x91, 0xB4, 0xE3, 0x17, 0x82, 0x88, 0x17, +0x62, 0x96, 0x08, 0x4A, 0xDC, 0x56, 0x99, 0x14, 0x6F, 0x9C, 0x7F, 0xA6, 0x12, 0xFF, 0x74, 0x45, +0xB0, 0xE8, 0x01, 0x2F, 0x4C, 0x70, 0x79, 0xB1, 0xC7, 0x49, 0xFF, 0xBF, 0x94, 0x6E, 0xF6, 0xFF, +0xEF, 0xA7, 0xF8, 0x0E, 0xC8, 0x21, 0xFC, 0x2B, 0x7A, 0x40, 0x7D, 0xFF, 0x7F, 0xAE, 0x13, 0xB0, +0xDF, 0xC5, 0xFE, 0xAD, 0xB8, 0x84, 0x7F, 0xBA, 0x0A, 0x58, 0xE4, 0xDF, 0xB9, 0xDC, 0xDE, 0x52, +0xD6, 0x77, 0x00, 0x40, 0x62, 0x00, 0x13, 0x3C, 0x1A, 0xFD, 0x1C, 0x7F, 0x4B, 0x3B, 0x40, 0x44, +0x5D, 0x8F, 0x1D, 0x75, 0x59, 0xBB, 0x0F, 0xEC, 0x1B, 0x09, 0xC8, 0x19, 0x28, 0xAF, 0x11, 0x3D, +0x5E, 0xD8, 0x03, 0x4A, 0x21, 0xA0, 0xDE, 0x2D, 0x66, 0x98, 0x05, 0x67, 0xBD, 0xC5, 0x33, 0xDB, +0x0B, 0x72, 0x7E, 0xFE, 0x39, 0x25, 0xE0, 0xC1, 0xE7, 0x1F, 0x8A, 0xF4, 0x6E, 0x07, 0x25, 0x00, +0x96, 0x67, 0xC1, 0x7A, 0x83, 0xFC, 0x7E, 0x55, 0xE5, 0x9F, 0x11, 0xF0, 0xBB, 0x02, 0xFF, 0x36, +0x16, 0x2F, 0xE0, 0x73, 0x92, 0x5E, 0xD8, 0xF7, 0x42, 0x60, 0x01, 0x7A, 0x04, 0x61, 0xB1, 0xCD, +0xA4, 0xB3, 0x60, 0xCA, 0x3F, 0x4F, 0x75, 0xD4, 0xFC, 0x9F, 0xBD, 0xB8, 0x40, 0xC0, 0x4B, 0xCF, +0xF1, 0x26, 0x02, 0x03, 0x95, 0xE9, 0x06, 0x40, 0xFB, 0xBF, 0xC4, 0x09, 0x63, 0xF4, 0xF6, 0x46, +0x1D, 0x16, 0x96, 0x01, 0xBF, 0x13, 0xFF, 0x57, 0x26, 0xE0, 0xCA, 0x62, 0x97, 0xE9, 0x6F, 0x91, +0x7F, 0x20, 0x20, 0xE3, 0xDF, 0x07, 0x5B, 0x10, 0x90, 0xAC, 0x01, 0x9A, 0x65, 0x8B, 0xBD, 0x09, +0xFE, 0x6F, 0xC4, 0xA1, 0x8C, 0x59, 0xB7, 0xBB, 0xB8, 0xFF, 0xAB, 0xCF, 0x82, 0xAD, 0x7B, 0x7C, +0x0F, 0x38, 0x58, 0x34, 0x80, 0xF0, 0x80, 0xCB, 0x00, 0x50, 0xF9, 0x27, 0xF8, 0x93, 0xB6, 0x47, +0x1C, 0xE0, 0xC8, 0x3F, 0x21, 0xE0, 0x07, 0x07, 0x7C, 0xFD, 0xCF, 0x00, 0x28, 0xD7, 0x20, 0x27, +0xE0, 0xFE, 0xA8, 0x12, 0xFF, 0x84, 0x80, 0x72, 0x54, 0xF9, 0x57, 0xF2, 0x80, 0x1B, 0x35, 0x80, +0xDA, 0xC6, 0x3F, 0x71, 0x89, 0xAC, 0x57, 0x50, 0xC8, 0x71, 0x0C, 0x80, 0xC4, 0x06, 0xFF, 0x67, +0x12, 0xBE, 0x15, 0xF8, 0xE7, 0x04, 0xFC, 0x6A, 0x2E, 0x94, 0x7F, 0x2F, 0x41, 0x40, 0x3E, 0xFF, +0x05, 0x01, 0xBD, 0x6B, 0x9B, 0xCB, 0xFE, 0xB7, 0x5A, 0x04, 0x9A, 0x1D, 0x8C, 0x6F, 0x82, 0x7F, +0x56, 0x14, 0x3C, 0xE0, 0xA9, 0xAB, 0x04, 0x40, 0x8B, 0x0A, 0x00, 0x57, 0x12, 0xA2, 0x22, 0xFF, +0x8C, 0x80, 0x07, 0x04, 0x80, 0xC6, 0xBF, 0x96, 0x80, 0xEF, 0x05, 0xFF, 0x07, 0x87, 0xA7, 0xB0, +0x8B, 0x3D, 0x78, 0x17, 0x27, 0xCC, 0xDE, 0xD2, 0x91, 0x03, 0xB4, 0x6A, 0x01, 0xEB, 0x1E, 0xD0, +0xE1, 0xE6, 0xA4, 0x0B, 0xE3, 0x3B, 0xE7, 0xDE, 0x8E, 0x16, 0xD0, 0xCF, 0x75, 0x31, 0x00, 0x7E, +0xAC, 0xF3, 0x5F, 0x01, 0xA0, 0xF4, 0x39, 0xFE, 0xCC, 0xFF, 0xE1, 0x8E, 0x58, 0x42, 0xC0, 0x79, +0x03, 0x28, 0x17, 0x5F, 0x95, 0x80, 0x58, 0xB3, 0x2E, 0x4C, 0x80, 0x3D, 0xA8, 0x8C, 0x7F, 0x26, +0x66, 0x01, 0x15, 0x7F, 0x63, 0x1C, 0xAB, 0x5E, 0x78, 0x17, 0xFB, 0x17, 0xEE, 0x95, 0x9C, 0x26, +0xB9, 0x80, 0x9F, 0x4B, 0xCE, 0x3F, 0x10, 0x90, 0xFB, 0x3F, 0x78, 0x40, 0xE2, 0xFF, 0x20, 0x87, +0x75, 0x66, 0x56, 0x07, 0xAC, 0x6B, 0x27, 0xD2, 0xC9, 0xEE, 0xA1, 0x9D, 0x55, 0xED, 0xFB, 0xE1, +0xFE, 0x4F, 0xA3, 0xCC, 0x3F, 0xEE, 0x01, 0xF1, 0x6B, 0xAD, 0xF9, 0x3F, 0xA5, 0xE0, 0x3E, 0xE5, +0x1F, 0x2E, 0x41, 0xCB, 0x78, 0xE4, 0x61, 0xFC, 0x03, 0x01, 0xD9, 0x1A, 0xA0, 0x9D, 0xA6, 0xFB, +0x7F, 0xA4, 0x0F, 0x82, 0xD7, 0xFB, 0x27, 0x19, 0xBD, 0x91, 0x88, 0xFF, 0x83, 0xC2, 0x7A, 0x5F, +0x8B, 0x3F, 0x3C, 0xF5, 0xF8, 0xCE, 0x59, 0x58, 0x5E, 0x04, 0xDC, 0x0D, 0x81, 0x84, 0x7F, 0xB6, +0x02, 0xF8, 0xC0, 0x67, 0xC1, 0xD9, 0x04, 0x58, 0xF9, 0xF7, 0x81, 0xF1, 0x0F, 0x1E, 0x90, 0xF8, +0xBF, 0x1A, 0x01, 0x6D, 0x4D, 0x5B, 0xC2, 0x2E, 0x6C, 0xE6, 0xFF, 0x10, 0xD4, 0xFF, 0x49, 0x1B, +0x55, 0xF4, 0x7F, 0x7A, 0xB8, 0x05, 0xF4, 0x93, 0xC0, 0x00, 0x43, 0xF3, 0x7F, 0xF0, 0x80, 0x17, +0xD9, 0xE2, 0xDA, 0x05, 0xF8, 0x47, 0x3D, 0xA0, 0xF1, 0x0F, 0x62, 0xFC, 0x2B, 0x12, 0xF0, 0x25, +0xF8, 0x47, 0xD6, 0x01, 0x45, 0xE0, 0x9F, 0x0C, 0x30, 0xD9, 0xD5, 0x70, 0x13, 0xA8, 0x9D, 0x35, +0xBC, 0x53, 0x87, 0xDF, 0x51, 0xFE, 0x41, 0x0C, 0x80, 0x08, 0xEE, 0xFF, 0x46, 0x08, 0x92, 0x8B, +0x6A, 0x75, 0xA4, 0x97, 0x20, 0x08, 0x38, 0xE7, 0xFF, 0xB6, 0xCA, 0x3F, 0xD3, 0xF6, 0x40, 0x2E, +0xF3, 0xA9, 0x2C, 0x30, 0xDC, 0x9C, 0x2A, 0x71, 0x81, 0x50, 0x7C, 0x79, 0x3E, 0x6A, 0x49, 0xF8, +0x64, 0x97, 0xA8, 0x7B, 0x40, 0xC7, 0x1D, 0x38, 0x08, 0xFC, 0x89, 0xB4, 0xBF, 0xFB, 0x29, 0x30, +0x3C, 0x20, 0x8F, 0xE1, 0xB5, 0x55, 0xCD, 0xF2, 0x4F, 0xB8, 0x37, 0x22, 0x50, 0xDA, 0xB3, 0xD4, +0x01, 0x82, 0x7F, 0x26, 0x4B, 0x05, 0x33, 0xFE, 0x99, 0x64, 0xBC, 0xBF, 0x3F, 0xCF, 0x3F, 0x7C, +0xAC, 0x13, 0xFF, 0x57, 0x07, 0x60, 0x23, 0x29, 0x48, 0x4B, 0xF5, 0x9D, 0xFB, 0x3F, 0x6D, 0x46, +0x40, 0xB7, 0x3B, 0x80, 0x81, 0x8E, 0xE1, 0xFF, 0xFC, 0xC8, 0x72, 0xC1, 0xD6, 0x35, 0xBA, 0x2C, +0xF0, 0x0F, 0x1E, 0x30, 0x9B, 0xFE, 0xFE, 0x81, 0xDA, 0x68, 0x4A, 0x40, 0xE7, 0x9F, 0xAB, 0x49, +0x79, 0xA0, 0xD7, 0x03, 0x48, 0x7F, 0xA1, 0x30, 0x54, 0x59, 0xB6, 0x03, 0xF2, 0x0A, 0x19, 0xF3, +0x7F, 0x40, 0xE0, 0x86, 0xF1, 0xAF, 0xE6, 0x01, 0x6D, 0xC7, 0x1B, 0x82, 0xE0, 0xCF, 0xD8, 0x37, +0x62, 0x90, 0xFB, 0xBF, 0x8A, 0x07, 0x3C, 0x51, 0xFF, 0x87, 0xEF, 0x03, 0x31, 0x02, 0x66, 0x0E, +0x70, 0xCC, 0xF7, 0x6A, 0x8B, 0x6B, 0x80, 0x38, 0xFD, 0x83, 0x87, 0xDA, 0x35, 0x0B, 0x82, 0x61, +0xE4, 0xD3, 0xE0, 0x9D, 0xC5, 0xFD, 0x1F, 0xD4, 0xBA, 0x3F, 0x1F, 0xE2, 0x59, 0x3B, 0xBF, 0x3B, +0x1E, 0xF0, 0xE1, 0x62, 0xB9, 0xE0, 0x1F, 0x05, 0x7D, 0x1A, 0x3F, 0x4A, 0x67, 0x04, 0x9C, 0x86, +0x1F, 0xF8, 0x07, 0x6D, 0x53, 0xFE, 0x8D, 0xF3, 0x5F, 0x28, 0x4F, 0x05, 0x8F, 0x57, 0xF4, 0xBF, +0xD4, 0x9D, 0x3D, 0x6F, 0x24, 0x45, 0x10, 0x86, 0x2D, 0x3E, 0x24, 0x4B, 0xAB, 0x23, 0x3B, 0x21, +0x91, 0x23, 0x27, 0x90, 0x5B, 0x72, 0x84, 0x2E, 0x82, 0x00, 0x52, 0x5B, 0x6B, 0x09, 0xC9, 0x84, +0x17, 0xA2, 0x95, 0x90, 0x33, 0x92, 0xFB, 0x0D, 0xBE, 0xC0, 0x3F, 0x80, 0x90, 0x84, 0xDF, 0x47, +0x57, 0xF5, 0x94, 0x1F, 0x97, 0x6B, 0x6B, 0xAA, 0x76, 0xCF, 0x12, 0x4B, 0xF5, 0x74, 0x4F, 0xCF, +0x79, 0xEF, 0x84, 0x97, 0xD9, 0x67, 0xDE, 0xFA, 0xE8, 0xDE, 0xDB, 0x8D, 0x3D, 0xD6, 0x2B, 0xFE, +0xD1, 0x36, 0xAB, 0x02, 0x70, 0xB4, 0x0F, 0x26, 0x01, 0xD7, 0xCA, 0x01, 0x17, 0x87, 0xCE, 0x28, +0xE8, 0xE3, 0x80, 0x44, 0xBE, 0xD0, 0x7F, 0x51, 0x03, 0x62, 0x90, 0x65, 0x1A, 0x04, 0x7C, 0x5F, +0x24, 0x80, 0xB1, 0x32, 0x01, 0x5C, 0x6B, 0x40, 0xF4, 0x1F, 0xB6, 0x56, 0x00, 0x88, 0x02, 0xFC, +0xCD, 0x34, 0xA0, 0x89, 0xDF, 0xE7, 0xEF, 0x05, 0xEF, 0xD4, 0x32, 0x29, 0xF9, 0x07, 0x01, 0xD7, +0x00, 0x88, 0xB0, 0xAF, 0x08, 0x28, 0x4F, 0x49, 0xB9, 0x57, 0xF4, 0x76, 0xD9, 0xAC, 0xDD, 0x54, +0x53, 0xFF, 0x61, 0xE3, 0xA6, 0xCC, 0x12, 0x20, 0xA2, 0xFF, 0x22, 0x01, 0xCF, 0xCA, 0x04, 0x70, +0x86, 0x3F, 0x0C, 0x64, 0x1A, 0xEE, 0x14, 0x88, 0x7E, 0x86, 0x08, 0x7C, 0xDD, 0x38, 0x60, 0x4C, +0x06, 0xEF, 0xF7, 0x81, 0x4D, 0xFD, 0x9D, 0x88, 0x04, 0x6C, 0x69, 0xC0, 0xD7, 0x8B, 0x03, 0xEA, +0x77, 0x85, 0x98, 0x02, 0x54, 0x7B, 0x93, 0x38, 0xC1, 0xC6, 0x3F, 0x2C, 0x2D, 0x07, 0x0C, 0xFC, +0xFB, 0x3A, 0x25, 0xA0, 0x3C, 0xCB, 0xED, 0xB8, 0x9D, 0x8F, 0xF5, 0x82, 0x7F, 0xB4, 0x8B, 0x3A, +0x01, 0x82, 0x15, 0x09, 0x60, 0x3B, 0x64, 0x40, 0xF4, 0x68, 0x19, 0x88, 0xCE, 0x49, 0x00, 0xBB, +0x9E, 0xE4, 0x14, 0xE0, 0x5F, 0xE1, 0x05, 0x0F, 0x7E, 0x79, 0xA2, 0xC9, 0x51, 0xF8, 0xBF, 0x58, +0x5A, 0x0E, 0x08, 0xFF, 0xB0, 0xBD, 0x39, 0x1B, 0x0B, 0x00, 0x3E, 0x0D, 0x3A, 0x92, 0x09, 0x21, +0x04, 0x88, 0xFF, 0xCB, 0xB0, 0x42, 0x40, 0xDE, 0x7F, 0x24, 0x60, 0xA1, 0xFF, 0x68, 0x85, 0x00, +0x1C, 0x83, 0x9E, 0x2F, 0x46, 0xAF, 0xF9, 0x07, 0x01, 0x13, 0x00, 0xC2, 0x3F, 0x47, 0xC0, 0xB3, +0x18, 0xFB, 0x1B, 0x1D, 0x4C, 0x65, 0x44, 0xFC, 0x07, 0xF0, 0x45, 0x10, 0x46, 0x17, 0x18, 0x44, +0x1E, 0x6E, 0xB5, 0x00, 0xC4, 0xBC, 0x03, 0xCC, 0x04, 0xFC, 0xE9, 0x85, 0x7A, 0xCB, 0xFF, 0xA9, +0x81, 0xBF, 0xD7, 0xAD, 0x07, 0x4C, 0xF0, 0x27, 0x09, 0x60, 0xDD, 0x0C, 0x46, 0x64, 0x20, 0x1A, +0x30, 0x2A, 0x40, 0xF8, 0x87, 0xFD, 0xB2, 0x57, 0x03, 0x4A, 0x01, 0x60, 0xB0, 0xAF, 0x93, 0xC7, +0xF5, 0xBC, 0x8F, 0x6F, 0xF5, 0x9E, 0xB6, 0xBB, 0xBB, 0xE2, 0x1F, 0xAD, 0xE2, 0x1F, 0x1C, 0xFC, +0xAB, 0xE4, 0x9F, 0x0E, 0x73, 0xE2, 0x24, 0x20, 0x21, 0xC1, 0xC7, 0x00, 0xC0, 0x20, 0x01, 0x0D, +0x33, 0xD1, 0x64, 0xF1, 0x5A, 0x47, 0xFF, 0x19, 0x01, 0xF7, 0x78, 0xC0, 0xE8, 0x3F, 0x4C, 0x19, +0x1A, 0x04, 0xA0, 0xF0, 0x2F, 0x58, 0xA6, 0xFF, 0x08, 0xFF, 0xE9, 0x59, 0x06, 0xA1, 0x9E, 0x8F, +0x00, 0xEA, 0xE3, 0xE0, 0xB9, 0x03, 0xBC, 0x9C, 0x4B, 0xFE, 0x41, 0xC0, 0x4A, 0xFF, 0xD5, 0x04, +0xDC, 0xC8, 0x9D, 0x62, 0x0E, 0x83, 0xF4, 0xF4, 0xA6, 0xBA, 0xC4, 0x01, 0xCE, 0x35, 0x20, 0xFA, +0x2F, 0x12, 0xD0, 0x29, 0xC0, 0xC8, 0x31, 0x5C, 0x5C, 0x46, 0xFC, 0xDA, 0x31, 0x45, 0x1E, 0xF2, +0xC2, 0xE0, 0xFD, 0x06, 0x7E, 0xEA, 0xCB, 0xFA, 0x0A, 0x70, 0xD8, 0xB1, 0xA9, 0x60, 0x70, 0x38, +0xC9, 0x67, 0xC7, 0x29, 0xA8, 0xC0, 0x76, 0x2A, 0x58, 0xCA, 0x01, 0x3F, 0x25, 0x0C, 0x28, 0x7F, +0x36, 0x13, 0xC0, 0x3F, 0x5D, 0xDB, 0xAE, 0x58, 0x4B, 0x41, 0x74, 0x88, 0x04, 0x5A, 0x01, 0x8C, +0x37, 0x0A, 0xA2, 0xFD, 0x02, 0x10, 0xAC, 0x48, 0x84, 0xCC, 0xA7, 0xF8, 0xD4, 0x7F, 0xD2, 0x37, +0xCA, 0xC3, 0x8A, 0x7F, 0xB4, 0x3A, 0xFE, 0x87, 0x55, 0xFC, 0x53, 0xFC, 0x41, 0xC0, 0x25, 0x1F, +0x4A, 0x32, 0x74, 0x61, 0x05, 0x7D, 0xFC, 0x04, 0xE6, 0x85, 0x02, 0xE8, 0x60, 0xB5, 0xFF, 0x0B, +0x01, 0x6B, 0x01, 0x88, 0x06, 0x4C, 0x0A, 0x60, 0x72, 0x02, 0x12, 0xFF, 0xA3, 0x00, 0x46, 0x4F, +0x72, 0xD6, 0x89, 0x2D, 0xF9, 0x9B, 0x66, 0x25, 0x30, 0x08, 0xE5, 0x67, 0x0F, 0x8D, 0xC2, 0x01, +0xAE, 0x09, 0xB8, 0xB1, 0x56, 0xA5, 0x82, 0x9F, 0x72, 0x65, 0x3B, 0x39, 0x4B, 0x57, 0xAB, 0x02, +0x80, 0xD8, 0x7E, 0xFF, 0xF7, 0x8B, 0x60, 0x5B, 0x25, 0xE0, 0x59, 0xD0, 0x7F, 0xD2, 0xA3, 0xA4, +0xC3, 0x87, 0x0D, 0xE6, 0xFD, 0x5D, 0x8C, 0x6B, 0x40, 0x7A, 0x44, 0x39, 0xA0, 0x20, 0xB0, 0xA9, +0xFF, 0x90, 0x80, 0x5E, 0x09, 0x9A, 0xFA, 0x03, 0x82, 0xDF, 0x9C, 0x00, 0x02, 0x6B, 0xF6, 0x71, +0xF5, 0x69, 0x00, 0x54, 0xDC, 0x19, 0xF8, 0xA4, 0xCD, 0x4C, 0x08, 0xAA, 0xCF, 0x46, 0xF8, 0x17, +0x08, 0xF8, 0x72, 0x85, 0xA5, 0x25, 0x40, 0x02, 0x01, 0xB9, 0x59, 0x3D, 0x00, 0xED, 0xA9, 0x2E, +0x5D, 0xE7, 0x63, 0x01, 0x7C, 0xC1, 0x3F, 0x5A, 0xA1, 0xFF, 0x3E, 0xEC, 0xD6, 0x01, 0x88, 0xE3, +0x4B, 0x10, 0x50, 0x26, 0x2A, 0x78, 0xF8, 0xE8, 0x67, 0xFA, 0x4F, 0x44, 0x93, 0x4F, 0x84, 0x68, +0x4F, 0x0C, 0xB5, 0x96, 0xF0, 0xEF, 0x8F, 0x35, 0x02, 0xCE, 0xCD, 0xB1, 0xA2, 0x45, 0x09, 0x28, +0xFC, 0xCB, 0x09, 0xE8, 0x46, 0xF4, 0x9F, 0x74, 0x48, 0xE8, 0x17, 0xFF, 0x4E, 0xF3, 0x2A, 0xF9, +0xE9, 0x28, 0xF9, 0x07, 0x01, 0x2B, 0x00, 0xD2, 0x12, 0xFD, 0x87, 0x09, 0x05, 0x17, 0x11, 0xD8, +0xE4, 0x1F, 0x05, 0xD1, 0xBE, 0x00, 0xDA, 0x1B, 0xC5, 0x30, 0x67, 0x28, 0x31, 0x2C, 0x48, 0x3D, +0x23, 0x1F, 0x35, 0x7D, 0x0A, 0x33, 0x5E, 0x06, 0xFA, 0x34, 0x75, 0x02, 0x3E, 0x3D, 0x0F, 0x7D, +0x2A, 0xA4, 0xAB, 0x00, 0x47, 0x3F, 0x3E, 0x0A, 0x08, 0xF4, 0x16, 0x06, 0xFE, 0xAF, 0x52, 0xC1, +0x7C, 0xE1, 0xE5, 0xA7, 0x78, 0xC1, 0x5A, 0xFE, 0x6C, 0xE4, 0x53, 0x10, 0x2E, 0xA7, 0xA4, 0x00, +0x3A, 0x58, 0x5C, 0x12, 0x02, 0xFF, 0x1A, 0x1A, 0x90, 0x02, 0x98, 0x9D, 0x76, 0xCA, 0x61, 0x2A, +0xFE, 0xD1, 0x6A, 0xFD, 0x97, 0x67, 0x42, 0xEC, 0xF3, 0x8C, 0xFE, 0x43, 0x02, 0x92, 0xFA, 0x54, +0x1B, 0xAC, 0x83, 0x7D, 0x2E, 0x6D, 0x1A, 0xDC, 0xE0, 0xD4, 0x08, 0x03, 0x92, 0x00, 0xF6, 0xB6, +0x50, 0x2E, 0xA4, 0x82, 0x29, 0x80, 0x6E, 0x10, 0xF0, 0xD7, 0xD4, 0x82, 0x03, 0xEC, 0x93, 0xDA, +0xB0, 0x70, 0x10, 0x10, 0xF5, 0xF7, 0x1B, 0xFA, 0x6F, 0x69, 0xC3, 0x40, 0x60, 0xB2, 0x00, 0xA4, +0x47, 0xC0, 0xCD, 0xA6, 0x4B, 0xC0, 0x89, 0x3D, 0x81, 0x9E, 0x9C, 0x14, 0x7F, 0x8B, 0x08, 0xAC, +0xF9, 0x07, 0x01, 0xE3, 0x02, 0x90, 0x8C, 0x80, 0x31, 0x06, 0xE8, 0xA7, 0xA6, 0xD9, 0xDC, 0x32, +0xE0, 0x19, 0x03, 0x44, 0xD0, 0xA1, 0x14, 0x81, 0x1D, 0xBC, 0x0C, 0xEB, 0x40, 0xA6, 0x5C, 0xEC, +0x2B, 0x40, 0x1D, 0x2B, 0xFD, 0x87, 0x9D, 0x73, 0xB8, 0xB6, 0xE4, 0x81, 0xFF, 0x0F, 0xA9, 0xE0, +0x17, 0x3F, 0x39, 0x3F, 0x2E, 0x0C, 0x48, 0x00, 0x10, 0xFC, 0xE9, 0x84, 0xD1, 0xBB, 0xBF, 0xF0, +0x0F, 0xA3, 0x1C, 0xF0, 0x87, 0xC0, 0xBF, 0x26, 0x01, 0xD9, 0xB6, 0x83, 0xF3, 0x12, 0x0F, 0x8C, +0x05, 0x80, 0x59, 0x8B, 0xFA, 0x6F, 0xE7, 0x3F, 0x75, 0x58, 0xD0, 0x7F, 0xC4, 0xB4, 0x3C, 0x02, +0x49, 0x05, 0x5F, 0x59, 0x22, 0xF4, 0x11, 0x05, 0x18, 0xBC, 0x60, 0x92, 0x0B, 0xF0, 0xAF, 0x41, +0xC0, 0xDF, 0xF7, 0xE1, 0xCF, 0x4E, 0x0D, 0xFF, 0x17, 0x02, 0x16, 0x09, 0x60, 0xCC, 0xA7, 0x41, +0x54, 0xC1, 0x7A, 0x9E, 0x93, 0x0F, 0x9E, 0x21, 0x40, 0x39, 0xA9, 0xBD, 0x8C, 0x12, 0x30, 0xFF, +0xAE, 0xD4, 0x7F, 0xD8, 0x9E, 0xF5, 0xBF, 0x5D, 0x02, 0x5A, 0xB9, 0x94, 0xBF, 0x6B, 0x14, 0x85, +0x2D, 0xFE, 0xC5, 0x25, 0x21, 0x8E, 0x7F, 0x81, 0x80, 0xB6, 0x12, 0x04, 0x88, 0xC1, 0x27, 0x5D, +0xEA, 0x06, 0xC4, 0x12, 0x48, 0x66, 0x01, 0x3F, 0xE6, 0x2E, 0x41, 0xCC, 0xD8, 0xD4, 0x80, 0xBC, +0xAA, 0xAD, 0x01, 0x5D, 0x02, 0x18, 0xE1, 0xC7, 0x71, 0x32, 0x0B, 0x83, 0x3B, 0x29, 0x90, 0x4F, +0x4D, 0x05, 0x4F, 0xFC, 0xE1, 0x01, 0xCB, 0x44, 0x0F, 0x5F, 0x10, 0xCD, 0x02, 0x90, 0x94, 0x80, +0xD4, 0xBF, 0x18, 0xFF, 0x32, 0x2F, 0xD8, 0xE1, 0x4F, 0xF5, 0x9F, 0x3E, 0xD5, 0xE7, 0xFD, 0x6C, +0x81, 0xED, 0x98, 0x0B, 0xDE, 0xF4, 0x01, 0x08, 0xF1, 0xA2, 0x79, 0x09, 0xE8, 0xB5, 0x9F, 0xCE, +0x68, 0x7E, 0x21, 0xAC, 0xA0, 0x62, 0x01, 0x04, 0x7D, 0x41, 0x60, 0xAD, 0xFF, 0xB0, 0x4A, 0xFF, +0x41, 0xC2, 0xE8, 0x00, 0x43, 0x48, 0x2C, 0x16, 0xC3, 0xC0, 0xBF, 0x86, 0x06, 0xE4, 0xB7, 0x89, +0x9D, 0xDF, 0x1E, 0xFD, 0x07, 0x05, 0xB9, 0x18, 0x47, 0xE4, 0x5F, 0x4F, 0x03, 0x2A, 0xE8, 0x7A, +0x04, 0x34, 0xE2, 0x6D, 0xB8, 0x53, 0xA4, 0xDB, 0x55, 0xC1, 0xBF, 0x58, 0x0E, 0x48, 0x01, 0x60, +0x46, 0xC0, 0xB3, 0x90, 0x9E, 0xD0, 0x93, 0xA3, 0x16, 0x1A, 0xCF, 0x86, 0x88, 0x41, 0x23, 0x27, +0xB4, 0x94, 0x09, 0x85, 0x2F, 0xBC, 0xC0, 0x43, 0xB4, 0xAD, 0x00, 0x7B, 0xFC, 0xB3, 0xAD, 0x61, +0x68, 0x21, 0xFD, 0x61, 0xA7, 0x53, 0x58, 0x12, 0xD2, 0xAE, 0x85, 0x39, 0x5A, 0x03, 0x5E, 0xA3, +0xFD, 0x64, 0xD4, 0x42, 0x40, 0x1D, 0x96, 0x38, 0x20, 0x3B, 0xC3, 0xC0, 0xBF, 0x84, 0x80, 0x06, +0x40, 0xF8, 0xD7, 0xD2, 0x80, 0x83, 0x73, 0x3C, 0xCB, 0xEF, 0x66, 0x71, 0x97, 0x1A, 0x61, 0xC0, +0x82, 0x7F, 0x94, 0x03, 0xC6, 0x00, 0x20, 0x51, 0xC0, 0x8C, 0x80, 0x3F, 0xE3, 0xD3, 0xB9, 0xB8, +0xD6, 0x9C, 0x11, 0x00, 0x93, 0xE1, 0xF1, 0x2A, 0x28, 0x40, 0xC2, 0x67, 0x69, 0x01, 0x74, 0x52, +0x0C, 0x53, 0xF1, 0xEF, 0xFD, 0xCB, 0x65, 0xC1, 0x7F, 0x07, 0xF0, 0x65, 0x04, 0x44, 0xFF, 0x95, +0x71, 0xC0, 0x44, 0xD2, 0xD2, 0x9F, 0x3F, 0x00, 0x78, 0x67, 0x10, 0xCB, 0x5C, 0xFC, 0x5C, 0xF2, +0x0F, 0x8B, 0xF1, 0xBF, 0x16, 0x01, 0x95, 0x76, 0x7A, 0x10, 0x29, 0xD1, 0x3E, 0x29, 0x18, 0x17, +0x80, 0xE4, 0x04, 0x5C, 0x4B, 0x00, 0x63, 0xDB, 0x19, 0x03, 0xCC, 0xF2, 0x1A, 0x00, 0x0D, 0x62, +0xC1, 0x46, 0xA2, 0x7D, 0x2E, 0x13, 0xEC, 0x5E, 0xEA, 0xAA, 0x60, 0x10, 0x98, 0x50, 0xB1, 0xA3, +0x00, 0x8F, 0x2B, 0x07, 0x9C, 0x04, 0x4C, 0x8E, 0xD3, 0x49, 0x06, 0x57, 0x25, 0x30, 0x4C, 0x47, +0xEB, 0x9A, 0x5F, 0x00, 0x6C, 0x10, 0x94, 0x8E, 0x02, 0x54, 0x0D, 0xF8, 0xC6, 0xBC, 0xE0, 0x50, +0x00, 0x18, 0x8B, 0x61, 0x84, 0x7D, 0xAA, 0xFF, 0xAC, 0x00, 0x30, 0xBB, 0xFB, 0x54, 0x03, 0xC2, +0xBF, 0x0B, 0xF5, 0x61, 0x70, 0x80, 0x4D, 0x0F, 0xAA, 0x22, 0x2C, 0xF8, 0x47, 0x93, 0x23, 0xF0, +0x2F, 0x33, 0xB7, 0x00, 0xE4, 0x99, 0x4B, 0xC7, 0x54, 0x4C, 0xAF, 0x91, 0x80, 0xCA, 0x03, 0xCB, +0x90, 0xD2, 0x43, 0x35, 0x20, 0xFC, 0xCB, 0x09, 0x58, 0xF1, 0x0F, 0x0A, 0xC6, 0x02, 0xE8, 0x9A, +0x80, 0x83, 0x7F, 0x8F, 0x05, 0x00, 0x0D, 0xD4, 0x85, 0x00, 0x7C, 0x7C, 0xA4, 0x06, 0x1C, 0xFD, +0xE7, 0x2B, 0x61, 0x78, 0xE3, 0x1A, 0xFC, 0x43, 0x03, 0x12, 0xFF, 0x6B, 0x13, 0xF0, 0x49, 0xFE, +0x59, 0xDD, 0x3C, 0x61, 0x63, 0x45, 0x60, 0xE4, 0x5F, 0xAD, 0x01, 0x95, 0x7F, 0xB9, 0x9D, 0xF9, +0xFD, 0x0F, 0x88, 0xD6, 0x41, 0x2B, 0x7E, 0x06, 0x19, 0xE7, 0x10, 0x53, 0xBF, 0xC0, 0x0D, 0x77, +0x3A, 0x81, 0x6B, 0xDB, 0x80, 0x60, 0x1D, 0xFF, 0x23, 0x0E, 0x98, 0x11, 0x90, 0xA2, 0xC0, 0x6F, +0x4E, 0x81, 0x80, 0xD7, 0x3D, 0x01, 0x28, 0xFD, 0x08, 0x0D, 0xA8, 0x09, 0xE0, 0x37, 0x28, 0xC0, +0x85, 0x81, 0xF3, 0x4F, 0x28, 0x07, 0x74, 0xFC, 0xAB, 0x35, 0x20, 0xFC, 0x2B, 0xBC, 0x60, 0xAF, +0xFF, 0x4C, 0xFC, 0xC9, 0x68, 0x20, 0x1C, 0xB3, 0xB5, 0xF8, 0x1F, 0x4D, 0xE8, 0xB8, 0xCE, 0xBF, +0x5D, 0xF0, 0x82, 0xC9, 0xFF, 0x5A, 0x77, 0x53, 0x6B, 0x26, 0x7F, 0x48, 0xF9, 0x46, 0xFE, 0xB1, +0x24, 0xA4, 0xE0, 0x1F, 0x4B, 0x42, 0x48, 0x00, 0x77, 0x09, 0xC8, 0x57, 0xA4, 0x17, 0x04, 0xA4, +0x00, 0x30, 0xB7, 0x58, 0x00, 0x98, 0x05, 0x37, 0x7F, 0x7B, 0x0A, 0x03, 0x3C, 0x3C, 0xC7, 0x1F, +0xD1, 0x02, 0x2E, 0xE0, 0x5F, 0x1B, 0x80, 0x14, 0x00, 0xD6, 0x04, 0x9C, 0xDC, 0xBB, 0x33, 0xFF, +0x60, 0x47, 0x20, 0xD0, 0xA0, 0x98, 0x16, 0x40, 0x67, 0xE5, 0x80, 0xF0, 0x2F, 0x03, 0xA0, 0x87, +0x13, 0x42, 0x0E, 0x2D, 0x87, 0xEA, 0xB3, 0x98, 0x20, 0x2A, 0x10, 0x3C, 0xB2, 0x6A, 0xCE, 0x59, +0x5C, 0x33, 0xA7, 0xD6, 0xD7, 0x80, 0x96, 0x03, 0xD1, 0xA1, 0x6F, 0xE7, 0x24, 0x83, 0x1D, 0xFF, +0x98, 0x9D, 0x88, 0x02, 0xC4, 0x0D, 0x4E, 0xC9, 0x47, 0x28, 0xF0, 0x00, 0x63, 0x01, 0xF0, 0x1B, +0x9F, 0xF9, 0x20, 0x17, 0x22, 0x74, 0x34, 0x02, 0xAE, 0xF3, 0x8F, 0x82, 0x68, 0xBD, 0xAF, 0xBE, +0x2C, 0x8C, 0x25, 0x21, 0xB6, 0xA1, 0x87, 0x1C, 0x73, 0xB8, 0xBD, 0xB3, 0x00, 0x8F, 0x98, 0xF0, +0x11, 0xFD, 0x57, 0x36, 0xF8, 0x57, 0xD9, 0x87, 0xB8, 0x03, 0x0C, 0x08, 0x74, 0xED, 0x61, 0x91, +0x3F, 0xD4, 0xCA, 0x79, 0x44, 0x38, 0x18, 0xC2, 0xBF, 0x9A, 0x80, 0x2D, 0xFE, 0x59, 0x2A, 0xB8, +0xD0, 0x7F, 0x94, 0x03, 0x52, 0x00, 0x58, 0xD8, 0x9E, 0x00, 0x20, 0x53, 0xBA, 0x0C, 0xE8, 0x3F, +0xFA, 0x1C, 0x39, 0xE6, 0x99, 0x02, 0xE8, 0x92, 0x80, 0xE8, 0xBF, 0xB2, 0xA1, 0xFF, 0xD4, 0x03, +0x26, 0x5E, 0x2C, 0x34, 0x94, 0x4E, 0xF9, 0x68, 0x8B, 0x7F, 0x2C, 0x09, 0xA1, 0x00, 0xA6, 0x52, +0x80, 0x38, 0xB3, 0xE8, 0x37, 0xA0, 0xE5, 0xCA, 0x60, 0xF6, 0x95, 0xB8, 0xF8, 0x35, 0x73, 0xE0, +0x74, 0xFE, 0x63, 0x38, 0xC1, 0x44, 0x19, 0x65, 0xE8, 0x56, 0x01, 0xCA, 0xA0, 0xBD, 0x29, 0x00, +0xA9, 0x07, 0x54, 0xCB, 0x9D, 0xE0, 0x53, 0x28, 0x07, 0x3C, 0x4F, 0xB8, 0xF7, 0xE9, 0x3B, 0x44, +0xB3, 0x00, 0x04, 0x05, 0x48, 0x22, 0x98, 0x8D, 0x11, 0x54, 0x00, 0x4A, 0x5D, 0x68, 0x4D, 0x40, +0x0D, 0x00, 0x7E, 0xD9, 0x30, 0xDD, 0x21, 0xDA, 0x20, 0x67, 0xE2, 0xEF, 0xCE, 0xB4, 0xE0, 0x9D, +0x06, 0x79, 0xCC, 0x31, 0x46, 0x00, 0xF6, 0x08, 0x88, 0xDA, 0x0B, 0x51, 0x40, 0x6C, 0xF7, 0xBD, +0xF1, 0x0F, 0x2D, 0xE3, 0x61, 0x48, 0x95, 0xC7, 0x00, 0x80, 0x72, 0xAE, 0xEC, 0x57, 0x24, 0x80, +0x1B, 0x04, 0x2C, 0xF8, 0x47, 0xC2, 0xA3, 0xE5, 0xFF, 0x92, 0x0A, 0x86, 0x7F, 0x0D, 0x2F, 0x98, +0xC2, 0x46, 0x66, 0xB1, 0xCC, 0x51, 0x6C, 0x56, 0x8B, 0xC7, 0x68, 0xA9, 0x9B, 0xC2, 0xBF, 0x92, +0x80, 0xE8, 0xBF, 0x1E, 0x01, 0x2D, 0xD0, 0x87, 0x7F, 0x30, 0xEE, 0x14, 0xE9, 0x7A, 0x69, 0x2A, +0x90, 0x05, 0x20, 0x0D, 0x0D, 0x08, 0xFF, 0x52, 0x73, 0x49, 0x90, 0x7C, 0x5B, 0x84, 0xD1, 0x21, +0x22, 0x9B, 0x1B, 0x90, 0x2F, 0x76, 0xA8, 0x14, 0xF2, 0x81, 0xD4, 0x48, 0x46, 0xFC, 0xE7, 0x32, +0x17, 0x0C, 0x07, 0xA5, 0x1F, 0x18, 0x06, 0xB4, 0x3C, 0xF0, 0xFE, 0xE3, 0x74, 0x36, 0x89, 0x6E, +0x39, 0xC1, 0x87, 0xA7, 0x82, 0x59, 0x00, 0x42, 0x0C, 0xF0, 0x27, 0xBD, 0x96, 0xB9, 0x2F, 0x07, +0xFC, 0xE5, 0xDB, 0x55, 0xFE, 0xB1, 0x3B, 0x60, 0x43, 0xFF, 0x91, 0x08, 0x11, 0xFD, 0x87, 0x02, +0xBC, 0xF5, 0x37, 0x33, 0xDB, 0x23, 0x20, 0x00, 0xAB, 0xA6, 0xFC, 0xEB, 0x19, 0xFC, 0x8B, 0x8B, +0x40, 0xE6, 0x8C, 0xD1, 0xFC, 0xDF, 0xA2, 0xFF, 0x86, 0xFE, 0x6B, 0xD8, 0xDE, 0x02, 0x98, 0x8F, +0x91, 0x82, 0x93, 0x80, 0xA1, 0x40, 0x26, 0x83, 0x26, 0xFC, 0x6B, 0x10, 0x50, 0xA9, 0x0D, 0xBF, +0x13, 0xAA, 0x6B, 0x2A, 0xD8, 0x73, 0x8F, 0x69, 0x24, 0x20, 0x0E, 0x70, 0x4D, 0xC0, 0x4D, 0xAB, +0x09, 0xFE, 0x54, 0x00, 0xDA, 0x43, 0x52, 0x47, 0x71, 0x16, 0xCC, 0x19, 0xD6, 0xAE, 0xB2, 0x90, +0x04, 0x70, 0x4D, 0x40, 0xF8, 0x57, 0x00, 0x90, 0x05, 0x20, 0xC4, 0xF4, 0x6C, 0xE2, 0xB9, 0x05, +0xF7, 0x92, 0x5D, 0x5E, 0xC0, 0x64, 0xE6, 0x0A, 0xFB, 0x24, 0x49, 0x65, 0x24, 0x42, 0xE6, 0x65, +0xDB, 0x58, 0x02, 0x92, 0x1E, 0xA7, 0x5A, 0x0E, 0x98, 0x09, 0xC0, 0x43, 0x11, 0xC8, 0x02, 0x90, +0x39, 0x5E, 0x43, 0x41, 0x9D, 0xCC, 0xD9, 0x9B, 0xA1, 0x01, 0x29, 0x00, 0x2C, 0x0C, 0xFD, 0x57, +0x13, 0x50, 0xB4, 0x9F, 0x85, 0xFC, 0xEE, 0x6C, 0x6B, 0x37, 0x9F, 0x06, 0x5E, 0xD8, 0x88, 0xFE, +0xAB, 0x5A, 0xEE, 0xFF, 0x06, 0x5D, 0xB8, 0x83, 0x7F, 0x04, 0xF3, 0x75, 0xF4, 0x4D, 0x0E, 0x1C, +0xDF, 0xB5, 0x3E, 0xC3, 0x80, 0x6D, 0x43, 0xFF, 0x95, 0x46, 0x01, 0x74, 0x82, 0x4B, 0x0C, 0xFE, +0x95, 0x36, 0x7F, 0x27, 0x1D, 0x99, 0x85, 0xAE, 0xBF, 0xD8, 0xCB, 0xFC, 0x38, 0xD7, 0x41, 0x03, +0xD6, 0xFA, 0x0F, 0x02, 0x6E, 0xBA, 0xCD, 0x42, 0xC5, 0x03, 0x71, 0xE6, 0x05, 0x8B, 0x71, 0x36, +0x59, 0x78, 0x01, 0xFF, 0x4A, 0xA3, 0x00, 0xB0, 0x1F, 0x03, 0xF4, 0x19, 0x5B, 0xAF, 0xE4, 0x10, +0x83, 0x31, 0x6D, 0x82, 0x83, 0xCB, 0x8B, 0x61, 0x65, 0x34, 0x5F, 0x20, 0x5D, 0x45, 0x00, 0x3F, +0xA7, 0x1C, 0xB0, 0x6F, 0xC3, 0xBF, 0x4D, 0xF3, 0xC0, 0x27, 0xB5, 0x22, 0x24, 0x0F, 0x03, 0xC2, +0x3E, 0x76, 0x07, 0xEC, 0x9B, 0x7E, 0x03, 0xC8, 0x64, 0x9C, 0x21, 0xCF, 0x4E, 0xCC, 0x67, 0x31, +0x0C, 0xFC, 0xAB, 0x12, 0x21, 0xDC, 0x7C, 0x75, 0x22, 0xE4, 0x4F, 0x76, 0x80, 0xD1, 0xE7, 0xF9, +0x30, 0xFE, 0xE0, 0xEE, 0x56, 0x03, 0x82, 0x6A, 0xE8, 0xBF, 0xB2, 0x5D, 0xEC, 0xDE, 0x75, 0x2D, +0x90, 0x2E, 0x06, 0x03, 0x6D, 0x4E, 0x86, 0x60, 0xAD, 0xCB, 0x71, 0x3C, 0x00, 0x3F, 0xC6, 0x29, +0x4E, 0xB0, 0xCD, 0x6B, 0x0A, 0xBE, 0x3F, 0x00, 0x80, 0x1A, 0xF5, 0xCB, 0x15, 0x20, 0x04, 0xBC, +0x72, 0x6F, 0xCF, 0x9C, 0x46, 0xF9, 0x3C, 0x67, 0xEF, 0xB0, 0x8A, 0x80, 0x07, 0xFC, 0x6F, 0x9D, +0x1B, 0x60, 0x91, 0x04, 0x36, 0x9F, 0x61, 0x86, 0x00, 0x4D, 0x07, 0xCA, 0x33, 0xF5, 0xB2, 0x7F, +0x0B, 0xC2, 0xBF, 0x0A, 0x80, 0xBE, 0x84, 0x19, 0xB1, 0x67, 0x27, 0xC7, 0xBA, 0x18, 0xFC, 0xE3, +0x0A, 0x08, 0x52, 0x27, 0xC3, 0x48, 0x84, 0x11, 0xE9, 0x58, 0x46, 0x00, 0xB5, 0xA1, 0x00, 0xFB, +0x56, 0x28, 0xC0, 0xD3, 0xD9, 0x19, 0xA6, 0xE1, 0x04, 0x33, 0x69, 0x5B, 0x58, 0xFF, 0x26, 0x97, +0x72, 0x38, 0x35, 0x38, 0x6B, 0x61, 0xDA, 0x0A, 0x70, 0x4B, 0x09, 0x60, 0x69, 0x1B, 0x8B, 0x6B, +0xCF, 0x3B, 0xDA, 0x18, 0x38, 0x06, 0x96, 0x05, 0xCB, 0x74, 0xF8, 0xBF, 0x6D, 0x02, 0x5E, 0xBC, +0xC3, 0xAA, 0x28, 0xE0, 0x03, 0xD4, 0xB3, 0xD3, 0xEC, 0x9C, 0xAC, 0x69, 0x0E, 0xA4, 0xA5, 0x00, +0xEF, 0xDB, 0xF8, 0x29, 0x4A, 0x60, 0x82, 0x27, 0x0C, 0x03, 0xD7, 0xA4, 0x23, 0x25, 0x80, 0xB5, +0xDD, 0x0F, 0xF8, 0x39, 0xD2, 0xA5, 0x5C, 0xFF, 0xD1, 0xBD, 0x1F, 0x01, 0x7F, 0x62, 0x76, 0x81, +0x02, 0x6C, 0xD8, 0x21, 0xFC, 0xFB, 0x8A, 0x24, 0xB0, 0x9A, 0xE2, 0x10, 0x51, 0xA8, 0xDE, 0xF0, +0x6E, 0x3C, 0x2B, 0xBF, 0x6C, 0xF3, 0xEF, 0x6D, 0xE3, 0xA6, 0x3E, 0x83, 0x58, 0x3A, 0xC2, 0xBC, +0xB8, 0xA4, 0x97, 0xD7, 0xE0, 0x2A, 0xFB, 0x04, 0x07, 0xEA, 0xCE, 0x23, 0x32, 0xC4, 0x11, 0xA9, +0x86, 0x29, 0x14, 0xA0, 0xA8, 0x3F, 0x31, 0x24, 0x60, 0x3F, 0x06, 0x18, 0x15, 0xE0, 0xC9, 0xAE, +0x08, 0x79, 0x4E, 0xC0, 0xBD, 0x2E, 0xF1, 0x11, 0x49, 0x10, 0x7C, 0x5F, 0x69, 0x96, 0xF4, 0xD5, +0x93, 0x0E, 0x7A, 0xE8, 0xC0, 0x22, 0xE0, 0xCA, 0xBE, 0x7D, 0x4B, 0x11, 0x4C, 0x65, 0xE3, 0x6B, +0xFD, 0x35, 0xB4, 0x43, 0x1D, 0xEB, 0xF4, 0x68, 0x24, 0xA1, 0xE7, 0x96, 0xC5, 0x8D, 0x17, 0x75, +0x01, 0xF8, 0xAE, 0x6F, 0x37, 0x0F, 0x37, 0x52, 0x04, 0x88, 0xF3, 0x1B, 0x10, 0xC8, 0x69, 0x7C, +0xFE, 0x49, 0x92, 0xE6, 0x5D, 0xF9, 0x77, 0xDF, 0xD4, 0x80, 0x9A, 0xAF, 0x6D, 0x82, 0xAF, 0x6F, +0x9A, 0x5B, 0x6E, 0xF3, 0xEF, 0x3E, 0xCF, 0x68, 0xD3, 0x07, 0xD7, 0xC7, 0xEF, 0xFF, 0xA3, 0x7F, +0x77, 0x98, 0x79, 0x30, 0x4A, 0x6A, 0xE9, 0xE6, 0x5D, 0xDB, 0x2E, 0x9A, 0x0E, 0xB0, 0x54, 0xC4, +0xFB, 0x24, 0xF0, 0x1D, 0xF7, 0xCD, 0x86, 0xFB, 0xE5, 0x62, 0xF0, 0xEF, 0xB2, 0xCB, 0xBF, 0x6F, +0x47, 0xC5, 0x42, 0x53, 0x01, 0xB2, 0x59, 0x29, 0x02, 0x0E, 0x6F, 0x98, 0x7A, 0xE6, 0x48, 0x44, +0xCF, 0x4E, 0xB4, 0x22, 0x86, 0x20, 0x24, 0x25, 0xDC, 0x8F, 0x00, 0x5A, 0x03, 0x81, 0x5D, 0xFE, +0x99, 0x02, 0x2C, 0x9D, 0xE0, 0xD1, 0xFE, 0x73, 0x09, 0x58, 0x39, 0xC1, 0xF6, 0xE3, 0xBE, 0x91, +0xF2, 0x65, 0x82, 0x02, 0x1C, 0x6A, 0x90, 0xF5, 0x20, 0x02, 0xC0, 0x26, 0x01, 0xDF, 0x7E, 0xCB, +0x36, 0x30, 0x25, 0xFE, 0x2E, 0xBF, 0xD4, 0xEF, 0x01, 0xB6, 0x64, 0xEF, 0x0E, 0xE4, 0xC9, 0x85, +0x1C, 0x77, 0xBA, 0xE4, 0x5D, 0xBE, 0x29, 0x7B, 0xD3, 0xFB, 0xA8, 0x94, 0x4E, 0x17, 0xD3, 0xF1, +0x41, 0xB5, 0xEF, 0x01, 0x71, 0xF8, 0x0B, 0x3E, 0x9D, 0xF0, 0x6F, 0x1C, 0x6B, 0x0A, 0x10, 0x56, +0x08, 0x55, 0xDA, 0xFC, 0xCB, 0x35, 0x20, 0x4A, 0xEF, 0x60, 0xFE, 0xB5, 0x09, 0x78, 0x2F, 0x0D, +0xE8, 0xE5, 0xFD, 0xF1, 0x3B, 0xF9, 0xFD, 0xC3, 0x56, 0x11, 0x46, 0x41, 0x77, 0xAD, 0xEF, 0x2A, +0x04, 0xAC, 0xAD, 0x97, 0x03, 0x99, 0xE5, 0xF2, 0xEE, 0xC9, 0x68, 0xF7, 0xCD, 0x84, 0xE0, 0x9D, +0xE9, 0x3F, 0xBD, 0xAF, 0x5A, 0xF6, 0x56, 0x9E, 0xD6, 0xDB, 0x26, 0x00, 0xF9, 0x52, 0x37, 0xD6, +0xAC, 0xA1, 0xD3, 0x30, 0x12, 0x1F, 0x7E, 0xE3, 0x7C, 0xDC, 0x63, 0x87, 0xB5, 0x7C, 0xA7, 0x84, +0x08, 0xCA, 0x2C, 0x02, 0x68, 0x3F, 0xFD, 0xDC, 0x5E, 0xD1, 0x04, 0xA0, 0x20, 0xB0, 0x56, 0x80, +0x27, 0xB3, 0x47, 0xF4, 0x2B, 0xEF, 0x0C, 0xED, 0xA9, 0x87, 0x2B, 0x3C, 0x03, 0x82, 0x36, 0xD5, +0x43, 0xAD, 0x55, 0x07, 0xB3, 0x95, 0x67, 0x6A, 0x93, 0x80, 0x97, 0x97, 0xF2, 0xA8, 0xB6, 0x85, +0x20, 0xB0, 0x0F, 0x39, 0x68, 0x76, 0x31, 0xDB, 0xC5, 0xEB, 0xF3, 0xEF, 0x66, 0xF7, 0x40, 0x1D, +0xAF, 0x13, 0x82, 0x3E, 0x39, 0xF2, 0xA3, 0x8E, 0x8D, 0x24, 0xC8, 0xE3, 0xFD, 0xFD, 0x63, 0x93, +0x80, 0xB6, 0x68, 0xAD, 0xD6, 0x7F, 0x9C, 0x99, 0xE4, 0x5B, 0xC2, 0xB4, 0x09, 0x38, 0xFF, 0x4B, +0xDD, 0xEE, 0x86, 0x89, 0xFE, 0xBB, 0xFA, 0xEE, 0x47, 0x10, 0x18, 0xF7, 0x8D, 0x80, 0x8A, 0xCA, +0xBF, 0xD1, 0x0E, 0xF1, 0x82, 0x2F, 0xBA, 0xFA, 0x2F, 0xDE, 0x28, 0xE4, 0x83, 0x35, 0x86, 0xAC, +0xFA, 0x4F, 0xEF, 0xAB, 0x5E, 0x06, 0x64, 0xAB, 0x37, 0xEB, 0xB6, 0x07, 0x40, 0xB8, 0x87, 0x9F, +0x0A, 0x08, 0xC3, 0x3E, 0xA9, 0x91, 0x8D, 0x7A, 0x09, 0x19, 0x43, 0x94, 0xD0, 0x08, 0xEB, 0xFE, +0xE1, 0x19, 0x0E, 0xC4, 0xC5, 0x8D, 0x48, 0x84, 0x85, 0x4C, 0x9B, 0xFC, 0x53, 0x06, 0xD6, 0x08, +0x9C, 0x76, 0x02, 0x1A, 0x70, 0x2D, 0x07, 0x2C, 0x7C, 0x3C, 0x3F, 0x5C, 0xFF, 0x81, 0x40, 0x9B, +0x32, 0x51, 0x11, 0xA8, 0xFA, 0x6F, 0xB1, 0x3A, 0x13, 0x2C, 0x77, 0x94, 0xB4, 0xED, 0x0F, 0x1D, +0x00, 0xAA, 0x06, 0x94, 0x38, 0xA0, 0x31, 0x4F, 0x87, 0x9D, 0xBF, 0xBD, 0xF5, 0xA9, 0xAE, 0xAD, +0xA3, 0x01, 0x1B, 0x71, 0x77, 0x3B, 0xDB, 0x27, 0xF5, 0x01, 0xEE, 0xC5, 0xBC, 0x26, 0xFA, 0x4F, +0x86, 0x1A, 0x80, 0xA2, 0xA8, 0xB4, 0x77, 0xF4, 0xDF, 0x7E, 0x02, 0x7E, 0x4C, 0xB2, 0xC0, 0xEF, +0x7B, 0xFA, 0xCF, 0xAC, 0xC5, 0xBF, 0xD9, 0xAF, 0xCA, 0xE2, 0x46, 0xC3, 0xDF, 0x4B, 0xEF, 0x37, +0x12, 0xF1, 0x61, 0x77, 0x73, 0x38, 0x01, 0x1B, 0xFA, 0xCF, 0x9A, 0xDD, 0x22, 0x7A, 0x2C, 0x85, +0x80, 0xC6, 0xC0, 0x8B, 0xC9, 0xBF, 0xD9, 0x1A, 0xFC, 0x13, 0xFD, 0x27, 0x6D, 0xDB, 0x07, 0x20, +0x05, 0x2C, 0x40, 0xCE, 0x19, 0xC8, 0x0B, 0x3B, 0x1B, 0xE0, 0x3C, 0xC7, 0xBF, 0xC1, 0x19, 0xCF, +0x39, 0xA7, 0x1D, 0x2D, 0xFB, 0x71, 0x87, 0x7F, 0xD6, 0x17, 0xCE, 0xFD, 0x0F, 0x8A, 0x01, 0xD7, +0xDC, 0x60, 0x1D, 0x8E, 0xE0, 0x1F, 0x4A, 0x4F, 0x1B, 0x10, 0xC4, 0x2F, 0x7E, 0xB2, 0xCF, 0x86, +0x06, 0xAC, 0x02, 0x80, 0xD6, 0xDE, 0xD6, 0xF8, 0xB3, 0xB6, 0xD1, 0xFB, 0xDB, 0x92, 0x79, 0xEC, +0x71, 0x39, 0xAE, 0x67, 0x0D, 0x20, 0xED, 0x95, 0xF9, 0xA7, 0x6D, 0x77, 0xE3, 0x70, 0x17, 0xB6, +0xC5, 0x57, 0x9B, 0x04, 0xA8, 0x52, 0xC1, 0x57, 0xCA, 0x93, 0xA9, 0xAC, 0x7A, 0xFA, 0x0F, 0x02, +0x7E, 0x8C, 0x69, 0x60, 0xEC, 0x7D, 0xAA, 0xF8, 0x3E, 0xF2, 0x57, 0xD1, 0x7F, 0x68, 0xC0, 0x8A, +0x7F, 0xDA, 0x2B, 0x2F, 0xF8, 0xCA, 0xDE, 0x80, 0xD1, 0x28, 0x7D, 0x96, 0x16, 0xA2, 0x06, 0x82, +0xBE, 0xC3, 0x09, 0x58, 0xF1, 0x6F, 0xA0, 0x8D, 0xC6, 0xB3, 0xD1, 0x0A, 0x01, 0xE5, 0x2C, 0x27, +0x09, 0xA7, 0xA8, 0xFE, 0x93, 0xD6, 0xA9, 0x82, 0xB6, 0x9B, 0x75, 0x5B, 0x03, 0xD0, 0x88, 0xC7, +0x36, 0xF7, 0x61, 0xF9, 0x5A, 0x8C, 0xF9, 0xF1, 0x32, 0x05, 0x1B, 0xF0, 0xC4, 0xFC, 0xBF, 0x4C, +0x3E, 0xB9, 0x6B, 0x71, 0x53, 0xAC, 0x3E, 0x01, 0x6D, 0xA8, 0x3D, 0xE0, 0x53, 0x89, 0x03, 0xAE, +0x78, 0xC1, 0xEC, 0x08, 0x78, 0x28, 0xFF, 0x24, 0xD0, 0x67, 0xF5, 0x80, 0x40, 0x50, 0x3A, 0xFB, +0xE2, 0x4F, 0xAB, 0x56, 0x03, 0x6F, 0xED, 0x91, 0xAA, 0x71, 0xC0, 0x1E, 0x00, 0x89, 0x03, 0x6A, +0x70, 0x9B, 0x08, 0xA0, 0x9C, 0x6E, 0xE7, 0x5D, 0xDD, 0x55, 0x80, 0xBD, 0x04, 0xC8, 0x4E, 0x07, +0x3E, 0xA8, 0x0F, 0x1F, 0x1E, 0x72, 0xFC, 0x69, 0xFE, 0xE3, 0x0A, 0xFF, 0xAF, 0xA8, 0x81, 0x31, +0xF8, 0xC9, 0xD8, 0xE1, 0x5F, 0xE5, 0x05, 0x23, 0xFF, 0x66, 0xAB, 0x62, 0x83, 0xE5, 0x76, 0xA8, +0x18, 0xF8, 0x1B, 0x7D, 0x5D, 0x02, 0x0A, 0xF9, 0x82, 0x02, 0xF4, 0x4A, 0x70, 0x39, 0x0D, 0xEC, +0xD9, 0xDB, 0x7A, 0xF3, 0x7A, 0x5E, 0x30, 0xF4, 0x23, 0x0C, 0x48, 0xA0, 0xC4, 0xA4, 0xE0, 0xB8, +0x10, 0xFE, 0xD1, 0x4A, 0xFE, 0xD1, 0x56, 0xEF, 0xEA, 0x33, 0xC7, 0x36, 0x90, 0x95, 0xA4, 0x30, +0x74, 0x8C, 0x9B, 0x24, 0xCC, 0x0B, 0xB0, 0x19, 0x21, 0x18, 0x90, 0xC8, 0x0B, 0x13, 0xE0, 0x4D, +0xEA, 0x7D, 0x3E, 0x7B, 0x50, 0x87, 0x05, 0xFD, 0xEC, 0xA4, 0x5E, 0x70, 0xCE, 0x3F, 0x83, 0xDF, +0x89, 0xC4, 0x01, 0x57, 0xAB, 0x60, 0x8E, 0xE1, 0x1F, 0x0A, 0xF0, 0x1A, 0xEF, 0xD7, 0x06, 0x31, +0xC1, 0x1F, 0x1A, 0x50, 0x09, 0x98, 0xEB, 0x3F, 0xEE, 0xAA, 0x31, 0xAF, 0xF8, 0x47, 0x53, 0xC8, +0xB1, 0x25, 0xA0, 0x5F, 0xDF, 0xEE, 0x1E, 0xFF, 0xEB, 0xFA, 0x6F, 0x17, 0x50, 0x17, 0xCD, 0xEB, +0x3F, 0x95, 0x80, 0xD3, 0x0B, 0xF6, 0xAE, 0x1C, 0x4C, 0x9C, 0xE2, 0x47, 0x0E, 0xB9, 0x44, 0x03, +0xC6, 0x04, 0x30, 0x8A, 0x4A, 0xC7, 0x0E, 0xFF, 0xDA, 0xFB, 0x21, 0xC0, 0x3F, 0x2C, 0xF2, 0xCF, +0x5B, 0x1D, 0xFF, 0xB3, 0x9E, 0x13, 0xF0, 0x51, 0xF8, 0xA7, 0x1A, 0x78, 0x1E, 0x09, 0x02, 0xC9, +0x7F, 0xD0, 0x0E, 0x21, 0xE0, 0xA6, 0x0A, 0x00, 0xD2, 0x94, 0x7C, 0xE3, 0x98, 0xFE, 0x02, 0x26, +0xFC, 0xD3, 0xE7, 0x29, 0xAD, 0x4A, 0x00, 0xD3, 0x56, 0xF8, 0x87, 0x02, 0x64, 0x0D, 0x70, 0x06, +0xAE, 0xB8, 0xE5, 0x8B, 0xBF, 0x64, 0x07, 0x99, 0xA8, 0x01, 0xF9, 0xE7, 0x9B, 0x1A, 0xD0, 0xC2, +0x7E, 0x06, 0xC3, 0xC3, 0x00, 0xE8, 0x10, 0xD8, 0x50, 0x80, 0x63, 0x76, 0x02, 0x61, 0xC0, 0xE9, +0x04, 0x9F, 0x27, 0x5F, 0x0F, 0x7C, 0x1C, 0xFF, 0xF0, 0x81, 0xAF, 0xF9, 0x62, 0x60, 0x0A, 0x64, +0x26, 0xFF, 0x20, 0xE0, 0x76, 0xBB, 0xB2, 0x08, 0xCE, 0xDD, 0x54, 0xFF, 0x32, 0x77, 0xFE, 0x2A, +0x52, 0x04, 0x41, 0x18, 0x07, 0xCD, 0x14, 0xCD, 0x44, 0x10, 0x43, 0x65, 0x23, 0xC1, 0xF0, 0x60, +0x23, 0xB9, 0xEC, 0x12, 0x53, 0x65, 0x85, 0x0B, 0x7C, 0x86, 0x05, 0xF1, 0x49, 0x34, 0xB8, 0xE7, +0xF0, 0xF5, 0xAC, 0xA9, 0xB5, 0xF8, 0x5D, 0x6F, 0x4D, 0xF5, 0xD7, 0xBB, 0x33, 0xC2, 0xD4, 0x37, +0x7F, 0x7A, 0x47, 0xD0, 0x13, 0x6E, 0x7F, 0x7C, 0xDD, 0x55, 0xD5, 0xF3, 0x5A, 0xF1, 0x0F, 0x35, +0xAB, 0xDB, 0xD3, 0x54, 0x98, 0x22, 0x40, 0xDB, 0x00, 0x18, 0x0B, 0xD8, 0x2D, 0x86, 0x71, 0xE0, +0x49, 0x00, 0x7A, 0x29, 0x20, 0xDF, 0x54, 0x3B, 0xA6, 0x33, 0x78, 0x97, 0xF1, 0xC7, 0x37, 0xDF, +0x48, 0xD0, 0xF5, 0x80, 0x0F, 0x0D, 0xFE, 0x4C, 0x92, 0x7F, 0x44, 0x1F, 0x7F, 0x0E, 0xBF, 0x84, +0x3F, 0xBD, 0x25, 0xBE, 0x9C, 0x00, 0x83, 0xEC, 0x8E, 0xFF, 0x0B, 0xFC, 0xC5, 0x2D, 0xB0, 0x07, +0xFB, 0x4C, 0xE1, 0xFF, 0x7E, 0x5D, 0x4B, 0x40, 0xBD, 0x00, 0x08, 0x00, 0x21, 0x9F, 0x17, 0x09, +0xB8, 0x15, 0x9C, 0x56, 0x06, 0x27, 0xFA, 0xA1, 0x1B, 0xC9, 0x3F, 0xF4, 0xBE, 0xE6, 0x5F, 0xF3, +0x52, 0x24, 0x91, 0xA9, 0xB5, 0x27, 0xE9, 0x29, 0xDB, 0x9E, 0xAA, 0x6D, 0xAE, 0xA8, 0x1B, 0xAC, +0xB9, 0x0A, 0xE6, 0xC0, 0x1F, 0xF5, 0x2F, 0x03, 0x04, 0x04, 0x7B, 0xEF, 0x1C, 0x81, 0x3A, 0x13, +0xBC, 0xA9, 0x55, 0xC0, 0xCE, 0x2C, 0xF8, 0x7A, 0x03, 0x48, 0xEE, 0x97, 0x42, 0x98, 0x18, 0x9C, +0x03, 0xB0, 0xDE, 0x13, 0xD5, 0x27, 0xBE, 0x8D, 0x5E, 0xF7, 0x13, 0xC0, 0xE8, 0x44, 0x40, 0xEA, +0xA1, 0xBF, 0xF9, 0xD8, 0xF7, 0xF7, 0x30, 0xFC, 0xB5, 0x5A, 0xA7, 0x00, 0x10, 0x07, 0x38, 0xE9, +0xC8, 0x9E, 0x30, 0x7E, 0x63, 0xD0, 0x7E, 0xF3, 0x1D, 0x05, 0xFB, 0x9F, 0x15, 0xFF, 0xEE, 0x4D, +0x43, 0xB3, 0x60, 0x40, 0x55, 0x78, 0xC0, 0xDF, 0x19, 0x81, 0x21, 0x4C, 0x61, 0x99, 0x00, 0x21, +0x04, 0xFE, 0x38, 0xEF, 0xCB, 0x65, 0xC0, 0xD3, 0xD2, 0x9F, 0x5D, 0x39, 0x1A, 0x07, 0x48, 0x11, +0xF4, 0x87, 0x20, 0x1F, 0x04, 0xBC, 0x1D, 0x0F, 0xB1, 0x00, 0x98, 0x11, 0xE8, 0x46, 0x90, 0x19, +0x70, 0xF6, 0x7F, 0x26, 0xC5, 0x3F, 0xED, 0x01, 0x79, 0x27, 0x48, 0x4B, 0x2A, 0xEE, 0x3C, 0xF5, +0xA3, 0x99, 0xC2, 0x32, 0xF4, 0xA3, 0x0B, 0x36, 0xD2, 0x25, 0xFC, 0x2B, 0xCA, 0x01, 0x3E, 0x7D, +0xBC, 0x0F, 0xD6, 0x38, 0x01, 0xDF, 0xC4, 0x41, 0xA8, 0x14, 0xF0, 0x66, 0xD6, 0x01, 0xBF, 0x4C, +0xCA, 0x06, 0xD0, 0xE2, 0x5A, 0xFE, 0x11, 0x6C, 0x05, 0x18, 0x9F, 0x5E, 0x04, 0xFE, 0x88, 0x27, +0xA4, 0x82, 0x73, 0x01, 0xCC, 0x18, 0x01, 0x6F, 0xCE, 0xE5, 0x1E, 0x90, 0x17, 0x81, 0x4C, 0x83, +0xD3, 0xED, 0xC8, 0x6F, 0xBD, 0x5A, 0x08, 0xDC, 0xDD, 0x5E, 0xCA, 0x3F, 0x57, 0xA4, 0x82, 0x9B, +0x5E, 0x06, 0x3F, 0xE0, 0x5F, 0x0B, 0x80, 0xFD, 0xFC, 0xB6, 0xF1, 0xDF, 0xC1, 0x1F, 0x64, 0x51, +0xBB, 0x41, 0x13, 0xF0, 0xEC, 0x37, 0x03, 0xE0, 0xF7, 0x6F, 0xE0, 0xA7, 0xF6, 0x7F, 0x32, 0x11, +0xC2, 0x0F, 0xC8, 0x59, 0xF0, 0x0F, 0xF0, 0x65, 0xFC, 0xB9, 0xE2, 0x9E, 0xF9, 0x67, 0xC7, 0xED, +0x78, 0x48, 0xFF, 0x87, 0xA2, 0xF1, 0xA3, 0xA9, 0x15, 0xD8, 0x05, 0xFD, 0xD0, 0x8D, 0xE2, 0x9F, +0xF6, 0x80, 0xFE, 0x56, 0x38, 0xBD, 0x5F, 0x69, 0x91, 0xC3, 0xE0, 0x83, 0x0A, 0x01, 0xBD, 0xEC, +0x01, 0x71, 0x7D, 0xDC, 0x93, 0xC6, 0xF8, 0x57, 0xAF, 0x02, 0x4E, 0xA7, 0xCB, 0x47, 0x1B, 0x59, +0x07, 0x5C, 0x6A, 0xFF, 0xA6, 0x57, 0xC0, 0xA5, 0xA0, 0x13, 0x84, 0x19, 0x31, 0xFE, 0xAF, 0x01, +0x60, 0xF1, 0x5E, 0xE0, 0x57, 0x59, 0x10, 0xB0, 0xF0, 0x7F, 0x28, 0x5A, 0x42, 0x4C, 0xCD, 0xD6, +0xD0, 0xF6, 0x30, 0x6B, 0xA1, 0xFF, 0x3B, 0x9E, 0xF3, 0x8F, 0x72, 0x40, 0x13, 0x17, 0x0B, 0xCC, +0x8F, 0xDF, 0x0C, 0x07, 0x93, 0x1E, 0x66, 0xF7, 0x4B, 0x69, 0xC8, 0x17, 0x57, 0x31, 0x01, 0x56, +0xEB, 0x80, 0x60, 0xCF, 0x34, 0x8D, 0x45, 0x01, 0xCC, 0x18, 0x01, 0xF9, 0x01, 0x65, 0x2A, 0xD8, +0x0C, 0x60, 0x81, 0xC0, 0xF3, 0x54, 0xB0, 0x37, 0x80, 0x2C, 0xF1, 0x80, 0x3B, 0xE9, 0xFF, 0x50, +0x9B, 0x07, 0xB1, 0x4B, 0x14, 0x00, 0x26, 0xCD, 0xF2, 0xCF, 0x13, 0xC0, 0x49, 0xF3, 0xFE, 0x2F, +0x03, 0x90, 0xF7, 0x7A, 0x40, 0xAC, 0x4C, 0x42, 0x92, 0xC5, 0x2C, 0x1E, 0xAA, 0xB7, 0xFE, 0xD2, +0x29, 0x3C, 0x9B, 0xFE, 0x20, 0x98, 0xFD, 0x32, 0x44, 0xA8, 0xC0, 0x5F, 0x26, 0xA0, 0x45, 0xCF, +0x01, 0xC6, 0x54, 0x78, 0x43, 0xEB, 0x80, 0xE7, 0x5A, 0xE8, 0xFF, 0xFC, 0x29, 0x89, 0xE0, 0x2F, +0x77, 0x34, 0x80, 0x0C, 0x11, 0xF0, 0x60, 0xB4, 0x43, 0x48, 0xFB, 0xBF, 0xA6, 0x1C, 0x30, 0xC2, +0x27, 0xC0, 0xAC, 0x7E, 0x27, 0x0F, 0xB8, 0xD0, 0xFF, 0x7D, 0x45, 0x7C, 0x60, 0x4D, 0x3F, 0x2E, +0x1F, 0xC0, 0x1F, 0xE7, 0x6C, 0x3D, 0x60, 0x34, 0x80, 0x68, 0x0B, 0xC8, 0xFC, 0x37, 0x7B, 0xC0, +0x3A, 0x07, 0xEC, 0x1C, 0x7C, 0xEC, 0x00, 0xC1, 0x25, 0xFC, 0xD3, 0x04, 0x84, 0x7F, 0xF9, 0xB4, +0xEB, 0x1C, 0xFF, 0x32, 0xFE, 0xFC, 0x64, 0x89, 0x34, 0x6E, 0xBE, 0x9A, 0xBA, 0xCC, 0x03, 0x4A, +0xFF, 0x87, 0xA2, 0x01, 0x84, 0x3C, 0xD9, 0xF3, 0xE2, 0xF7, 0x6A, 0x26, 0xF8, 0xFD, 0x6C, 0x74, +0x98, 0xF5, 0x7F, 0x19, 0x80, 0x7F, 0x18, 0xC4, 0x18, 0x12, 0xD2, 0xF2, 0x91, 0xB6, 0x90, 0x16, +0xC1, 0x4E, 0x08, 0xA3, 0x5B, 0xE0, 0x0B, 0x07, 0x28, 0x09, 0xD8, 0xA6, 0x44, 0x6A, 0xF8, 0x6D, +0xC5, 0xFA, 0xF5, 0x36, 0xC7, 0xB2, 0x63, 0x01, 0xFF, 0x98, 0xF2, 0x4E, 0x36, 0x30, 0xB2, 0xC2, +0x77, 0x14, 0xC0, 0xB4, 0x04, 0x4C, 0x2D, 0x21, 0x9F, 0x63, 0xFE, 0x9B, 0x25, 0x00, 0x98, 0xCA, +0x01, 0xA3, 0xB3, 0xB3, 0xB0, 0x7F, 0x45, 0x4B, 0x48, 0xCF, 0xEF, 0x65, 0xFE, 0x65, 0xFC, 0x59, +0x1C, 0xA7, 0xDD, 0xDE, 0x93, 0x03, 0xE4, 0x68, 0xCE, 0x87, 0xE4, 0xFF, 0x00, 0x5F, 0x3B, 0xD2, +0xFE, 0x0F, 0x02, 0xD6, 0x06, 0xF0, 0x34, 0x72, 0x09, 0xFF, 0x57, 0x10, 0x50, 0xF2, 0x8F, 0x96, +0x10, 0x4E, 0x5F, 0x00, 0x9C, 0x3F, 0x52, 0xDF, 0xE0, 0xAF, 0x63, 0xC2, 0xDF, 0x92, 0x96, 0x10, +0xF2, 0xBF, 0x85, 0x8C, 0x7E, 0x4C, 0x14, 0xF0, 0x7F, 0x49, 0x75, 0x01, 0x60, 0xD6, 0x21, 0xF9, +0xBF, 0x67, 0x00, 0xB0, 0xCA, 0x57, 0xA4, 0x2E, 0x5E, 0x76, 0xC3, 0x3A, 0x6F, 0x1A, 0xD6, 0x01, +0x5E, 0xC7, 0x21, 0xC8, 0xFA, 0x1F, 0x42, 0x9A, 0x7F, 0x3C, 0xCC, 0xFC, 0x9B, 0x6E, 0x21, 0xFF, +0xB4, 0x89, 0x65, 0xC0, 0xD6, 0x03, 0x5E, 0xD7, 0x00, 0x52, 0xAF, 0x01, 0x46, 0x07, 0x08, 0xFE, +0x2F, 0xC7, 0xB3, 0x33, 0x02, 0x1E, 0xA8, 0x7F, 0x41, 0x94, 0x03, 0x6A, 0x00, 0x52, 0x0E, 0xF8, +0x9C, 0xA2, 0x06, 0x24, 0x3D, 0xA0, 0x00, 0x60, 0x2A, 0x80, 0x41, 0x7C, 0xF4, 0x62, 0x98, 0xB3, +0x02, 0xC0, 0x79, 0xFC, 0x59, 0x18, 0x1E, 0x1A, 0xFE, 0x15, 0xF8, 0x33, 0x29, 0xFF, 0xA7, 0x09, +0x68, 0xF2, 0xCB, 0x0C, 0x03, 0x7F, 0xC3, 0xBF, 0x32, 0xE4, 0xFC, 0xB7, 0x6C, 0x09, 0xE1, 0xBF, +0x9F, 0x8F, 0x26, 0x5D, 0x74, 0x5A, 0xFF, 0x5B, 0x4E, 0x40, 0xED, 0xFF, 0x10, 0x53, 0xE0, 0xE3, +0x89, 0x7F, 0xA5, 0x32, 0xFF, 0x2A, 0x1D, 0xCE, 0x13, 0xC0, 0x77, 0x16, 0x65, 0x12, 0x84, 0xC0, +0xFF, 0x25, 0xDF, 0x47, 0x4A, 0xD7, 0x9F, 0x2D, 0x77, 0x81, 0xE4, 0x7C, 0x7D, 0x0F, 0x40, 0x29, +0x85, 0x3F, 0x9E, 0xCF, 0x2F, 0xFF, 0xE1, 0x00, 0xB7, 0xE4, 0x05, 0xAB, 0xD9, 0xAF, 0x0E, 0xD6, +0xFF, 0x54, 0xDC, 0xE5, 0xA0, 0x18, 0x26, 0x25, 0x80, 0x4B, 0x7D, 0x52, 0xF8, 0x43, 0x2F, 0x69, +0x8A, 0xC3, 0xFF, 0x09, 0x0F, 0x28, 0x1B, 0x40, 0x34, 0xFF, 0x50, 0xB8, 0x9A, 0xD2, 0x01, 0xD2, +0x14, 0xC7, 0x9B, 0x91, 0x8C, 0x1A, 0xC6, 0xBF, 0x9F, 0x25, 0x02, 0xA5, 0xFF, 0x23, 0x32, 0xFD, +0x02, 0x7C, 0x3E, 0xAA, 0xB3, 0x20, 0x3F, 0x7A, 0x91, 0xF8, 0x57, 0x33, 0xB0, 0x69, 0x0B, 0xEE, +0xF1, 0x6F, 0x4F, 0xF7, 0xAF, 0x5D, 0x7D, 0xFE, 0xBB, 0xA2, 0x07, 0xD4, 0x00, 0x64, 0x1A, 0x4C, +0x03, 0x48, 0xA1, 0xDC, 0x00, 0x57, 0xEB, 0x90, 0xF8, 0x07, 0x00, 0x05, 0x05, 0x13, 0xC5, 0x28, +0xFB, 0xE3, 0xE1, 0x7A, 0x26, 0xF0, 0x23, 0x16, 0xF0, 0x52, 0xFE, 0xD5, 0x08, 0x74, 0xB8, 0x71, +0xE0, 0x01, 0x63, 0xB0, 0x99, 0x65, 0xC0, 0xC6, 0x03, 0xAE, 0x90, 0xFF, 0xCD, 0xEF, 0x02, 0xA9, +0xFD, 0x5F, 0x6E, 0x09, 0x31, 0xA3, 0xD7, 0xD1, 0xA7, 0x51, 0x00, 0x42, 0x40, 0x9F, 0xD5, 0x74, +0x1D, 0xE0, 0xEE, 0x4A, 0xFE, 0xCD, 0xAD, 0x53, 0x31, 0xF0, 0x62, 0x18, 0xE0, 0x57, 0x4C, 0x80, +0xFD, 0xC2, 0x06, 0xD1, 0x76, 0xB9, 0xCF, 0xF8, 0x2B, 0xD6, 0x01, 0xC9, 0xFF, 0x76, 0x12, 0x21, +0x24, 0x82, 0x5B, 0xEE, 0x51, 0x0D, 0x53, 0xE1, 0x4F, 0x13, 0xB0, 0xC0, 0x5F, 0x9C, 0xFB, 0xC7, +0xFC, 0x2B, 0xF0, 0xE7, 0xB7, 0xA6, 0x5B, 0x06, 0xF8, 0xCD, 0xE8, 0x22, 0x02, 0xA6, 0x06, 0x90, +0x5A, 0x11, 0x3B, 0x1A, 0x40, 0x0A, 0x49, 0xFF, 0x87, 0x0E, 0x99, 0x7F, 0x19, 0x80, 0x94, 0xFC, +0xA5, 0x4F, 0x69, 0x93, 0x03, 0x36, 0x83, 0x11, 0x01, 0x31, 0xED, 0x36, 0x1C, 0x17, 0x5A, 0xC0, +0x3E, 0xFE, 0xEC, 0x32, 0xEB, 0x00, 0x37, 0xB4, 0x27, 0xE0, 0xE3, 0xB8, 0x6E, 0x07, 0x18, 0xCD, +0x3F, 0x4F, 0x07, 0xD3, 0x00, 0x57, 0x11, 0x90, 0x49, 0x30, 0xF9, 0x0F, 0xED, 0x01, 0x8D, 0x72, +0xB5, 0xA2, 0x25, 0x84, 0x19, 0xF0, 0x90, 0x05, 0x5C, 0x8F, 0x7F, 0x47, 0x56, 0x01, 0x03, 0x74, +0x1C, 0x9C, 0x26, 0xDA, 0x82, 0xA3, 0x01, 0xAE, 0x83, 0xC0, 0xC2, 0xFF, 0xC9, 0x54, 0x70, 0xB0, +0x0F, 0xC1, 0xC2, 0x01, 0x00, 0x12, 0x79, 0xFE, 0xAB, 0xD6, 0x01, 0xED, 0xEE, 0x39, 0xA0, 0x12, +0x81, 0xFB, 0x40, 0xA0, 0x45, 0x63, 0xA4, 0x17, 0x7A, 0x40, 0x9D, 0x00, 0x46, 0xEE, 0x00, 0x29, +0x00, 0xAC, 0x95, 0x0A, 0x60, 0x6A, 0x25, 0xFE, 0x15, 0x00, 0x7C, 0x9B, 0x16, 0xFF, 0xEC, 0x92, +0xEC, 0x5E, 0xDA, 0x17, 0x50, 0x87, 0xFF, 0x4D, 0xE3, 0xE0, 0xD3, 0x10, 0x1C, 0x74, 0x80, 0xFE, +0xC0, 0xD9, 0x57, 0x4C, 0x7E, 0x9D, 0x89, 0xDB, 0x59, 0x06, 0x64, 0x6F, 0x98, 0x75, 0xF8, 0x47, +0x63, 0x30, 0x05, 0x30, 0x63, 0x04, 0x7C, 0x2F, 0x00, 0x48, 0x4B, 0x48, 0xE9, 0xFF, 0x72, 0x4B, +0x08, 0xBF, 0xFD, 0x72, 0x19, 0xF0, 0x76, 0x3C, 0x8A, 0x39, 0x5A, 0x0C, 0xA6, 0x23, 0x52, 0xC0, +0x5E, 0xF3, 0x52, 0x3B, 0xC0, 0xC7, 0x7B, 0xE4, 0xDF, 0x77, 0xE9, 0x37, 0xA9, 0xE0, 0x9F, 0x22, +0x20, 0xFE, 0x8F, 0x33, 0xD4, 0x16, 0x00, 0xAA, 0xD0, 0x13, 0x60, 0x52, 0xC1, 0xDF, 0x9D, 0x7F, +0x06, 0xB8, 0xBE, 0x03, 0xDC, 0xB3, 0x0C, 0x78, 0x5C, 0x95, 0x80, 0xCC, 0x7F, 0x95, 0xC2, 0x01, +0x0A, 0xFA, 0x91, 0x0A, 0x96, 0xFC, 0xA3, 0x1C, 0x10, 0xFE, 0xB5, 0x00, 0x54, 0x34, 0xA3, 0xFC, +0x99, 0x2D, 0x04, 0xEB, 0xDA, 0xC1, 0xA7, 0xFA, 0x2F, 0xD6, 0x20, 0xD4, 0xD2, 0xFC, 0xA3, 0x29, +0x38, 0xE7, 0x3F, 0x02, 0x81, 0xDB, 0xAA, 0x06, 0x9C, 0x62, 0x65, 0xFF, 0x47, 0x1E, 0xC4, 0xF9, +0xA7, 0xE2, 0xB3, 0xCF, 0x82, 0x8D, 0x7F, 0x5A, 0xAF, 0xB5, 0xFF, 0xA3, 0x1C, 0x30, 0x12, 0xC0, +0x4A, 0xBB, 0x8B, 0xFD, 0xDF, 0xF1, 0x97, 0xC2, 0x1F, 0x2D, 0x21, 0xF1, 0x55, 0xE7, 0x48, 0x67, +0xEC, 0x00, 0x68, 0xE8, 0x10, 0x08, 0x2C, 0xF8, 0x27, 0x08, 0xE8, 0x95, 0x7F, 0xD3, 0x0D, 0xC1, +0xC2, 0x26, 0x01, 0xAC, 0x03, 0xFC, 0xF5, 0xD7, 0x00, 0xA3, 0x25, 0xC4, 0xE7, 0xBF, 0x02, 0x81, +0x16, 0xB3, 0x05, 0xD0, 0x0B, 0xCB, 0x01, 0x49, 0x00, 0x6B, 0xD1, 0x00, 0x22, 0x04, 0xFF, 0xA4, +0x28, 0x00, 0xEC, 0x00, 0x30, 0x6F, 0x73, 0x90, 0xB6, 0x42, 0x05, 0x7A, 0xF6, 0xD4, 0x61, 0xB8, +0x6E, 0x3C, 0x8D, 0x6E, 0x38, 0xA9, 0x8C, 0xBF, 0x9C, 0x05, 0x7E, 0x17, 0xCF, 0x0A, 0x07, 0xD8, +0x3E, 0xD8, 0xC2, 0xEE, 0x80, 0xE1, 0x01, 0xFF, 0x4B, 0xFE, 0x43, 0xE3, 0xEF, 0xB4, 0x43, 0x74, +0xF0, 0x4F, 0x29, 0xEC, 0x9F, 0xD2, 0x4D, 0xEC, 0x8F, 0xBA, 0xD3, 0x3A, 0xBD, 0x25, 0xE4, 0xA2, +0x02, 0xC0, 0x79, 0x31, 0xA0, 0x1C, 0x70, 0x5F, 0xE3, 0x8F, 0xB3, 0xD9, 0x01, 0xB0, 0x0B, 0x17, +0x5E, 0x84, 0x4E, 0xE8, 0x54, 0xB0, 0x0D, 0x27, 0xE8, 0xF9, 0xE0, 0x74, 0xFA, 0x47, 0x3B, 0xA6, +0xB1, 0xF4, 0x7F, 0xB9, 0x18, 0xA6, 0x8B, 0xBF, 0x38, 0xBD, 0xAA, 0xD1, 0xE7, 0xF9, 0xFB, 0x2E, +0xFE, 0xFC, 0x4F, 0xFD, 0x0D, 0x20, 0x9A, 0x7F, 0x5F, 0x2F, 0x25, 0x20, 0xFE, 0x4F, 0x00, 0x70, +0x47, 0x03, 0x88, 0xF0, 0x80, 0xF0, 0x4F, 0x7A, 0xC0, 0x83, 0xF3, 0x0F, 0x00, 0xCA, 0xC8, 0xEE, +0x8E, 0xCE, 0xB7, 0x55, 0x83, 0x14, 0xB0, 0x1D, 0xA4, 0x81, 0x95, 0xA8, 0xF6, 0xB3, 0x83, 0x46, +0x60, 0x22, 0x9E, 0x99, 0x82, 0x74, 0x2D, 0x06, 0xDB, 0x2C, 0x48, 0x9C, 0x17, 0xC6, 0x9B, 0x21, +0x8D, 0xC7, 0x1B, 0x33, 0x80, 0xC3, 0xC2, 0xFF, 0xE9, 0x75, 0xC0, 0x91, 0xF0, 0xB7, 0x84, 0xFC, +0xA5, 0xEE, 0x8C, 0x59, 0xDB, 0x86, 0xA2, 0x28, 0x5C, 0x97, 0x06, 0x82, 0x4D, 0x34, 0x88, 0x36, +0x86, 0x4E, 0x1E, 0x14, 0xB4, 0x64, 0xE8, 0x12, 0x11, 0x30, 0x04, 0x8C, 0x37, 0x0F, 0xF6, 0x66, +0x5C, 0xAC, 0xCD, 0xAB, 0x32, 0x95, 0x42, 0xF1, 0xA6, 0xA1, 0x74, 0xCE, 0xE6, 0x0E, 0x9D, 0x42, +0x7F, 0x40, 0x06, 0x93, 0xBF, 0xD7, 0x73, 0xAF, 0xFD, 0x72, 0xAC, 0xC6, 0xD2, 0xBD, 0x06, 0xA7, +0xA1, 0xE7, 0xDC, 0xF7, 0xF4, 0xEC, 0xBC, 0x92, 0xC6, 0x79, 0xFD, 0x74, 0x9E, 0xE4, 0xA4, 0xEF, +0xE6, 0xCF, 0xDE, 0x54, 0x55, 0xF7, 0x23, 0x21, 0x5D, 0x0D, 0x78, 0x96, 0x37, 0xBB, 0xE0, 0x8E, +0x4F, 0x87, 0xE6, 0xBF, 0xCF, 0x2E, 0xCB, 0xF5, 0x3F, 0xB8, 0x31, 0x01, 0x6A, 0xE9, 0xFF, 0x93, +0x44, 0x72, 0xEC, 0x1B, 0xB1, 0xF1, 0x0D, 0x30, 0xCE, 0x0C, 0x08, 0xD4, 0x31, 0x01, 0x4A, 0xFF, +0xF7, 0xCE, 0xF8, 0x80, 0xFC, 0x87, 0x49, 0x5F, 0x42, 0x00, 0x64, 0xDF, 0xF0, 0x86, 0xE8, 0x3E, +0xAE, 0xFF, 0x79, 0xCC, 0xFC, 0x77, 0xDC, 0x0C, 0xE8, 0x56, 0xC4, 0x37, 0x00, 0x1A, 0x06, 0xFF, +0xE4, 0x37, 0x40, 0x7B, 0x2C, 0xF9, 0xEF, 0x6D, 0x7B, 0x14, 0xFC, 0x06, 0xB4, 0xA9, 0xD4, 0x56, +0x89, 0xD6, 0x63, 0x6D, 0x51, 0x87, 0x80, 0x30, 0x21, 0xE8, 0xF6, 0x17, 0x11, 0x98, 0xC8, 0xD1, +0xA5, 0x44, 0x10, 0xF7, 0x31, 0x01, 0xB3, 0xE8, 0x64, 0xD7, 0x7C, 0x5E, 0x19, 0x77, 0x7C, 0xCD, +0x60, 0x7F, 0xB2, 0xF3, 0xD5, 0x61, 0x6A, 0xB9, 0x75, 0x36, 0x72, 0xEA, 0x8C, 0x3F, 0x00, 0x67, +0x78, 0x7E, 0xD1, 0x95, 0x65, 0x6A, 0x4B, 0x09, 0x58, 0xA4, 0x5E, 0xB9, 0x6F, 0x00, 0xA7, 0x29, +0xF6, 0xB7, 0x9E, 0x82, 0x41, 0x40, 0xAF, 0xFA, 0x4B, 0x9F, 0x80, 0x16, 0xF2, 0xCF, 0x24, 0xE0, +0xFD, 0x95, 0xDB, 0xDF, 0xDC, 0xFA, 0xB2, 0xFC, 0xE5, 0xF4, 0xF2, 0xD7, 0x65, 0x55, 0x40, 0x5D, +0x8D, 0xFA, 0x72, 0x8F, 0x57, 0x9B, 0x5D, 0x43, 0x77, 0x58, 0xFF, 0x9D, 0xFA, 0xD5, 0xE1, 0x59, +0xD5, 0x70, 0xF7, 0x62, 0x7E, 0xE1, 0xD0, 0x07, 0xB4, 0xEA, 0x06, 0xE8, 0x4D, 0xB2, 0x4E, 0x9E, +0x97, 0xA9, 0xC7, 0xF7, 0xC9, 0xA3, 0x74, 0xEF, 0xA5, 0x25, 0x87, 0x69, 0xED, 0xAB, 0x04, 0xE8, +0xF2, 0xE8, 0x23, 0x7C, 0x7A, 0x5A, 0xAD, 0x6A, 0xEC, 0xE2, 0xD3, 0xEB, 0x43, 0xB0, 0xD6, 0x72, +0x6B, 0xDA, 0x3A, 0x3B, 0x6B, 0xBD, 0x80, 0x51, 0x6E, 0xFB, 0x34, 0x6B, 0x29, 0xDB, 0x3C, 0x75, +0x36, 0xBA, 0x40, 0x00, 0xF4, 0x68, 0x3E, 0xEF, 0xCA, 0xE9, 0xFA, 0xDA, 0x61, 0x5C, 0x06, 0xEC, +0xC5, 0xB9, 0xCF, 0xBD, 0x61, 0x0A, 0x17, 0xA6, 0xC1, 0xBF, 0x61, 0xBC, 0x3A, 0x77, 0x39, 0x8E, +0x57, 0xD8, 0xDD, 0x39, 0xB5, 0x58, 0x2E, 0x51, 0xA6, 0x16, 0x32, 0xCB, 0xCF, 0xAA, 0xFB, 0x87, +0x7B, 0x97, 0x30, 0x8F, 0x01, 0xD0, 0xD4, 0x62, 0x29, 0xB6, 0x4A, 0xBB, 0x4B, 0xA7, 0xEE, 0x2E, +0xB3, 0xD8, 0xFD, 0xBA, 0xEA, 0x77, 0xCA, 0x53, 0x70, 0xAF, 0xF0, 0xA9, 0x57, 0x76, 0xAE, 0x23, +0x9F, 0x3B, 0x04, 0xA0, 0xA1, 0xC1, 0x45, 0xBB, 0xB2, 0xCC, 0xDF, 0xAC, 0x93, 0x67, 0xF6, 0x11, +0x10, 0x4E, 0x82, 0x0F, 0xD1, 0xDA, 0x6B, 0x00, 0x50, 0xD8, 0x65, 0x35, 0x99, 0x76, 0x7B, 0x3A, +0xAD, 0xB0, 0x2B, 0x41, 0xBB, 0x65, 0xA3, 0x30, 0xAF, 0xB5, 0xC5, 0x1B, 0x8A, 0xAC, 0xDB, 0x53, +0x33, 0x60, 0xCD, 0x9F, 0xAB, 0x5E, 0x59, 0xC7, 0x4B, 0x80, 0x54, 0x7B, 0x82, 0xD5, 0xE2, 0x12, +0xDE, 0x0A, 0x83, 0xDD, 0x4A, 0x64, 0x39, 0xEA, 0xA0, 0x95, 0x79, 0xCF, 0xA9, 0xA2, 0x18, 0x6A, +0xAE, 0x28, 0x9B, 0x4A, 0x1B, 0x26, 0x9E, 0xFB, 0x14, 0x67, 0x59, 0x76, 0x87, 0x7F, 0xDA, 0x96, +0xEE, 0xA4, 0x2D, 0x16, 0x82, 0x37, 0x4B, 0x4A, 0x95, 0xEF, 0x60, 0xD0, 0x4F, 0x87, 0x65, 0x07, +0x7C, 0xFF, 0xE0, 0x12, 0x38, 0x79, 0xF5, 0x13, 0x7F, 0xC2, 0x92, 0x7E, 0x66, 0xE5, 0xB0, 0x5D, +0x9B, 0xAF, 0x07, 0x5F, 0x9A, 0xCB, 0x59, 0xB6, 0x3A, 0x77, 0xEA, 0x6B, 0x31, 0xD4, 0x6F, 0x43, +0x69, 0xF5, 0xE0, 0xA4, 0x9E, 0xDC, 0xEC, 0xD6, 0xEB, 0xE5, 0x65, 0x1A, 0x75, 0x5C, 0x8E, 0x4E, +0xBA, 0x5D, 0x2F, 0xFF, 0x26, 0x6D, 0x10, 0x90, 0x7A, 0x53, 0x8B, 0xA9, 0x1A, 0x11, 0x7A, 0xC2, +0x40, 0xE9, 0xB6, 0x4F, 0xDE, 0xB0, 0xD5, 0xD5, 0xA1, 0x3A, 0xF5, 0xBB, 0x96, 0x78, 0xBB, 0x1F, +0x49, 0xB6, 0x0C, 0x9C, 0x09, 0xE0, 0x08, 0x3E, 0x22, 0x91, 0xFD, 0xC6, 0x7E, 0xF9, 0x53, 0x1D, +0xDA, 0x8B, 0xD8, 0xA7, 0xD1, 0xCC, 0x47, 0xC0, 0xB3, 0xF6, 0xA4, 0x3D, 0x22, 0x01, 0x2D, 0xFE, +0x75, 0x4F, 0x94, 0x6E, 0x9D, 0x46, 0x63, 0x46, 0x9A, 0xA7, 0x51, 0x1E, 0x83, 0x6D, 0x56, 0xE5, +0x85, 0xCA, 0x87, 0xBF, 0xAF, 0x88, 0x15, 0xAB, 0x31, 0x92, 0x48, 0x73, 0xC1, 0xE3, 0x6C, 0x9C, +0x65, 0xBE, 0x0C, 0x08, 0x52, 0xF4, 0x3D, 0x01, 0x50, 0xF3, 0x1F, 0xEA, 0xA7, 0x8D, 0x40, 0xCC, +0xC0, 0xCE, 0xF6, 0x0A, 0x6C, 0x7B, 0x70, 0xE4, 0xBF, 0x2B, 0x91, 0x9B, 0x7F, 0xD0, 0xC2, 0x53, +0x22, 0x5F, 0xFE, 0xBB, 0xC4, 0x4B, 0x35, 0xF6, 0x06, 0xC0, 0x21, 0x6A, 0x58, 0x1A, 0xA5, 0x09, +0x10, 0x12, 0x06, 0x9A, 0xD5, 0x2B, 0x52, 0xAC, 0x16, 0x17, 0xFE, 0x3A, 0xE0, 0xDF, 0xC9, 0xC0, +0xCD, 0xBF, 0x09, 0x96, 0xB7, 0x05, 0x40, 0x08, 0xBC, 0xBA, 0x01, 0xCD, 0xAA, 0x1D, 0xF8, 0xC6, +0x4D, 0x70, 0xA2, 0xF8, 0x43, 0xD9, 0x68, 0x23, 0x57, 0xDD, 0xFA, 0xE4, 0x25, 0xE0, 0x1A, 0xC6, +0xA1, 0x1A, 0x00, 0x6F, 0xC3, 0x01, 0x3D, 0x35, 0x85, 0x03, 0xF2, 0xD0, 0x55, 0x39, 0xC8, 0x0F, +0xBC, 0x20, 0x01, 0x5F, 0x0F, 0x80, 0x94, 0x33, 0xFF, 0xB5, 0xB1, 0x54, 0x3E, 0x0C, 0x7C, 0xFC, +0xC3, 0x02, 0xB4, 0x17, 0xEA, 0x75, 0x27, 0xCA, 0xD3, 0x3C, 0x4A, 0x0B, 0x07, 0x00, 0xE3, 0x42, +0x65, 0x5C, 0x5A, 0x2A, 0xB5, 0xC5, 0x92, 0x2E, 0x1C, 0x9B, 0xB5, 0xF8, 0x7C, 0x85, 0x00, 0x38, +0x1E, 0x67, 0x66, 0x04, 0x84, 0xFA, 0x0A, 0x40, 0x07, 0x01, 0xC3, 0x14, 0x01, 0x91, 0x21, 0xF0, +0x0F, 0xD2, 0x0C, 0x68, 0xD6, 0x83, 0x4C, 0x44, 0x06, 0x74, 0xF2, 0x4F, 0x9A, 0xE7, 0x2F, 0xBB, +0x91, 0x6B, 0xFF, 0xBB, 0x82, 0xB3, 0x71, 0x8C, 0x17, 0xCE, 0x2A, 0x81, 0x1F, 0x5A, 0xC9, 0x6F, +0xC9, 0xDE, 0x71, 0x09, 0x17, 0x22, 0x01, 0x9C, 0xBA, 0x7E, 0x80, 0x25, 0x50, 0xA6, 0x69, 0xE9, +0xC9, 0x80, 0x9D, 0x48, 0xD7, 0x9F, 0x87, 0x80, 0xB8, 0x05, 0x22, 0xAB, 0xBA, 0x6D, 0x27, 0xC0, +0x75, 0x3D, 0x15, 0x81, 0x40, 0x20, 0x0F, 0x95, 0xBC, 0x47, 0x43, 0xA9, 0xAA, 0xC3, 0xA3, 0xE9, +0xD4, 0x69, 0xC2, 0x0E, 0x07, 0xE2, 0x4E, 0xF5, 0xD7, 0x47, 0xA6, 0x52, 0x44, 0x5D, 0x65, 0xC0, +0x87, 0x28, 0x78, 0xDA, 0xF2, 0xCB, 0x0D, 0xC0, 0x57, 0xE1, 0x1F, 0x7F, 0x25, 0x0C, 0xCA, 0xC5, +0xBF, 0x49, 0x1B, 0x7A, 0x37, 0xF0, 0xF1, 0x0F, 0xA5, 0x19, 0xB0, 0xD1, 0xD7, 0x38, 0xA3, 0x97, +0x70, 0x9A, 0xC7, 0xA6, 0x0B, 0x28, 0x64, 0xC0, 0x06, 0x4B, 0x09, 0x00, 0x61, 0x9B, 0x80, 0xF1, +0x0A, 0x9B, 0x3A, 0x18, 0x04, 0x34, 0x85, 0xFD, 0x6F, 0x20, 0xE0, 0xC2, 0xB0, 0xD2, 0x07, 0x72, +0x00, 0x10, 0x44, 0x53, 0xE9, 0x06, 0xF7, 0x41, 0xBD, 0x7F, 0x20, 0xF9, 0x4F, 0xE5, 0x21, 0xE0, +0x52, 0xA5, 0x08, 0xB4, 0xF3, 0x9F, 0xAA, 0xEF, 0x00, 0x20, 0xF2, 0x1F, 0x2A, 0x0B, 0xD9, 0x19, +0x87, 0xBA, 0x01, 0xD8, 0x57, 0xC0, 0x26, 0xFE, 0xA0, 0x42, 0x14, 0x10, 0x48, 0xE2, 0xF1, 0xC8, +0x51, 0x1A, 0x61, 0xAD, 0x44, 0x79, 0xE4, 0x38, 0xB1, 0x0A, 0xFF, 0x5C, 0x04, 0xFC, 0xA0, 0xFC, +0x83, 0x2B, 0x00, 0xB4, 0x05, 0xE6, 0x69, 0x07, 0xA1, 0x13, 0xBE, 0x01, 0x7E, 0x42, 0x40, 0x2D, +0xE8, 0xC8, 0x11, 0x90, 0x72, 0x26, 0x40, 0x38, 0x21, 0xF2, 0x18, 0x00, 0x75, 0xA4, 0x9A, 0x32, +0x01, 0x56, 0xA1, 0xB7, 0xBF, 0x6B, 0x05, 0x1F, 0x20, 0x1F, 0xFF, 0x5E, 0x3D, 0x03, 0xCA, 0x3C, +0x1F, 0xFF, 0x26, 0x42, 0xC0, 0x8B, 0x81, 0xC5, 0x3F, 0x00, 0x50, 0xDC, 0xBD, 0x36, 0x4F, 0xD5, +0x39, 0x00, 0x88, 0x65, 0xED, 0xC8, 0x80, 0xE4, 0x5F, 0x61, 0x44, 0x40, 0x14, 0x26, 0x99, 0x19, +0xF0, 0x7C, 0xB5, 0xCD, 0x7F, 0x52, 0x63, 0x33, 0x02, 0x82, 0x7C, 0x24, 0xA0, 0xC9, 0xBF, 0xD0, +0x80, 0x40, 0x93, 0x7F, 0x24, 0xE0, 0xC6, 0x35, 0x03, 0x9D, 0xA9, 0x19, 0xD0, 0xCC, 0x7F, 0x0A, +0x40, 0x74, 0xD6, 0x3E, 0x18, 0x8D, 0x32, 0x09, 0xA8, 0xAF, 0x93, 0x64, 0xC0, 0x27, 0xD4, 0x85, +0xAA, 0x1E, 0xB7, 0xFC, 0x83, 0x89, 0x39, 0xA8, 0xE4, 0x03, 0x19, 0x87, 0x63, 0x11, 0x14, 0x40, +0xC7, 0x43, 0xF5, 0x99, 0x02, 0xCB, 0x04, 0x6B, 0x05, 0x4A, 0x4D, 0xFE, 0xC9, 0xD9, 0x57, 0x3D, +0x70, 0xF0, 0x6F, 0x82, 0x82, 0x09, 0x40, 0x83, 0x52, 0xB2, 0xED, 0x0D, 0x0C, 0x7C, 0x0C, 0x10, +0xC4, 0x60, 0x73, 0x1F, 0x98, 0x62, 0x06, 0xB4, 0x62, 0xE0, 0xD1, 0x09, 0xC8, 0x3B, 0xBC, 0xB7, +0x1F, 0x65, 0x40, 0xDD, 0x56, 0x12, 0xE0, 0x94, 0xDB, 0x60, 0x83, 0x81, 0x2D, 0xFA, 0xB8, 0x19, +0x10, 0x7A, 0xC5, 0x0C, 0x38, 0x42, 0xC1, 0x90, 0xCD, 0x3F, 0x18, 0x65, 0x67, 0xC0, 0xC1, 0x66, +0xED, 0x69, 0x04, 0xB4, 0x32, 0x60, 0x99, 0x63, 0x53, 0x23, 0x08, 0x14, 0x02, 0xDA, 0x00, 0xE4, +0x26, 0xB8, 0xAC, 0x35, 0x54, 0x3C, 0x39, 0x6E, 0xBC, 0xFC, 0xB7, 0xE1, 0x1F, 0x9C, 0x61, 0xE0, +0xC8, 0x7F, 0x24, 0xA0, 0x21, 0x22, 0xB0, 0x19, 0x80, 0x7A, 0xFD, 0x2F, 0x88, 0xB8, 0xDB, 0x1B, +0x00, 0x39, 0xD1, 0xC8, 0x80, 0xC4, 0x9F, 0xBD, 0x0B, 0x5E, 0xEC, 0xA8, 0x6F, 0xE6, 0xBF, 0x60, +0x10, 0x70, 0x4F, 0xF0, 0x63, 0x07, 0xFE, 0x85, 0xD7, 0x5F, 0xA1, 0xB7, 0x75, 0x48, 0x80, 0x30, +0x29, 0x58, 0x50, 0x0D, 0xF0, 0x13, 0x97, 0x51, 0x70, 0x6E, 0xE6, 0xBF, 0xB0, 0x04, 0x2D, 0x02, +0x0E, 0xE6, 0x92, 0xFF, 0xB6, 0xD5, 0x00, 0xC0, 0x5A, 0x88, 0xDD, 0x90, 0x72, 0x42, 0x40, 0x4E, +0x78, 0xC1, 0x0C, 0xB8, 0xB6, 0xF3, 0x9F, 0x36, 0xED, 0x89, 0x3D, 0x46, 0x3F, 0x8C, 0x82, 0xA6, +0xEA, 0x27, 0xB5, 0xEA, 0x3B, 0x7A, 0xD6, 0xFA, 0x7F, 0x08, 0xE8, 0xCA, 0x80, 0xB3, 0x91, 0x4E, +0xF5, 0xF1, 0x0F, 0xD5, 0x9E, 0x37, 0xAE, 0xAA, 0x93, 0x13, 0x12, 0xB0, 0x1B, 0x35, 0xE6, 0xBF, +0x34, 0xDF, 0xD0, 0x0F, 0x7D, 0x6A, 0x10, 0x50, 0x44, 0x02, 0x36, 0x06, 0x40, 0xE2, 0x0F, 0x19, +0x70, 0x5C, 0xB3, 0x4B, 0xD3, 0xCA, 0x20, 0xC5, 0xDF, 0x18, 0xBE, 0xBC, 0xB3, 0xF2, 0x1F, 0xD5, +0x78, 0x01, 0xF0, 0x5B, 0xA0, 0x9F, 0xB9, 0x0B, 0x16, 0xFE, 0x35, 0x10, 0x90, 0x4F, 0x70, 0x03, +0xFC, 0x43, 0x7B, 0xFB, 0x06, 0x08, 0xD4, 0x7C, 0x23, 0x44, 0x4D, 0x99, 0x04, 0xDC, 0xA0, 0x2F, +0x10, 0x30, 0x7E, 0x9E, 0x00, 0xD9, 0xED, 0x9E, 0x82, 0xA8, 0x27, 0x04, 0x92, 0x82, 0x29, 0xF9, +0x67, 0x11, 0xB0, 0xC8, 0xD3, 0x00, 0x40, 0xA8, 0x99, 0x80, 0xDD, 0xDD, 0x53, 0xB0, 0xC5, 0xBF, +0x09, 0x8B, 0x00, 0xB4, 0x08, 0xC5, 0x3B, 0xB8, 0xE8, 0xF5, 0x91, 0x8E, 0xB4, 0x7B, 0x9E, 0x02, +0x8F, 0xAF, 0x53, 0x2F, 0x03, 0x89, 0xBD, 0x84, 0x2C, 0x64, 0x00, 0xDC, 0xC5, 0xA0, 0x81, 0x3F, +0x7A, 0x7A, 0x54, 0x02, 0x52, 0xFF, 0x98, 0x7F, 0xCC, 0x7F, 0x38, 0xC8, 0x4C, 0x83, 0x7F, 0x4F, +0x05, 0x35, 0x6D, 0x82, 0xBB, 0x02, 0x40, 0xBA, 0x69, 0xA1, 0x6A, 0xF8, 0x0B, 0x4E, 0x73, 0x9B, +0x7F, 0x24, 0x60, 0x43, 0x00, 0x2C, 0x2A, 0x8E, 0x6B, 0x76, 0x69, 0x62, 0xDD, 0xD0, 0x49, 0x9F, +0xE9, 0xC8, 0xC8, 0x7F, 0x54, 0xBF, 0x7E, 0x13, 0x1C, 0xD8, 0xC8, 0x10, 0xE6, 0xFF, 0x75, 0x80, +0xE0, 0x5C, 0xDD, 0x25, 0x40, 0xF0, 0x8F, 0xFA, 0x61, 0xEC, 0x82, 0x37, 0x9F, 0x9A, 0x39, 0x70, +0xB1, 0x8F, 0x82, 0xAA, 0x45, 0x95, 0xEB, 0x4D, 0xF9, 0x6F, 0x8B, 0xBE, 0x15, 0xCC, 0x5D, 0xF0, +0x33, 0xF4, 0xA9, 0xAB, 0x19, 0x7C, 0x58, 0xEE, 0x89, 0x80, 0xAA, 0x90, 0xFF, 0xA8, 0x5D, 0xFA, +0xF1, 0x10, 0xF2, 0x1F, 0x17, 0x4B, 0xDE, 0x78, 0x23, 0x44, 0xF7, 0xBF, 0xB4, 0x97, 0x7F, 0xB0, +0x9D, 0x00, 0x85, 0x67, 0x3C, 0xE8, 0xF6, 0xF7, 0xA6, 0x26, 0x01, 0x72, 0x9A, 0xA9, 0xC3, 0x32, +0xE0, 0xA7, 0xE6, 0x0C, 0xB8, 0x86, 0x39, 0x4E, 0x48, 0x3D, 0x28, 0xD9, 0x7D, 0x30, 0x75, 0x27, +0xC0, 0x6A, 0x00, 0x9C, 0xFD, 0xA1, 0xEE, 0x6C, 0x5A, 0x23, 0xAB, 0x82, 0x30, 0xAC, 0x32, 0x82, +0x38, 0x24, 0x48, 0xE3, 0xC4, 0x8F, 0xD5, 0x2C, 0x0C, 0xBD, 0x71, 0xE1, 0xC6, 0x10, 0x10, 0x02, +0xC1, 0x5D, 0x16, 0xCE, 0x2E, 0x04, 0x12, 0x70, 0x91, 0xED, 0xCC, 0x4A, 0x04, 0x71, 0x97, 0x45, +0x18, 0x5C, 0x06, 0x37, 0x99, 0x75, 0xF0, 0x07, 0xB8, 0x08, 0xFE, 0x3D, 0xAB, 0xEA, 0xDE, 0xF2, +0xC9, 0x49, 0x75, 0xA5, 0x2A, 0xDA, 0xAD, 0xE3, 0x5B, 0xA7, 0xCF, 0x3D, 0xF7, 0x76, 0xEB, 0xC4, +0x9E, 0xEE, 0x27, 0xEF, 0x39, 0x55, 0xE7, 0x7A, 0xBC, 0xCE, 0x75, 0x40, 0xF8, 0xB7, 0xA9, 0xA8, +0x74, 0x64, 0x8F, 0x87, 0x3D, 0xE0, 0xF4, 0x19, 0xA1, 0xE5, 0x1E, 0x90, 0x4F, 0x5E, 0xE5, 0x01, +0x85, 0x7F, 0xE0, 0xCF, 0x3C, 0x60, 0x6E, 0x01, 0x03, 0x01, 0x33, 0x59, 0x02, 0x78, 0x30, 0x20, +0xFE, 0xC5, 0x8C, 0x06, 0xD0, 0xDD, 0xCC, 0xE4, 0x6B, 0x1E, 0xF4, 0x80, 0xE7, 0xF7, 0x94, 0x12, +0xD0, 0xE1, 0x23, 0xAD, 0x5C, 0x06, 0xD4, 0xE5, 0xBC, 0x41, 0x02, 0xBC, 0xC4, 0x00, 0xFA, 0x0B, +0x51, 0x6A, 0xFF, 0x2E, 0x07, 0x02, 0x83, 0xC0, 0x28, 0x25, 0x79, 0xD7, 0x03, 0x1A, 0xF4, 0xFC, +0x97, 0x85, 0x34, 0x27, 0x60, 0x44, 0xE0, 0x22, 0x54, 0xA5, 0x47, 0x0B, 0x68, 0x3C, 0xC4, 0xFF, +0x21, 0x63, 0x5D, 0x64, 0xA0, 0x7C, 0x02, 0x96, 0x82, 0x3F, 0x02, 0x02, 0xA6, 0xFC, 0x23, 0x72, +0xFE, 0xBD, 0xF8, 0x70, 0x24, 0x20, 0x00, 0x2C, 0xE9, 0x74, 0x40, 0x1A, 0x04, 0xFD, 0xE1, 0x24, +0x44, 0x1B, 0x31, 0x80, 0x5F, 0x15, 0xCB, 0x7F, 0x64, 0x41, 0x86, 0x79, 0xAF, 0x0F, 0x75, 0x44, +0x0F, 0x06, 0xBB, 0x06, 0xF0, 0xE4, 0x64, 0x8D, 0x04, 0x44, 0xFF, 0x22, 0x00, 0xF1, 0x7F, 0x3E, +0xB2, 0x47, 0xCE, 0xBF, 0x7B, 0x00, 0xCC, 0x0B, 0xA2, 0x0F, 0xFD, 0x53, 0xC7, 0x24, 0x44, 0x08, +0x98, 0xF8, 0xBF, 0xED, 0x31, 0x96, 0x17, 0x8B, 0x0A, 0x80, 0x68, 0xF9, 0x6D, 0x65, 0x00, 0x3D, +0x76, 0xBE, 0x0B, 0xDF, 0x54, 0x69, 0x8B, 0x6B, 0x26, 0x74, 0x6A, 0x6C, 0x8C, 0x84, 0xB5, 0xFF, +0xC3, 0x03, 0x16, 0x22, 0x09, 0x91, 0x2F, 0x00, 0x06, 0x8D, 0xB6, 0x2F, 0xF2, 0x8F, 0x39, 0xF0, +0xCD, 0x9B, 0x34, 0xFF, 0x31, 0x22, 0x98, 0xBD, 0x29, 0x79, 0x02, 0x04, 0x3D, 0xE8, 0xFF, 0x54, +0xFE, 0x4E, 0xED, 0xA5, 0x06, 0x90, 0x37, 0x3E, 0x78, 0x40, 0x3A, 0x13, 0xFC, 0x43, 0xD9, 0x02, +0xE0, 0x36, 0xB3, 0x05, 0x0D, 0x2D, 0x07, 0xAC, 0xF8, 0x47, 0x64, 0x05, 0x80, 0xE0, 0x0F, 0x02, +0x6E, 0xD5, 0x59, 0xE0, 0xC8, 0xB8, 0x03, 0x6B, 0x71, 0x02, 0xBC, 0xC1, 0x5C, 0x70, 0xB9, 0xFC, +0x67, 0x1D, 0x0C, 0x74, 0xC0, 0x41, 0xC4, 0x63, 0xD0, 0xC7, 0x85, 0xE8, 0xFD, 0xA4, 0x05, 0x03, +0x78, 0xBC, 0xCE, 0x5C, 0xF0, 0x7F, 0x82, 0x40, 0x28, 0x68, 0x21, 0xCD, 0x5E, 0x98, 0x4F, 0x80, +0x2B, 0x02, 0x92, 0x00, 0x8E, 0x04, 0x4C, 0xCA, 0xA1, 0x27, 0xFF, 0x47, 0x2C, 0x97, 0xDB, 0x2F, +0x9F, 0x57, 0xF8, 0xC3, 0x03, 0xFE, 0x96, 0x38, 0xC0, 0x97, 0x21, 0xE2, 0xB7, 0xD4, 0xC2, 0xBE, +0xCC, 0xE6, 0xFF, 0xAA, 0x75, 0x40, 0x8C, 0x52, 0x91, 0x08, 0x39, 0x0F, 0xF4, 0x31, 0x1E, 0xBD, +0x69, 0xF8, 0x3F, 0x66, 0xC1, 0x09, 0xFF, 0x9A, 0x1E, 0x10, 0xE6, 0x91, 0x09, 0x11, 0xD4, 0xC5, +0xD5, 0x40, 0x9D, 0xFF, 0x46, 0xE5, 0xF9, 0x8F, 0x6B, 0x0D, 0xDE, 0x29, 0x29, 0x88, 0x5E, 0xF0, +0x8E, 0xD2, 0xAD, 0xDC, 0x99, 0x88, 0x01, 0xC4, 0x02, 0xE2, 0xFF, 0x06, 0x05, 0xFC, 0x79, 0x01, +0xCC, 0x18, 0xC2, 0xC3, 0xA7, 0x09, 0xFF, 0x42, 0xE8, 0x5D, 0xA1, 0x11, 0xFC, 0x0B, 0x9F, 0x6A, +0xBD, 0x00, 0x00, 0x0B, 0x2C, 0x1D, 0xFC, 0xC1, 0x63, 0x22, 0x9F, 0x23, 0x30, 0x30, 0x70, 0x13, +0x2A, 0x96, 0xFF, 0x42, 0x1A, 0xE4, 0x0B, 0x6B, 0x24, 0x81, 0x21, 0x1E, 0x18, 0xEC, 0x19, 0x40, +0xB1, 0x7F, 0x27, 0x6B, 0x2C, 0x88, 0xFE, 0xCF, 0x00, 0x78, 0x84, 0xF3, 0xB3, 0x3B, 0x42, 0x1B, +0x04, 0x4B, 0xFE, 0xD1, 0x20, 0xE0, 0x58, 0x00, 0x78, 0x3F, 0x92, 0x72, 0x40, 0xE6, 0xBF, 0x23, +0x01, 0x6B, 0xFE, 0xE5, 0xB9, 0x60, 0xB3, 0x1B, 0x2F, 0x43, 0x2C, 0xC2, 0xD7, 0x74, 0x2A, 0x80, +0xF6, 0xE9, 0xEF, 0x35, 0x3E, 0x10, 0x02, 0xE6, 0xF3, 0x5F, 0x08, 0x98, 0x17, 0x00, 0x32, 0xC8, +0x12, 0x21, 0x6F, 0xDC, 0xCE, 0x8D, 0x1A, 0x56, 0x00, 0x13, 0xFF, 0xE7, 0x87, 0xC4, 0xFF, 0x05, +0x08, 0xAF, 0xD6, 0xF9, 0x95, 0x01, 0xB0, 0x26, 0xE0, 0x95, 0x4D, 0x80, 0x27, 0xBF, 0xCC, 0x40, +0xDE, 0xBB, 0x7B, 0x0E, 0x90, 0x04, 0x70, 0x62, 0x01, 0xBF, 0xA5, 0xC7, 0xFF, 0x35, 0x2C, 0xE0, +0x73, 0xE6, 0xBF, 0x84, 0x17, 0xC3, 0xC4, 0x0D, 0x20, 0x91, 0x80, 0x78, 0x40, 0xF4, 0x6C, 0x97, +0xF9, 0xEF, 0xE0, 0x01, 0x6B, 0x07, 0xC8, 0x32, 0x20, 0x33, 0xE0, 0x83, 0x24, 0x05, 0xF2, 0xAF, +0xA5, 0x82, 0xA1, 0x1F, 0x63, 0xE7, 0xA0, 0x63, 0x2F, 0xAC, 0x04, 0x1E, 0x8F, 0x0E, 0x50, 0x5A, +0x6B, 0x05, 0x50, 0x9A, 0x0C, 0xFF, 0x3F, 0x04, 0x4C, 0x04, 0xFE, 0xAC, 0xA5, 0x99, 0x90, 0xF8, +0x29, 0xA1, 0x1C, 0x30, 0xE7, 0x1F, 0xB1, 0xDA, 0x03, 0x5E, 0x9C, 0x6D, 0x47, 0x02, 0x6A, 0x2A, +0xB8, 0x0D, 0x40, 0x72, 0xC1, 0x08, 0xFE, 0x11, 0x72, 0x75, 0xC5, 0x57, 0x75, 0x9A, 0xCE, 0xF1, +0x85, 0x96, 0x60, 0x4B, 0x48, 0xEE, 0xFF, 0x20, 0xE0, 0x55, 0x24, 0x20, 0xCC, 0xE1, 0x68, 0xC3, +0x32, 0xFF, 0x81, 0x62, 0x15, 0x20, 0x05, 0x30, 0x40, 0xD0, 0xBA, 0x15, 0x58, 0x0D, 0xE8, 0xB5, +0x2E, 0x4C, 0x81, 0x35, 0x30, 0x80, 0xA3, 0x22, 0xFF, 0xE6, 0x04, 0x88, 0xDB, 0xE5, 0x69, 0x2C, +0x47, 0xC1, 0x5D, 0x58, 0x58, 0xE0, 0x7D, 0x1F, 0x08, 0x38, 0x18, 0x40, 0x0A, 0x00, 0x6B, 0x02, +0x5A, 0x5C, 0x60, 0x00, 0xA9, 0x84, 0x81, 0x80, 0xEC, 0xFF, 0xF0, 0x02, 0xE8, 0x40, 0xC0, 0xF8, +0x51, 0xB5, 0x02, 0xE8, 0x55, 0x16, 0x10, 0x00, 0xB6, 0xB8, 0x84, 0x07, 0x04, 0x7F, 0x25, 0xF4, +0xD6, 0x62, 0x0B, 0x1F, 0x2C, 0x82, 0x66, 0x1E, 0xAC, 0xA1, 0xBA, 0xA5, 0xFE, 0x0F, 0xE3, 0xE7, +0x7A, 0xE5, 0x29, 0x91, 0xD6, 0x0A, 0xA0, 0x3C, 0xD6, 0x58, 0x10, 0xBD, 0x69, 0x02, 0x0A, 0xDC, +0xA2, 0x20, 0xDF, 0xCC, 0xC1, 0x2D, 0xF5, 0x7F, 0x1A, 0x4D, 0xFF, 0xB7, 0xB2, 0x1C, 0x10, 0xFE, +0xE5, 0x1E, 0x90, 0x0D, 0x20, 0xDB, 0x31, 0x74, 0x4B, 0xC8, 0xFD, 0x5B, 0xC3, 0xBC, 0x4C, 0xF5, +0x6D, 0xEA, 0xFF, 0x6A, 0x0F, 0x38, 0x7C, 0x9B, 0x6D, 0x38, 0x87, 0x7C, 0xE3, 0x4B, 0xFF, 0x87, +0x07, 0x44, 0x20, 0x87, 0x23, 0x5A, 0xE1, 0xFF, 0x6E, 0xA0, 0xD9, 0x20, 0x00, 0x18, 0xF9, 0xF7, +0xDA, 0xFE, 0xB1, 0xBC, 0x20, 0xFA, 0x72, 0xFA, 0x73, 0x63, 0x22, 0x66, 0x82, 0x1E, 0x2D, 0xE5, +0x9F, 0x5C, 0x8F, 0x13, 0x60, 0xA6, 0xBE, 0xD2, 0xEE, 0xE4, 0xCE, 0xC3, 0xEF, 0x15, 0xFC, 0x5F, +0x20, 0xE0, 0x68, 0x00, 0x49, 0x00, 0x47, 0x85, 0x29, 0xF0, 0xB4, 0x01, 0x24, 0x84, 0xAC, 0x0B, +0xAE, 0x2A, 0x00, 0x2C, 0x09, 0x08, 0xFF, 0x5E, 0xC4, 0x26, 0xE1, 0x00, 0xAC, 0xE4, 0xBB, 0x80, +0x15, 0x81, 0xD2, 0xA5, 0xF4, 0xFB, 0xB7, 0x52, 0xC1, 0x6C, 0x01, 0x66, 0x05, 0x90, 0x07, 0x0E, +0x50, 0x07, 0xC1, 0x01, 0xFA, 0x85, 0x88, 0x3F, 0x69, 0x63, 0x1C, 0xAB, 0x0B, 0xB4, 0xD1, 0x23, +0xF4, 0x1F, 0xF2, 0xCF, 0xFE, 0xEC, 0xD5, 0x0C, 0x3C, 0x39, 0x9A, 0x07, 0x7E, 0x80, 0x80, 0xC3, +0x06, 0x90, 0x94, 0x80, 0x87, 0xA1, 0x00, 0x3A, 0x25, 0xE0, 0x5D, 0x0F, 0xB8, 0x8F, 0xFF, 0x1B, +0xF1, 0xB7, 0x62, 0x4B, 0x08, 0xAA, 0x73, 0xC1, 0xF9, 0xED, 0xB1, 0x16, 0xAC, 0xD9, 0x9B, 0x6F, +0xB9, 0x63, 0xFB, 0xF8, 0x76, 0x4F, 0x86, 0x10, 0x00, 0x92, 0x00, 0xC9, 0x14, 0xD6, 0xFF, 0x82, +0x01, 0xF4, 0xB3, 0x50, 0x00, 0xE8, 0x40, 0x8B, 0xBA, 0xB7, 0xFE, 0x07, 0xF1, 0xD0, 0x6B, 0x08, +0x18, 0x37, 0x80, 0x58, 0x73, 0x71, 0x46, 0x2E, 0x18, 0xFE, 0xB5, 0x3C, 0xA0, 0xAF, 0x13, 0xF8, +0xFB, 0x25, 0x43, 0x95, 0x8D, 0x46, 0x0B, 0xB8, 0xC8, 0xFF, 0x06, 0x58, 0xFC, 0x33, 0xA5, 0xFE, +0x8F, 0x62, 0x18, 0x0F, 0xDB, 0x00, 0xB2, 0x32, 0xA2, 0x07, 0x0C, 0xF0, 0xA3, 0x1C, 0xF0, 0xD9, +0x08, 0x40, 0xDD, 0x00, 0x92, 0x11, 0xB0, 0x5E, 0x03, 0x44, 0x86, 0xC0, 0xA4, 0x16, 0x1A, 0x6D, +0x26, 0x15, 0x5C, 0x64, 0x42, 0xA4, 0xB7, 0xD0, 0x81, 0xD3, 0x8F, 0x51, 0x70, 0x80, 0x5C, 0xC8, +0xF0, 0x07, 0x02, 0xD7, 0xB8, 0x29, 0x0E, 0xFD, 0x9B, 0xCB, 0x80, 0xAC, 0xFF, 0x39, 0x02, 0xED, +0x68, 0x5D, 0x91, 0x00, 0xA6, 0x41, 0x40, 0xE6, 0xBF, 0xE9, 0x07, 0x70, 0xFF, 0x1E, 0xFF, 0x58, +0xD5, 0x19, 0x22, 0x6E, 0x09, 0x79, 0x50, 0x4B, 0xDC, 0xDF, 0x12, 0xFE, 0xE5, 0x04, 0x64, 0x03, +0xF0, 0xDD, 0xB9, 0xAF, 0xB3, 0x6F, 0xFE, 0x76, 0x27, 0xFC, 0x2B, 0xD7, 0x01, 0x73, 0x03, 0x18, +0x8A, 0x61, 0x02, 0xD1, 0x72, 0x0F, 0x78, 0x33, 0x60, 0x8F, 0xE3, 0x4D, 0xDC, 0x12, 0xC2, 0x9F, +0x0B, 0x7A, 0x39, 0x31, 0xDF, 0xA7, 0x51, 0xF1, 0xCF, 0x3D, 0x20, 0x09, 0x10, 0x8A, 0x5F, 0xDC, +0x0C, 0x4A, 0x18, 0x07, 0xE1, 0x1F, 0xFE, 0xAF, 0x98, 0x05, 0xCF, 0x7F, 0x5F, 0x0F, 0xC9, 0xAC, +0x9F, 0x37, 0x0A, 0x00, 0x73, 0x0F, 0x88, 0xFF, 0xCB, 0x02, 0x02, 0xB2, 0x01, 0x24, 0x6B, 0x00, +0xB0, 0xEB, 0x03, 0x21, 0xA0, 0x1F, 0xFE, 0x8B, 0x75, 0x40, 0xE6, 0xBE, 0x9C, 0x63, 0x01, 0xC9, +0x05, 0xEB, 0x21, 0x75, 0x80, 0x71, 0x16, 0x1C, 0xE3, 0x64, 0x9D, 0xDB, 0x82, 0xFF, 0x75, 0x04, +0x42, 0xC1, 0xAD, 0x99, 0x82, 0x40, 0xF0, 0x88, 0x1B, 0x23, 0xE4, 0xF3, 0xDF, 0xB8, 0x25, 0xC4, +0x0B, 0xA0, 0x73, 0x02, 0xEA, 0xB6, 0xE0, 0x6D, 0xF8, 0xC7, 0x04, 0x38, 0xF1, 0x80, 0x01, 0x7F, +0xF5, 0x3A, 0x20, 0xF3, 0xDF, 0x62, 0x1D, 0x50, 0xF8, 0x47, 0x55, 0x2F, 0x0C, 0x64, 0x89, 0x1F, +0x0F, 0xC8, 0x04, 0x38, 0x25, 0x20, 0x71, 0x2F, 0xF5, 0x3B, 0x34, 0x51, 0xF4, 0x7F, 0x72, 0x48, +0x3C, 0x60, 0x96, 0x00, 0xF6, 0x97, 0x73, 0x3A, 0xFA, 0x3F, 0x7E, 0x80, 0xDC, 0x01, 0xC2, 0xBF, +0x16, 0x01, 0xFD, 0xD7, 0x83, 0x85, 0xFB, 0x40, 0xDE, 0xAD, 0xB0, 0x01, 0x38, 0x0B, 0x79, 0x92, +0xBD, 0xC0, 0x2F, 0x0B, 0xDD, 0xF1, 0x7F, 0x5A, 0x00, 0xB3, 0x9D, 0xC6, 0x45, 0xE9, 0xFF, 0xF0, +0x80, 0x3D, 0xFE, 0xE1, 0x00, 0x6B, 0x1E, 0xB1, 0xFA, 0x27, 0xC3, 0x8C, 0x74, 0x9B, 0x74, 0x83, +0xC1, 0x03, 0x86, 0x22, 0x40, 0x9E, 0x22, 0x17, 0x0C, 0x06, 0x83, 0x03, 0xE4, 0x40, 0xF6, 0x23, +0x71, 0x80, 0x6B, 0x22, 0x20, 0xDA, 0x2C, 0x01, 0x83, 0xFF, 0x63, 0x6C, 0x3D, 0xE7, 0x78, 0xC0, +0x2D, 0xF7, 0x7F, 0x59, 0x3B, 0x82, 0x80, 0x6C, 0x00, 0xC9, 0xE2, 0xAF, 0xF5, 0x3F, 0xD9, 0xF3, +0xC1, 0x2F, 0xF5, 0x18, 0xCB, 0x3B, 0xE5, 0x80, 0xA5, 0xE6, 0xEF, 0x15, 0xEB, 0x7F, 0x79, 0x2C, +0xBE, 0x9B, 0x37, 0xAA, 0x32, 0xE5, 0x25, 0x11, 0x42, 0x32, 0x58, 0x2F, 0x94, 0xFE, 0x0F, 0x02, +0x02, 0x17, 0xC7, 0x1E, 0x42, 0xE3, 0xAE, 0xE0, 0x37, 0x4E, 0xAF, 0x4C, 0xE4, 0x3F, 0x32, 0xFF, +0xF7, 0x3A, 0xAE, 0x03, 0xE2, 0xF6, 0x82, 0x03, 0xF4, 0xE1, 0x79, 0xC5, 0x3F, 0xD7, 0x50, 0x00, +0x48, 0xA1, 0xF8, 0x80, 0xC0, 0xE9, 0x18, 0x36, 0x80, 0x14, 0x1E, 0xD0, 0xEF, 0x80, 0x55, 0x08, +0x07, 0x48, 0x01, 0x20, 0x41, 0x9C, 0x2D, 0x43, 0x01, 0x60, 0x1E, 0xBB, 0xCF, 0x4A, 0xFE, 0x59, +0xEB, 0xAE, 0x01, 0x92, 0x03, 0xC1, 0x00, 0x66, 0xAA, 0x9F, 0x87, 0xB9, 0x7D, 0x7D, 0x2E, 0x8F, +0x68, 0xF8, 0x24, 0xB8, 0x84, 0x2F, 0xFC, 0x9C, 0x5C, 0x70, 0xEE, 0x00, 0x2D, 0xA8, 0x00, 0xAC, +0xE3, 0x11, 0x7A, 0x9B, 0x1C, 0xE0, 0x89, 0xF9, 0x3D, 0x77, 0x80, 0x76, 0xCA, 0x32, 0x20, 0x1E, +0x30, 0xF7, 0x7F, 0x6C, 0x8A, 0x6B, 0xF2, 0x4F, 0x3D, 0xA0, 0xF3, 0xEF, 0xC1, 0xCF, 0xB4, 0x7A, +0x40, 0xB7, 0x80, 0x0D, 0x2D, 0xDD, 0xFF, 0xB1, 0x03, 0x21, 0xF1, 0x80, 0xEE, 0x55, 0xFE, 0x2A, +0x67, 0x23, 0x11, 0x32, 0x8D, 0x70, 0x37, 0xEE, 0x01, 0x01, 0x45, 0x41, 0xC0, 0x73, 0x70, 0xF3, +0x53, 0x68, 0xEC, 0x0A, 0xC6, 0xFF, 0x41, 0x3F, 0x46, 0x81, 0x80, 0xC1, 0xFF, 0x71, 0x40, 0xF8, +0x3F, 0x32, 0x1E, 0xD9, 0x22, 0xA0, 0x06, 0x1B, 0xE0, 0x0A, 0x0F, 0xC8, 0xFC, 0x17, 0x08, 0xF2, +0xAB, 0xC2, 0x1E, 0x7A, 0xC1, 0x0D, 0x20, 0x6F, 0x75, 0x12, 0x9E, 0x04, 0x59, 0x96, 0xFC, 0xE3, +0xD6, 0x30, 0x2C, 0x15, 0x67, 0x39, 0xB3, 0x65, 0xC9, 0x3F, 0xE2, 0x19, 0x05, 0x30, 0x1D, 0x07, +0x78, 0xDB, 0xE4, 0x20, 0x2B, 0x81, 0xD5, 0x2B, 0x37, 0x20, 0xF0, 0x17, 0xEA, 0x00, 0x81, 0xA1, +0x1E, 0x33, 0xA7, 0x37, 0x5E, 0xE7, 0x08, 0xFF, 0x36, 0x4A, 0xC0, 0x7F, 0xCF, 0x02, 0x1E, 0xDD, +0xF5, 0x7F, 0xD1, 0x01, 0xDA, 0xD5, 0x13, 0x3F, 0x57, 0x6D, 0xA5, 0xF9, 0x8F, 0xB1, 0x20, 0x1A, +0xFE, 0x15, 0xE1, 0x37, 0x40, 0x70, 0xFA, 0x65, 0xE1, 0xE5, 0x80, 0xA8, 0xB4, 0x80, 0x18, 0xC0, +0x3C, 0xAC, 0x20, 0x5A, 0x66, 0xC2, 0x36, 0xAB, 0x23, 0x66, 0x08, 0xB2, 0xCF, 0x55, 0x07, 0xF8, +0xBF, 0x42, 0x57, 0xD3, 0x92, 0x5A, 0xA0, 0x0D, 0xE2, 0xBA, 0x72, 0x4A, 0x1E, 0x81, 0x69, 0x09, +0x01, 0x73, 0xFF, 0x37, 0xAE, 0x05, 0xB2, 0x01, 0x24, 0xB1, 0x80, 0x9C, 0xC0, 0xBF, 0x4A, 0x6C, +0x00, 0x61, 0xB9, 0xD4, 0x27, 0xC3, 0xD8, 0x65, 0x6B, 0x3B, 0xB5, 0xFF, 0xC3, 0x03, 0xDA, 0xA8, +0x23, 0xBB, 0x4B, 0x7E, 0xE1, 0xFF, 0xD8, 0x12, 0x02, 0xFF, 0x4A, 0x02, 0x1E, 0x52, 0x00, 0x58, +0xAC, 0x01, 0xB6, 0x65, 0x64, 0x3B, 0xD0, 0x3E, 0xF5, 0x82, 0x9B, 0x48, 0x05, 0x7F, 0x65, 0x1E, +0x30, 0xAE, 0x00, 0xFA, 0x23, 0x66, 0x82, 0x73, 0x07, 0x68, 0xE3, 0x60, 0x01, 0x5B, 0xD1, 0xD7, +0xD6, 0x7F, 0x49, 0xC0, 0x41, 0x94, 0xBF, 0xD8, 0x68, 0x4B, 0x3B, 0x32, 0x23, 0xF2, 0x62, 0x9D, +0xFF, 0x4E, 0x29, 0xB1, 0xA2, 0x1D, 0x19, 0x01, 0x6D, 0x03, 0x48, 0x15, 0xD3, 0x2C, 0x78, 0x49, +0x02, 0x98, 0x08, 0x05, 0xD1, 0x17, 0x10, 0xB0, 0xE9, 0x01, 0x5F, 0x36, 0x62, 0x2A, 0x00, 0x74, +0x17, 0x33, 0x96, 0x76, 0x58, 0x50, 0x1C, 0xCD, 0xFA, 0x5F, 0xA9, 0x80, 0xBE, 0x60, 0x00, 0x5D, +0xE6, 0xD5, 0x6E, 0x42, 0x01, 0x4C, 0xE2, 0x01, 0x83, 0xFF, 0x8B, 0x63, 0x3C, 0x20, 0x7F, 0x74, +0xFC, 0x59, 0x78, 0x0A, 0xFE, 0xB5, 0x08, 0xE8, 0xBF, 0x14, 0xA8, 0x93, 0x24, 0x11, 0xC2, 0x1E, +0x6A, 0xFC, 0x5F, 0x0D, 0xC0, 0x97, 0xF8, 0xBF, 0x42, 0x8B, 0x97, 0xCF, 0xD9, 0x00, 0x92, 0xC6, +0x52, 0xE3, 0xAF, 0x3B, 0x40, 0xA7, 0x41, 0x41, 0xF4, 0x29, 0xFC, 0x2B, 0x1C, 0xE0, 0x6D, 0x97, +0x7E, 0x9E, 0x04, 0x09, 0x5D, 0xD0, 0x26, 0x2D, 0x20, 0x56, 0x2F, 0x58, 0x41, 0x0C, 0xA2, 0x41, +0xAF, 0xE5, 0x00, 0xE1, 0x5F, 0x19, 0xEB, 0xB0, 0x80, 0x9B, 0x27, 0xA0, 0x96, 0xF9, 0xC5, 0xF5, +0xBF, 0x70, 0xB2, 0x35, 0x3F, 0xBF, 0x45, 0x02, 0xA4, 0x6C, 0x9E, 0x00, 0xAE, 0xC2, 0x08, 0x18, +0xE6, 0xBF, 0x79, 0x39, 0x60, 0x17, 0x80, 0xDF, 0x2E, 0x49, 0x80, 0x14, 0xA1, 0x05, 0x80, 0x7B, +0x58, 0x19, 0x6C, 0xA0, 0x0F, 0x70, 0x3B, 0x4D, 0xFE, 0x19, 0x4E, 0x02, 0xF9, 0x10, 0xD7, 0x27, +0x02, 0x66, 0x93, 0xD9, 0x48, 0xC0, 0x6A, 0xFD, 0xCF, 0xC7, 0x76, 0x8F, 0xFC, 0x4B, 0x92, 0x2F, +0xF1, 0x67, 0x21, 0x0F, 0xC3, 0x02, 0x60, 0x67, 0x12, 0x6C, 0x98, 0x83, 0x7A, 0xBC, 0x61, 0xBC, +0x77, 0xF6, 0x12, 0x12, 0xC0, 0x35, 0x01, 0xE1, 0x5F, 0xBD, 0x0C, 0x68, 0xA5, 0x02, 0x65, 0x5C, +0x9C, 0x25, 0x1B, 0x40, 0x92, 0x72, 0x40, 0xF8, 0x97, 0xB5, 0x77, 0x60, 0x5F, 0x47, 0xDC, 0x1D, +0x9A, 0x2D, 0x71, 0x41, 0x1B, 0x4D, 0x05, 0x63, 0xFC, 0x30, 0x82, 0xE3, 0x15, 0x67, 0xA0, 0xD1, +0xAD, 0x76, 0x80, 0xF0, 0x6F, 0xE3, 0x04, 0x44, 0x1B, 0x25, 0xA0, 0xE1, 0x4F, 0xC9, 0x76, 0x62, +0xA0, 0xC3, 0xF1, 0x0D, 0x8B, 0x81, 0x3C, 0x2F, 0x04, 0xAC, 0xB8, 0xC7, 0x2C, 0x18, 0xFE, 0xD5, +0x04, 0xD4, 0x7B, 0xB9, 0xD5, 0xFC, 0x53, 0x02, 0xBE, 0x6C, 0xAB, 0xFE, 0xF2, 0x51, 0x0C, 0xE3, +0x59, 0x4D, 0x7D, 0x80, 0x3E, 0xBE, 0xDF, 0x18, 0x9E, 0xF3, 0xB6, 0x84, 0x2C, 0x1D, 0x07, 0x68, +0x78, 0xA2, 0x90, 0x99, 0x51, 0xE2, 0x01, 0x79, 0x3E, 0x22, 0xF3, 0x66, 0xC8, 0x84, 0xF0, 0x27, +0xC7, 0x89, 0x38, 0x0E, 0x50, 0x1F, 0xF0, 0xAF, 0x26, 0xE0, 0x6C, 0x8D, 0x99, 0xF8, 0x86, 0xED, +0x20, 0x7A, 0x62, 0x07, 0x12, 0xC0, 0x45, 0xC8, 0xEB, 0xBA, 0x62, 0x03, 0x48, 0x11, 0x72, 0x53, +0x49, 0xF8, 0x57, 0x7A, 0xC0, 0xC6, 0x47, 0xFA, 0x9D, 0x3E, 0x85, 0x6E, 0x1D, 0x6C, 0xF8, 0x3E, +0x66, 0xC2, 0x09, 0xDB, 0xD6, 0xA8, 0xAF, 0xDC, 0x02, 0x0E, 0x7E, 0xCF, 0x9B, 0xC4, 0xFD, 0x9C, +0x88, 0xDF, 0x01, 0xA1, 0x74, 0x80, 0xC7, 0x05, 0x01, 0xD7, 0x75, 0x87, 0x68, 0xB4, 0xF9, 0x59, +0xB0, 0x2F, 0xF3, 0xE1, 0xFD, 0xE4, 0x64, 0x74, 0x80, 0x80, 0x70, 0x8B, 0x04, 0x48, 0xD9, 0x9E, +0x01, 0xC0, 0x2A, 0xB6, 0x5F, 0xF2, 0xC9, 0x2D, 0x20, 0xD8, 0x07, 0xE0, 0x23, 0xBE, 0x7E, 0x14, +0xB4, 0x61, 0x6B, 0x6C, 0x20, 0xB2, 0x53, 0xD6, 0xF8, 0x01, 0x45, 0xBD, 0x0C, 0xD8, 0x59, 0x02, +0x34, 0xBD, 0x09, 0x38, 0xB3, 0x86, 0xD0, 0x4D, 0xF4, 0x7F, 0x3C, 0x31, 0xEA, 0xCD, 0xE0, 0xF2, +0x02, 0x85, 0xED, 0x81, 0x03, 0x6C, 0x03, 0x10, 0x83, 0xCC, 0xE2, 0x28, 0x29, 0xF4, 0xBB, 0x4F, +0x75, 0x7F, 0x05, 0x69, 0xAA, 0xAA, 0x2D, 0xDF, 0x00, 0x52, 0x85, 0xDC, 0x2A, 0xB0, 0x0F, 0xC0, +0x43, 0x0C, 0x60, 0xDA, 0x5A, 0x0E, 0x10, 0xA0, 0xB1, 0x02, 0xA8, 0x27, 0x3A, 0x4C, 0xF0, 0xD7, +0xF7, 0x80, 0x8F, 0x5C, 0x09, 0x34, 0xCC, 0xE5, 0x13, 0x5F, 0xEA, 0x62, 0xA4, 0x1D, 0xE7, 0x0E, +0x90, 0x27, 0x74, 0xD0, 0x07, 0xE0, 0x26, 0x1C, 0xE0, 0xBB, 0xD2, 0x36, 0x12, 0x50, 0x4E, 0xBC, +0xDE, 0xBC, 0xFA, 0x07, 0x11, 0xBD, 0xB7, 0x15, 0xC0, 0xEE, 0x14, 0xF8, 0xC9, 0x69, 0xB5, 0x04, +0x48, 0x2D, 0x96, 0xE6, 0x80, 0x5B, 0xF8, 0x13, 0xB5, 0xF9, 0xB7, 0x60, 0x02, 0x5C, 0xC4, 0xF5, +0x82, 0xA9, 0x2F, 0x75, 0x30, 0x24, 0x35, 0xF5, 0x8C, 0x52, 0x98, 0x2E, 0x2A, 0xC0, 0x4F, 0x9E, +0x04, 0xF6, 0x2C, 0xC8, 0x1B, 0xF8, 0x55, 0x25, 0x43, 0x6E, 0xB2, 0xA7, 0xE3, 0x14, 0x98, 0x9B, +0x40, 0x27, 0x1C, 0xA6, 0x10, 0xA6, 0xCD, 0xBF, 0xB9, 0x06, 0xD0, 0xC2, 0x07, 0xAA, 0xB8, 0x82, +0x20, 0xEF, 0xEA, 0xA2, 0x0D, 0xC0, 0x45, 0x9B, 0x7F, 0xCB, 0xC2, 0x00, 0x52, 0x0B, 0x28, 0xFF, +0x0F, 0x90, 0x2E, 0xFF, 0x4E, 0xF5, 0x1E, 0x80, 0xEB, 0x71, 0x80, 0xF0, 0xCF, 0xC4, 0x7D, 0x51, +0x73, 0xDE, 0xDD, 0x4A, 0xAC, 0x59, 0x8A, 0xBF, 0xFB, 0x53, 0x5F, 0xCE, 0xFD, 0x88, 0x21, 0xEC, +0x3B, 0xC0, 0x36, 0xFF, 0x8E, 0x4F, 0xFE, 0x27, 0x16, 0x70, 0x4B, 0x61, 0x07, 0x02, 0xAD, 0x99, +0x40, 0xA0, 0x76, 0xF6, 0xCC, 0x87, 0xCD, 0x35, 0x40, 0x5D, 0x02, 0x3C, 0x3D, 0x6D, 0x4E, 0x82, +0x65, 0xAD, 0x7A, 0x7F, 0xD9, 0x5A, 0xD9, 0x59, 0xAA, 0x9A, 0xFC, 0x53, 0xB5, 0x2C, 0xC8, 0xB7, +0xBA, 0x09, 0xE4, 0xEE, 0xEC, 0xCD, 0x3A, 0x95, 0xE7, 0x34, 0x31, 0x38, 0x14, 0xC1, 0x94, 0x62, +0x17, 0x5C, 0xE1, 0x00, 0x05, 0x7F, 0xBE, 0x0B, 0xF8, 0x35, 0x0D, 0x8D, 0x13, 0x60, 0x4B, 0x96, +0xE4, 0xEB, 0x7F, 0x1C, 0x7E, 0x32, 0x00, 0x46, 0xB7, 0x17, 0x11, 0x6C, 0x3F, 0x69, 0x7B, 0x02, +0x2C, 0x00, 0x9C, 0x58, 0x07, 0xE9, 0x40, 0x9F, 0x1D, 0xE7, 0xE7, 0x84, 0x7F, 0xD7, 0x4D, 0xFE, +0xA9, 0x9A, 0xFC, 0x33, 0x35, 0xF8, 0x77, 0x26, 0xF8, 0xB3, 0x24, 0x48, 0x8D, 0x3F, 0xE1, 0xDF, +0x93, 0xDD, 0xD3, 0xF2, 0x43, 0xDD, 0xCF, 0x02, 0xFB, 0x1C, 0xF8, 0x0F, 0xA8, 0x67, 0x9D, 0x05, +0xE2, 0x99, 0x0E, 0x58, 0x9B, 0x90, 0xF4, 0x09, 0xB0, 0xE2, 0xEF, 0x76, 0x9C, 0xF8, 0x72, 0xCA, +0x91, 0xED, 0x20, 0xBD, 0x35, 0xC0, 0x26, 0x02, 0x6D, 0x57, 0xB0, 0x74, 0x7D, 0x75, 0x72, 0xC0, +0x1B, 0x61, 0xA0, 0xC2, 0xCF, 0x0D, 0xDF, 0xE4, 0xFD, 0x58, 0x00, 0xD4, 0xE6, 0xE7, 0x2A, 0xF1, +0x7F, 0xDD, 0x2C, 0xC8, 0xA9, 0xF0, 0xAF, 0xF0, 0x80, 0x6C, 0x87, 0xDB, 0xDF, 0x97, 0x4D, 0xC1, +0x67, 0x1D, 0xFF, 0x67, 0xEA, 0xF1, 0xCF, 0xD4, 0x5A, 0x83, 0xBF, 0x96, 0x58, 0x4C, 0xDC, 0x93, +0x60, 0x4D, 0xCB, 0xD9, 0xC7, 0x89, 0xE5, 0x40, 0x7B, 0x04, 0x04, 0x73, 0x55, 0x16, 0x58, 0xE8, +0xA7, 0x11, 0x9D, 0x1C, 0x6C, 0x03, 0x80, 0x1A, 0x37, 0x7A, 0x31, 0x62, 0x8F, 0xB1, 0xC1, 0x54, +0xB8, 0x2A, 0xED, 0x87, 0xC0, 0x5B, 0x34, 0x56, 0x42, 0xF7, 0x92, 0xC0, 0xF6, 0x16, 0xF8, 0x52, +0x29, 0xB4, 0x1B, 0xEB, 0x62, 0xEC, 0xB9, 0xC5, 0x14, 0x2D, 0xFE, 0x99, 0xFA, 0xFC, 0xAB, 0x01, +0x28, 0x13, 0x0A, 0xF9, 0xAD, 0x2A, 0x1B, 0x2D, 0x5B, 0x0B, 0x80, 0xF2, 0x49, 0x3D, 0xAD, 0x09, +0xF8, 0x4E, 0xD7, 0xFF, 0x49, 0xC0, 0xB6, 0xBF, 0xF2, 0xC1, 0x7E, 0x93, 0xC0, 0xF8, 0x7A, 0x8B, +0xF5, 0xCA, 0xD8, 0x16, 0xF7, 0x00, 0x8F, 0x13, 0x61, 0xE8, 0x27, 0x7D, 0xDB, 0x01, 0x76, 0xD6, +0x01, 0xCD, 0xFD, 0x59, 0xD7, 0x57, 0xC2, 0xBF, 0x4D, 0x9B, 0x40, 0xE5, 0x9F, 0x68, 0x22, 0x21, +0xCE, 0x8F, 0xC5, 0xC0, 0x79, 0x64, 0x63, 0xE3, 0x5F, 0x4D, 0x40, 0x9D, 0xFF, 0x0A, 0xFF, 0x94, +0x80, 0x8D, 0x42, 0xC0, 0x7D, 0x51, 0x8F, 0x80, 0x4B, 0x57, 0x97, 0x7F, 0x5A, 0x05, 0xDD, 0xE1, +0x9F, 0x05, 0x77, 0x7F, 0xB9, 0xC6, 0xDB, 0x8C, 0xDF, 0xEB, 0x2F, 0x4D, 0x52, 0x0F, 0xDD, 0x2C, +0x84, 0x3E, 0xEF, 0x64, 0x81, 0x85, 0x52, 0x0A, 0xC0, 0x9F, 0x04, 0x5E, 0x33, 0xF4, 0xBC, 0x8F, +0xF8, 0xF3, 0x00, 0x93, 0xE9, 0xB4, 0x78, 0xA6, 0x2A, 0x1E, 0x30, 0xB7, 0x80, 0xB3, 0x59, 0xED, +0xCC, 0x7F, 0xFD, 0x2D, 0xF0, 0xF7, 0xC6, 0x9A, 0x87, 0xC8, 0x7F, 0x8D, 0x58, 0x0A, 0xD8, 0xA2, +0xC1, 0x3F, 0x57, 0x9B, 0x7F, 0x35, 0x02, 0x85, 0x7F, 0xFB, 0x2A, 0xFE, 0x4F, 0x98, 0x59, 0xCC, +0xFC, 0x53, 0x02, 0xD6, 0x75, 0x80, 0x7D, 0x50, 0x79, 0xE6, 0x37, 0xDE, 0x15, 0xDA, 0xC6, 0xE8, +0xD6, 0xFA, 0x92, 0x81, 0x8F, 0x46, 0xA4, 0xF9, 0x3F, 0x07, 0x9F, 0x85, 0x8F, 0x42, 0x36, 0x58, +0x5B, 0x5D, 0x07, 0x28, 0x1D, 0x67, 0xF5, 0x04, 0x78, 0xF6, 0x80, 0x6F, 0x3D, 0x01, 0x85, 0x6D, +0x1E, 0x6E, 0xFC, 0x94, 0x85, 0xBE, 0x18, 0xE8, 0xA6, 0x50, 0x25, 0xE4, 0x3B, 0x32, 0x15, 0xA5, +0x80, 0x22, 0xE5, 0x9F, 0x11, 0x50, 0x4B, 0xA1, 0x4B, 0xFF, 0xA7, 0x7A, 0xFA, 0xFE, 0xD3, 0x82, +0x80, 0x4B, 0x74, 0x51, 0x03, 0xB0, 0x47, 0x40, 0xDB, 0x2A, 0x72, 0x3D, 0x7F, 0x55, 0xD9, 0xDB, +0xC5, 0xB4, 0x4E, 0x1A, 0xAB, 0xFB, 0x13, 0xFD, 0x54, 0xAD, 0xF9, 0xAF, 0x76, 0xB5, 0x03, 0x34, +0xA3, 0x66, 0x41, 0x21, 0x60, 0x80, 0x20, 0x33, 0x60, 0x6F, 0xD3, 0x32, 0x1F, 0xB2, 0x33, 0xFC, +0x9F, 0xFD, 0x4B, 0xB5, 0xC3, 0x03, 0xA6, 0x8B, 0x80, 0x7F, 0xC1, 0xBA, 0xE9, 0xFF, 0x20, 0xE0, +0xD4, 0x78, 0x83, 0x66, 0x1C, 0x8A, 0x14, 0x7F, 0x6E, 0x01, 0x2B, 0xFE, 0xA1, 0x3E, 0xFF, 0xCA, +0x32, 0x68, 0xFB, 0x54, 0x19, 0x01, 0x5B, 0xFE, 0xCF, 0x09, 0xF8, 0x4F, 0xD6, 0x00, 0x21, 0x19, +0xFC, 0x53, 0x85, 0x8C, 0x30, 0x87, 0x0D, 0x19, 0xC0, 0xAF, 0x04, 0x6B, 0x33, 0x02, 0x25, 0x40, +0x5E, 0xDC, 0x05, 0x72, 0x6B, 0x43, 0x3D, 0xDE, 0x56, 0x0E, 0x70, 0x40, 0x60, 0x69, 0x00, 0xFF, +0x99, 0x07, 0x2C, 0xB4, 0x5E, 0x03, 0xC8, 0x9F, 0x19, 0x1D, 0xA0, 0x15, 0x00, 0xDA, 0xC9, 0x09, +0xFC, 0x2B, 0x3C, 0xA0, 0xF1, 0x6F, 0xF7, 0x14, 0x02, 0x16, 0x1B, 0xE1, 0xF6, 0x67, 0xBD, 0xFF, +0x74, 0x59, 0x01, 0x10, 0x95, 0xF8, 0xEB, 0x12, 0x50, 0xF1, 0x37, 0x7F, 0x53, 0x17, 0x7B, 0xA4, +0x80, 0x61, 0x21, 0x53, 0xE0, 0x2F, 0xF9, 0xF6, 0x57, 0x04, 0x64, 0x87, 0xD9, 0x79, 0x6E, 0x00, +0xED, 0x12, 0xFC, 0x93, 0x91, 0x23, 0x2C, 0xF1, 0x7F, 0xCE, 0x3E, 0x89, 0x30, 0x55, 0xE6, 0xD4, +0xA4, 0xD3, 0x6A, 0x0F, 0xD0, 0x17, 0x30, 0x2C, 0x81, 0x53, 0x2D, 0x09, 0x18, 0x6E, 0x86, 0x65, +0xB1, 0x37, 0x64, 0x89, 0xFC, 0xFD, 0x5A, 0x10, 0x45, 0x09, 0x12, 0xAA, 0x08, 0xC8, 0x47, 0xA0, +0x40, 0xE0, 0xC5, 0xC5, 0xD3, 0x7D, 0xD7, 0xB6, 0x7C, 0xFE, 0x1E, 0xF4, 0x7F, 0xBB, 0x4F, 0xFE, +0xFA, 0xAC, 0x3E, 0xA9, 0x01, 0xD8, 0x63, 0x15, 0x08, 0x74, 0xEE, 0x59, 0x2E, 0xC4, 0x2F, 0xF1, +0x0A, 0x1C, 0xA0, 0xC6, 0x9A, 0x2C, 0xA0, 0xE1, 0xCF, 0x1E, 0xD3, 0x89, 0xDF, 0x0B, 0xC1, 0x0F, +0x3A, 0xE0, 0x61, 0x17, 0x4C, 0x5F, 0x54, 0x0E, 0x10, 0x38, 0x16, 0x08, 0x3C, 0x39, 0xA6, 0x7B, +0xEB, 0x09, 0xB8, 0xA5, 0xA2, 0x06, 0x50, 0x65, 0x3E, 0x90, 0x93, 0xB9, 0x06, 0x1A, 0xFE, 0x91, +0x0B, 0x2E, 0xF8, 0xB7, 0x5B, 0x10, 0x50, 0x13, 0x20, 0xFB, 0xAE, 0xF7, 0x49, 0x05, 0x27, 0xFC, +0x43, 0x67, 0x05, 0xFF, 0xBA, 0x04, 0x34, 0xE7, 0xE7, 0x0E, 0xF0, 0x47, 0x6E, 0x03, 0xA8, 0x31, +0xCC, 0xEE, 0xCC, 0xFF, 0x99, 0xF6, 0xEC, 0x51, 0xF9, 0x3F, 0xA0, 0x92, 0x7A, 0x40, 0x95, 0x4E, +0x52, 0x41, 0x95, 0x40, 0x2E, 0x80, 0x8F, 0xF3, 0x1B, 0x0F, 0x6D, 0x62, 0x01, 0xD3, 0xA9, 0xF2, +0x0D, 0xFF, 0x4E, 0xB3, 0x81, 0x0F, 0x96, 0xE3, 0x9C, 0xCF, 0x56, 0xD5, 0x0E, 0x05, 0xFF, 0xF6, +0x24, 0x5C, 0x33, 0xEA, 0xFC, 0x40, 0x68, 0x07, 0xFD, 0x24, 0xAE, 0xFB, 0x00, 0x5C, 0x0F, 0xFF, +0x96, 0x9A, 0x00, 0xD9, 0x77, 0x3D, 0x7D, 0x98, 0x80, 0xC2, 0x3F, 0xD7, 0xAE, 0x10, 0xB0, 0x00, +0x20, 0x20, 0x4A, 0xFD, 0x1F, 0xD8, 0xC3, 0xEE, 0x29, 0xFE, 0xA6, 0xD9, 0xB0, 0x5F, 0x27, 0xF7, +0xB1, 0xA1, 0x25, 0x40, 0x43, 0xA0, 0x3B, 0x3E, 0xEB, 0x57, 0x8E, 0x94, 0x7F, 0xDA, 0x59, 0x34, +0x1C, 0xA0, 0xD3, 0xB1, 0xAE, 0x80, 0x71, 0x0F, 0xF8, 0x56, 0x03, 0x70, 0xCA, 0xFF, 0x4E, 0x3D, +0x77, 0xC1, 0x72, 0x39, 0x13, 0x99, 0xFF, 0xA2, 0x1C, 0x7F, 0x52, 0x00, 0xB8, 0x7B, 0x8A, 0x9E, +0xC8, 0x0D, 0xA1, 0x0B, 0xFE, 0x39, 0x00, 0xDF, 0xE7, 0x86, 0x80, 0x09, 0x00, 0xD1, 0x45, 0xC5, +0x3F, 0xF4, 0xE0, 0xAD, 0x60, 0x84, 0x7E, 0xEE, 0x00, 0xE5, 0x78, 0xB7, 0x18, 0x9A, 0xD4, 0xA6, +0xE1, 0xF0, 0x4B, 0xE4, 0x04, 0x2C, 0x6E, 0x09, 0x7D, 0xEE, 0x2D, 0x98, 0x40, 0x78, 0x64, 0x06, +0x90, 0x18, 0xD3, 0xBB, 0xE4, 0x85, 0x0D, 0x6B, 0x04, 0x16, 0x30, 0x14, 0x0F, 0xDE, 0x8C, 0xFC, +0xB3, 0x86, 0x07, 0x0C, 0x14, 0xB6, 0x9F, 0x8F, 0xAE, 0xE2, 0xDF, 0x5D, 0x61, 0xF8, 0xA4, 0x1B, +0x4B, 0x01, 0xD5, 0x54, 0x13, 0x79, 0x32, 0x5E, 0x2E, 0x2F, 0x46, 0xD5, 0x13, 0xE0, 0x1A, 0x81, +0x3E, 0xFF, 0x65, 0x12, 0x9C, 0x13, 0xF0, 0xFD, 0x67, 0x4F, 0x4E, 0x77, 0xF9, 0xA8, 0x3E, 0xE4, +0x01, 0x01, 0x60, 0x4F, 0x7F, 0x4C, 0xCD, 0xA0, 0x67, 0xB8, 0xA3, 0x1F, 0x67, 0xC0, 0xD6, 0xE7, +0x1C, 0xE4, 0x45, 0x7D, 0x03, 0xF8, 0xB9, 0xE2, 0x4C, 0x06, 0xD6, 0x6E, 0x43, 0xFD, 0x8B, 0x04, +0x13, 0x63, 0x67, 0xA0, 0x1D, 0x53, 0x07, 0x48, 0xB3, 0x4E, 0x94, 0x27, 0x80, 0x4F, 0x8E, 0xFF, +0xA9, 0x05, 0x44, 0x9B, 0x66, 0xA0, 0xB6, 0xA3, 0xBB, 0x28, 0x94, 0x46, 0x20, 0x4F, 0x80, 0xA0, +0xCC, 0x02, 0x6A, 0x01, 0x0C, 0x00, 0xD4, 0xE4, 0x9A, 0x13, 0x30, 0x5B, 0x00, 0xE4, 0x57, 0x35, +0xB7, 0x84, 0xCE, 0xF0, 0x87, 0x2A, 0xFE, 0xD5, 0x1E, 0xF0, 0xDB, 0x79, 0xFE, 0x8B, 0x55, 0x59, +0x80, 0xBE, 0xE1, 0x5E, 0x4F, 0x7A, 0xC4, 0xFF, 0xCD, 0xC3, 0x82, 0x7F, 0xE7, 0x34, 0xC8, 0x77, +0xDF, 0x00, 0x82, 0xBF, 0xB8, 0x0E, 0x38, 0xCA, 0x67, 0xBF, 0x1C, 0x82, 0x59, 0x4C, 0xFC, 0x9F, +0xE6, 0x58, 0x56, 0x58, 0x40, 0xEA, 0x5F, 0xE8, 0xA4, 0x15, 0xFC, 0xB3, 0x0E, 0x02, 0x6A, 0x63, +0x43, 0x88, 0x37, 0xE7, 0x1F, 0xEF, 0x6B, 0xB5, 0x00, 0x88, 0xFA, 0xFC, 0xCB, 0x6F, 0x08, 0x6D, +0xFE, 0x0F, 0x6D, 0xE3, 0x01, 0x33, 0xFF, 0x87, 0x07, 0x4C, 0xCB, 0x01, 0xB9, 0x25, 0xFE, 0xAD, +0x3E, 0x32, 0x4E, 0x1D, 0x00, 0x3F, 0x98, 0xC7, 0x15, 0x8C, 0xA1, 0x73, 0xCF, 0xBA, 0x26, 0xE9, +0xFA, 0xE6, 0x8F, 0xCD, 0xC0, 0x58, 0x3E, 0x6B, 0xDA, 0x31, 0x21, 0x76, 0xF3, 0xE7, 0x2C, 0x7C, +0x95, 0x39, 0x40, 0xF8, 0xC7, 0xF0, 0x24, 0x4F, 0x00, 0xCB, 0x11, 0x0B, 0xF8, 0xF8, 0x1B, 0x23, +0xB4, 0xB4, 0xAE, 0x02, 0x40, 0x2C, 0xA0, 0xA1, 0x50, 0x16, 0xFB, 0xC6, 0x42, 0x40, 0x12, 0xC0, +0x28, 0x4D, 0x84, 0x18, 0xFF, 0x9E, 0x9D, 0x0E, 0x7A, 0x22, 0x1E, 0x70, 0x25, 0xFE, 0xDC, 0xFF, +0x21, 0x21, 0xE0, 0x59, 0x91, 0x00, 0x46, 0x6D, 0x00, 0xA6, 0x0E, 0xE4, 0x5B, 0xBD, 0x75, 0xFB, +0x60, 0x55, 0x66, 0x02, 0x5E, 0xD3, 0xD9, 0xD7, 0x5B, 0x56, 0xF7, 0xEF, 0xF9, 0x3F, 0xCD, 0x08, +0x3F, 0xB0, 0x00, 0xC8, 0x0C, 0x38, 0x5D, 0x07, 0xA4, 0xFE, 0x85, 0xF0, 0x72, 0x40, 0xC4, 0xFC, +0x17, 0xF8, 0x85, 0x5C, 0xF0, 0x08, 0x42, 0xF8, 0x47, 0x5C, 0x7E, 0xBF, 0x7A, 0x1E, 0xEE, 0xE0, +0x43, 0xA9, 0xAF, 0xE5, 0x1D, 0x18, 0x27, 0xC1, 0xD6, 0x70, 0xCB, 0xF2, 0x30, 0xE4, 0x0D, 0x91, +0x66, 0x42, 0x16, 0x51, 0x35, 0xFF, 0xD0, 0x4A, 0xFF, 0xA7, 0xFC, 0xF3, 0x25, 0x40, 0x12, 0x21, +0x49, 0x01, 0xE0, 0x13, 0x03, 0x20, 0xCA, 0xF7, 0x04, 0x1F, 0x09, 0x00, 0x0B, 0x4A, 0xF1, 0x0C, +0xA0, 0xFB, 0x63, 0xA4, 0xE1, 0x38, 0x09, 0xBE, 0x85, 0xA7, 0x12, 0x29, 0x59, 0x1F, 0xEF, 0x00, +0xE7, 0xF5, 0x3D, 0xE7, 0x61, 0xB2, 0x0D, 0x24, 0x38, 0x40, 0xB9, 0xDA, 0x75, 0x80, 0xF9, 0x24, +0xD8, 0x3D, 0x5F, 0xE9, 0x00, 0xFB, 0x04, 0x4C, 0x98, 0xB8, 0x96, 0x02, 0x40, 0x89, 0xA9, 0x57, +0xB9, 0x03, 0xBC, 0x5F, 0x00, 0xB8, 0x05, 0xFF, 0x50, 0x62, 0x00, 0x99, 0x51, 0x40, 0x40, 0xCA, +0x01, 0xB3, 0xF9, 0x2F, 0xEB, 0x80, 0x67, 0x85, 0xFF, 0x43, 0x05, 0xFF, 0x4A, 0x0F, 0x48, 0x02, +0x64, 0xF4, 0x80, 0x58, 0x40, 0x3C, 0xCE, 0x9D, 0xAF, 0x3D, 0xC7, 0x7C, 0x01, 0x90, 0x24, 0x08, +0xCB, 0x80, 0xD1, 0x00, 0xBE, 0x91, 0xCD, 0x1A, 0x21, 0x84, 0x6B, 0x63, 0x4D, 0x74, 0x58, 0xFF, +0x93, 0x20, 0x15, 0x1C, 0xA6, 0xC0, 0xFC, 0x3B, 0x09, 0xB9, 0x16, 0x18, 0x3C, 0x66, 0x3F, 0xF0, +0xAC, 0x29, 0xFF, 0xF6, 0xF8, 0xEF, 0x0F, 0xB9, 0x60, 0x96, 0xFF, 0x2C, 0x01, 0x7C, 0xEF, 0x5D, +0xDD, 0x91, 0xAE, 0xF2, 0x7F, 0xA8, 0xE4, 0x1F, 0x5A, 0x79, 0xBB, 0x0C, 0x31, 0x7C, 0xFB, 0x83, +0xD2, 0x72, 0x40, 0xF8, 0x37, 0xCC, 0x58, 0x12, 0x03, 0x08, 0x00, 0x13, 0x52, 0x71, 0x25, 0xEE, +0x00, 0x1E, 0x4F, 0x49, 0x80, 0x0C, 0x0E, 0x10, 0x20, 0xFE, 0x6D, 0x00, 0x9A, 0xE5, 0xBB, 0xFD, +0x8A, 0xFC, 0x87, 0xCD, 0x80, 0x8D, 0x77, 0x21, 0x19, 0x3C, 0x69, 0x5C, 0x03, 0x7C, 0x95, 0x38, +0x40, 0x0D, 0xDA, 0xFC, 0x38, 0x49, 0x36, 0x80, 0x50, 0x07, 0x88, 0x03, 0x6C, 0xAB, 0xEF, 0x00, +0xD7, 0x53, 0x00, 0x88, 0x98, 0xF6, 0x82, 0x40, 0x69, 0x1A, 0xBE, 0x00, 0x58, 0x79, 0x40, 0x11, +0xD3, 0xDF, 0x81, 0x80, 0x11, 0x80, 0x23, 0xFF, 0x58, 0x07, 0x5C, 0x9E, 0x15, 0x00, 0x44, 0x05, +0xFF, 0x0A, 0x0F, 0xF8, 0xE3, 0xE2, 0x3A, 0x84, 0x34, 0x0A, 0x5F, 0xAC, 0x93, 0x1E, 0xFE, 0x81, +0x80, 0xBC, 0x20, 0x1A, 0xF6, 0xC1, 0x16, 0x76, 0xC5, 0x21, 0xF1, 0x64, 0x20, 0x2A, 0xCE, 0x82, +0x47, 0x91, 0xFF, 0x1D, 0x0F, 0xD4, 0x3F, 0xBB, 0xE0, 0x5F, 0x4C, 0x84, 0x8C, 0x10, 0xC6, 0xFF, +0x8D, 0xC3, 0xD2, 0xFF, 0x21, 0x7E, 0x47, 0x50, 0x37, 0x79, 0xED, 0x69, 0xA5, 0x31, 0x16, 0x15, +0xFF, 0x50, 0xCD, 0x3F, 0x14, 0x0B, 0x00, 0xF1, 0x7F, 0x85, 0x07, 0x74, 0xFE, 0x05, 0x02, 0x26, +0xFC, 0x03, 0x80, 0x29, 0x90, 0x0E, 0x02, 0xFD, 0xB4, 0x85, 0x6B, 0x07, 0x33, 0xFD, 0x9C, 0x7F, +0x24, 0x81, 0xA5, 0xFB, 0xE7, 0xFE, 0xCF, 0x70, 0x67, 0x94, 0x53, 0x1C, 0xDA, 0x49, 0x9C, 0x04, +0xE3, 0x00, 0x49, 0x7F, 0xF8, 0x11, 0x07, 0x88, 0xE3, 0x0B, 0xF8, 0x93, 0x96, 0x66, 0x80, 0xA9, +0x02, 0xB4, 0x4E, 0x1E, 0xFF, 0x80, 0x80, 0x8F, 0xDC, 0x17, 0xC7, 0xB5, 0x9A, 0x80, 0x63, 0x6C, +0x71, 0x4D, 0xD9, 0x47, 0x01, 0xE0, 0x09, 0xFE, 0xAF, 0x24, 0x20, 0xFE, 0x0F, 0xB1, 0x25, 0xA4, +0xF0, 0x7F, 0x49, 0x41, 0xF4, 0x32, 0x55, 0xC2, 0xBF, 0x1E, 0x01, 0x49, 0x55, 0x12, 0xD6, 0xDD, +0xBF, 0xC9, 0xB1, 0xCF, 0x7F, 0x83, 0x20, 0x20, 0x72, 0x98, 0xA8, 0xC0, 0xDF, 0x79, 0xC0, 0x8F, +0x3C, 0x6C, 0xAE, 0x9A, 0x78, 0xC0, 0xB1, 0x1C, 0x10, 0xE8, 0x31, 0x9A, 0x03, 0x51, 0x00, 0x48, +0x10, 0xF1, 0x8E, 0x80, 0xB0, 0x19, 0x5C, 0x27, 0x1E, 0x50, 0x6F, 0x84, 0xBD, 0xDA, 0x02, 0x3A, +0xFC, 0xD8, 0x36, 0xB8, 0x58, 0xB8, 0xAD, 0x26, 0x0C, 0x89, 0x15, 0xFF, 0x50, 0xC9, 0x3F, 0xB4, +0x7A, 0x03, 0x08, 0xC2, 0x03, 0x66, 0x05, 0x80, 0x91, 0x80, 0x4F, 0x98, 0x05, 0xC3, 0x3F, 0x00, +0x98, 0x78, 0x40, 0x85, 0x57, 0x6E, 0x00, 0xE9, 0x70, 0x7F, 0xFA, 0xA0, 0xD9, 0x29, 0x87, 0xBF, +0xEF, 0xFF, 0xE4, 0x20, 0x9D, 0xDA, 0x3E, 0x3F, 0xBD, 0x5B, 0x10, 0x4D, 0x8F, 0x70, 0x80, 0xD4, +0x03, 0x86, 0xF4, 0xAF, 0x76, 0x3E, 0x84, 0x84, 0x61, 0xFD, 0x6F, 0xA5, 0x03, 0x7C, 0xAC, 0x07, +0xEC, 0x2B, 0xE2, 0xEF, 0x31, 0xF4, 0x8B, 0xD7, 0xD8, 0x15, 0x7C, 0xC2, 0x0D, 0x62, 0x02, 0xFF, +0x92, 0x44, 0x88, 0x3C, 0x28, 0x80, 0x09, 0x04, 0x1C, 0x01, 0x48, 0xFE, 0x23, 0x48, 0xEF, 0x8D, +0x5F, 0x01, 0xD0, 0x15, 0xF9, 0xD7, 0x26, 0xA0, 0x6F, 0x55, 0x88, 0x16, 0xD0, 0xE8, 0x87, 0x07, +0x84, 0x7F, 0x0E, 0x00, 0x50, 0x10, 0xF3, 0x1F, 0x38, 0x2A, 0x69, 0x9C, 0x8A, 0x7E, 0x18, 0x2C, +0xE0, 0xBC, 0x01, 0x64, 0x25, 0x02, 0xC3, 0x3E, 0x0F, 0x88, 0xC7, 0x50, 0x9B, 0xCE, 0x94, 0x31, +0x81, 0x76, 0x4C, 0xF8, 0x27, 0xB3, 0xE0, 0x80, 0x60, 0x2C, 0xAA, 0x09, 0x0C, 0xC6, 0x04, 0x48, +0xAA, 0xF9, 0x8D, 0xE2, 0xCD, 0xBA, 0x5E, 0x64, 0x11, 0x16, 0x20, 0x72, 0xD5, 0xFC, 0x43, 0x61, +0x03, 0x88, 0xA9, 0xF6, 0x80, 0x19, 0xFF, 0xF4, 0x23, 0x1C, 0x00, 0x78, 0x04, 0x00, 0x0B, 0x28, +0x05, 0x04, 0xAE, 0xCA, 0x7D, 0xE0, 0x00, 0x69, 0xDE, 0xFD, 0x03, 0xFC, 0x39, 0xEB, 0xE6, 0xE9, +0xAF, 0xF5, 0x36, 0xB8, 0x5D, 0xB9, 0x29, 0x8E, 0x18, 0x1D, 0xE0, 0x17, 0x58, 0x40, 0x4C, 0xDF, +0xD8, 0xFC, 0x62, 0x98, 0xFF, 0xAE, 0x76, 0x80, 0x8F, 0xF5, 0x80, 0xA5, 0xFF, 0x43, 0x7F, 0x0F, +0x80, 0xBC, 0xF8, 0xE8, 0xAF, 0x26, 0x9D, 0x5F, 0x1B, 0x6F, 0x83, 0x05, 0xFF, 0x10, 0x04, 0x8C, +0x05, 0x80, 0x08, 0xB1, 0x25, 0x84, 0x1B, 0xC0, 0xA0, 0x48, 0xC0, 0x02, 0x7F, 0xA8, 0xE4, 0x1F, +0x1A, 0x01, 0x88, 0xE7, 0x8B, 0x16, 0xF0, 0x3B, 0x6E, 0x80, 0x00, 0xFF, 0x82, 0x20, 0x20, 0x02, +0x7F, 0xD6, 0x38, 0xE5, 0xBE, 0x08, 0xDE, 0x00, 0x5F, 0x8C, 0x9B, 0x71, 0x27, 0xF0, 0x68, 0x00, +0x47, 0x1A, 0xF2, 0x32, 0x26, 0xC0, 0x49, 0x0C, 0x0E, 0x10, 0xEF, 0xE7, 0x9D, 0x2B, 0x7A, 0x40, +0x77, 0x7F, 0x58, 0x40, 0x34, 0xBF, 0x47, 0x5E, 0x12, 0x83, 0xF9, 0x0B, 0xB1, 0xF3, 0x6D, 0xE5, +0xFF, 0x50, 0x28, 0x00, 0xCC, 0x35, 0x6E, 0x00, 0xC1, 0xFF, 0x15, 0x04, 0x84, 0x7F, 0x41, 0x91, +0x80, 0x47, 0x00, 0x30, 0xF3, 0x80, 0x6C, 0x00, 0x4E, 0x1C, 0x1F, 0x83, 0x83, 0x3F, 0x7C, 0xB6, +0x0C, 0xFE, 0x20, 0x1D, 0x83, 0xBF, 0xE3, 0xFF, 0xA6, 0xF9, 0xEE, 0x5C, 0x04, 0xE3, 0x9D, 0x86, +0x9B, 0x40, 0xCA, 0xA1, 0x1B, 0x0E, 0x30, 0x45, 0x20, 0x4E, 0xF0, 0xFE, 0xFE, 0x8F, 0x95, 0x0E, +0xD0, 0xBA, 0x7F, 0xC3, 0x02, 0xAA, 0xBA, 0xF9, 0x5F, 0x32, 0xC0, 0x06, 0x3E, 0xBB, 0xEA, 0x9A, +0xE9, 0x77, 0x42, 0x01, 0x60, 0x4E, 0xC0, 0x06, 0xFF, 0xD8, 0x12, 0x02, 0xFF, 0x9E, 0xA6, 0xFC, +0xA3, 0x18, 0xA6, 0x01, 0xC0, 0x8B, 0x04, 0x80, 0x55, 0x22, 0x04, 0xF2, 0x59, 0x47, 0x58, 0x23, +0x09, 0xC2, 0xFA, 0x5F, 0x30, 0x80, 0x91, 0x80, 0xD0, 0x6E, 0xA0, 0x20, 0x28, 0x84, 0x3E, 0x78, +0xBF, 0x18, 0x14, 0x44, 0xAB, 0x40, 0x9F, 0xC7, 0x78, 0xE0, 0x65, 0xAF, 0x9D, 0x7F, 0x89, 0x07, +0x1C, 0x12, 0x31, 0x78, 0x3F, 0x7E, 0x56, 0x7E, 0xF8, 0x96, 0xFF, 0xC3, 0x03, 0x52, 0x0D, 0xB8, +0x78, 0x28, 0x2A, 0xFF, 0x87, 0x1A, 0xFC, 0x43, 0x71, 0x03, 0x48, 0x54, 0xDC, 0x12, 0xB2, 0x1B, +0xF8, 0x97, 0x94, 0x03, 0x3A, 0xFF, 0x00, 0x60, 0x0A, 0x26, 0x88, 0x47, 0xC7, 0x34, 0x98, 0x23, +0xEC, 0xA3, 0x59, 0x67, 0x91, 0xA0, 0xB0, 0x6B, 0x00, 0xF5, 0x20, 0x31, 0x83, 0x10, 0x5F, 0x28, +0xDC, 0xC3, 0x08, 0x8A, 0x12, 0x07, 0xA8, 0x84, 0x1C, 0x1C, 0x20, 0xC3, 0x00, 0x43, 0xD5, 0xE8, +0xFF, 0x12, 0x07, 0xA8, 0xDD, 0xF1, 0xC6, 0x09, 0xC8, 0xA5, 0x32, 0x7C, 0x30, 0x21, 0x30, 0x84, +0x17, 0xC0, 0x94, 0xFC, 0x63, 0x4B, 0x88, 0x0E, 0xE0, 0x5F, 0x42, 0x40, 0x0C, 0x20, 0x33, 0x95, +0xC4, 0x03, 0x56, 0xFC, 0x73, 0xB5, 0xF8, 0x07, 0x01, 0xE1, 0x5F, 0x6E, 0x01, 0x7D, 0x16, 0xEC, +0x1B, 0x80, 0x13, 0xC5, 0x72, 0x40, 0xE0, 0xC7, 0x40, 0xE5, 0x43, 0xE8, 0x03, 0xEB, 0x42, 0x58, +0xC7, 0x0C, 0xD8, 0x51, 0x37, 0x50, 0x70, 0x1C, 0xE0, 0xFF, 0x52, 0xFC, 0x59, 0xBC, 0x61, 0xFF, +0xC9, 0xB4, 0x01, 0x84, 0x88, 0xE4, 0xBE, 0x1A, 0x0A, 0x00, 0xA3, 0x05, 0x44, 0x7E, 0x33, 0x40, +0xE9, 0xAE, 0x53, 0x03, 0x38, 0x45, 0x05, 0x40, 0x54, 0x4E, 0x80, 0x51, 0xD8, 0x00, 0x92, 0x89, +0xFF, 0x43, 0x3A, 0x05, 0x80, 0x29, 0x01, 0x83, 0xFF, 0x03, 0x80, 0xD0, 0x69, 0x34, 0x80, 0xA5, +0x03, 0x04, 0x93, 0x07, 0x80, 0xAF, 0x30, 0x80, 0x7D, 0x79, 0xE9, 0x8B, 0xF4, 0x33, 0xF4, 0xF0, +0x7D, 0xD2, 0x91, 0xF7, 0x98, 0x47, 0x89, 0x03, 0x1C, 0xF4, 0xCA, 0x31, 0x97, 0x20, 0x10, 0x0B, +0xE8, 0xAE, 0xAF, 0x72, 0x80, 0x9B, 0x07, 0x60, 0x3B, 0xFD, 0xE1, 0x33, 0xEC, 0x15, 0x4F, 0xCF, +0x06, 0x31, 0xE1, 0x5F, 0x96, 0x08, 0x39, 0xDD, 0xB5, 0x25, 0xE4, 0xD0, 0xB1, 0x25, 0x24, 0x2D, +0x00, 0x8C, 0xE5, 0x80, 0xCB, 0x0A, 0x80, 0xAE, 0x06, 0xFF, 0x20, 0x20, 0xF3, 0xDF, 0x9D, 0x07, +0x1C, 0xA0, 0x74, 0xE4, 0x3F, 0x12, 0x03, 0x18, 0x8B, 0x61, 0x86, 0xB5, 0x34, 0x06, 0xA4, 0x19, +0xB0, 0x80, 0xB0, 0x2F, 0x73, 0x81, 0x6C, 0x8A, 0xBB, 0x01, 0x7E, 0x03, 0x04, 0xB9, 0x24, 0xF2, +0x02, 0x98, 0x8A, 0x80, 0x20, 0x18, 0x2C, 0xF3, 0xE3, 0xDD, 0xC5, 0xE1, 0xC0, 0xBF, 0x87, 0x35, +0xD9, 0x65, 0x69, 0x71, 0x55, 0x35, 0x96, 0x03, 0xFA, 0x06, 0x90, 0x4A, 0x5D, 0xFE, 0x81, 0xC0, +0x74, 0xFE, 0x1B, 0xB7, 0x84, 0x18, 0xFF, 0x76, 0x0B, 0x02, 0xC2, 0xBF, 0x02, 0x80, 0xB5, 0x03, +0x14, 0xDE, 0xA1, 0x86, 0x01, 0x4C, 0xD2, 0x21, 0xFD, 0x3A, 0x18, 0x2F, 0x03, 0x9C, 0xA7, 0xBF, +0x1C, 0x60, 0x5F, 0xE6, 0x00, 0xED, 0x9F, 0xC5, 0xF5, 0x39, 0xFC, 0x80, 0x9E, 0x05, 0x0D, 0x00, +0xE2, 0xFB, 0x18, 0x71, 0xAA, 0x8F, 0xB6, 0x60, 0x59, 0x43, 0x7D, 0x03, 0x48, 0x38, 0x05, 0x35, +0x98, 0xF7, 0x32, 0x2F, 0x76, 0xFB, 0xC7, 0x06, 0xE0, 0x82, 0x80, 0xF8, 0xBF, 0x88, 0x40, 0x39, +0x0C, 0x9B, 0xE2, 0xD2, 0x04, 0x08, 0x5B, 0x42, 0xDC, 0x03, 0x2E, 0x1B, 0x82, 0x7F, 0x5D, 0x02, +0x3A, 0xF4, 0x32, 0x07, 0xE8, 0x1E, 0xF0, 0x1A, 0x00, 0x46, 0x01, 0x06, 0x12, 0x20, 0xD6, 0xA6, +0x07, 0x6E, 0x8A, 0x21, 0x1B, 0xE0, 0x72, 0xFA, 0x91, 0x0A, 0x26, 0x03, 0xCC, 0xA4, 0x37, 0x14, +0xC3, 0x58, 0xC7, 0xFA, 0x5F, 0x19, 0xA3, 0x2B, 0x25, 0x4D, 0x13, 0x7F, 0x54, 0xD6, 0xFF, 0x4C, +0xD1, 0x02, 0x72, 0xDD, 0xF3, 0xC0, 0x95, 0x01, 0x64, 0x16, 0xBC, 0xA8, 0x05, 0xFF, 0x4A, 0x85, +0x0D, 0x20, 0x89, 0xE6, 0xFF, 0x49, 0xA6, 0x15, 0x00, 0xC2, 0xBA, 0xD8, 0xB1, 0x25, 0x04, 0xFE, +0x01, 0x40, 0x84, 0x67, 0x63, 0x18, 0x1C, 0xA0, 0xE9, 0xE3, 0x83, 0xBB, 0xB1, 0x21, 0x03, 0xE8, +0xAB, 0x7C, 0x83, 0x25, 0x14, 0x69, 0x6F, 0x67, 0x64, 0x81, 0x2B, 0x07, 0xF8, 0xEA, 0x73, 0x56, +0x01, 0x47, 0xE8, 0x71, 0xD1, 0xDB, 0x58, 0x00, 0x98, 0x3B, 0xC0, 0xCD, 0x78, 0x40, 0x88, 0x87, +0x9A, 0x06, 0xD0, 0x4F, 0x1D, 0x7B, 0xA3, 0x03, 0x24, 0x01, 0xDC, 0x22, 0xA0, 0xFA, 0x3F, 0x6E, +0xAA, 0xB1, 0x4B, 0x87, 0x03, 0x94, 0x67, 0x9E, 0x19, 0x00, 0x8B, 0x8F, 0xA9, 0xAF, 0x03, 0xB2, +0x01, 0xA4, 0x50, 0x8F, 0x7F, 0x6C, 0x0B, 0x06, 0x7B, 0xA9, 0x03, 0x94, 0x83, 0xF2, 0xCF, 0xBF, +0xF4, 0xC1, 0x00, 0x72, 0x86, 0x07, 0x74, 0x72, 0x90, 0x5C, 0x88, 0x95, 0x30, 0xE4, 0x3F, 0x2A, +0x04, 0x9A, 0x07, 0xCC, 0x80, 0x17, 0x0B, 0xA2, 0xF1, 0x7F, 0xA5, 0x07, 0xFC, 0x61, 0x40, 0x74, +0x44, 0xE0, 0xDC, 0x28, 0x00, 0x2C, 0x35, 0x95, 0x42, 0xDB, 0xAE, 0xC2, 0xDA, 0x03, 0x32, 0xFF, +0x2D, 0x04, 0xFF, 0x6A, 0x85, 0x0D, 0x20, 0x79, 0x22, 0x64, 0xBE, 0x03, 0xB4, 0x7F, 0x52, 0x03, +0xFE, 0x9E, 0x8C, 0x5B, 0x42, 0x8E, 0x12, 0x00, 0xC2, 0x2A, 0xD6, 0xF8, 0x20, 0xE0, 0xD8, 0x19, +0x02, 0x87, 0x7F, 0x4C, 0xBB, 0xA2, 0xF1, 0x6F, 0x6C, 0xEB, 0x2B, 0x0D, 0x39, 0x7C, 0x20, 0x21, +0xBB, 0x81, 0xE5, 0x44, 0x61, 0xA7, 0x97, 0x0C, 0x8B, 0x9F, 0x7B, 0x91, 0xA0, 0xAF, 0x01, 0xD2, +0x30, 0x80, 0x7E, 0xFE, 0x05, 0xA4, 0x63, 0xCA, 0x8B, 0x1F, 0x1C, 0x4D, 0x20, 0x05, 0x80, 0x0F, +0x38, 0xC0, 0xE9, 0xD0, 0xC7, 0xA0, 0x80, 0x6C, 0x23, 0x32, 0xC4, 0xD9, 0xD1, 0x83, 0xEB, 0x9C, +0x0B, 0x11, 0xD9, 0x00, 0x52, 0xE9, 0x85, 0xF1, 0x4F, 0x69, 0x57, 0x84, 0x16, 0xC3, 0xE0, 0xFF, +0x0A, 0x0F, 0x28, 0x53, 0x9A, 0xE5, 0xD3, 0x56, 0xC0, 0xBF, 0x9A, 0x80, 0xB6, 0x03, 0xB8, 0x74, +0x80, 0x7A, 0x60, 0x02, 0x5C, 0xE9, 0x1B, 0xE7, 0x5F, 0x10, 0x57, 0x39, 0xBB, 0xFC, 0xA9, 0xC4, +0x9F, 0xC5, 0xDD, 0x0D, 0x20, 0x3E, 0xA2, 0xE3, 0x82, 0x3C, 0x9A, 0xFE, 0xCF, 0xDA, 0xB0, 0x46, +0x19, 0xE6, 0xE8, 0xE7, 0xC0, 0xDA, 0xF9, 0x57, 0x58, 0x40, 0xCF, 0x84, 0xEC, 0xF0, 0xDB, 0x24, +0x8F, 0x9D, 0x6B, 0x05, 0xE0, 0xA2, 0x27, 0xF8, 0x57, 0x6A, 0x9B, 0x0D, 0x20, 0x0D, 0x0F, 0x78, +0xC8, 0x4C, 0xE5, 0xC9, 0x34, 0x43, 0xA1, 0xB3, 0x9E, 0x82, 0xE8, 0x0C, 0x80, 0x88, 0x0C, 0xEF, +0xC7, 0x5F, 0x7C, 0x2C, 0x8F, 0x20, 0xF8, 0xD7, 0xF6, 0x78, 0xBC, 0xA6, 0x4F, 0xBE, 0xCF, 0xB5, +0xB3, 0x91, 0xC9, 0x8F, 0x7E, 0xC9, 0x9E, 0x34, 0xFC, 0x51, 0x0E, 0xFD, 0xB9, 0xC4, 0xFD, 0x2D, +0xC2, 0xF3, 0x25, 0x80, 0x18, 0xF7, 0x02, 0x7B, 0xCF, 0xBC, 0xF8, 0x44, 0x10, 0x58, 0x38, 0x40, +0xEF, 0xDE, 0x02, 0xB5, 0x0A, 0x64, 0x0C, 0x83, 0x3E, 0xFF, 0xAD, 0x34, 0xCD, 0x7F, 0x1B, 0x00, +0xB4, 0x2D, 0x21, 0x92, 0x8E, 0x13, 0x8B, 0x57, 0xC7, 0x52, 0x0D, 0xA0, 0xB4, 0x4A, 0xDB, 0x9A, +0x0B, 0x5E, 0x74, 0xE5, 0xFC, 0xF3, 0x26, 0x91, 0xB5, 0x12, 0x7F, 0xE8, 0x1C, 0x88, 0x70, 0xE0, +0x84, 0x67, 0xC4, 0x80, 0x81, 0xA3, 0x22, 0x94, 0x6C, 0x03, 0xEA, 0xC0, 0xE1, 0x40, 0x42, 0xED, +0xA3, 0xFF, 0x43, 0x48, 0x9F, 0x80, 0x7B, 0x53, 0x30, 0xF4, 0x8E, 0xE1, 0x37, 0x5F, 0xA2, 0xCA, +0x03, 0xB2, 0xB1, 0xA6, 0x9A, 0x04, 0x2F, 0xBA, 0xD2, 0xFC, 0xEF, 0xD3, 0x65, 0x4F, 0xCA, 0xBF, +0x46, 0x3C, 0x15, 0x0F, 0xA8, 0x1B, 0x40, 0x9E, 0xA8, 0xDD, 0xD3, 0x30, 0xC7, 0x47, 0x37, 0xC1, +0xCF, 0x9E, 0x31, 0x02, 0x1E, 0xDD, 0x05, 0xE0, 0xC1, 0xC1, 0x6D, 0x68, 0x2A, 0x3B, 0xE6, 0xFA, +0x42, 0x9B, 0x1F, 0x6D, 0x74, 0xDB, 0x09, 0x7D, 0x5D, 0xB3, 0xBD, 0xBA, 0x3D, 0xBE, 0x7D, 0x75, +0xFC, 0xEA, 0xD5, 0x07, 0xAF, 0x44, 0x1F, 0x1C, 0xDF, 0x1E, 0xEB, 0x89, 0x3C, 0x24, 0x89, 0x61, +0x43, 0xB9, 0x22, 0x47, 0x79, 0xCD, 0x2B, 0x7D, 0xD9, 0xB1, 0x6B, 0x1A, 0x7F, 0x30, 0x9F, 0x7C, +0xC0, 0x25, 0x8E, 0xA6, 0x0F, 0xF4, 0xE1, 0xCD, 0xC6, 0xB3, 0x18, 0xBF, 0x7B, 0xBC, 0x75, 0xFC, +0xEE, 0xD6, 0xF1, 0x96, 0xF4, 0xEF, 0xEA, 0x51, 0xCF, 0xC7, 0x6E, 0x7A, 0x5E, 0x5B, 0x5F, 0xEF, +0xB5, 0x5F, 0x76, 0xF4, 0x50, 0xBC, 0x37, 0xC4, 0x46, 0x24, 0x9F, 0xA8, 0x8E, 0x5E, 0xBC, 0x78, +0x71, 0x18, 0x4A, 0xF5, 0xD3, 0xA2, 0x85, 0x8B, 0xE7, 0x8B, 0xB3, 0x97, 0xCF, 0x5F, 0xD6, 0x8F, +0xB3, 0xE7, 0x8B, 0x47, 0x68, 0xC7, 0xC2, 0x9B, 0x04, 0x6D, 0xBC, 0xFC, 0xDD, 0x5E, 0x5B, 0x57, +0x97, 0x96, 0x56, 0xB5, 0x87, 0xDF, 0x08, 0x95, 0x13, 0x2E, 0x89, 0xDE, 0xF4, 0x75, 0xD3, 0x97, +0x90, 0xAD, 0x23, 0x7D, 0x99, 0xD9, 0xD5, 0x5E, 0xDB, 0x6B, 0xEB, 0x3B, 0xDE, 0xCA, 0xAA, 0x01, +0xC0, 0x52, 0xF2, 0x77, 0xDB, 0xD3, 0xF3, 0x8B, 0xEE, 0xA7, 0xEA, 0xE9, 0xF6, 0xE1, 0x8B, 0x17, +0x4F, 0x9A, 0x32, 0xFE, 0x01, 0xC0, 0x57, 0x08, 0x1D, 0x6C, 0x4C, 0xAF, 0x1E, 0x23, 0x23, 0x9E, +0x35, 0xED, 0x3C, 0xFC, 0xA2, 0x3F, 0xEB, 0x58, 0x43, 0x5C, 0x8A, 0x4F, 0x39, 0x60, 0x8E, 0xF5, +0xE1, 0xCD, 0xC6, 0x26, 0xC6, 0x5C, 0xE0, 0x2C, 0xA5, 0xD5, 0x46, 0xF4, 0xE1, 0x7B, 0x1F, 0x1E, +0x65, 0x31, 0x02, 0xF0, 0xC3, 0xBE, 0x8E, 0xFA, 0xE2, 0x23, 0x55, 0x11, 0x70, 0x77, 0x7F, 0xB9, +0xDD, 0x92, 0xDC, 0x1C, 0xF0, 0xB3, 0xCF, 0x9E, 0x77, 0xE3, 0x11, 0xFC, 0x6B, 0xEA, 0xF9, 0xCE, +0xCE, 0xDE, 0x2F, 0x6D, 0x00, 0x9E, 0xFF, 0xDA, 0xD2, 0xF9, 0xAF, 0x3F, 0x5F, 0x3E, 0x02, 0x80, +0xBF, 0x77, 0x75, 0xF3, 0xFA, 0x4D, 0x57, 0x97, 0x97, 0xBF, 0x9E, 0x37, 0xE3, 0x4A, 0xFF, 0xFB, +0x7F, 0x69, 0xB5, 0x4F, 0x77, 0xDA, 0x5A, 0xB4, 0xF5, 0x7C, 0xA7, 0xFB, 0xF7, 0xFF, 0xD9, 0xD9, +0x76, 0x5B, 0x7D, 0x00, 0xBE, 0x68, 0x00, 0xF0, 0x60, 0x93, 0x7A, 0x1C, 0x00, 0x8F, 0xD3, 0xA7, +0x78, 0x01, 0x98, 0xEB, 0x68, 0xAB, 0x1F, 0x85, 0x36, 0x4F, 0xC0, 0xA3, 0x6E, 0x6C, 0x00, 0x80, +0xF2, 0xD2, 0x17, 0x2D, 0x0B, 0xA8, 0x5B, 0xE5, 0x76, 0xB7, 0x5B, 0x04, 0xDC, 0x5F, 0x5E, 0x5C, +0x9C, 0xED, 0xF4, 0x3E, 0xFF, 0x3B, 0x12, 0x8B, 0x35, 0x23, 0x70, 0xB1, 0xB3, 0xF7, 0xE9, 0xA7, +0x4D, 0xFC, 0xFD, 0x72, 0x75, 0x75, 0x75, 0x7E, 0x29, 0xC8, 0x10, 0xB6, 0xD8, 0x51, 0x38, 0xA7, +0x9D, 0x8D, 0x69, 0xF6, 0x0A, 0x51, 0x93, 0x54, 0xAF, 0x5F, 0xBF, 0xEE, 0x12, 0x50, 0xB2, 0x20, +0xAF, 0xBB, 0xFC, 0x13, 0xD5, 0xE8, 0xB3, 0xFF, 0x96, 0x2B, 0xD1, 0x5E, 0x4B, 0x1F, 0x7D, 0xF7, +0xE9, 0xA7, 0xEB, 0xC3, 0x1F, 0xFC, 0x6B, 0x12, 0x70, 0xE7, 0xB3, 0xB3, 0x8B, 0x8B, 0xDE, 0xEF, +0xD5, 0xE5, 0xF6, 0xE1, 0x33, 0xD9, 0xEC, 0xDB, 0xE4, 0x5F, 0x0D, 0xC0, 0x83, 0xCD, 0xEA, 0x51, +0x1E, 0x30, 0x8D, 0x7B, 0x83, 0xC7, 0x21, 0xF0, 0xB1, 0x04, 0x3C, 0x6E, 0x20, 0xB0, 0x17, 0xDA, +0xFA, 0x3A, 0xEA, 0x47, 0x1F, 0x82, 0x7D, 0x00, 0x4A, 0x16, 0xA4, 0xC5, 0xBF, 0x4F, 0x0E, 0x77, +0x0F, 0x3B, 0x1E, 0x50, 0x72, 0x20, 0x67, 0x17, 0x4B, 0x25, 0x60, 0xAD, 0x9D, 0x47, 0x12, 0xB0, +0xC7, 0xBF, 0x4F, 0x3F, 0xFD, 0xAE, 0x4B, 0xC0, 0x2B, 0xD5, 0x4C, 0xBB, 0x4B, 0xED, 0x64, 0xA8, +0x9D, 0xF4, 0x4A, 0xC2, 0x4B, 0x6F, 0xC2, 0x40, 0x53, 0x93, 0x7F, 0x37, 0x92, 0xDB, 0x6D, 0xFA, +0x3F, 0x7D, 0x71, 0x8F, 0x7F, 0x26, 0xFD, 0xE9, 0x8A, 0x26, 0xFC, 0x53, 0xF5, 0x3C, 0xB0, 0xE0, +0x6F, 0x6F, 0x03, 0xFE, 0x4F, 0xA3, 0xF5, 0xF7, 0x2F, 0xFC, 0xD3, 0x2C, 0xF0, 0x76, 0xAD, 0xA7, +0xF2, 0xF9, 0x3B, 0x84, 0x80, 0x85, 0xFF, 0xBB, 0xB7, 0x06, 0x58, 0xF3, 0xEF, 0xBF, 0x21, 0x60, +0x6D, 0x0E, 0x61, 0xE4, 0x5B, 0xE1, 0x01, 0x3B, 0x61, 0x6D, 0xAD, 0x00, 0x24, 0x9A, 0xF4, 0xEB, +0x02, 0x70, 0x7A, 0x71, 0x8B, 0x7F, 0x87, 0xF2, 0xE9, 0xDB, 0x3D, 0x7C, 0xDA, 0xE0, 0xDF, 0x85, +0x7E, 0xA8, 0x97, 0x67, 0xCF, 0x77, 0xFE, 0x0B, 0x02, 0xEA, 0x2B, 0x3E, 0xD5, 0xAF, 0xF5, 0xA7, +0x3D, 0xFE, 0x39, 0x01, 0x95, 0x2C, 0x46, 0x3A, 0x6D, 0x1A, 0x76, 0x81, 0xB8, 0x9C, 0x55, 0x73, +0xEA, 0x8D, 0x78, 0xBA, 0xAF, 0x25, 0x6E, 0x3A, 0xFC, 0x93, 0xD7, 0x69, 0xEB, 0x03, 0x50, 0xFD, +0x69, 0xD2, 0x34, 0xEC, 0xA7, 0xBE, 0x12, 0x75, 0x09, 0x28, 0xAB, 0x05, 0x12, 0x6B, 0xE6, 0x1F, +0x00, 0xAC, 0xF9, 0xA7, 0xAA, 0x09, 0x28, 0x9F, 0xBB, 0x4F, 0x76, 0x9F, 0x1D, 0x36, 0x09, 0x38, +0x7F, 0xB0, 0xD1, 0x3B, 0x1D, 0xFE, 0xBD, 0x85, 0x16, 0x30, 0x3C, 0xB3, 0x09, 0x02, 0xE2, 0xFF, +0x6A, 0xF5, 0xF9, 0xF7, 0x5F, 0x5A, 0xC0, 0x3E, 0x01, 0x3F, 0x6C, 0x12, 0xD0, 0xF8, 0xF7, 0x4C, +0xA6, 0x20, 0x9F, 0x54, 0xB3, 0xE0, 0xF7, 0x95, 0x7F, 0xAA, 0xA5, 0x7E, 0xBE, 0x6B, 0xFC, 0x6D, +0x60, 0x12, 0xBC, 0x67, 0xB1, 0xD3, 0xE1, 0x9F, 0x4B, 0x70, 0xE7, 0x36, 0x50, 0x18, 0xA2, 0x27, +0xEA, 0xF9, 0xEC, 0x92, 0x8E, 0xF5, 0xFA, 0xAC, 0x9E, 0x01, 0x34, 0xAA, 0xDD, 0xB4, 0xF9, 0x77, +0xD3, 0xE1, 0x9F, 0x4B, 0xD9, 0x2C, 0x8F, 0xD0, 0xFF, 0x3C, 0xFD, 0xA8, 0x32, 0xBC, 0x9A, 0xD5, +0xF0, 0x7F, 0x3B, 0x62, 0x96, 0xA5, 0xAD, 0xD9, 0xFF, 0xED, 0xB4, 0x08, 0x68, 0xF3, 0x5F, 0xD3, +0x59, 0x83, 0x80, 0xCA, 0xBF, 0xDD, 0x1E, 0x01, 0xE3, 0x2C, 0xE8, 0x9D, 0x16, 0xFF, 0xDE, 0x3E, +0x0F, 0xE8, 0x0E, 0x70, 0xA3, 0x04, 0x24, 0x67, 0xF2, 0x6F, 0x13, 0x10, 0xAD, 0xD3, 0x03, 0x2A, +0x24, 0x7B, 0xFC, 0x83, 0x96, 0x25, 0xFF, 0x3E, 0x11, 0xFE, 0x49, 0xEC, 0x0A, 0x01, 0x0B, 0x2D, +0x65, 0x02, 0x3C, 0xA9, 0xFC, 0x06, 0xEC, 0x6C, 0x84, 0x80, 0x7B, 0x3A, 0xA9, 0xD3, 0xD6, 0xE7, +0x9F, 0xEC, 0x9E, 0xC5, 0x3F, 0x09, 0x06, 0x71, 0x80, 0xCE, 0x40, 0x54, 0x92, 0x6A, 0xC6, 0x9F, +0x74, 0x25, 0x00, 0x0D, 0x7F, 0xAA, 0x9B, 0x12, 0x7F, 0x68, 0xFA, 0xF9, 0x44, 0xF4, 0xFC, 0xC4, +0xFA, 0x2C, 0xFF, 0x59, 0x1D, 0xFF, 0x27, 0xF8, 0xC3, 0x03, 0xAE, 0x85, 0x7F, 0xBA, 0xB4, 0x67, +0x51, 0xFF, 0xFD, 0x5F, 0xCC, 0x3A, 0x5B, 0x56, 0xFE, 0xEF, 0x7D, 0xE3, 0x5F, 0xCB, 0x03, 0xBE, +0x38, 0x0A, 0x04, 0x7C, 0xA7, 0xC7, 0xBF, 0xB7, 0xCE, 0x03, 0xAE, 0xB8, 0xFE, 0xB6, 0xCF, 0x82, +0x69, 0x1B, 0x5B, 0x07, 0x6C, 0xC8, 0x5E, 0x54, 0xF3, 0xCF, 0x55, 0xA4, 0x82, 0x5F, 0x98, 0xFF, +0x9B, 0x09, 0xF8, 0xFE, 0xC3, 0xF3, 0xDF, 0xA5, 0xE3, 0xAF, 0x26, 0xE0, 0xCE, 0x26, 0x08, 0xE8, +0xF0, 0x93, 0xF8, 0xB4, 0xE6, 0x1F, 0xBA, 0x9C, 0x11, 0x08, 0xFB, 0x08, 0xF5, 0x7F, 0xA8, 0xE6, +0x9F, 0xCA, 0xD8, 0x56, 0xF0, 0x8F, 0x57, 0x4A, 0xAB, 0x01, 0x08, 0x02, 0x15, 0xD5, 0xC1, 0x02, +0x4E, 0xEC, 0xC6, 0xFF, 0x35, 0x08, 0x68, 0xFE, 0xCF, 0x7E, 0x61, 0xEC, 0xAD, 0x37, 0x01, 0xD2, +0x21, 0xE0, 0x67, 0xF0, 0xAF, 0x24, 0xE0, 0x72, 0xE6, 0x9F, 0x79, 0xC0, 0x62, 0xC9, 0xFA, 0xEE, +0x24, 0x09, 0x00, 0xB6, 0xF8, 0xF7, 0xD6, 0x59, 0xC0, 0x63, 0xEB, 0xDF, 0x32, 0x02, 0xF6, 0x01, +0xF8, 0x5F, 0x10, 0xF0, 0xC8, 0x9A, 0x75, 0x25, 0xFF, 0xD0, 0xC3, 0x1E, 0xF0, 0xF4, 0xF0, 0x70, +0xFA, 0xF4, 0x95, 0x04, 0xDC, 0x57, 0xFF, 0x87, 0xC4, 0x0B, 0xE4, 0xDA, 0xD9, 0x08, 0x01, 0xED, +0xDB, 0x6C, 0x21, 0xEB, 0x80, 0x35, 0xFF, 0x90, 0x4D, 0x78, 0x1D, 0x22, 0xD3, 0x8C, 0x78, 0xBA, +0x24, 0x3D, 0x2A, 0x09, 0xE8, 0x40, 0x93, 0x47, 0xE5, 0x01, 0x79, 0xA5, 0xAA, 0xCF, 0x3F, 0x52, +0xC1, 0x46, 0x6A, 0xC6, 0x4A, 0x42, 0xF8, 0x57, 0x13, 0x50, 0xF1, 0x67, 0xBF, 0x2C, 0x94, 0x81, +0xEB, 0xE4, 0x1F, 0x51, 0xFA, 0x3F, 0x08, 0xB8, 0x5F, 0xF3, 0xCF, 0x3D, 0xE0, 0x8B, 0xC2, 0xFF, +0x21, 0x00, 0xD8, 0xE3, 0xDF, 0x5B, 0xE6, 0x01, 0xB9, 0xBA, 0xF1, 0x75, 0xC0, 0x3E, 0x03, 0x5B, +0xF8, 0xFB, 0xCF, 0x52, 0xC1, 0xE0, 0x4F, 0x0F, 0xEF, 0x35, 0x00, 0x88, 0x07, 0xCC, 0xFD, 0x9F, +0x99, 0xBF, 0xE9, 0x21, 0x04, 0x5C, 0xE6, 0xFC, 0x03, 0x7F, 0x95, 0x07, 0xDC, 0xD9, 0x08, 0x01, +0x8D, 0x7C, 0x06, 0x3F, 0x1B, 0x95, 0xFC, 0x43, 0xB3, 0x01, 0x84, 0x2A, 0x1E, 0xEE, 0xFF, 0x50, +0xE5, 0xFF, 0xBE, 0xE6, 0x51, 0x14, 0xC0, 0xF0, 0xCA, 0x9B, 0xD7, 0x25, 0xFF, 0x10, 0x3F, 0xA0, +0x76, 0x0E, 0x44, 0x1D, 0xC0, 0xBF, 0x9A, 0x80, 0x77, 0x7E, 0x59, 0xE8, 0x7B, 0xB5, 0x4E, 0xFE, +0x11, 0xB9, 0x01, 0x74, 0xFE, 0xE1, 0x01, 0xF7, 0x0B, 0xFE, 0xE1, 0x01, 0xFF, 0x64, 0xEF, 0x8C, +0x75, 0x9E, 0x86, 0xA1, 0x28, 0x0C, 0x08, 0x16, 0x24, 0x18, 0x2A, 0x91, 0x96, 0x8D, 0x05, 0xF5, +0x0D, 0x10, 0x13, 0x12, 0x2B, 0x03, 0xD9, 0x58, 0x5A, 0xB1, 0xC0, 0xF8, 0xF3, 0x02, 0xEC, 0x88, +0x19, 0x31, 0x31, 0xF7, 0x45, 0xC9, 0xBD, 0x89, 0xF9, 0x6A, 0x1C, 0xF7, 0xDC, 0x40, 0x42, 0x03, +0xE2, 0xD8, 0x71, 0xD2, 0x50, 0x10, 0x50, 0xE7, 0xEB, 0xB1, 0xEF, 0xB5, 0xFF, 0x56, 0xF0, 0x0F, +0x4D, 0x04, 0xE0, 0xCA, 0x3C, 0xA0, 0x21, 0xF0, 0xCF, 0x10, 0xD0, 0xF0, 0xF7, 0x97, 0x10, 0xF0, +0xD5, 0x1D, 0x81, 0x3F, 0xE6, 0xF6, 0xB4, 0x01, 0xD4, 0x04, 0x6C, 0x0F, 0x8F, 0x7A, 0xFF, 0xC7, +0x01, 0x01, 0x8B, 0x04, 0xC0, 0x63, 0xDE, 0xA7, 0xEB, 0x1E, 0xB0, 0x59, 0x84, 0x80, 0xBB, 0x86, +0xC7, 0xDA, 0x27, 0xF7, 0x25, 0xFF, 0x90, 0xE3, 0xCF, 0x4B, 0x1F, 0x08, 0x81, 0x88, 0x48, 0x11, +0x10, 0xF2, 0x0D, 0x17, 0xA7, 0x3A, 0xFF, 0xB2, 0x77, 0x9A, 0x14, 0xFF, 0x90, 0x19, 0xD4, 0x01, +0xD6, 0x1F, 0xFB, 0xBF, 0x65, 0x3A, 0xCA, 0x7F, 0x96, 0x88, 0xFF, 0x9E, 0x95, 0x45, 0xF8, 0xD7, +0x54, 0xF9, 0x47, 0x57, 0xC1, 0x03, 0x56, 0xF8, 0xF7, 0x12, 0x00, 0xDA, 0x61, 0x04, 0x14, 0xFC, +0x43, 0x00, 0x30, 0xC2, 0xBF, 0x2B, 0x12, 0xB0, 0x9A, 0x07, 0xF8, 0xF7, 0xCC, 0x03, 0x52, 0xAF, +0x11, 0x0B, 0x06, 0x7F, 0xA4, 0x4D, 0xD7, 0x11, 0x58, 0xFE, 0x11, 0x6D, 0x25, 0x01, 0xC6, 0xFC, +0x5F, 0x06, 0x40, 0x08, 0x88, 0x48, 0x80, 0xC9, 0xB4, 0x3F, 0x42, 0x40, 0xC1, 0xBF, 0xC7, 0x9B, +0xDF, 0x27, 0x60, 0x87, 0x3C, 0xC7, 0xDF, 0x10, 0xDB, 0xB4, 0x20, 0x67, 0x98, 0x7F, 0x78, 0x40, +0x2F, 0x9D, 0xFA, 0x4B, 0xF8, 0xA7, 0x09, 0xF8, 0x19, 0xAA, 0xD9, 0xE1, 0x27, 0xC1, 0xBF, 0xC4, +0x40, 0xB3, 0x8E, 0x92, 0x7F, 0x08, 0x7F, 0x0A, 0xFE, 0x88, 0x7F, 0x44, 0x08, 0xE8, 0xDF, 0x15, +0x34, 0x1E, 0x0B, 0x99, 0x21, 0x00, 0x5C, 0x16, 0xCD, 0xBF, 0x14, 0x0A, 0x1E, 0xF7, 0x80, 0xFB, +0xE7, 0x89, 0x7F, 0x1C, 0x35, 0x02, 0xFA, 0x26, 0xD0, 0x79, 0xBD, 0x0F, 0x00, 0x43, 0xFC, 0x5B, +0x95, 0x07, 0xFC, 0xBB, 0x08, 0xF8, 0x27, 0x11, 0xA8, 0x1D, 0xA0, 0x9F, 0x45, 0x02, 0x20, 0xD5, +0x80, 0xD8, 0x56, 0x12, 0x00, 0x9F, 0x96, 0x04, 0x7C, 0xB8, 0x1F, 0xE3, 0x1F, 0x7D, 0x1A, 0x41, +0xC0, 0x82, 0x7F, 0xF3, 0x7B, 0xC0, 0x67, 0xBB, 0x67, 0x46, 0x3E, 0x7F, 0x98, 0x77, 0x83, 0x0F, +0xD4, 0x00, 0x84, 0x80, 0x6E, 0xAD, 0x86, 0x19, 0x35, 0x6F, 0x19, 0xFF, 0x46, 0x08, 0x88, 0xF1, +0x3B, 0x0B, 0x6E, 0x9C, 0xAA, 0xFC, 0x4B, 0xEF, 0xE2, 0xF7, 0x48, 0xFE, 0x21, 0x02, 0xD4, 0xB0, +0xF0, 0xD3, 0x97, 0x51, 0x55, 0xC6, 0xBF, 0x69, 0xF2, 0x6F, 0xC0, 0x9F, 0xB5, 0x8B, 0xF0, 0xAF, +0x19, 0x0D, 0x80, 0x58, 0x5F, 0x29, 0x09, 0xF8, 0x7C, 0x2C, 0x02, 0xDC, 0xF1, 0xEF, 0xA7, 0x2E, +0x98, 0x42, 0xC1, 0x25, 0xFF, 0x4A, 0x03, 0xF8, 0x37, 0x01, 0x50, 0x38, 0x40, 0xCA, 0x22, 0x2B, +0x42, 0x7E, 0x73, 0x1A, 0xF0, 0xCF, 0x12, 0xB0, 0x1E, 0xFE, 0x80, 0x6D, 0xF5, 0x69, 0x40, 0x30, +0x89, 0x2C, 0x1D, 0xF0, 0x30, 0xC6, 0x3F, 0xFA, 0x1D, 0xD3, 0x80, 0x2F, 0x85, 0xFF, 0x43, 0xA3, +0x4B, 0x42, 0x9A, 0xDF, 0x26, 0xE0, 0xA5, 0x09, 0x40, 0x9E, 0x6B, 0x67, 0xA1, 0xC4, 0x1F, 0xFA, +0x4A, 0x28, 0x38, 0xA5, 0xC4, 0x80, 0x1C, 0x49, 0xC0, 0x82, 0x67, 0x7D, 0x7B, 0xAA, 0xFA, 0xBF, +0xBC, 0x31, 0x0F, 0x28, 0xF9, 0x87, 0x7A, 0xEF, 0xC7, 0x48, 0xDD, 0x16, 0x80, 0x14, 0xAA, 0x26, +0x44, 0xEF, 0x98, 0xFC, 0xF3, 0xD2, 0x1B, 0xE6, 0xD7, 0x8B, 0xF0, 0xAF, 0xA9, 0x27, 0x40, 0x23, +0xD2, 0x01, 0x4B, 0xFE, 0xD1, 0xF9, 0x38, 0x20, 0x20, 0x6A, 0x53, 0xD7, 0xA7, 0xD8, 0x1D, 0x00, +0x18, 0xE2, 0xDF, 0x9A, 0x2C, 0xA0, 0x20, 0xE0, 0xCC, 0x0E, 0xF0, 0x5F, 0xB0, 0x80, 0x20, 0x70, +0x18, 0x01, 0x8F, 0x12, 0x90, 0x81, 0x32, 0xC5, 0xDE, 0x0B, 0x01, 0xE1, 0x9F, 0x03, 0x50, 0x7B, +0x40, 0xF8, 0x57, 0x12, 0xB0, 0x89, 0x12, 0xF0, 0x37, 0x2C, 0xE0, 0xC6, 0x33, 0xDA, 0xAC, 0x82, +0x3F, 0x7F, 0xDD, 0xEC, 0xE2, 0x00, 0x24, 0xA0, 0xC0, 0xFC, 0x5F, 0x98, 0x80, 0x3E, 0x8A, 0xCD, +0xA1, 0xC6, 0x92, 0x90, 0x92, 0x7F, 0x05, 0x02, 0xBD, 0x46, 0x00, 0x08, 0x01, 0x89, 0x7D, 0x10, +0xFF, 0x08, 0x11, 0x70, 0xF7, 0x8C, 0xE9, 0x02, 0x3B, 0x75, 0x2F, 0xDC, 0x34, 0xFF, 0x1E, 0xFF, +0x04, 0x00, 0xF9, 0xF0, 0x53, 0x02, 0x74, 0x29, 0x08, 0xC8, 0x02, 0x90, 0x92, 0x7E, 0x95, 0x74, +0xC0, 0xD4, 0xE9, 0x8B, 0x07, 0x02, 0x00, 0xC6, 0x98, 0xB5, 0x1A, 0x13, 0xC8, 0xEB, 0xDF, 0xF2, +0x80, 0x0B, 0x58, 0x40, 0x41, 0xBF, 0xAB, 0x4C, 0x03, 0xBE, 0xCA, 0xF0, 0x47, 0x1B, 0x72, 0x80, +0x10, 0x10, 0xB5, 0x6D, 0x85, 0x7F, 0x9E, 0x10, 0xBD, 0x97, 0xFC, 0x73, 0xED, 0xF7, 0xE5, 0x13, +0x50, 0x2D, 0xBF, 0xE3, 0x01, 0x19, 0xF8, 0x36, 0x29, 0x0C, 0xEC, 0xB7, 0x9A, 0x28, 0xFF, 0x48, +0x86, 0xC1, 0x59, 0xD5, 0x35, 0x3A, 0x01, 0x88, 0xFB, 0xA3, 0x19, 0x21, 0x60, 0x1A, 0xFE, 0x16, +0xCD, 0x49, 0xF3, 0x0F, 0xE5, 0x23, 0xE0, 0x8F, 0x00, 0xB0, 0x50, 0xE9, 0xFF, 0x86, 0xFF, 0x1D, +0xAF, 0x0E, 0xC3, 0x5A, 0x20, 0x64, 0x13, 0x57, 0x13, 0x05, 0x20, 0xFC, 0xD3, 0x1E, 0x70, 0x5B, +0xF8, 0x3F, 0x92, 0x61, 0xDA, 0x82, 0x7F, 0x58, 0x00, 0xAB, 0xBC, 0xB8, 0x35, 0x8D, 0x7F, 0x6B, +0x31, 0x81, 0xF0, 0x6E, 0x69, 0x0F, 0x48, 0x59, 0x08, 0x81, 0xCB, 0x87, 0x82, 0xB3, 0x8F, 0x1F, +0x1A, 0x96, 0xFC, 0x1B, 0xEF, 0x26, 0xD6, 0x42, 0x40, 0xC1, 0xBF, 0x47, 0x10, 0x90, 0x04, 0xE8, +0x6A, 0xAF, 0xDE, 0x77, 0x5D, 0x3E, 0xC6, 0xBF, 0xC7, 0xF1, 0xE7, 0xED, 0x26, 0x27, 0x20, 0x13, +0x5A, 0xE7, 0x17, 0x3B, 0xBF, 0x6A, 0x34, 0xFF, 0x90, 0x27, 0xFF, 0x31, 0x0E, 0x8E, 0x13, 0xF0, +0x04, 0xC6, 0xB2, 0x06, 0x02, 0xE2, 0xFF, 0xC6, 0xDE, 0x07, 0x01, 0x35, 0xFF, 0x08, 0x05, 0xA7, +0x83, 0xF9, 0xBF, 0x00, 0x01, 0xD3, 0x97, 0x84, 0xFD, 0x4F, 0x79, 0x25, 0x15, 0xE6, 0xD9, 0xAC, +0x01, 0x60, 0x0A, 0x22, 0x01, 0x10, 0x55, 0x13, 0xA2, 0xF7, 0xF8, 0x3F, 0xE5, 0x01, 0x3D, 0x00, +0x9C, 0x3F, 0x03, 0x20, 0xF0, 0xD6, 0x44, 0xFE, 0xAD, 0xC4, 0x02, 0x5E, 0x81, 0x80, 0xB8, 0xC0, +0x89, 0xFC, 0x5B, 0x89, 0x07, 0x1C, 0x4E, 0xF9, 0x58, 0x60, 0xD4, 0xFD, 0xD1, 0x4B, 0xF8, 0x1D, +0x46, 0x40, 0x04, 0xFF, 0xC6, 0x3D, 0xE0, 0x7E, 0x9F, 0x2D, 0x00, 0xA9, 0x6A, 0x9F, 0xA7, 0x03, +0x36, 0x97, 0x08, 0xF8, 0x8B, 0x81, 0x90, 0x4D, 0x8F, 0x3A, 0x3F, 0x06, 0x43, 0xB3, 0xF3, 0xD6, +0x5F, 0x37, 0x92, 0x7F, 0xE8, 0x5D, 0xB1, 0x00, 0xA4, 0xAA, 0x4B, 0x09, 0x30, 0x34, 0xDE, 0xE6, +0x00, 0xAC, 0x1A, 0x40, 0x3F, 0x49, 0xFE, 0xA1, 0x2F, 0xFC, 0x4D, 0xF1, 0x7F, 0x9A, 0x80, 0x8D, +0xCF, 0x8D, 0x62, 0xFB, 0x92, 0x63, 0xF6, 0xF3, 0x22, 0xFC, 0x6B, 0x2A, 0x0B, 0x40, 0x14, 0x01, +0x49, 0x00, 0x1C, 0x23, 0xE0, 0x21, 0xF7, 0x7F, 0x45, 0x26, 0x04, 0x37, 0x6E, 0x4D, 0xE4, 0xDF, +0x3A, 0x2C, 0xE0, 0x9B, 0x54, 0x56, 0x1A, 0x0A, 0x56, 0xFC, 0x5B, 0x1E, 0x81, 0x08, 0x33, 0x97, +0xC3, 0xAD, 0xF4, 0x80, 0x39, 0xF1, 0xB2, 0xAF, 0xCB, 0x9C, 0x80, 0xED, 0x61, 0x9C, 0x7F, 0x2C, +0x09, 0xD9, 0x6B, 0xFF, 0x57, 0x2E, 0x09, 0x69, 0x44, 0xF9, 0x05, 0x0F, 0xD8, 0x5D, 0x3C, 0x73, +0xCE, 0x0D, 0x0C, 0x1C, 0x9E, 0xF0, 0x34, 0x11, 0x68, 0xF7, 0x34, 0xFF, 0x08, 0x05, 0x27, 0xFB, +0xF7, 0xF1, 0x93, 0x50, 0x36, 0xFE, 0xAD, 0x9A, 0x3A, 0x3F, 0xE5, 0x0B, 0x40, 0x2E, 0xBE, 0x57, +0xF3, 0x0F, 0x11, 0xB4, 0xE1, 0x1F, 0xA0, 0x08, 0x88, 0xFB, 0x7B, 0xDD, 0x27, 0xC0, 0x38, 0xFD, +0x28, 0x8B, 0xF0, 0xAF, 0xD1, 0xFE, 0x8F, 0x74, 0x40, 0x12, 0x00, 0xF1, 0x7F, 0xE3, 0x04, 0x6C, +0x73, 0xFF, 0x87, 0x03, 0x74, 0x71, 0xE3, 0xD6, 0x64, 0xFE, 0xAD, 0xC4, 0x03, 0xCE, 0x45, 0xC0, +0xDB, 0xBF, 0x30, 0x11, 0xF8, 0x3E, 0x0E, 0x40, 0x55, 0x17, 0xF5, 0x80, 0xE0, 0x8F, 0x6B, 0x18, +0x37, 0x34, 0xF0, 0xAF, 0x70, 0x80, 0xB4, 0x0E, 0xCB, 0xF6, 0x20, 0xFD, 0x9F, 0x1F, 0x10, 0x90, +0x05, 0x20, 0xA8, 0x4C, 0x07, 0x84, 0x7F, 0xB3, 0x7B, 0xC0, 0x8D, 0x63, 0x8F, 0xE2, 0x11, 0xCD, +0xDD, 0x39, 0x06, 0x1B, 0xF8, 0x27, 0x95, 0xF8, 0x87, 0xFF, 0xD3, 0x04, 0x84, 0x63, 0x45, 0x33, +0x9C, 0xCE, 0xFC, 0xDF, 0xE5, 0xF7, 0x9E, 0x3E, 0x47, 0xF8, 0xC7, 0x28, 0x38, 0xF1, 0x4F, 0x29, +0xF3, 0x7F, 0xCC, 0x97, 0x5A, 0x43, 0xCC, 0xC8, 0xEB, 0x22, 0xFC, 0x6B, 0xAA, 0x09, 0x80, 0x88, +0x25, 0x21, 0x2C, 0x00, 0x91, 0x04, 0x84, 0x7F, 0x79, 0xA7, 0xCE, 0x1D, 0xE0, 0x64, 0xFE, 0xAD, +0xC0, 0x03, 0x6A, 0x04, 0xAE, 0xC7, 0x02, 0x52, 0xAF, 0x32, 0x0F, 0xC8, 0xA7, 0x0E, 0xC9, 0xB8, +0x6F, 0x0D, 0x00, 0x2C, 0xE8, 0x68, 0x2D, 0xB7, 0x87, 0x25, 0x21, 0x2D, 0x09, 0xD0, 0xD5, 0xE3, +0x91, 0x13, 0x90, 0x05, 0xC0, 0x75, 0xB1, 0x3B, 0x60, 0xA3, 0xCB, 0x54, 0x02, 0x76, 0x8D, 0x93, +0x8E, 0xCC, 0x97, 0x64, 0x6F, 0x9C, 0x82, 0xFD, 0xE5, 0x2E, 0xC6, 0x3F, 0x3C, 0xA0, 0xCD, 0xFF, +0x69, 0xB1, 0x01, 0x56, 0x85, 0x68, 0xEC, 0xF7, 0x72, 0x16, 0x00, 0x56, 0xEF, 0x85, 0x7F, 0x01, +0x02, 0xB2, 0x00, 0x44, 0x88, 0x04, 0x18, 0xAB, 0xC9, 0xFE, 0xD9, 0x29, 0xC5, 0x8B, 0x86, 0x68, +0xF0, 0x6E, 0x11, 0xFE, 0x35, 0x9A, 0x7F, 0xA4, 0x03, 0x0E, 0x0B, 0x40, 0xC8, 0xFF, 0xAB, 0x1C, +0x89, 0x80, 0x6D, 0xEA, 0xD3, 0xE9, 0x9C, 0x3B, 0xC0, 0x15, 0x00, 0xF0, 0xEA, 0x1E, 0xF0, 0x41, +0x1C, 0x82, 0xF8, 0x3F, 0x29, 0x4D, 0xBF, 0xE5, 0xE7, 0x01, 0x4B, 0xD8, 0x8D, 0x85, 0x45, 0x12, +0xFF, 0x78, 0x07, 0x24, 0xE4, 0xDA, 0x9B, 0x36, 0x4B, 0x80, 0xA9, 0x1F, 0x8F, 0x6C, 0x87, 0x68, +0x02, 0xC0, 0xD2, 0x03, 0xC2, 0xBF, 0x59, 0x3D, 0xE0, 0xA6, 0x71, 0xBF, 0xC7, 0x48, 0xCE, 0xCF, +0x64, 0xB9, 0x25, 0x1A, 0xA6, 0x1D, 0xF0, 0xB5, 0x08, 0x00, 0x4B, 0xE1, 0xFF, 0x6A, 0x5C, 0xCB, +0x03, 0x21, 0xA7, 0x0B, 0xF4, 0x63, 0x59, 0x30, 0xFC, 0x93, 0x82, 0x7F, 0x52, 0x89, 0x7F, 0x79, +0x21, 0x64, 0x9E, 0xF2, 0x01, 0xCD, 0x03, 0x6E, 0xE6, 0xE3, 0x1F, 0x45, 0xF3, 0x8F, 0x25, 0x21, +0x69, 0x01, 0x88, 0x22, 0xE0, 0x5D, 0xEF, 0xAD, 0x40, 0x8F, 0xBE, 0x9D, 0x3B, 0xC0, 0x17, 0x57, +0xD7, 0xEC, 0xF6, 0x6F, 0xF9, 0x79, 0xC0, 0xF7, 0x21, 0x02, 0x5E, 0x19, 0x81, 0x65, 0x06, 0x0C, +0xDF, 0x85, 0x34, 0xF8, 0xBF, 0x51, 0x07, 0xC8, 0xED, 0x61, 0x8F, 0xFC, 0x83, 0xE6, 0xDF, 0x53, +0x23, 0xE0, 0xB0, 0x03, 0x7E, 0x40, 0x47, 0x9E, 0x84, 0x79, 0x3D, 0x20, 0xAC, 0x7B, 0xFD, 0x03, +0x81, 0xF9, 0x78, 0xD8, 0x99, 0xB8, 0x83, 0x7F, 0x52, 0xF0, 0x4F, 0x8A, 0x04, 0xC0, 0x71, 0x9A, +0x71, 0x3A, 0x11, 0xFF, 0xA8, 0x34, 0x5C, 0xC0, 0x3F, 0x25, 0xC6, 0xBF, 0x31, 0x02, 0xA6, 0x58, +0x6F, 0x3A, 0x59, 0x71, 0xE8, 0xF9, 0xC9, 0xAA, 0xDD, 0x98, 0x9A, 0x00, 0x1D, 0x25, 0xA0, 0x2F, +0x00, 0xD1, 0x3A, 0xF6, 0x09, 0xD0, 0x11, 0x00, 0x3E, 0x3D, 0x38, 0xFF, 0x60, 0x1E, 0x7D, 0xFB, +0xDC, 0x01, 0xBE, 0x58, 0x81, 0xA6, 0xE3, 0xEF, 0x7A, 0xA3, 0xE0, 0xF7, 0x56, 0x23, 0x82, 0x70, +0x57, 0x9A, 0x08, 0x1C, 0x19, 0xEE, 0x02, 0xC5, 0xEC, 0xCE, 0xE0, 0xFF, 0xEA, 0x51, 0x60, 0x46, +0xCF, 0xC9, 0xFF, 0x05, 0x08, 0xC8, 0x06, 0x08, 0x4A, 0xC7, 0x38, 0x00, 0x27, 0x11, 0x30, 0x85, +0x3F, 0xD2, 0xA4, 0x16, 0xE1, 0xE0, 0x64, 0x6D, 0xFA, 0xB0, 0x30, 0x03, 0x60, 0x2D, 0xF8, 0xA7, +0x09, 0x88, 0xC9, 0x1B, 0x65, 0x1A, 0xED, 0x89, 0x04, 0x18, 0xD1, 0x9C, 0x3E, 0xC3, 0x3F, 0x29, +0xF8, 0xA7, 0x64, 0x3F, 0x01, 0x8E, 0x18, 0x51, 0x5F, 0x3C, 0x44, 0xE4, 0x06, 0x9A, 0x41, 0xB0, +0x5D, 0x2C, 0x60, 0x00, 0x49, 0x80, 0xD6, 0x1E, 0x10, 0xFF, 0x27, 0x8F, 0x43, 0x8B, 0xE5, 0xCB, +0xFA, 0x36, 0x96, 0xF0, 0x3F, 0x00, 0x7F, 0x75, 0x1E, 0xF0, 0xFD, 0x5F, 0x62, 0x01, 0x0B, 0x04, +0x16, 0xB3, 0x82, 0x5E, 0x5C, 0xF5, 0x28, 0x30, 0xBF, 0xC4, 0x0E, 0x58, 0xE2, 0xE8, 0x92, 0x61, +0x18, 0xD5, 0x48, 0x02, 0x36, 0x0B, 0x58, 0x40, 0x72, 0xFF, 0xC8, 0x68, 0xE3, 0xE4, 0xB7, 0x86, +0xA9, 0xFD, 0xDD, 0x97, 0x45, 0x00, 0x78, 0xF2, 0x69, 0x3D, 0xE1, 0xEB, 0xBC, 0x62, 0x00, 0x55, +0x73, 0x9A, 0x13, 0x80, 0x88, 0xCD, 0x62, 0x8D, 0x79, 0x56, 0xF3, 0x99, 0x02, 0x6F, 0xDC, 0x0D, +0x2E, 0xE1, 0xFF, 0x1A, 0xFC, 0x9F, 0x26, 0xE0, 0x3D, 0xFC, 0x9F, 0xF2, 0x80, 0xC0, 0x2E, 0x77, +0x80, 0x7D, 0xF9, 0x2B, 0x1D, 0x60, 0x98, 0x7F, 0x8B, 0x02, 0xF0, 0xFD, 0xCC, 0x16, 0x70, 0x19, +0x00, 0x96, 0x31, 0x5F, 0x3F, 0xD1, 0x72, 0x01, 0xF1, 0xB8, 0x2C, 0xF0, 0x67, 0x95, 0x08, 0xB0, +0x3C, 0xB6, 0x8C, 0x80, 0xA5, 0x9E, 0x00, 0x40, 0x55, 0xA6, 0x38, 0xC0, 0x34, 0xD0, 0xED, 0xFD, +0x0C, 0xD3, 0x5A, 0xFD, 0x6D, 0x03, 0xE3, 0x9F, 0x72, 0x80, 0xD5, 0xC6, 0x75, 0x3A, 0xE9, 0x19, +0x40, 0x16, 0x05, 0x2F, 0x02, 0xC0, 0xC1, 0xF6, 0x35, 0x90, 0xB0, 0x2F, 0xC9, 0x15, 0xF6, 0x08, +0x9C, 0x66, 0x00, 0x9B, 0xB0, 0xFF, 0xDB, 0x84, 0xF9, 0x77, 0xF3, 0x70, 0x2B, 0x7B, 0x1E, 0x9B, +0x03, 0x7A, 0xA7, 0x1D, 0x79, 0x02, 0xD6, 0x35, 0x07, 0x78, 0xF5, 0x30, 0xC8, 0xE4, 0x20, 0x08, +0xE7, 0x59, 0x00, 0xB8, 0x8C, 0x05, 0xEC, 0x94, 0x47, 0x73, 0x73, 0x6F, 0xC7, 0x4B, 0xAF, 0xB0, +0xAE, 0x48, 0x1E, 0xE4, 0xB0, 0x38, 0xF0, 0x21, 0x48, 0xC0, 0xED, 0xBD, 0x7B, 0x51, 0x02, 0xDE, +0xC4, 0x09, 0x18, 0x9F, 0x81, 0x6A, 0x3A, 0xA5, 0xA9, 0x2B, 0x66, 0xB3, 0x28, 0x6E, 0xFF, 0xEC, +0x7E, 0x47, 0xC6, 0x38, 0x01, 0x89, 0x01, 0x2B, 0x11, 0x03, 0xAE, 0x01, 0x8D, 0x28, 0x88, 0x49, +0xD2, 0x8F, 0x5C, 0xC0, 0x28, 0xFF, 0xDE, 0x85, 0x09, 0xC8, 0x2E, 0xD0, 0x59, 0xEE, 0x4B, 0xFF, +0xDF, 0xC6, 0x5D, 0x7B, 0x35, 0xE5, 0x13, 0x08, 0x5B, 0x40, 0x73, 0x76, 0xC1, 0x39, 0xC0, 0xED, +0xBD, 0xAD, 0x88, 0x01, 0xB3, 0x2F, 0xCC, 0xA1, 0xB5, 0x67, 0xA0, 0x7C, 0x02, 0xCE, 0x57, 0x82, +0x5C, 0x3D, 0x08, 0x0C, 0xFF, 0x66, 0x45, 0xE0, 0x32, 0xBB, 0xC2, 0xD8, 0x11, 0xA4, 0x5F, 0x7C, +0x0C, 0xBC, 0x0C, 0x01, 0x4D, 0xD9, 0xA0, 0x57, 0x38, 0xC0, 0xCC, 0xEA, 0x79, 0xCD, 0x6F, 0x3B, +0xFF, 0x6C, 0x3D, 0xDC, 0xD3, 0x00, 0x00, 0x9D, 0x7F, 0xDB, 0x20, 0x01, 0x8F, 0x37, 0xDD, 0xB1, +0x09, 0x03, 0xF0, 0x49, 0x1C, 0x80, 0xEE, 0x59, 0xD2, 0xD3, 0xEC, 0x76, 0x8F, 0xEA, 0xF6, 0xCF, +0xD7, 0xC4, 0x3D, 0x8B, 0x03, 0xD0, 0xE2, 0xAA, 0x53, 0xA2, 0xC0, 0xDA, 0x00, 0x3A, 0xFF, 0x5C, +0x11, 0x03, 0xD8, 0x2F, 0x06, 0x79, 0x1B, 0xE4, 0xDF, 0xD7, 0x77, 0x93, 0xA2, 0xC0, 0x69, 0xA2, +0x94, 0x6D, 0x60, 0x98, 0x2C, 0xB0, 0xC2, 0xC6, 0x80, 0xD1, 0x0F, 0x20, 0x86, 0x40, 0xE7, 0xDF, +0x4D, 0x8C, 0x7F, 0xFB, 0x7B, 0x5D, 0xC7, 0xBA, 0x17, 0xF3, 0x7F, 0xDD, 0x97, 0xB5, 0x11, 0xB0, +0x7C, 0x02, 0xBC, 0xAE, 0x26, 0x0F, 0x70, 0x2A, 0xFF, 0x96, 0xC0, 0x5F, 0x9C, 0x80, 0xDA, 0x03, +0x82, 0xBF, 0x18, 0x02, 0xD1, 0x9C, 0x08, 0x4C, 0x2A, 0xB6, 0x01, 0xA2, 0x03, 0x14, 0x89, 0x2F, +0xBC, 0xC6, 0x36, 0x72, 0x3B, 0xF1, 0xCF, 0x08, 0xA8, 0x3B, 0xE0, 0xF6, 0x9E, 0x69, 0xBB, 0x0F, +0x10, 0xF0, 0xE6, 0x68, 0xF5, 0x18, 0xF2, 0x80, 0xBD, 0x26, 0x64, 0x42, 0x3F, 0x4B, 0xB6, 0x8F, +0xBD, 0x00, 0x7B, 0xAB, 0x33, 0x20, 0x90, 0x4C, 0xE8, 0x60, 0x0C, 0xD8, 0xEA, 0xB4, 0x3C, 0x40, +0x39, 0xAB, 0x97, 0xA4, 0xB2, 0x60, 0xA6, 0xE5, 0x01, 0xBE, 0x33, 0x4D, 0xCA, 0x03, 0x4C, 0x73, +0x80, 0x3F, 0xA5, 0xBF, 0xA4, 0x3B, 0x6E, 0x10, 0xE3, 0x1F, 0xC0, 0x13, 0x00, 0xA8, 0x4A, 0xEA, +0x03, 0x51, 0xFE, 0xDD, 0x63, 0x1D, 0xF0, 0xA5, 0xF5, 0xC0, 0x9D, 0x8C, 0x80, 0x74, 0x66, 0x2F, +0x80, 0x70, 0x1D, 0x2B, 0x41, 0xAE, 0x9E, 0x08, 0x3D, 0x01, 0x81, 0x9D, 0x22, 0x51, 0x10, 0x10, +0x18, 0xE1, 0xDF, 0x22, 0x04, 0x44, 0x23, 0x7B, 0xBB, 0x70, 0x87, 0xCB, 0x62, 0xB4, 0x5B, 0x38, +0x40, 0xE3, 0xDF, 0x53, 0xBD, 0x12, 0xC4, 0x8F, 0x9E, 0x7F, 0xE6, 0x01, 0xF7, 0x47, 0xED, 0xFF, +0xBC, 0xDA, 0x28, 0x58, 0x97, 0x41, 0x61, 0xFE, 0x0D, 0xF3, 0x80, 0xFC, 0x90, 0x33, 0x7F, 0x94, +0x77, 0xC9, 0xDF, 0x64, 0x8B, 0x81, 0x03, 0xFC, 0x4B, 0x0A, 0xF3, 0x0F, 0x0F, 0x58, 0x77, 0x75, +0x48, 0x90, 0x72, 0xD2, 0x4A, 0x90, 0x77, 0x83, 0xBE, 0x46, 0xF8, 0xC7, 0xCF, 0x02, 0x66, 0x33, +0x84, 0x74, 0xFA, 0x71, 0xC7, 0x76, 0x05, 0xDC, 0xC4, 0x3F, 0x80, 0x24, 0xED, 0xFF, 0x8E, 0xF4, +0x81, 0x10, 0xFF, 0x9C, 0x80, 0x01, 0xFE, 0x41, 0x40, 0x3A, 0x33, 0x76, 0x60, 0x25, 0x6B, 0x81, +0xD7, 0xB0, 0x18, 0xD8, 0x6A, 0x00, 0x81, 0x48, 0x78, 0x40, 0x1C, 0xA0, 0xB6, 0x80, 0x8B, 0x03, +0x90, 0xCF, 0x3B, 0x63, 0x9A, 0x97, 0x0C, 0x81, 0xCA, 0x01, 0xBE, 0xBA, 0xEF, 0xFC, 0x73, 0x29, +0x02, 0x7A, 0x37, 0x85, 0x80, 0xDA, 0x00, 0x7A, 0x95, 0x1E, 0x90, 0x87, 0x2A, 0xFC, 0xF8, 0x6D, +0x1A, 0x96, 0x74, 0x99, 0x95, 0x49, 0x5E, 0xD0, 0x6A, 0xBF, 0xF7, 0x71, 0x9C, 0x80, 0x67, 0x3F, +0x0D, 0x29, 0xC6, 0x3F, 0xBD, 0x16, 0xC4, 0x01, 0x88, 0xEA, 0xA0, 0xF4, 0xE3, 0x1B, 0xD2, 0xFC, +0x4B, 0x7F, 0xD5, 0x29, 0x6B, 0x81, 0xC9, 0xF9, 0x63, 0x2D, 0xC8, 0x79, 0x3C, 0x18, 0x69, 0xFF, +0x97, 0x24, 0x93, 0xDB, 0x6F, 0xE8, 0x03, 0x32, 0x00, 0x4C, 0xC7, 0x7A, 0xAA, 0xF9, 0xE7, 0x3A, +0xDC, 0x75, 0x02, 0x32, 0xF0, 0x1D, 0x9A, 0x95, 0xEC, 0x06, 0x03, 0xFF, 0xAE, 0x05, 0xC0, 0x07, +0x20, 0x50, 0x15, 0xA4, 0x3C, 0x20, 0x08, 0x5C, 0x06, 0x80, 0x9A, 0x7F, 0x28, 0x8B, 0x7D, 0x95, +0xA3, 0x80, 0x3A, 0xFE, 0xB8, 0x9D, 0xF8, 0x77, 0x50, 0xBB, 0xA1, 0xE2, 0xFF, 0x20, 0x20, 0xC9, +0x30, 0xE3, 0xFE, 0x8F, 0xAF, 0xFF, 0x1B, 0x0D, 0x40, 0x08, 0xA8, 0xF8, 0x07, 0x00, 0x59, 0x09, +0x62, 0xC4, 0x4B, 0x1C, 0xEC, 0x77, 0x85, 0x99, 0xB4, 0x1B, 0x0C, 0xFA, 0xF2, 0x4E, 0xF2, 0x0F, +0xE9, 0xF9, 0x3F, 0x35, 0x08, 0x66, 0x25, 0x30, 0xD2, 0xF3, 0x7F, 0x26, 0x3F, 0x2B, 0xFE, 0x21, +0x62, 0x1E, 0xC4, 0x42, 0x08, 0x01, 0xBF, 0x6E, 0xE2, 0x04, 0x6C, 0x90, 0xF0, 0x7F, 0x4F, 0xE8, +0x03, 0x5D, 0x95, 0xFC, 0x83, 0x80, 0x82, 0x7F, 0x10, 0xD0, 0x3A, 0xEF, 0x58, 0x32, 0x98, 0x1F, +0x7F, 0xE9, 0x7E, 0x80, 0x73, 0x4E, 0x00, 0x52, 0x35, 0xFF, 0xB4, 0x07, 0x64, 0xF4, 0x1B, 0x89, +0x84, 0xFC, 0xB2, 0x82, 0x00, 0x64, 0x14, 0x5C, 0x38, 0x40, 0x5E, 0x15, 0x08, 0x2C, 0x03, 0xC5, +0xF0, 0x4F, 0x13, 0xB0, 0xE7, 0x1F, 0x04, 0xBC, 0x34, 0xB4, 0xB1, 0xAF, 0xFD, 0xA8, 0x07, 0x3C, +0xD7, 0x63, 0xF9, 0xF4, 0x41, 0xC0, 0xF4, 0x44, 0x27, 0x3B, 0x43, 0xB1, 0x04, 0xC0, 0x38, 0x01, +0xD9, 0x12, 0x5A, 0x79, 0xC0, 0x72, 0x3F, 0x54, 0x3D, 0x00, 0xD6, 0x83, 0xE0, 0x09, 0xFB, 0x01, +0xF6, 0xE8, 0xF3, 0x62, 0x9A, 0xB2, 0x1F, 0x60, 0x16, 0x25, 0xCA, 0x57, 0xCF, 0xE4, 0x0A, 0x7F, +0x02, 0x22, 0x01, 0x30, 0xEB, 0x03, 0x17, 0xBB, 0xCA, 0xF3, 0xAC, 0x63, 0xBD, 0xAC, 0x7A, 0x40, +0x5F, 0x04, 0x82, 0x9E, 0x1A, 0x01, 0xA1, 0x5F, 0xE1, 0x00, 0x17, 0x24, 0xE0, 0x87, 0xD9, 0xF9, +0x87, 0x66, 0xB3, 0x7F, 0xD4, 0x4E, 0x9A, 0x7F, 0xDA, 0x03, 0xDE, 0x99, 0x80, 0xC0, 0x25, 0x08, +0x58, 0x08, 0xF8, 0x15, 0x69, 0xCF, 0xE7, 0xE2, 0x3E, 0x2D, 0x3F, 0x41, 0xA9, 0x4D, 0x5F, 0xAA, +0x62, 0x14, 0x6C, 0x3F, 0x19, 0xCE, 0x05, 0x01, 0x8F, 0x47, 0xE9, 0xFF, 0xBC, 0x1E, 0x2F, 0x79, +0xC0, 0x9F, 0x15, 0x7D, 0xFA, 0xD8, 0x11, 0x90, 0xCD, 0x3E, 0x53, 0x13, 0xDB, 0x11, 0x9A, 0x00, +0x48, 0x92, 0x23, 0x70, 0xCA, 0x8E, 0xD0, 0x6A, 0xFC, 0xAB, 0x11, 0x78, 0x62, 0x37, 0x40, 0x4D, +0xC0, 0x8F, 0x8E, 0x3E, 0x20, 0xA8, 0xF9, 0x87, 0xDC, 0x1A, 0x93, 0x36, 0x74, 0xBE, 0x79, 0xE2, +0xE6, 0x57, 0x3F, 0x81, 0x8B, 0xFE, 0xAF, 0xA3, 0xDE, 0x77, 0xE6, 0xCE, 0x58, 0xB7, 0x89, 0x20, +0x08, 0xC3, 0x08, 0x29, 0x25, 0x14, 0x48, 0x1C, 0x2E, 0xDD, 0x44, 0x34, 0xA9, 0x2D, 0xDE, 0x82, +0x07, 0xF0, 0x95, 0x2E, 0x7D, 0x2F, 0x90, 0x8E, 0x32, 0x65, 0x94, 0x86, 0xD4, 0x79, 0x51, 0xB2, +0xE7, 0x5B, 0x7D, 0x4C, 0xE6, 0x66, 0xFF, 0x89, 0xB2, 0xA7, 0xE4, 0xD3, 0x62, 0x1B, 0x08, 0x92, +0x85, 0xED, 0x4F, 0xFF, 0xDC, 0xCE, 0xAC, 0x9B, 0x11, 0x90, 0x13, 0xA1, 0x17, 0xFF, 0x61, 0xC0, +0xB6, 0xFF, 0x38, 0xBC, 0x92, 0x13, 0xF1, 0xB9, 0x21, 0x01, 0x2E, 0x6C, 0x62, 0xBF, 0x8F, 0x2E, +0xC0, 0x57, 0x24, 0x40, 0x10, 0x19, 0xD0, 0xE9, 0x4F, 0xF8, 0x6F, 0x7B, 0x01, 0xDA, 0x01, 0x38, +0x34, 0xE8, 0x21, 0xF2, 0x99, 0x9F, 0x9A, 0xFD, 0x77, 0x6C, 0x7F, 0x27, 0x26, 0x0D, 0x30, 0x57, +0xBF, 0x5E, 0x18, 0xF0, 0x57, 0x9C, 0x01, 0x8B, 0xF4, 0x58, 0xAD, 0x91, 0x90, 0xBC, 0x01, 0x07, +0x47, 0x39, 0x03, 0xCB, 0x0E, 0x79, 0xCD, 0x21, 0x67, 0x18, 0xEE, 0x6E, 0x32, 0x06, 0x44, 0x7F, +0x35, 0xFE, 0x15, 0x94, 0xFF, 0xF4, 0x77, 0x82, 0x58, 0xFF, 0x89, 0x66, 0x98, 0x47, 0x90, 0x06, +0xBC, 0xAF, 0xF2, 0xAB, 0xBE, 0xD6, 0xFE, 0x03, 0x8E, 0xCC, 0x7E, 0x5E, 0x0C, 0x80, 0xEC, 0xBE, +0xBD, 0xE1, 0x15, 0x88, 0x05, 0xE8, 0xDE, 0x03, 0x91, 0xFF, 0x46, 0xFC, 0x27, 0x0C, 0xB8, 0x14, +0xC0, 0x70, 0xBC, 0x5E, 0x1A, 0xA2, 0x83, 0x04, 0xB8, 0x65, 0x11, 0x3C, 0x6D, 0xE6, 0xBF, 0x2E, +0xFA, 0x4B, 0x2B, 0x90, 0x0D, 0x60, 0x99, 0x01, 0x3F, 0x67, 0x8B, 0x60, 0xD8, 0xDE, 0x80, 0x3A, +0x01, 0x82, 0xDF, 0x05, 0xC6, 0x7F, 0xD6, 0x80, 0xEB, 0x1B, 0x20, 0xD5, 0x7F, 0x18, 0x90, 0x43, +0x61, 0x5C, 0x00, 0xB4, 0xAB, 0xB5, 0x15, 0xEC, 0x90, 0x07, 0xE2, 0x43, 0x3D, 0xD3, 0x89, 0xD9, +0x8F, 0xCB, 0x06, 0xB0, 0x17, 0x40, 0xEB, 0x20, 0xAC, 0x2A, 0xC1, 0xCB, 0xA3, 0x7B, 0x2D, 0x40, +0xF0, 0x5E, 0x2B, 0xBF, 0x9E, 0x00, 0xBC, 0xFD, 0xC8, 0x7F, 0x29, 0x03, 0xDE, 0xE2, 0xBE, 0xCB, +0x83, 0xF2, 0x2B, 0x2D, 0x40, 0xAE, 0x98, 0x72, 0x70, 0x0E, 0xFD, 0x2F, 0x16, 0xE1, 0x3F, 0x68, +0x37, 0x00, 0xDA, 0x15, 0x37, 0x40, 0x3B, 0xD6, 0xF5, 0xF7, 0xDD, 0xF8, 0x8F, 0xAD, 0x60, 0x97, +0x00, 0x0B, 0x08, 0xF0, 0x1D, 0x32, 0xE0, 0x04, 0xDD, 0x14, 0xF8, 0x36, 0xFD, 0xA5, 0xE3, 0x9F, +0x3D, 0x15, 0xE1, 0xD4, 0x4E, 0x80, 0x1B, 0x09, 0x50, 0xFB, 0x0F, 0x5C, 0x02, 0x8C, 0xED, 0xE7, +0x13, 0x60, 0xF1, 0x9F, 0x7B, 0x53, 0x5D, 0x46, 0x42, 0xFC, 0x3B, 0xF0, 0xCA, 0xF3, 0x83, 0xA1, +0xB8, 0xF8, 0x02, 0xA0, 0x68, 0x07, 0x04, 0xD0, 0x1F, 0x3F, 0xA8, 0x83, 0xAC, 0x1C, 0x77, 0x3C, +0xEC, 0xF0, 0x9F, 0x54, 0xE0, 0xFF, 0x7B, 0x0A, 0x95, 0x7B, 0xA9, 0xBF, 0xF8, 0x32, 0x20, 0x0D, +0x80, 0x1E, 0x11, 0x00, 0xA5, 0x00, 0x51, 0xDF, 0x03, 0x05, 0xBB, 0xF2, 0x1F, 0xDC, 0x98, 0xC1, +0x8F, 0x1D, 0x03, 0x20, 0x2B, 0x88, 0x17, 0x40, 0x46, 0xC0, 0xF5, 0xF7, 0xC0, 0x0A, 0xE7, 0xAF, +0x6C, 0x80, 0x18, 0x03, 0xEA, 0xFC, 0x87, 0x01, 0x5D, 0x02, 0xBC, 0x94, 0xC0, 0xD0, 0xD3, 0x7A, +0xDC, 0x0B, 0xFF, 0x75, 0x36, 0x60, 0x9F, 0x04, 0xA8, 0xF3, 0x1F, 0x9C, 0x9C, 0xFC, 0x72, 0x45, +0xF0, 0x46, 0x02, 0x0C, 0x30, 0x09, 0x30, 0xD6, 0x1F, 0x7A, 0xE4, 0x1F, 0xD0, 0x00, 0x08, 0xE1, +0x65, 0x40, 0xDE, 0xA6, 0xC0, 0x48, 0x48, 0x94, 0xFF, 0x58, 0x51, 0x06, 0x5C, 0x25, 0xEF, 0x3F, +0x77, 0xD2, 0x71, 0xB9, 0xBB, 0x3B, 0x00, 0xAC, 0xFB, 0x0F, 0xA3, 0xD4, 0xDB, 0x67, 0xA4, 0x00, +0x81, 0xB2, 0x97, 0x58, 0x17, 0xF1, 0xF2, 0x47, 0xCB, 0x00, 0x70, 0xC0, 0x9A, 0xFF, 0xDC, 0xD5, +0xCA, 0xF9, 0xF7, 0xD2, 0x7F, 0x30, 0xD4, 0x1E, 0x98, 0x65, 0x76, 0xA6, 0x3C, 0x7C, 0xEB, 0x0B, +0xA0, 0xF3, 0x1F, 0xCB, 0x31, 0x8E, 0x3F, 0x79, 0x5F, 0x19, 0xC4, 0xD7, 0x81, 0x58, 0x03, 0x46, +0x09, 0x10, 0x3A, 0x46, 0x3F, 0xCD, 0xD4, 0x81, 0x2E, 0x05, 0xB0, 0x0E, 0x81, 0x21, 0x64, 0xC0, +0x58, 0x7F, 0xD1, 0xE1, 0xA8, 0x9B, 0x28, 0x30, 0x84, 0x3E, 0x40, 0x2C, 0x17, 0xFB, 0xCF, 0x0E, +0x0C, 0xFD, 0x3E, 0x3A, 0xFF, 0xD5, 0x86, 0x68, 0x3F, 0x00, 0xE2, 0x60, 0x24, 0x24, 0xBA, 0xFC, +0xA7, 0x33, 0x60, 0x84, 0xFC, 0xF8, 0xC1, 0xA1, 0x78, 0x8F, 0x4F, 0x36, 0x0D, 0x80, 0x8E, 0xB5, +0x06, 0x40, 0xFA, 0x8A, 0x8D, 0x57, 0x32, 0xFE, 0xA3, 0x1D, 0xD0, 0xED, 0xFF, 0x46, 0xA8, 0x0D, +0x60, 0x08, 0x1A, 0x00, 0x29, 0xD4, 0x79, 0xDE, 0x19, 0xFF, 0x51, 0x05, 0x33, 0x42, 0x3D, 0x8F, +0x10, 0xBE, 0xFD, 0x05, 0x88, 0x07, 0x40, 0xFC, 0x0A, 0x1B, 0xA0, 0x3D, 0xD7, 0x61, 0x03, 0x8C, +0xE5, 0x7A, 0x6E, 0x07, 0xB4, 0x09, 0x10, 0x01, 0xF6, 0x34, 0xE0, 0xC4, 0xED, 0x54, 0x56, 0xA4, +0xC3, 0xE9, 0x9D, 0x05, 0xF8, 0x25, 0x52, 0x60, 0x36, 0xFE, 0xC1, 0x49, 0x26, 0xC0, 0xAD, 0x04, +0xA8, 0xFD, 0x07, 0x6E, 0x26, 0x5C, 0x84, 0x40, 0xD7, 0x00, 0xAD, 0x33, 0x20, 0xFE, 0xF3, 0xFC, +0x1C, 0x9B, 0xF9, 0x8F, 0xB5, 0x76, 0x3E, 0x6A, 0xDA, 0x80, 0x43, 0x0C, 0xDF, 0x04, 0xC2, 0x04, +0x48, 0xCE, 0x80, 0xC4, 0xBE, 0xC5, 0x7C, 0x10, 0xF8, 0x4F, 0x56, 0xC1, 0x08, 0x50, 0x54, 0xC1, +0x0C, 0x00, 0xAF, 0x13, 0xD4, 0xBF, 0x78, 0x8F, 0xE7, 0x9C, 0xF0, 0x1F, 0xED, 0x80, 0xEC, 0x99, +0x97, 0xFF, 0xB4, 0x1E, 0x2F, 0x40, 0x3C, 0x00, 0xE2, 0x97, 0xF2, 0x1F, 0xFC, 0xD0, 0xFE, 0xA3, +0x1D, 0xD0, 0x0C, 0x36, 0x91, 0x00, 0xD3, 0x06, 0xFC, 0x10, 0x0D, 0x80, 0x96, 0x2E, 0xFA, 0xD3, +0x06, 0xCC, 0x65, 0xC0, 0x58, 0x7F, 0xCE, 0x80, 0xBD, 0x08, 0xFC, 0xA7, 0xCA, 0x60, 0x81, 0x1D, +0x06, 0x29, 0x03, 0xC0, 0xB1, 0x01, 0xC5, 0x05, 0x40, 0x33, 0x12, 0x12, 0x5F, 0xFF, 0x63, 0x8D, +0x67, 0x97, 0x01, 0x5B, 0xC8, 0xCF, 0x1F, 0xEC, 0x38, 0xD2, 0x6E, 0x18, 0x0E, 0x77, 0x37, 0x59, +0x03, 0x56, 0x9F, 0x50, 0xFA, 0x3E, 0x90, 0xB0, 0x94, 0xFF, 0xA2, 0x91, 0x90, 0x27, 0x90, 0x55, +0xF0, 0x63, 0x0B, 0xEF, 0xBF, 0x07, 0x7B, 0x0D, 0x90, 0xE7, 0x2C, 0xFD, 0x07, 0xF6, 0x58, 0xAC, +0x16, 0x6E, 0x00, 0x24, 0x24, 0x1E, 0x00, 0xF1, 0x2B, 0x6A, 0x80, 0x06, 0x1A, 0xA2, 0x85, 0xFF, +0x5C, 0x3B, 0x20, 0x0A, 0x44, 0x80, 0xD0, 0xAF, 0x02, 0x9E, 0x5A, 0x25, 0xF1, 0xF4, 0x5E, 0x02, +0xD4, 0x0A, 0xCC, 0xE5, 0x3F, 0xB4, 0xC7, 0xDD, 0xA9, 0xA5, 0xC0, 0x8F, 0x20, 0xC0, 0xC5, 0x68, +0x1A, 0xFA, 0xA0, 0xF1, 0x5F, 0x68, 0x40, 0x95, 0xFF, 0x68, 0x88, 0x1E, 0x9B, 0xF9, 0x8F, 0x75, +0x56, 0xF9, 0x0F, 0xF6, 0x42, 0x7F, 0xF0, 0xAD, 0x4E, 0x35, 0xF0, 0x45, 0x48, 0x29, 0x03, 0x92, +0xA5, 0x78, 0xB0, 0xAC, 0x42, 0xDA, 0x7F, 0x8C, 0x84, 0x94, 0x3B, 0x25, 0x40, 0x4C, 0x89, 0xFF, +0xB4, 0x01, 0x5D, 0x48, 0x65, 0x23, 0xA4, 0x20, 0xFD, 0x07, 0xC3, 0x8E, 0xC3, 0x13, 0xDB, 0xA8, +0x17, 0x00, 0xFC, 0x00, 0x48, 0xBC, 0x9C, 0xFF, 0xB4, 0x01, 0xF1, 0x9F, 0xC8, 0x80, 0x44, 0x00, +0x04, 0xD8, 0xD5, 0x80, 0x38, 0x50, 0xD4, 0xBF, 0x9D, 0x0D, 0xD8, 0x2B, 0x01, 0x26, 0x03, 0xA0, +0x39, 0x1D, 0x15, 0xF7, 0xB1, 0xC2, 0x9D, 0x10, 0xE8, 0x6A, 0x40, 0x09, 0x45, 0x80, 0x82, 0x01, +0x38, 0x1A, 0xA0, 0x65, 0x06, 0xBC, 0x12, 0xFC, 0x19, 0xDB, 0xF9, 0x8F, 0xB5, 0x27, 0x03, 0x0E, +0x8E, 0x70, 0x24, 0x64, 0x50, 0x1C, 0x76, 0x73, 0x71, 0x57, 0xF2, 0x5F, 0xDE, 0x80, 0x36, 0x4B, +0xE1, 0x96, 0x2A, 0x96, 0xB4, 0xFF, 0xA8, 0x82, 0xF1, 0x5F, 0xDB, 0x80, 0xE5, 0x16, 0xFF, 0x69, +0x03, 0x9A, 0x27, 0x86, 0xFC, 0x88, 0x80, 0x70, 0x10, 0x30, 0x39, 0x3D, 0x28, 0x54, 0xFE, 0x03, +0x3F, 0x00, 0x12, 0x2F, 0x36, 0x40, 0x42, 0xFF, 0xB1, 0x15, 0x4C, 0x03, 0xB4, 0x23, 0x1A, 0x09, +0xD9, 0x4E, 0x80, 0xD3, 0xDA, 0x1F, 0x4C, 0x1F, 0x4B, 0x80, 0x5F, 0xD2, 0x45, 0x30, 0x9E, 0x6B, +0x71, 0x22, 0xFE, 0x65, 0x8A, 0xE0, 0xF7, 0x12, 0x20, 0xC9, 0x5F, 0xC0, 0x56, 0x19, 0x1B, 0xC0, +0x11, 0x4B, 0x04, 0x14, 0xFE, 0xA3, 0x21, 0x5A, 0x04, 0x40, 0x37, 0x16, 0xAC, 0xD8, 0x6B, 0xFF, +0x11, 0x01, 0xD9, 0xFF, 0x10, 0xE0, 0x3F, 0xDC, 0x67, 0xEA, 0x5F, 0xAE, 0x0B, 0xE6, 0xFC, 0x47, +0x15, 0x4C, 0xFE, 0xD3, 0x45, 0x30, 0x0D, 0x80, 0x0D, 0x6C, 0xFE, 0xC3, 0xD7, 0x26, 0xB7, 0x5A, +0x05, 0x1E, 0x34, 0x43, 0xED, 0x16, 0x7F, 0x5E, 0x6D, 0x9C, 0xFF, 0xB4, 0x01, 0xF7, 0xF2, 0x3D, +0x10, 0x0C, 0x80, 0xC4, 0x5B, 0xC1, 0xF8, 0x2F, 0xE2, 0x77, 0x69, 0x88, 0xF6, 0x09, 0xB0, 0xB3, +0x01, 0x51, 0x5E, 0xCC, 0xD4, 0x93, 0xEE, 0xFA, 0x7B, 0x46, 0xC5, 0x3F, 0xDB, 0x0E, 0x98, 0x4B, +0x80, 0x18, 0xB0, 0x33, 0xE8, 0x4F, 0x1B, 0xF0, 0x55, 0x0A, 0xA4, 0x01, 0xBA, 0xC5, 0x71, 0xC9, +0x80, 0x57, 0x12, 0x1A, 0xA2, 0xCF, 0xA3, 0x58, 0x9C, 0x10, 0xAD, 0xC1, 0x7F, 0x82, 0xBF, 0xC3, +0x61, 0xE9, 0x83, 0x49, 0x80, 0xFE, 0x8C, 0x52, 0x1E, 0xD0, 0x49, 0x7D, 0x70, 0x8B, 0xFF, 0x14, +0x73, 0xF9, 0x8B, 0xFF, 0xB4, 0x01, 0x09, 0x80, 0xDA, 0x80, 0xB7, 0xA4, 0x53, 0x2B, 0x6C, 0x1A, +0x77, 0x10, 0xA0, 0xA6, 0x1E, 0x05, 0x98, 0x00, 0xFF, 0x09, 0xEC, 0x00, 0x88, 0x58, 0xF8, 0x4F, +0x1B, 0x90, 0x06, 0xC0, 0x76, 0x04, 0x5C, 0x46, 0x42, 0x00, 0x01, 0x42, 0xAF, 0xFC, 0x37, 0xD5, +0xE5, 0xFE, 0xA2, 0xB3, 0x00, 0xF1, 0x5F, 0xE7, 0x04, 0x48, 0xFC, 0xD3, 0x01, 0x70, 0x76, 0x5C, +0x4E, 0x81, 0x9B, 0x18, 0x30, 0x47, 0xCA, 0x7D, 0xEC, 0xFF, 0xD2, 0x00, 0xDD, 0x2E, 0x82, 0xF1, +0x5F, 0xC6, 0x80, 0xE3, 0x59, 0xAF, 0x9A, 0x01, 0x33, 0xEC, 0x33, 0xFE, 0xE3, 0x68, 0x98, 0x03, +0x48, 0x03, 0xAE, 0x1B, 0x05, 0x05, 0xCE, 0xE0, 0x3F, 0xCD, 0x13, 0x03, 0x20, 0x0A, 0x36, 0x80, +0x25, 0xB3, 0xFF, 0xEC, 0xD3, 0xC4, 0xD7, 0x26, 0x0D, 0xA6, 0xFC, 0xC7, 0x58, 0x30, 0xF9, 0x4F, +0x1B, 0x70, 0xC8, 0x40, 0x03, 0xA0, 0x5C, 0x0C, 0xC0, 0x49, 0xEA, 0x09, 0xD0, 0x8A, 0xE3, 0x6C, +0x40, 0xC3, 0xA7, 0xC0, 0x61, 0x7D, 0x6B, 0x60, 0xC3, 0xB4, 0xC9, 0x37, 0xC5, 0xF5, 0xE6, 0x1F, +0x73, 0x67, 0xAC, 0xDB, 0x34, 0x14, 0x46, 0x61, 0xA8, 0xC2, 0xD2, 0xC1, 0xB2, 0x40, 0x72, 0x9D, +0x2D, 0x4B, 0xE5, 0x0E, 0xCC, 0x11, 0x13, 0x52, 0x57, 0x84, 0xE4, 0xEE, 0xA9, 0xBA, 0x90, 0x6C, +0x0C, 0x79, 0x85, 0x0E, 0x51, 0xE4, 0x25, 0xAA, 0xE5, 0x09, 0x31, 0xD2, 0x07, 0x68, 0xDF, 0x90, +0xFF, 0x1C, 0xDB, 0xFD, 0x0B, 0xC4, 0xDC, 0x73, 0x23, 0x47, 0xED, 0xF7, 0xDF, 0x7B, 0x73, 0x13, +0x19, 0xB0, 0xD3, 0xF8, 0xEB, 0xB9, 0x75, 0x42, 0xDF, 0xB6, 0x0E, 0xB4, 0x16, 0x2E, 0x1D, 0x4A, +0xF0, 0x18, 0xBF, 0x29, 0x0E, 0x8C, 0xAB, 0x40, 0x03, 0xF9, 0x2F, 0x4C, 0x89, 0x8F, 0x84, 0xBC, +0x13, 0xE0, 0x47, 0x42, 0xF0, 0xBD, 0x5F, 0xA8, 0xDB, 0xA2, 0xFB, 0x15, 0x48, 0x42, 0xCF, 0xEC, +0xF3, 0x6F, 0xEF, 0x6D, 0x26, 0xB5, 0xB9, 0x09, 0xF0, 0xA3, 0x6A, 0x40, 0x5F, 0xF1, 0x0E, 0x28, +0x05, 0xD4, 0xDF, 0x22, 0x04, 0x88, 0xF5, 0xAF, 0x08, 0x5C, 0xF9, 0x43, 0xE4, 0xE9, 0x02, 0x30, +0x6E, 0x80, 0x2F, 0xD1, 0x59, 0xEE, 0x6E, 0xFA, 0x4F, 0x04, 0xF6, 0xD3, 0xA0, 0xFF, 0x66, 0x92, +0x01, 0x67, 0x6D, 0xFE, 0x0B, 0x16, 0x05, 0x58, 0x48, 0xFE, 0xFB, 0x74, 0x76, 0x29, 0xE4, 0x3F, +0xFF, 0x58, 0xF0, 0x40, 0x02, 0x74, 0xCC, 0x51, 0x36, 0xEE, 0xE0, 0xA1, 0xD5, 0x40, 0x3B, 0x54, +0x58, 0xBE, 0xE1, 0xB8, 0x21, 0x70, 0x2D, 0x35, 0x43, 0xF4, 0x55, 0xB7, 0xDD, 0x12, 0x3D, 0xDC, +0xA0, 0x2C, 0x8C, 0xC1, 0x86, 0xD2, 0x39, 0x55, 0xEB, 0x8B, 0x95, 0xC4, 0x09, 0x86, 0x52, 0x2A, +0x03, 0xFE, 0x0B, 0x53, 0x96, 0x13, 0xFE, 0x06, 0x10, 0xC9, 0x80, 0xEF, 0xAE, 0xFB, 0x37, 0xBB, +0x04, 0x1A, 0x56, 0xC1, 0x32, 0x33, 0xC8, 0x4D, 0x6A, 0xBC, 0x00, 0x22, 0x52, 0x77, 0xDA, 0xA8, +0xBD, 0xE1, 0x3E, 0xC6, 0xA6, 0xBD, 0xCB, 0x19, 0x3F, 0x14, 0x27, 0x9B, 0x0A, 0xFE, 0x53, 0xD9, +0xFE, 0xD8, 0xC8, 0x02, 0xC4, 0x72, 0x1D, 0x3B, 0x54, 0xFB, 0x92, 0x77, 0x8F, 0xAE, 0xB1, 0xE3, +0xD5, 0x5C, 0x25, 0x97, 0x9F, 0x55, 0xF8, 0x4F, 0x64, 0xCA, 0xFC, 0xA7, 0x34, 0xAC, 0x7F, 0x25, +0x01, 0xE2, 0xED, 0x80, 0x8B, 0x72, 0xA2, 0xC1, 0x13, 0x80, 0x8D, 0xF5, 0x66, 0xB7, 0x97, 0xD5, +0x6A, 0x85, 0x61, 0x74, 0x76, 0x11, 0xAC, 0x75, 0xEE, 0xC5, 0xB2, 0xB6, 0x5C, 0x2E, 0xEF, 0xC3, +0xAD, 0xE7, 0x04, 0x3D, 0xD0, 0xC0, 0x69, 0x84, 0xD5, 0x74, 0x55, 0x95, 0x6A, 0x45, 0x30, 0x91, +0x29, 0xD1, 0xF6, 0x50, 0xFE, 0x6B, 0xC0, 0xF3, 0x04, 0xFE, 0x13, 0xB8, 0x3C, 0xBB, 0xCD, 0x66, +0x2A, 0xD3, 0x5C, 0x2F, 0x3B, 0x57, 0xC3, 0x8D, 0x43, 0x5A, 0xA5, 0x22, 0x75, 0xD3, 0xDC, 0xD5, +0x77, 0x77, 0x0D, 0x3A, 0x1A, 0xA6, 0xF6, 0x40, 0xD3, 0x8D, 0x78, 0xC4, 0x66, 0x18, 0x9B, 0x1B, +0x9D, 0xC7, 0xC7, 0xC7, 0x5F, 0x8F, 0x41, 0x1E, 0xB0, 0xCD, 0x8D, 0x4E, 0x63, 0xFB, 0xD1, 0x77, +0x34, 0xEC, 0x14, 0xBB, 0x53, 0xA3, 0xDB, 0xCE, 0xA7, 0x79, 0x2A, 0x51, 0xA5, 0x78, 0xC2, 0xA6, +0x99, 0x34, 0x4C, 0x73, 0x99, 0x99, 0x0C, 0x2E, 0x00, 0x0B, 0x60, 0xAB, 0x4B, 0xBC, 0xB2, 0x0F, +0x61, 0xBF, 0x00, 0x57, 0x61, 0x3E, 0x7B, 0x1D, 0x47, 0x81, 0xAB, 0xF5, 0xC8, 0x06, 0x64, 0x41, +0x6F, 0x62, 0x69, 0xD0, 0x90, 0x72, 0x58, 0x5B, 0x9E, 0x46, 0x30, 0xBE, 0xD6, 0xC8, 0x42, 0x26, +0xA0, 0xBE, 0x9E, 0x12, 0x6F, 0x01, 0x14, 0x49, 0x8A, 0xD9, 0x54, 0x53, 0xA0, 0x65, 0x85, 0xFC, +0x18, 0xE0, 0xCC, 0xFE, 0x5A, 0x55, 0xC1, 0x96, 0x56, 0x15, 0x2C, 0xC7, 0x6A, 0x6A, 0x36, 0xCC, +0x51, 0xDD, 0x50, 0xB7, 0x0F, 0xA0, 0x6D, 0xCC, 0x41, 0x3F, 0xA4, 0xDA, 0x6E, 0x1F, 0x1E, 0x45, +0xB6, 0x5B, 0xFC, 0x09, 0xA9, 0x36, 0x0D, 0xBC, 0xD7, 0x39, 0xD0, 0x1A, 0xB8, 0x63, 0xFF, 0x9B, +0xFA, 0xA2, 0xC2, 0x33, 0x50, 0x09, 0x4F, 0x41, 0x8A, 0xAB, 0xE6, 0xF9, 0xD8, 0xE0, 0xCB, 0x2F, +0x31, 0x9D, 0x15, 0xC9, 0x3B, 0x09, 0xFE, 0x0F, 0xF9, 0x13, 0x91, 0xF3, 0xC5, 0x1F, 0xEC, 0x11, +0xE0, 0x7A, 0xA7, 0x78, 0xAC, 0x2D, 0xCC, 0xD8, 0x74, 0xD6, 0x62, 0xFE, 0x43, 0x04, 0xDC, 0x89, +0xB5, 0x5E, 0x2F, 0xC5, 0x5A, 0x43, 0x6C, 0xBA, 0xDA, 0xA4, 0xE2, 0x10, 0xB1, 0xAC, 0x95, 0x79, +0xB1, 0x00, 0x48, 0x16, 0x81, 0x7C, 0xE8, 0xFE, 0x33, 0x2E, 0x13, 0xCD, 0x7F, 0xB7, 0x85, 0x19, +0x50, 0x7B, 0xFD, 0x1B, 0xB9, 0x4E, 0xA6, 0xB5, 0xCE, 0x80, 0xA6, 0xC0, 0xAF, 0xF3, 0x14, 0x7D, +0x70, 0x52, 0x19, 0x75, 0xD3, 0x8B, 0xAF, 0xB5, 0x20, 0x83, 0x1F, 0x1F, 0x41, 0x0C, 0x44, 0x6B, +0xC5, 0xB3, 0x81, 0x01, 0x25, 0xB6, 0xDB, 0x9F, 0x5B, 0xCB, 0x77, 0x81, 0x46, 0x6C, 0xCB, 0xED, +0x8D, 0xC6, 0x06, 0xBB, 0x40, 0x19, 0x73, 0xAC, 0x6D, 0xB0, 0x9D, 0xED, 0x66, 0x5E, 0x8C, 0xB4, +0x55, 0x65, 0x87, 0x8F, 0x03, 0x0D, 0x3E, 0x05, 0x51, 0x4F, 0xAB, 0xEE, 0xBF, 0xA9, 0xF6, 0xF5, +0xCF, 0x66, 0x45, 0x51, 0x24, 0xB2, 0xFF, 0xC2, 0x06, 0xD4, 0x13, 0xE0, 0x2A, 0x2E, 0x00, 0x72, +0x7B, 0x0C, 0x22, 0x9A, 0xFF, 0x50, 0x32, 0x3B, 0x39, 0x03, 0xC2, 0x82, 0x1D, 0xF7, 0x83, 0x63, +0x0C, 0x51, 0xFA, 0x5B, 0x52, 0x81, 0x23, 0x1B, 0xF0, 0x18, 0xFA, 0xD3, 0xB2, 0x1F, 0x29, 0x17, +0xF6, 0xE2, 0x5B, 0x48, 0x19, 0xF0, 0x2C, 0x29, 0x6E, 0x8B, 0x04, 0x97, 0x37, 0xC2, 0x64, 0xE6, +0xBF, 0x98, 0x0C, 0x28, 0x9E, 0xA8, 0x5F, 0xAD, 0xCF, 0xAB, 0x74, 0x8E, 0x80, 0xC3, 0xBE, 0x6F, +0xC2, 0x9B, 0xBA, 0x32, 0x9A, 0xD6, 0x70, 0xAD, 0x4D, 0x40, 0xEF, 0x15, 0x4A, 0xB0, 0x5F, 0x0C, +0x6F, 0x20, 0x20, 0x31, 0xFF, 0xD1, 0x80, 0x0A, 0x5B, 0x22, 0xE6, 0xBF, 0x0D, 0x76, 0x01, 0x7B, +0x85, 0x32, 0x98, 0x06, 0x49, 0xED, 0x85, 0x7B, 0xD5, 0x87, 0xAA, 0xBA, 0xC0, 0x81, 0xA2, 0x77, +0x47, 0xEA, 0x13, 0x1B, 0xD8, 0xE6, 0x15, 0x16, 0xC0, 0x60, 0x74, 0xFF, 0x41, 0x80, 0x99, 0xE6, +0xBF, 0x04, 0x06, 0x94, 0xFD, 0x27, 0xFD, 0xC0, 0x5A, 0x17, 0x60, 0x54, 0x08, 0x1C, 0x5F, 0x80, +0xEB, 0xB6, 0xA2, 0x50, 0xEC, 0xC7, 0x11, 0x8E, 0x93, 0xF5, 0x77, 0x22, 0x96, 0xEA, 0xC0, 0x58, +0x05, 0xBE, 0x0A, 0xFF, 0x0D, 0x51, 0xA2, 0x9D, 0x03, 0xC5, 0x80, 0x67, 0xC8, 0x7F, 0x85, 0x66, +0x40, 0x9C, 0x26, 0x56, 0x11, 0x06, 0x9C, 0xEA, 0x27, 0x2A, 0x22, 0x60, 0xF5, 0x14, 0x77, 0x7C, +0xE6, 0xBD, 0xEA, 0xA9, 0xE9, 0x92, 0xA7, 0xFC, 0xD7, 0x96, 0x81, 0x5B, 0x4A, 0x91, 0xFE, 0xBB, +0xA2, 0x01, 0xC3, 0x50, 0x7F, 0x34, 0x20, 0x72, 0xDE, 0xD0, 0x48, 0x6C, 0x33, 0x2B, 0x2D, 0x03, +0x36, 0x9B, 0x2B, 0x2B, 0xEE, 0x53, 0x67, 0x6C, 0xCE, 0xEE, 0xA8, 0xE7, 0xE7, 0xD5, 0x5C, 0xF0, +0x98, 0xAA, 0xD6, 0x7E, 0xC3, 0x4F, 0x01, 0x22, 0x60, 0xDE, 0x31, 0xB6, 0xFF, 0x68, 0x40, 0xCD, +0x7F, 0x20, 0x91, 0xFC, 0x77, 0xA0, 0x01, 0xF7, 0x0A, 0x50, 0xB7, 0x58, 0x3B, 0xC4, 0x23, 0xF9, +0x8F, 0x35, 0xBE, 0xFF, 0xD8, 0x69, 0x39, 0x0C, 0x41, 0x07, 0xEA, 0xAB, 0x64, 0x35, 0x00, 0x8E, +0x9F, 0x01, 0x5F, 0x50, 0x80, 0xBD, 0xFF, 0x68, 0x40, 0x29, 0xFF, 0x19, 0x09, 0x0C, 0xA8, 0xE4, +0x3F, 0xD4, 0x98, 0xAB, 0x60, 0x07, 0xAB, 0x60, 0x66, 0x20, 0xDE, 0xCC, 0x39, 0xF5, 0xCE, 0x30, +0x74, 0x51, 0x57, 0xE0, 0x82, 0x8A, 0xF3, 0x45, 0xF0, 0x93, 0x08, 0x29, 0x19, 0xCC, 0xCD, 0x7C, +0xAD, 0x02, 0xC3, 0x3F, 0x05, 0x84, 0xD4, 0x28, 0x36, 0xBB, 0xC2, 0x11, 0x70, 0xE0, 0x2F, 0x6C, +0x49, 0xC2, 0x7F, 0x6D, 0xC3, 0x35, 0xB8, 0xED, 0x46, 0xBF, 0x53, 0x98, 0xA0, 0xFE, 0xA6, 0xAE, +0x79, 0x48, 0x34, 0xA0, 0x1F, 0x37, 0xA7, 0xBC, 0xF1, 0x60, 0x88, 0xFC, 0x77, 0x14, 0x01, 0x66, +0x8A, 0x01, 0xF9, 0x56, 0x19, 0xF8, 0x0F, 0x84, 0xDF, 0x09, 0x78, 0x0E, 0x0E, 0x35, 0xE0, 0x9B, +0xC3, 0xE3, 0x1F, 0xDB, 0x41, 0x28, 0x02, 0x1C, 0x5F, 0x81, 0x4B, 0xEF, 0xAD, 0xE4, 0x70, 0x13, +0x74, 0xDF, 0x89, 0x5E, 0x11, 0x8C, 0x67, 0xC0, 0x63, 0x07, 0xC0, 0x85, 0xE4, 0x3F, 0x12, 0xF4, +0x5F, 0x4F, 0x72, 0x1B, 0x32, 0x20, 0xFC, 0x27, 0x1A, 0x50, 0x8F, 0x80, 0x8E, 0x67, 0x40, 0x8C, +0x3E, 0xEB, 0x8B, 0x31, 0xA9, 0xC3, 0x97, 0x96, 0xB4, 0x0B, 0x74, 0x08, 0xFD, 0xF5, 0x03, 0xDD, +0x73, 0xC5, 0x25, 0xE8, 0x4D, 0x00, 0x3A, 0xCD, 0x0D, 0x38, 0x0C, 0xFD, 0x87, 0x92, 0x32, 0x20, +0x97, 0xE0, 0x26, 0x61, 0xAB, 0x7E, 0xA7, 0x58, 0x9C, 0xD4, 0x5E, 0xC8, 0x7F, 0xA0, 0x86, 0x03, +0xBB, 0x2B, 0x21, 0x7D, 0xF9, 0xDC, 0xFD, 0x27, 0x2A, 0x30, 0x5E, 0x7F, 0xFC, 0xEE, 0x26, 0xF9, +0x8F, 0x84, 0xFD, 0xF7, 0xF4, 0x22, 0x9C, 0x04, 0x18, 0x53, 0x80, 0xC0, 0x34, 0x78, 0x18, 0x9A, +0xFE, 0x58, 0x71, 0xE8, 0x09, 0xB0, 0xE7, 0x7E, 0x94, 0xFC, 0xC7, 0x0A, 0xB1, 0x3C, 0x44, 0x80, +0xAF, 0x6C, 0x01, 0x5C, 0x72, 0xD8, 0xE7, 0xBF, 0x49, 0xC8, 0x80, 0xC5, 0x33, 0xAE, 0x67, 0x59, +0x60, 0xFD, 0xEB, 0x95, 0xCB, 0xE8, 0x27, 0x2A, 0x0D, 0x38, 0xF7, 0xF3, 0xDE, 0x73, 0x10, 0x3A, +0xF2, 0xDF, 0x07, 0x5F, 0x04, 0x1B, 0x34, 0x0A, 0x67, 0x1E, 0xFE, 0xB8, 0xC6, 0xA4, 0xFD, 0xBA, +0x21, 0xF0, 0x73, 0x40, 0xA8, 0x0F, 0xE5, 0x06, 0x7C, 0x18, 0x68, 0x5D, 0xFE, 0xC3, 0x80, 0x9B, +0x9B, 0x40, 0xFE, 0xDB, 0xF4, 0xC5, 0x9F, 0x03, 0xD2, 0xD5, 0x80, 0xDA, 0x7E, 0x4E, 0x97, 0x69, +0xE9, 0xC0, 0xDA, 0x8E, 0xD2, 0x8F, 0xB8, 0x1D, 0xBD, 0x1F, 0xC5, 0x7F, 0x2E, 0xC0, 0xE0, 0x85, +0x90, 0xEC, 0x3A, 0x29, 0x9C, 0xE0, 0xE7, 0xE0, 0x9C, 0x89, 0xC8, 0xB0, 0x00, 0x75, 0x85, 0xAD, +0xB8, 0xF5, 0xAB, 0x32, 0xA0, 0xA6, 0x3F, 0x76, 0x0F, 0x80, 0x01, 0xF7, 0x1D, 0x29, 0x03, 0x9E, +0xEA, 0xBC, 0x40, 0xFE, 0x53, 0xAF, 0x83, 0xC0, 0x7F, 0xCE, 0xE4, 0x52, 0xF2, 0x1F, 0xB9, 0xFE, +0x9F, 0x00, 0xE1, 0x3F, 0xAF, 0x5C, 0x27, 0xE2, 0x44, 0x4D, 0x53, 0x4F, 0x7E, 0xE8, 0xA8, 0x2E, +0x0E, 0x42, 0x10, 0xCE, 0x07, 0x66, 0x2A, 0xD0, 0x65, 0x41, 0xDC, 0x69, 0xF5, 0x87, 0xC7, 0xBB, +0xF5, 0x2F, 0xAA, 0xD9, 0x08, 0xF9, 0xAF, 0x5F, 0x06, 0xC3, 0x73, 0x43, 0x3C, 0xB4, 0xAA, 0x6C, +0xC7, 0x40, 0x06, 0xE4, 0x3F, 0x7D, 0xC5, 0x7E, 0xD5, 0x66, 0xC0, 0x2E, 0xF9, 0xB9, 0xB8, 0x79, +0x1F, 0xFE, 0x23, 0x35, 0x14, 0x88, 0xDE, 0x1F, 0x2D, 0x9F, 0x00, 0x8C, 0xDE, 0x73, 0xE0, 0x8C, +0x98, 0xFF, 0x3C, 0x03, 0x6A, 0xFE, 0x23, 0x9A, 0xFF, 0x48, 0xE0, 0x65, 0x1E, 0x14, 0x60, 0xA4, +0xC1, 0x56, 0x07, 0x23, 0xE9, 0x8F, 0x15, 0x41, 0xF8, 0xF2, 0x87, 0xF7, 0x7F, 0xB4, 0xE7, 0x77, +0x64, 0xE2, 0xFC, 0xB7, 0x3C, 0x50, 0x80, 0xAF, 0x28, 0xFF, 0xED, 0x17, 0xA0, 0xF3, 0x1F, 0x03, +0x26, 0xC5, 0x73, 0x92, 0xE2, 0x7B, 0xA6, 0xF9, 0x6F, 0xBC, 0x4B, 0xC1, 0xC4, 0xF9, 0x4D, 0xDD, +0x19, 0xAC, 0x36, 0x72, 0x04, 0x61, 0x78, 0x09, 0xC9, 0x65, 0x0F, 0x46, 0x60, 0x62, 0x5B, 0xA7, +0xF8, 0xE2, 0xAC, 0x4E, 0xB9, 0x24, 0x88, 0x5C, 0x7D, 0x17, 0xAC, 0x21, 0x90, 0x4B, 0x84, 0x2F, +0xEB, 0x40, 0x36, 0x98, 0x38, 0xAF, 0xE0, 0x43, 0x08, 0x26, 0x10, 0x2C, 0x74, 0x0A, 0x86, 0xB0, +0xB0, 0x7E, 0x80, 0x35, 0xC9, 0x03, 0xA6, 0xAB, 0x66, 0x6A, 0x3F, 0xB7, 0xDB, 0xAD, 0xAA, 0xB1, +0x5B, 0xB1, 0xF5, 0x57, 0x4F, 0xCF, 0x8C, 0x77, 0x56, 0xF6, 0xCA, 0xD2, 0xB7, 0x7F, 0x77, 0x55, +0x8F, 0x3A, 0xFE, 0xF1, 0xA6, 0x9F, 0x32, 0x1A, 0x54, 0xFB, 0x87, 0x26, 0x62, 0xAA, 0x34, 0x9F, +0x60, 0x18, 0xB4, 0xAA, 0xBB, 0x37, 0xBD, 0xF3, 0x3A, 0xD2, 0xB6, 0x5C, 0xAE, 0x9A, 0x07, 0x84, +0x7E, 0x9D, 0x09, 0x14, 0x0F, 0x58, 0x4B, 0x80, 0x5C, 0x71, 0xAD, 0x72, 0xB0, 0xF2, 0x98, 0xE6, +0xFF, 0xF4, 0xDB, 0x27, 0xA5, 0xDE, 0x26, 0x28, 0xAD, 0x20, 0xA6, 0x0B, 0x9D, 0xBF, 0xDC, 0x36, +0x03, 0xB8, 0xE8, 0xBA, 0x91, 0x39, 0x3E, 0x8C, 0x70, 0x7F, 0xB6, 0xB7, 0x4E, 0x00, 0xFA, 0x1E, +0x70, 0x7C, 0x7A, 0xF7, 0xC5, 0xE2, 0xF2, 0x0F, 0x95, 0x43, 0x15, 0xBA, 0x52, 0x00, 0x70, 0x28, +0xD0, 0xB8, 0x7C, 0x5D, 0x00, 0x24, 0x5A, 0x31, 0x90, 0x2D, 0x05, 0xC0, 0x93, 0x8E, 0xB3, 0xC7, +0x78, 0xC0, 0x35, 0x4D, 0x03, 0x3E, 0x4B, 0xFE, 0xBD, 0x16, 0xFC, 0x15, 0xDA, 0x75, 0xFC, 0x1F, +0xDA, 0x3A, 0x1D, 0x3B, 0xFC, 0x6B, 0x4A, 0xC0, 0x52, 0xD3, 0x11, 0xDE, 0x2F, 0xED, 0xF1, 0x83, +0x8B, 0x89, 0x39, 0x40, 0x46, 0xC1, 0x22, 0xF2, 0xC0, 0x1F, 0xB3, 0x0D, 0x47, 0x02, 0x9D, 0x14, +0x5D, 0xD3, 0xB9, 0xB8, 0x8A, 0x40, 0x9A, 0x6E, 0xE6, 0x01, 0x0B, 0xFA, 0x89, 0xBA, 0x81, 0x32, +0xF8, 0xAB, 0x58, 0x40, 0xE1, 0x1F, 0xF4, 0xD5, 0x9F, 0x23, 0x9D, 0x0A, 0xAA, 0x81, 0x5F, 0x67, +0xFF, 0xF4, 0xC0, 0xFE, 0x2D, 0x7D, 0xB7, 0x9D, 0x08, 0x68, 0xF0, 0xC7, 0x08, 0x6B, 0x3F, 0x7D, +0xC4, 0xD3, 0x5A, 0xFF, 0x5D, 0xF1, 0xEB, 0xC4, 0x03, 0xD6, 0x0B, 0x00, 0x73, 0x6D, 0x05, 0xF8, +0x07, 0x00, 0xE3, 0x7A, 0x04, 0x00, 0x9D, 0x09, 0x40, 0x5F, 0x2E, 0xFE, 0x08, 0x57, 0x5C, 0xE2, +0xB3, 0x8F, 0x0D, 0xE7, 0x47, 0x32, 0x64, 0x80, 0x86, 0x0E, 0x82, 0x4F, 0x1E, 0x0E, 0xC0, 0x67, +0xC8, 0x3F, 0x2B, 0x80, 0x16, 0xB9, 0x1E, 0x70, 0xB7, 0xF0, 0x7F, 0xA2, 0xFD, 0x1D, 0x87, 0x7F, +0x0D, 0x09, 0x88, 0x72, 0x0F, 0x68, 0xDE, 0x8F, 0xFD, 0x48, 0xF8, 0x30, 0xC9, 0x01, 0xB8, 0xDD, +0x25, 0x14, 0x14, 0x82, 0x86, 0x41, 0xE5, 0x4C, 0xEF, 0xBC, 0x74, 0x4F, 0x31, 0xCC, 0x8A, 0x09, +0x40, 0x30, 0x78, 0x6F, 0x39, 0xA0, 0x32, 0xD1, 0x2E, 0xD3, 0x0B, 0x4D, 0xF7, 0x3B, 0xC0, 0xCE, +0x7F, 0x9A, 0x01, 0x95, 0xFE, 0x18, 0xF8, 0x51, 0xB2, 0x93, 0x7A, 0x43, 0xFA, 0xC4, 0x3A, 0x2B, +0x07, 0xCC, 0xB2, 0xE0, 0xDA, 0x8F, 0xE2, 0x4F, 0xEB, 0x90, 0x2A, 0xA5, 0x71, 0x41, 0xC0, 0x9D, +0x6A, 0x01, 0x8C, 0x4F, 0x40, 0x0A, 0x60, 0x1E, 0x89, 0xC0, 0x17, 0x41, 0xFC, 0xB5, 0x97, 0x0F, +0x40, 0xC2, 0x15, 0x97, 0x9D, 0xC4, 0x09, 0x08, 0xFD, 0x40, 0x61, 0x45, 0x4F, 0x9B, 0x0A, 0x7E, +0xF2, 0xF9, 0x3F, 0x77, 0xF8, 0x8B, 0x76, 0x3D, 0xFE, 0xA9, 0xB6, 0xB4, 0x18, 0x06, 0x0F, 0x80, +0x0A, 0xFA, 0x41, 0xC0, 0x66, 0x00, 0x64, 0x1A, 0x10, 0x13, 0x64, 0x7B, 0x71, 0x47, 0xA5, 0x16, +0xE6, 0xFA, 0x24, 0x48, 0x00, 0x2B, 0xF6, 0xBA, 0xD9, 0x37, 0xDD, 0xAA, 0x4B, 0x42, 0x7E, 0x37, +0x31, 0xB7, 0x67, 0x04, 0x2C, 0x17, 0x80, 0x90, 0x2D, 0x01, 0x9B, 0xB5, 0x05, 0x20, 0xFD, 0x37, +0xD7, 0xBD, 0x25, 0x43, 0x04, 0xCD, 0xF0, 0xBA, 0xCB, 0x85, 0x5C, 0xE4, 0x06, 0xD0, 0x8A, 0x61, +0x46, 0x99, 0xF9, 0x65, 0x01, 0x48, 0x61, 0x02, 0x1B, 0xE6, 0x3F, 0x88, 0xB1, 0xC3, 0x3F, 0x87, +0x80, 0xF0, 0xAF, 0x0D, 0x00, 0x87, 0xE1, 0xAB, 0x3D, 0x01, 0xE1, 0x5F, 0x19, 0xF1, 0x15, 0x21, +0x3E, 0xFF, 0xD8, 0xCA, 0x31, 0x70, 0x5C, 0x43, 0x11, 0x78, 0xF2, 0xA8, 0x41, 0xF0, 0x73, 0xF1, +0x7F, 0x36, 0x9F, 0x52, 0x00, 0x90, 0x5C, 0xF0, 0xEE, 0x96, 0x33, 0xFF, 0x67, 0xA2, 0x1C, 0xB0, +0x96, 0x00, 0x26, 0x1E, 0xE9, 0x01, 0xF7, 0x66, 0x55, 0x02, 0x92, 0x04, 0x95, 0x90, 0x04, 0xB0, +0xB5, 0x4C, 0x9D, 0x8D, 0xB2, 0x55, 0x70, 0x1D, 0x02, 0xC5, 0xFB, 0x09, 0x75, 0x44, 0x8A, 0xC2, +0xAA, 0x07, 0xBC, 0x4D, 0x3F, 0x50, 0x78, 0x9C, 0x7B, 0x40, 0xF8, 0x67, 0x57, 0x01, 0xC1, 0xD2, +0x02, 0x32, 0xFE, 0x4D, 0x9D, 0x19, 0x51, 0xFD, 0x69, 0x94, 0x7E, 0x3D, 0xFA, 0xCC, 0x02, 0x96, +0x06, 0x70, 0xA1, 0xDB, 0xE8, 0x76, 0x25, 0xE4, 0x14, 0xFF, 0x57, 0xAA, 0x41, 0x01, 0xB4, 0xE7, +0x01, 0xE1, 0x5F, 0x90, 0x80, 0x07, 0x85, 0xE2, 0xE5, 0x80, 0x3E, 0x00, 0xD7, 0x2F, 0x9F, 0x7F, +0xC4, 0x10, 0xC5, 0x08, 0x98, 0xA2, 0x2C, 0x82, 0x89, 0xF3, 0xEE, 0xC9, 0x53, 0xC1, 0xFF, 0x3B, +0xFF, 0x5E, 0x3B, 0x06, 0xD0, 0x04, 0x01, 0x29, 0x00, 0x74, 0x08, 0xE8, 0xF1, 0xCF, 0xF1, 0x80, +0xFE, 0x1B, 0xD5, 0xF1, 0x80, 0xB8, 0xC0, 0x45, 0x8A, 0xBE, 0xE5, 0x32, 0x57, 0xB5, 0xB8, 0x54, +0xFC, 0xA9, 0xFF, 0xC3, 0x01, 0xEA, 0x5E, 0x3B, 0x3C, 0x20, 0x02, 0x66, 0x98, 0xBB, 0x4E, 0xEA, +0xFB, 0xBA, 0x8E, 0x02, 0x68, 0x69, 0xC0, 0xCF, 0xBA, 0x7B, 0x17, 0x80, 0xF4, 0xD4, 0xE5, 0xA7, +0xD0, 0x54, 0x30, 0x15, 0x3B, 0x1A, 0xE6, 0xFF, 0x30, 0x80, 0x50, 0xBE, 0xFB, 0xE7, 0xDB, 0x73, +0xC0, 0x02, 0x10, 0x3C, 0x20, 0x6A, 0xCA, 0x3F, 0x08, 0x58, 0x16, 0x00, 0xBA, 0x04, 0x84, 0x7F, +0x8F, 0xF5, 0x80, 0x00, 0xF0, 0xC7, 0x27, 0x90, 0xCF, 0x3F, 0x22, 0x6E, 0x01, 0xFD, 0x0C, 0x30, +0xDB, 0x35, 0x0C, 0x1C, 0xA6, 0x81, 0xA3, 0xE0, 0xCA, 0x57, 0x37, 0x0A, 0x80, 0x45, 0x01, 0x74, +0x4D, 0x9F, 0x7D, 0x1B, 0xE0, 0xDF, 0x16, 0x04, 0x2C, 0x16, 0x80, 0x94, 0xF1, 0x38, 0x02, 0xCE, +0x56, 0x12, 0xF0, 0x76, 0x35, 0x30, 0x68, 0x40, 0x14, 0x44, 0xB3, 0xD8, 0x2C, 0x11, 0x46, 0xB0, +0x23, 0x08, 0x92, 0x5E, 0xF7, 0xCB, 0x23, 0xCB, 0x85, 0x88, 0x05, 0xCC, 0xFD, 0x9F, 0xAA, 0x30, +0x77, 0x57, 0x36, 0x0F, 0x48, 0x22, 0x84, 0xFA, 0x67, 0xC6, 0xCB, 0xE5, 0x92, 0x10, 0x3D, 0xEC, +0x16, 0x80, 0xE0, 0x00, 0xED, 0x27, 0x90, 0x91, 0xB1, 0x2D, 0x86, 0x53, 0xCF, 0xBA, 0x30, 0x9A, +0x63, 0x00, 0x05, 0xF1, 0x94, 0x03, 0x12, 0xF8, 0xBF, 0x52, 0x4D, 0x07, 0xC0, 0x10, 0x30, 0xE7, +0x1F, 0x05, 0x30, 0x85, 0xBE, 0x75, 0xF9, 0x37, 0x9C, 0x80, 0x0F, 0x07, 0x60, 0x1B, 0x60, 0xFA, +0xFC, 0x23, 0x06, 0x68, 0xD8, 0x20, 0xB8, 0xCC, 0x80, 0x3C, 0xCB, 0x72, 0xC0, 0xE7, 0xC4, 0xBF, +0xBA, 0xFF, 0xA3, 0x20, 0xBA, 0xCE, 0x3F, 0x10, 0xC8, 0x92, 0x10, 0xF8, 0xD7, 0x9C, 0x80, 0x15, +0x51, 0x10, 0x6D, 0x0B, 0x42, 0x66, 0x9A, 0xFD, 0xC0, 0x00, 0x96, 0xA3, 0x60, 0xAB, 0x80, 0x49, +0x3B, 0xE3, 0x8E, 0x51, 0xCF, 0x1C, 0xA0, 0xD6, 0x03, 0xFE, 0x55, 0x24, 0x80, 0x73, 0xAA, 0xF1, +0x25, 0xA6, 0xFF, 0xD4, 0xFF, 0xE1, 0x0D, 0x71, 0x80, 0xD2, 0x72, 0x0F, 0xA8, 0x80, 0x5D, 0x2E, +0xCD, 0x7E, 0xEA, 0x01, 0x14, 0x94, 0xD0, 0x1F, 0xD2, 0x6E, 0x64, 0x33, 0x29, 0x0C, 0xA0, 0x41, +0x5E, 0x36, 0xD2, 0xC0, 0xF0, 0x2F, 0xE2, 0x01, 0xD1, 0x60, 0xFC, 0x11, 0x10, 0x10, 0xFE, 0x55, +0x55, 0x5D, 0x00, 0x82, 0x86, 0x97, 0x03, 0xBE, 0x80, 0x7F, 0xED, 0x01, 0xE8, 0x2B, 0xCE, 0xBF, +0xB8, 0x07, 0x14, 0x39, 0xE8, 0x63, 0x53, 0xF2, 0xD1, 0xC5, 0x34, 0x1C, 0x80, 0x27, 0x8F, 0x07, +0xE0, 0x33, 0xE2, 0x1F, 0xFE, 0x0F, 0xA1, 0x74, 0xDF, 0xF1, 0xEC, 0x03, 0xD1, 0xEB, 0xDA, 0xBA, +0x43, 0x40, 0xF8, 0xD7, 0x2E, 0x13, 0x92, 0x36, 0x8F, 0x80, 0x0C, 0x83, 0x17, 0x36, 0x3C, 0xAC, +0x24, 0x42, 0xB4, 0x29, 0x5D, 0x20, 0x9E, 0x20, 0x27, 0x2B, 0x44, 0x49, 0x71, 0x5C, 0xE6, 0x7F, +0xF3, 0x81, 0x2D, 0xBB, 0xF7, 0x37, 0xE8, 0x83, 0x5E, 0xC4, 0x65, 0x5C, 0xCD, 0x92, 0x90, 0xBE, +0x69, 0x01, 0x60, 0xF7, 0xED, 0xF8, 0xC6, 0x7A, 0xA0, 0x2B, 0xE3, 0xA8, 0x7F, 0x21, 0x01, 0x8C, +0x01, 0x34, 0xC8, 0x4F, 0x64, 0xD7, 0xD7, 0x03, 0xC2, 0xBF, 0xAA, 0x9A, 0xFB, 0x3F, 0x3C, 0x20, +0x05, 0xD0, 0x35, 0x51, 0x0E, 0x48, 0x01, 0x4C, 0x03, 0x0F, 0x68, 0x00, 0x1C, 0xCC, 0xAD, 0x1F, +0x9F, 0x2B, 0x00, 0x63, 0xF8, 0x63, 0x03, 0x7C, 0xCF, 0xDD, 0x03, 0x3E, 0xFB, 0x04, 0x70, 0xBE, +0x24, 0xC4, 0xF8, 0x77, 0xFE, 0xAA, 0x2E, 0xF1, 0x80, 0x3B, 0x79, 0x01, 0x4C, 0x3D, 0x1E, 0x78, +0x67, 0x98, 0x91, 0x4F, 0xC0, 0xAE, 0x08, 0xC6, 0x3C, 0x51, 0x61, 0x00, 0x59, 0x12, 0xC2, 0x92, +0xB8, 0xDE, 0xFC, 0x09, 0x7D, 0x30, 0x81, 0x56, 0x91, 0xC2, 0xB2, 0xE0, 0xDF, 0x3A, 0xFF, 0x87, +0xE0, 0x9A, 0x31, 0x91, 0x22, 0xC0, 0xF7, 0xF8, 0xC4, 0xAC, 0x66, 0x9A, 0xB3, 0xCE, 0xFB, 0x49, +0x6F, 0xE5, 0xCF, 0xD4, 0x40, 0x4B, 0xB3, 0xAF, 0x6A, 0x39, 0x20, 0x05, 0x30, 0x85, 0x01, 0x64, +0x20, 0x2C, 0xD2, 0xDB, 0x03, 0xDA, 0xFC, 0x9F, 0xE3, 0x01, 0x83, 0xFC, 0x1B, 0x17, 0x05, 0x80, +0x75, 0x0F, 0xE8, 0xF2, 0x0F, 0x05, 0xF9, 0x87, 0x07, 0x4C, 0xBD, 0xA3, 0x17, 0x4F, 0xC3, 0x3F, +0x94, 0xE1, 0xAF, 0x95, 0x07, 0x84, 0x7F, 0xEE, 0x46, 0x09, 0x4C, 0x58, 0xC3, 0xF9, 0x77, 0xD2, +0x84, 0x80, 0xCF, 0xC4, 0xFF, 0x51, 0x00, 0x58, 0x05, 0x60, 0x2A, 0x07, 0xDC, 0x0A, 0xF1, 0x2F, +0x55, 0xC3, 0x9C, 0xEE, 0x64, 0x09, 0x90, 0xD6, 0x1E, 0x70, 0xE6, 0x5D, 0x38, 0x35, 0xFF, 0x87, +0x27, 0xC2, 0x00, 0xE6, 0xB2, 0x9B, 0xC1, 0x50, 0x7D, 0x2C, 0x1D, 0x36, 0x2C, 0x85, 0xD9, 0x41, +0x73, 0x6A, 0x6A, 0x00, 0x75, 0x23, 0x20, 0x1C, 0xE5, 0x80, 0xF8, 0x3F, 0x2E, 0x63, 0xFB, 0xD8, +0x14, 0x7E, 0x9A, 0x00, 0x36, 0xDB, 0xC9, 0x77, 0xD6, 0x06, 0x83, 0xED, 0x1E, 0x0E, 0xDB, 0x85, +0x01, 0x54, 0x2D, 0xEC, 0x74, 0xB2, 0x18, 0x31, 0xFF, 0xE7, 0xA8, 0xE5, 0x00, 0x18, 0x04, 0x7E, +0xE4, 0xDF, 0x2B, 0x54, 0xF7, 0x80, 0xF0, 0xAF, 0x89, 0x07, 0x7C, 0xF1, 0x44, 0xFC, 0x43, 0xE0, +0xCF, 0x8D, 0x21, 0x8A, 0x11, 0xB0, 0xEA, 0x01, 0x9F, 0xE7, 0x92, 0x90, 0x97, 0x4F, 0xCE, 0xBF, +0xD7, 0x1E, 0xFF, 0xAC, 0x18, 0xA6, 0x2F, 0x00, 0xAC, 0xF3, 0x8F, 0x45, 0x71, 0xE3, 0x8A, 0xFF, +0x6B, 0x50, 0x10, 0x1D, 0xD2, 0xC8, 0xF0, 0x47, 0x85, 0x1C, 0x42, 0xA4, 0x82, 0x0D, 0x37, 0xD6, +0xC9, 0x4E, 0x80, 0x64, 0x67, 0x2C, 0x0B, 0xBE, 0xC2, 0xC8, 0x99, 0x0A, 0xC2, 0x59, 0x2A, 0x38, +0xBB, 0x0E, 0xF4, 0x65, 0x52, 0xA8, 0xEA, 0xF8, 0x97, 0x6F, 0xBE, 0xEC, 0x29, 0x98, 0x5B, 0x42, +0xBB, 0x5D, 0xFF, 0xC5, 0xBD, 0x06, 0x90, 0xE5, 0x20, 0xA9, 0xB7, 0x3B, 0xE3, 0xEC, 0x95, 0x9A, +0x3E, 0xF8, 0x69, 0x1D, 0xBB, 0xFE, 0x0F, 0x0F, 0xC8, 0x02, 0x10, 0x57, 0xF0, 0xAF, 0x15, 0x00, +0xDB, 0xCF, 0xFF, 0xB5, 0x07, 0x20, 0x11, 0x9F, 0x06, 0x04, 0x7F, 0x2E, 0x02, 0xDB, 0xD9, 0x3F, +0xC2, 0x37, 0x80, 0x68, 0x83, 0xF8, 0x87, 0xFF, 0x73, 0x09, 0x18, 0xE2, 0x1F, 0x4B, 0x42, 0xC6, +0x63, 0xDF, 0x01, 0x0E, 0x24, 0x60, 0x14, 0x80, 0x53, 0x1D, 0x05, 0x67, 0x15, 0x72, 0x35, 0xC9, +0x90, 0xD2, 0xCC, 0x17, 0x75, 0x2F, 0xD2, 0x94, 0x3D, 0xE4, 0x84, 0xFB, 0x72, 0xC0, 0xDB, 0x28, +0x23, 0x50, 0x77, 0x6A, 0x05, 0x80, 0xD9, 0x75, 0x95, 0xBF, 0xA7, 0x03, 0x6B, 0x52, 0xD0, 0x50, +0xB7, 0x18, 0x04, 0xB3, 0x00, 0x2E, 0x37, 0x80, 0x9C, 0x4E, 0x16, 0x17, 0xDB, 0x7A, 0x34, 0x12, +0xED, 0x45, 0xF4, 0xC0, 0x05, 0x20, 0xCE, 0x34, 0x20, 0xFC, 0xF3, 0x3D, 0xE0, 0x2E, 0x05, 0xD0, +0x2D, 0x10, 0xF8, 0xE2, 0xA9, 0xF8, 0x87, 0x9A, 0x02, 0x10, 0x9D, 0xC4, 0xF0, 0x27, 0xD7, 0x15, +0x7A, 0xB6, 0x4B, 0x42, 0x5E, 0x3E, 0xFB, 0xF9, 0x3F, 0x08, 0x48, 0x01, 0xB4, 0xF7, 0xA2, 0x16, +0xFE, 0x91, 0x00, 0x69, 0x37, 0x08, 0x8E, 0x2A, 0xBD, 0xFB, 0x35, 0xFB, 0x41, 0x0A, 0xA4, 0x2A, +0x2D, 0x00, 0xC4, 0x6E, 0xE9, 0xB1, 0x86, 0x42, 0xC9, 0x0E, 0xCD, 0x03, 0xFE, 0x5E, 0x11, 0x4C, +0x93, 0x13, 0xF5, 0x80, 0x70, 0xB1, 0xE2, 0x00, 0x49, 0x05, 0x2B, 0xEE, 0xAC, 0x83, 0x82, 0x77, +0x73, 0xD2, 0x4B, 0xE5, 0x5F, 0xDD, 0x00, 0x6E, 0xCB, 0x71, 0xBF, 0x8D, 0x58, 0x00, 0xE2, 0x78, +0xC0, 0x41, 0xC3, 0x5F, 0x7E, 0xA9, 0x0E, 0x01, 0x29, 0x80, 0xF6, 0xB4, 0x15, 0xE2, 0x5F, 0x3C, +0x17, 0xFC, 0xE2, 0xC9, 0xF9, 0x27, 0x04, 0x84, 0x70, 0x0D, 0x53, 0xC1, 0x03, 0x2C, 0x20, 0x5A, +0x43, 0x26, 0xC4, 0x87, 0xE1, 0x33, 0xF8, 0xA8, 0xB8, 0xB0, 0x7E, 0x38, 0x08, 0x13, 0x90, 0x57, +0xB4, 0x47, 0xC0, 0x82, 0x7F, 0x6D, 0x8A, 0x61, 0xC2, 0x1A, 0xD9, 0xF4, 0x1F, 0x35, 0x30, 0x35, +0x2D, 0x6D, 0xF9, 0x87, 0x8D, 0x79, 0x55, 0x4B, 0x3C, 0x21, 0xE9, 0x60, 0x4B, 0x00, 0x97, 0x91, +0x1B, 0x40, 0x59, 0x12, 0xF2, 0xA1, 0xBC, 0xF6, 0x1E, 0x07, 0x28, 0xDB, 0x31, 0xDF, 0x9C, 0xDC, +0x2F, 0x0E, 0x10, 0x27, 0x78, 0xFC, 0x9B, 0xF0, 0xAF, 0x6E, 0x00, 0xAD, 0x9F, 0x08, 0x0C, 0xF1, +0x7F, 0xA1, 0xD1, 0x6D, 0x1B, 0xFF, 0x07, 0x01, 0xC3, 0xFC, 0x4B, 0x73, 0xCA, 0x3E, 0xFF, 0xE2, +0x4B, 0x42, 0x00, 0x60, 0x88, 0x53, 0xDA, 0xAF, 0x61, 0xA6, 0x70, 0xC8, 0xE7, 0xBF, 0xC5, 0x15, +0xA3, 0x9F, 0xF6, 0x1B, 0x64, 0x01, 0x1B, 0x03, 0xB0, 0x3D, 0xFF, 0x48, 0x05, 0x93, 0x00, 0xF1, +0x08, 0x38, 0x8F, 0xBF, 0x53, 0xE2, 0xAB, 0xE2, 0xC8, 0x7F, 0x44, 0x00, 0xD8, 0xA3, 0xC0, 0xB5, +0x80, 0x97, 0xCB, 0x63, 0x5C, 0xDF, 0x51, 0x76, 0xB8, 0x64, 0x52, 0x4E, 0xFD, 0x57, 0xCC, 0x00, +0x2A, 0xD5, 0x6E, 0x38, 0x43, 0xA5, 0x03, 0xD4, 0xAE, 0x23, 0x9E, 0xD9, 0x4F, 0xF3, 0x9E, 0x38, +0x40, 0x6E, 0xCC, 0xB0, 0xCA, 0x00, 0x32, 0xDB, 0xB9, 0x90, 0xA1, 0xB0, 0x01, 0xD0, 0x99, 0x08, +0x04, 0x80, 0x0D, 0xF2, 0x1F, 0xC4, 0xDE, 0xF8, 0x74, 0x2B, 0x0C, 0xC0, 0xC3, 0x83, 0x76, 0x04, +0x1C, 0x08, 0x40, 0xD9, 0xD6, 0x01, 0xC0, 0xB6, 0x0E, 0x90, 0x54, 0x70, 0x18, 0x81, 0x6B, 0x75, +0x80, 0x27, 0x3E, 0xFF, 0x36, 0xC7, 0x02, 0x1E, 0x84, 0x75, 0x48, 0x09, 0xA0, 0xAB, 0x39, 0x29, +0x60, 0x3F, 0xD6, 0xC0, 0xBF, 0xD1, 0x48, 0x20, 0x10, 0xB1, 0x80, 0x8B, 0xA5, 0xE2, 0x46, 0x36, +0xE3, 0x8E, 0xEC, 0x6D, 0x19, 0x06, 0x03, 0xE1, 0x25, 0x6B, 0xE0, 0x6A, 0xFE, 0x8F, 0x44, 0xF0, +0xFB, 0x9B, 0xF7, 0xC5, 0x85, 0xE5, 0x9C, 0xA0, 0xCD, 0x01, 0x66, 0xDF, 0x1C, 0xCB, 0xD7, 0x67, +0x85, 0xB1, 0xA2, 0x94, 0xC0, 0x54, 0x0C, 0xE0, 0xE2, 0xC2, 0x0C, 0x60, 0xAA, 0x02, 0x8A, 0x3F, +0x5B, 0x71, 0xFE, 0x85, 0xFF, 0x5F, 0xDB, 0x3F, 0xE7, 0x3F, 0x4B, 0x37, 0x0D, 0xD2, 0x94, 0x80, +0x2F, 0x86, 0x10, 0x6D, 0x20, 0xD5, 0x9E, 0x6E, 0x0E, 0x30, 0x3E, 0x0D, 0xF8, 0x2C, 0x26, 0x01, +0x5F, 0x6E, 0x0C, 0x01, 0x07, 0xF0, 0x8F, 0x22, 0x68, 0x4F, 0xE7, 0xA7, 0xF3, 0x57, 0xFB, 0x71, +0x0F, 0xD8, 0x9E, 0x80, 0x17, 0x3A, 0x07, 0xE8, 0x5B, 0xC0, 0xED, 0xBE, 0x18, 0x3A, 0xAB, 0xFD, +0x63, 0x2A, 0x8E, 0x29, 0x38, 0xF5, 0x7F, 0x5A, 0x04, 0x53, 0xAA, 0x18, 0xE5, 0x2A, 0xFF, 0xDE, +0xDF, 0x54, 0xBC, 0x22, 0xD2, 0xEB, 0x8F, 0x45, 0x4A, 0x39, 0xBE, 0xB1, 0xB5, 0x25, 0x0E, 0x30, +0x7D, 0x7B, 0x92, 0x20, 0x15, 0x03, 0x38, 0xB1, 0x62, 0xC0, 0x2E, 0x09, 0x32, 0xC5, 0xEF, 0x21, +0xCE, 0xD1, 0xAC, 0xAD, 0xFF, 0xEB, 0xF8, 0x77, 0x3A, 0x3F, 0x0F, 0x4E, 0x01, 0xEE, 0xB6, 0x25, +0x60, 0x3C, 0x0B, 0xFC, 0x80, 0x0F, 0x0D, 0x79, 0xCA, 0x3A, 0x98, 0x78, 0x26, 0xB8, 0x35, 0x01, +0x89, 0xB0, 0x01, 0xDC, 0x14, 0x02, 0x86, 0x87, 0xBF, 0x07, 0x9A, 0x05, 0xF6, 0xCB, 0x00, 0x75, +0xE6, 0x67, 0x7E, 0x9A, 0x82, 0x34, 0xB0, 0x1F, 0x51, 0xFC, 0xCD, 0xC2, 0xFC, 0x1B, 0x4D, 0x93, +0x07, 0xF4, 0x2D, 0xA0, 0xF2, 0x4F, 0x97, 0xC1, 0x51, 0x81, 0x47, 0x01, 0x34, 0xCB, 0x42, 0xB8, +0x23, 0x42, 0xE9, 0x01, 0x11, 0x8B, 0x41, 0x3E, 0xBC, 0xFF, 0xA0, 0x65, 0xD0, 0x65, 0x70, 0xD8, +0x5D, 0xCC, 0x32, 0x38, 0xFD, 0x8E, 0x85, 0x15, 0xC4, 0x10, 0xCA, 0x8F, 0xFA, 0x46, 0x3E, 0x08, +0xB8, 0x62, 0x00, 0x6D, 0x31, 0x48, 0x7F, 0x73, 0xE8, 0xB4, 0x12, 0xB0, 0xF1, 0xD3, 0x1A, 0xB7, +0xF4, 0xC2, 0xBF, 0xD3, 0x79, 0xCC, 0xFF, 0xED, 0xEE, 0xB2, 0x0C, 0xB8, 0x41, 0x2A, 0x38, 0x5E, +0x07, 0x38, 0xF0, 0xAE, 0x31, 0xF1, 0x4B, 0x1B, 0x16, 0x42, 0x97, 0x3A, 0x59, 0x07, 0x01, 0x83, +0xE8, 0x3B, 0x09, 0xFB, 0xBF, 0x4D, 0x21, 0xE0, 0x41, 0x58, 0xCA, 0xBF, 0x20, 0x01, 0x4F, 0x15, +0x80, 0xE7, 0xFB, 0xF1, 0x77, 0x4C, 0x64, 0x9E, 0x7E, 0x14, 0x7D, 0xAB, 0xEA, 0xE7, 0xA4, 0x27, +0x04, 0x26, 0x10, 0x38, 0x16, 0x90, 0x42, 0x68, 0x26, 0xE1, 0x6E, 0xBB, 0x30, 0xD6, 0xE6, 0xDA, +0x3D, 0xB1, 0xB4, 0x10, 0x10, 0x15, 0x34, 0xB4, 0xF1, 0xEF, 0x87, 0x14, 0x4A, 0x40, 0x84, 0xF8, +0x9B, 0x2C, 0x05, 0xC9, 0x1C, 0x20, 0x56, 0x90, 0x99, 0xC1, 0xDF, 0xEC, 0xA6, 0x5D, 0x8B, 0xEA, +0x0C, 0x20, 0x8B, 0x41, 0x46, 0xAA, 0x8B, 0xBD, 0xBA, 0x07, 0x9C, 0x66, 0x00, 0x6C, 0x8A, 0xBF, +0xC4, 0xBF, 0xF9, 0xA9, 0x86, 0xBC, 0x1A, 0xBC, 0xB2, 0xF9, 0xDD, 0x5D, 0xEA, 0x60, 0x1A, 0x10, +0x90, 0x95, 0x20, 0x3E, 0xA6, 0x50, 0x4B, 0xBB, 0xD8, 0x7E, 0x25, 0x08, 0xEC, 0x13, 0x05, 0xD8, +0xD7, 0x96, 0x80, 0x44, 0xDF, 0x39, 0xF4, 0x4B, 0xFC, 0xDB, 0x14, 0x02, 0x1E, 0x7C, 0x3E, 0x88, +0x7F, 0x12, 0x87, 0x9F, 0x9D, 0x7B, 0xFC, 0x9B, 0xF7, 0x00, 0x14, 0x02, 0xB6, 0x43, 0xE0, 0xCC, +0x9A, 0xAB, 0x91, 0xF0, 0x4F, 0xBB, 0x6A, 0x22, 0x18, 0xFE, 0xF5, 0x08, 0xEC, 0x21, 0x43, 0xE5, +0x9F, 0x41, 0xC8, 0xBC, 0x61, 0xC7, 0x29, 0xE9, 0xF3, 0xD5, 0x1D, 0xF7, 0xF0, 0x50, 0xE9, 0xF7, +0x5E, 0x09, 0x28, 0xA7, 0xF5, 0xB0, 0xC5, 0xC0, 0xDA, 0x99, 0xF1, 0x4B, 0xE2, 0x9E, 0x34, 0x47, +0x2C, 0x4B, 0xB6, 0x75, 0xCB, 0xA9, 0xAB, 0x18, 0x40, 0x3E, 0x1E, 0x69, 0xD4, 0x3D, 0x01, 0x17, +0xD3, 0x59, 0xF4, 0x69, 0x6D, 0x08, 0x40, 0xF8, 0x17, 0xF0, 0x80, 0xC2, 0xBF, 0xB6, 0x04, 0x64, +0x2D, 0xB0, 0x8F, 0x29, 0xD4, 0xD0, 0x2E, 0xFE, 0x89, 0xD6, 0xE0, 0xFF, 0x64, 0xF3, 0x32, 0x20, +0x20, 0xB0, 0x21, 0x00, 0xB5, 0x69, 0xF8, 0xFE, 0x6F, 0x53, 0x08, 0xF8, 0xC3, 0x50, 0xFF, 0xD7, +0x79, 0xC0, 0x73, 0xDF, 0xFF, 0x0D, 0xF5, 0x80, 0xE3, 0x1D, 0x97, 0x6A, 0xBC, 0x55, 0x7D, 0xFE, +0x25, 0x4D, 0xA5, 0x73, 0x2C, 0xE0, 0xE2, 0xB2, 0xA7, 0x9F, 0xB4, 0x63, 0x1B, 0xFE, 0xEA, 0x0E, +0x0C, 0x1E, 0xB1, 0x14, 0xF8, 0x2F, 0x69, 0xAE, 0x07, 0xFC, 0x5D, 0xFC, 0x9F, 0xB6, 0x14, 0x8E, +0x07, 0xB4, 0x87, 0x95, 0x6E, 0x59, 0x73, 0x80, 0x1D, 0x02, 0xDF, 0x48, 0xC9, 0xB6, 0xC6, 0x72, +0x52, 0x31, 0x80, 0x1F, 0x13, 0xC0, 0x76, 0x47, 0x1C, 0x16, 0xC3, 0x4D, 0x1D, 0xFC, 0xCD, 0x5C, +0xFC, 0x0D, 0xE5, 0x1F, 0x1E, 0xD0, 0xE1, 0x5F, 0x33, 0x02, 0x02, 0x40, 0x55, 0x04, 0x53, 0xA8, +0x99, 0x5D, 0x5C, 0xD3, 0xED, 0xB0, 0x4E, 0xC2, 0xF3, 0x80, 0x27, 0x6B, 0x23, 0x60, 0x74, 0x11, +0xC8, 0xA6, 0x10, 0x10, 0xFE, 0xC5, 0x56, 0x81, 0x18, 0x01, 0xB7, 0xCE, 0x5D, 0xFF, 0x67, 0x1E, +0x70, 0x48, 0x2A, 0x78, 0xEC, 0x38, 0x15, 0x5A, 0xE8, 0x56, 0x08, 0x76, 0x3B, 0x84, 0x15, 0x16, +0x70, 0xF9, 0xC6, 0x0C, 0xA0, 0xDE, 0x0E, 0x46, 0x98, 0x47, 0xDE, 0x57, 0xC3, 0x12, 0x20, 0xDC, +0xB4, 0x45, 0xC6, 0xC1, 0xBD, 0x01, 0x24, 0x90, 0x7C, 0x3E, 0xB0, 0xE1, 0x2F, 0xE9, 0x66, 0x95, +0x05, 0xB4, 0x1B, 0x02, 0x6A, 0x67, 0xAB, 0x41, 0xFA, 0x9E, 0x62, 0x68, 0xCD, 0x46, 0x1F, 0xF7, +0xA0, 0xD6, 0xFE, 0x0D, 0x9F, 0x07, 0x67, 0x9A, 0xB0, 0x5F, 0xA8, 0xFF, 0xD3, 0xA5, 0xC0, 0x23, +0x08, 0x98, 0x09, 0x26, 0xCE, 0x68, 0xCD, 0x06, 0xC0, 0x3B, 0xE9, 0x37, 0x4F, 0xB8, 0xFE, 0xCF, +0x25, 0x60, 0x3C, 0x11, 0x02, 0x00, 0x55, 0x11, 0x4C, 0xA1, 0x46, 0x76, 0xB1, 0xB8, 0x21, 0x6A, +0x43, 0x03, 0x78, 0x62, 0x7D, 0x95, 0x7E, 0xF8, 0xBF, 0xC6, 0x04, 0x4C, 0x0A, 0x3A, 0xC0, 0x97, +0x1B, 0x43, 0xC0, 0x01, 0x05, 0x80, 0xF0, 0x4F, 0x62, 0x65, 0x3D, 0xF4, 0x7C, 0x7E, 0x4A, 0x9C, +0xCF, 0x77, 0x5C, 0xEB, 0xE0, 0xA7, 0x82, 0xA5, 0x50, 0x70, 0x96, 0xB7, 0xBA, 0xA6, 0xCA, 0x3F, +0x8D, 0x69, 0xEF, 0x01, 0x6B, 0x16, 0xD0, 0x90, 0xD2, 0x73, 0x05, 0xEB, 0xA5, 0xF9, 0x57, 0xE3, +0x10, 0x37, 0xC5, 0x17, 0x75, 0xFD, 0xAA, 0x3A, 0xC0, 0x44, 0x3E, 0x6B, 0x09, 0x85, 0x4A, 0xC0, +0x9A, 0xEC, 0xE1, 0xEC, 0x81, 0x59, 0x0F, 0x4C, 0xFD, 0x61, 0x3F, 0x26, 0x37, 0xFF, 0x27, 0x2D, +0x1D, 0x4E, 0xB6, 0x6B, 0x06, 0xF0, 0x42, 0xC7, 0xFF, 0xFA, 0x14, 0xD4, 0x3C, 0x20, 0x67, 0xB3, +0xAC, 0x35, 0xE2, 0xDF, 0x69, 0x4A, 0x80, 0x10, 0x78, 0x40, 0x44, 0x02, 0xF8, 0x90, 0x57, 0x55, +0x8B, 0x54, 0x30, 0x00, 0x54, 0x45, 0x28, 0x85, 0x86, 0xE0, 0x72, 0xAD, 0x77, 0x84, 0xF6, 0x7D, +0x60, 0x9D, 0x7F, 0x82, 0xBF, 0x35, 0x4D, 0x03, 0x6A, 0xEB, 0x62, 0x25, 0xFE, 0x36, 0x85, 0x80, +0x43, 0x0A, 0xA0, 0x3F, 0xCB, 0x00, 0x78, 0x88, 0x07, 0x2C, 0xFC, 0xDF, 0xF9, 0xFC, 0x74, 0x28, +0x01, 0x59, 0x42, 0x5F, 0xCD, 0x7F, 0xCC, 0xC2, 0x6F, 0xD5, 0x51, 0x92, 0xDD, 0x0B, 0x39, 0xB5, +0x14, 0x13, 0x12, 0xA4, 0xB9, 0x96, 0xA2, 0x85, 0x86, 0x1E, 0x09, 0xE7, 0x96, 0xE4, 0x7D, 0x25, +0x7A, 0x47, 0xA8, 0x7C, 0x32, 0xA3, 0xA6, 0xBB, 0x8A, 0x05, 0x4C, 0x07, 0x02, 0x3E, 0x6B, 0xC2, +0xC0, 0x1B, 0xF0, 0x98, 0x45, 0x92, 0x3D, 0xA8, 0x84, 0x7D, 0x24, 0xA6, 0x44, 0x12, 0x3F, 0x85, +0xE6, 0x5F, 0xBA, 0x4F, 0x2C, 0x36, 0x04, 0x4A, 0x48, 0x2E, 0x38, 0x33, 0x80, 0xEC, 0x3B, 0x03, +0xD8, 0xB9, 0xE0, 0xD5, 0x1E, 0x70, 0x56, 0x34, 0x77, 0x00, 0xEC, 0xC7, 0x5C, 0xF9, 0x47, 0x9C, +0xD7, 0xFD, 0x9F, 0xCC, 0xA7, 0x10, 0x2D, 0x08, 0x08, 0x00, 0x55, 0x8D, 0x00, 0x18, 0xBF, 0xB6, +0xFD, 0x67, 0x82, 0xC0, 0x3E, 0xBF, 0x1E, 0x50, 0xFB, 0x3C, 0x9A, 0x10, 0xD0, 0xEC, 0x9F, 0x1E, +0x29, 0x05, 0x9B, 0x02, 0x10, 0xB5, 0x04, 0x60, 0x7B, 0xFE, 0x11, 0xBB, 0xBB, 0xAF, 0x6A, 0x3A, +0x9D, 0xE7, 0x71, 0x7E, 0xFA, 0xD8, 0x72, 0xC0, 0xB1, 0x62, 0x2D, 0xF8, 0x4E, 0xB5, 0xD9, 0x2F, +0x4C, 0xA0, 0x16, 0x44, 0x63, 0x01, 0xD1, 0xE2, 0x4D, 0x4F, 0x3F, 0x76, 0xCB, 0x5B, 0xE8, 0x53, +0x29, 0xFE, 0x34, 0x01, 0x82, 0x03, 0xC4, 0x03, 0xA2, 0x3B, 0x09, 0x60, 0x6B, 0xBA, 0xBB, 0xA9, +0x2D, 0x08, 0xC1, 0x50, 0xDA, 0x91, 0x10, 0x10, 0xE7, 0x27, 0x61, 0x0C, 0x4C, 0xC4, 0xBB, 0xFC, +0x38, 0x08, 0x16, 0x16, 0x5E, 0x2E, 0xEE, 0x35, 0x80, 0x93, 0x8B, 0x29, 0x4F, 0x41, 0x6F, 0x01, +0xF1, 0x80, 0x1E, 0x00, 0x1B, 0xE4, 0x3F, 0xE0, 0x5F, 0x4E, 0xC0, 0x2D, 0x87, 0x7F, 0x0D, 0x08, +0x08, 0x00, 0x51, 0x08, 0x53, 0x71, 0x00, 0xA2, 0xF5, 0x7F, 0x2A, 0xDC, 0x83, 0xCA, 0x01, 0xDB, +0xF2, 0x2F, 0x9E, 0x05, 0x21, 0x01, 0xBC, 0x31, 0x16, 0x30, 0xCE, 0xBF, 0x03, 0xE3, 0x1F, 0x51, +0xBD, 0x2B, 0xCC, 0xBC, 0x78, 0xF5, 0x27, 0x02, 0xEE, 0x85, 0xDD, 0x43, 0x05, 0x80, 0xA3, 0xF0, +0x5B, 0x55, 0x07, 0x80, 0x6A, 0x7D, 0xA6, 0x4A, 0x40, 0xCD, 0x86, 0xEA, 0x8C, 0x19, 0xC0, 0xE0, +0x3E, 0x58, 0x4A, 0x13, 0x10, 0x78, 0x29, 0x5E, 0x8B, 0x1A, 0x40, 0x09, 0xCD, 0xC3, 0x02, 0xA9, +0x14, 0x78, 0xC0, 0xCC, 0xCE, 0x71, 0x37, 0x68, 0x1C, 0xA0, 0x65, 0x42, 0x7E, 0xAF, 0xCC, 0xFF, +0x15, 0x0E, 0x30, 0x79, 0x40, 0x86, 0xDE, 0xAC, 0x45, 0x61, 0xF0, 0x4B, 0xD2, 0x5A, 0xA6, 0x01, +0xB7, 0x31, 0x80, 0xC8, 0x26, 0x00, 0x53, 0x67, 0x16, 0x10, 0xF0, 0x81, 0x42, 0xE9, 0x8A, 0x67, +0xB5, 0xC1, 0x02, 0x90, 0x53, 0x86, 0x00, 0x0C, 0x03, 0x0C, 0x7F, 0x65, 0x01, 0x60, 0x53, 0x02, +0x02, 0x40, 0xE4, 0x63, 0xAA, 0xC1, 0x80, 0xD9, 0x79, 0xE0, 0x16, 0x0B, 0x40, 0x38, 0xB0, 0x63, +0x67, 0xFE, 0xAF, 0xCD, 0x28, 0x18, 0xFF, 0x07, 0xFF, 0x74, 0x57, 0x35, 0x80, 0x9B, 0x42, 0xC0, +0x83, 0xB0, 0xE0, 0x5F, 0x46, 0x40, 0xC7, 0xFF, 0x35, 0xF0, 0x80, 0x68, 0x16, 0x34, 0x2B, 0x52, +0xFC, 0xAB, 0x43, 0x60, 0x92, 0x20, 0x09, 0x07, 0xD9, 0x67, 0x66, 0x98, 0x6E, 0xD1, 0x04, 0xB8, +0xA4, 0x9E, 0x55, 0xC0, 0x12, 0x6A, 0xBF, 0x80, 0x14, 0x10, 0x2C, 0x52, 0xC1, 0x59, 0x01, 0xA0, +0x35, 0x39, 0x95, 0x8D, 0x79, 0x40, 0x44, 0x56, 0x05, 0x03, 0x88, 0x07, 0xCC, 0x1C, 0x20, 0x3F, +0xA4, 0x45, 0xB6, 0x24, 0xC4, 0xC8, 0xBE, 0xBD, 0x98, 0x90, 0xFF, 0xB1, 0x29, 0xC0, 0x9A, 0x07, +0x9C, 0xBA, 0xCF, 0x2A, 0xDA, 0x89, 0xFF, 0xFE, 0x48, 0x00, 0x3B, 0xA3, 0x60, 0xFC, 0x1F, 0xE1, +0x14, 0x44, 0xFB, 0x04, 0x04, 0x80, 0x28, 0x88, 0xA9, 0xF8, 0xB0, 0x76, 0xF8, 0x03, 0x37, 0xF3, +0x7F, 0x27, 0xD9, 0x81, 0x33, 0xFF, 0x47, 0x0C, 0x01, 0xA0, 0xE3, 0x00, 0x01, 0x61, 0x05, 0x7F, +0x9B, 0x42, 0xC0, 0x03, 0x14, 0xE1, 0x9F, 0x4B, 0xC0, 0x2D, 0xFC, 0x5F, 0x11, 0xE7, 0x8F, 0x5C, +0x12, 0x32, 0xAB, 0xB4, 0x52, 0xDC, 0x0A, 0x5E, 0xE9, 0x97, 0xB6, 0xD4, 0x92, 0xCA, 0x59, 0x40, +0x70, 0x02, 0x5D, 0x04, 0x2A, 0xCA, 0x3C, 0x75, 0x5E, 0xAC, 0x40, 0x43, 0x39, 0x05, 0x8B, 0x25, +0x70, 0x5D, 0x02, 0x18, 0xFC, 0x41, 0xC3, 0x7B, 0x96, 0x83, 0x18, 0xF2, 0x3A, 0xB6, 0x02, 0x59, +0x3E, 0x9C, 0x58, 0xE2, 0x28, 0xE3, 0x5F, 0x7E, 0x64, 0x4B, 0x42, 0x8C, 0xEB, 0x8B, 0xDB, 0xFE, +0x6F, 0x8A, 0x0B, 0xC4, 0x03, 0x66, 0x14, 0x1C, 0x85, 0x9F, 0xD6, 0x78, 0x02, 0x64, 0x1F, 0xFF, +0x97, 0x85, 0x93, 0x00, 0x7E, 0x20, 0x01, 0x5D, 0x00, 0xAA, 0xC2, 0x98, 0x0A, 0xF2, 0x2F, 0xFE, +0xC0, 0x00, 0xB0, 0x4D, 0xFE, 0xC3, 0x9B, 0x04, 0x24, 0x5A, 0x7A, 0xC0, 0x4F, 0x6C, 0xD3, 0x06, +0x09, 0x11, 0xFC, 0xDB, 0x18, 0x02, 0x0E, 0xE2, 0xDF, 0x6E, 0x25, 0x8A, 0x8F, 0x43, 0x3A, 0x9D, +0xD7, 0x08, 0xB8, 0xF7, 0x08, 0x0F, 0x38, 0x0A, 0xBD, 0x55, 0x49, 0x00, 0x63, 0x7C, 0xCC, 0x06, +0x8D, 0x48, 0x04, 0xC3, 0x3F, 0x1B, 0x4A, 0xD2, 0xB8, 0x37, 0x3E, 0xF8, 0x53, 0xFF, 0x47, 0x64, +0x10, 0x2C, 0xEE, 0x81, 0xF0, 0x3E, 0x21, 0x0F, 0x07, 0xA8, 0x21, 0x7B, 0x5D, 0x14, 0x77, 0x57, +0xA0, 0xEF, 0xAE, 0xF8, 0x70, 0xA6, 0x6E, 0x5F, 0xC3, 0x1F, 0x37, 0x46, 0x80, 0xEB, 0x23, 0x8D, +0xD9, 0xD4, 0x7A, 0x52, 0xC1, 0x3C, 0x49, 0x43, 0xFF, 0x5F, 0x19, 0x3F, 0xDC, 0xFF, 0x11, 0xF6, +0x22, 0xA9, 0xFA, 0xBF, 0x56, 0xE5, 0x80, 0x3E, 0x00, 0x5B, 0xF1, 0xCF, 0x7F, 0x60, 0xF4, 0xD8, +0xF1, 0x2F, 0xF4, 0xFB, 0x9E, 0x63, 0x9F, 0x7F, 0x44, 0x58, 0xFE, 0x1C, 0x20, 0xBB, 0x82, 0x7F, +0x1B, 0x43, 0xC0, 0xC1, 0x0B, 0x40, 0x88, 0x7A, 0x31, 0x0C, 0xFE, 0xAF, 0x0C, 0x3E, 0x1D, 0xCE, +0x0F, 0xCF, 0xFF, 0xD1, 0x10, 0x0B, 0x40, 0x6C, 0xF4, 0x9B, 0x7D, 0x36, 0xF0, 0x48, 0xCA, 0x01, +0xED, 0x86, 0xA1, 0xF8, 0x3F, 0xD1, 0x82, 0x66, 0x4B, 0x42, 0xB8, 0x33, 0x81, 0xCD, 0xFF, 0x21, +0x1C, 0x60, 0xEA, 0xEE, 0x7E, 0xDA, 0x47, 0xB7, 0x00, 0xF8, 0x43, 0x87, 0x41, 0x95, 0xBA, 0x40, +0xDD, 0x97, 0x0B, 0x40, 0xB0, 0x80, 0x77, 0xC2, 0x12, 0x31, 0x56, 0x83, 0x73, 0xD9, 0xE5, 0x7F, +0x31, 0xAC, 0xEC, 0x31, 0x80, 0xB6, 0x00, 0x98, 0x21, 0xB0, 0xF4, 0xFD, 0x39, 0x4B, 0x42, 0xFC, +0xA7, 0xB5, 0xA9, 0xFF, 0x23, 0xF4, 0x7F, 0xC8, 0xDB, 0xFE, 0xEF, 0xB3, 0x4A, 0x3C, 0xCE, 0x03, +0x02, 0x40, 0x14, 0xC4, 0x54, 0x98, 0x7F, 0xF1, 0x07, 0x46, 0x41, 0xFE, 0xC5, 0x87, 0xC0, 0xB9, +0x0B, 0xF4, 0xF9, 0x17, 0x57, 0xC5, 0xFF, 0x91, 0x05, 0xAE, 0xA5, 0x42, 0x5E, 0x6E, 0x0C, 0x01, +0x07, 0x2C, 0x00, 0x39, 0x2C, 0xF8, 0x57, 0x2D, 0x88, 0x26, 0xFB, 0x57, 0x19, 0x05, 0x0F, 0xF5, +0x80, 0x0C, 0xD4, 0x5C, 0x0F, 0xC8, 0x02, 0x10, 0x8C, 0x8F, 0x1C, 0xD9, 0x46, 0x39, 0xA0, 0xF6, +0x4B, 0x06, 0xC0, 0x34, 0x3E, 0x75, 0xD7, 0x8A, 0x50, 0x96, 0x29, 0x94, 0x74, 0x04, 0x0E, 0x50, +0x7A, 0xB2, 0x1F, 0xD2, 0x6E, 0x48, 0x00, 0x77, 0x5D, 0x6A, 0x78, 0xC1, 0xAC, 0x56, 0x26, 0x43, +0x5F, 0x21, 0x1D, 0x00, 0x9B, 0x07, 0xB5, 0x9F, 0xD3, 0x7A, 0x0E, 0x92, 0xF2, 0x1B, 0xFE, 0xE7, +0xF9, 0x5F, 0xED, 0xB5, 0xBB, 0xC0, 0x03, 0x66, 0xCF, 0x6A, 0xA5, 0xB5, 0x58, 0x00, 0x52, 0xC6, +0xDD, 0x09, 0x40, 0xE2, 0xE1, 0x1E, 0xF0, 0xF3, 0x03, 0x0F, 0x80, 0xAA, 0x18, 0xA6, 0x82, 0xFC, +0xF3, 0x1F, 0xD8, 0x07, 0x60, 0x23, 0xF9, 0x06, 0x90, 0x08, 0x2B, 0x9C, 0x05, 0xB6, 0x03, 0xF0, +0xB7, 0x29, 0x04, 0x7C, 0x34, 0xFF, 0x20, 0xA0, 0xC7, 0x3F, 0x08, 0xD8, 0xC1, 0x2D, 0x16, 0x85, +0x53, 0x99, 0x7A, 0xEF, 0x55, 0xFC, 0x9F, 0x65, 0x80, 0x75, 0x93, 0xB3, 0xFE, 0x2B, 0x32, 0x5F, +0x66, 0x37, 0x87, 0x81, 0x77, 0x20, 0xD0, 0x0E, 0x35, 0x11, 0x92, 0x2D, 0x80, 0xCB, 0x09, 0xC5, +0x30, 0x58, 0x1A, 0x9F, 0xF4, 0x0B, 0xFF, 0xB4, 0xBB, 0xB1, 0x91, 0xB0, 0xED, 0x28, 0x07, 0xB4, +0x04, 0x70, 0xDD, 0x02, 0x7E, 0x5C, 0x90, 0x92, 0x92, 0xD2, 0x38, 0x53, 0x11, 0x85, 0xDB, 0xDC, +0x1A, 0x66, 0x62, 0xFE, 0xEF, 0xCE, 0xF4, 0xA7, 0xEE, 0xB5, 0xEB, 0x3C, 0xE0, 0xAD, 0xF4, 0x6F, +0x08, 0x80, 0xC3, 0x17, 0x80, 0x9C, 0x3B, 0x04, 0x74, 0xF8, 0xD7, 0x66, 0x49, 0x08, 0x00, 0x44, +0x21, 0x4C, 0xC5, 0xF9, 0x87, 0xE2, 0x57, 0x86, 0xF8, 0xE7, 0xAC, 0xFE, 0x40, 0x98, 0x40, 0x0C, +0x60, 0x2B, 0x0B, 0x98, 0x31, 0xAF, 0x32, 0x07, 0x08, 0x08, 0x01, 0xE0, 0xC6, 0x10, 0xB0, 0x11, +0xFF, 0x20, 0x20, 0xE3, 0xDF, 0x7A, 0x9C, 0xCF, 0x1F, 0x76, 0x7F, 0xD4, 0x99, 0xD7, 0x4C, 0x9A, +0xFF, 0xFD, 0xC8, 0x80, 0x3C, 0x17, 0xAA, 0x4B, 0x23, 0x74, 0x14, 0xAC, 0x10, 0xBC, 0x7C, 0x63, +0x40, 0x61, 0x0C, 0x6C, 0x48, 0xA4, 0x20, 0x5A, 0xFD, 0x5F, 0xBF, 0xFE, 0x37, 0x0B, 0x88, 0xC8, +0x47, 0x24, 0xC1, 0x3F, 0x90, 0x27, 0xBD, 0x7D, 0x2D, 0x5F, 0x12, 0xC2, 0x43, 0x80, 0xC1, 0x5C, +0x76, 0x0B, 0xD6, 0xDB, 0x0B, 0x40, 0x2C, 0xB2, 0xE3, 0x4B, 0xB3, 0x7F, 0x13, 0xE1, 0x3F, 0xFE, +0x37, 0xF5, 0x1C, 0xE3, 0x01, 0x59, 0x00, 0x17, 0x44, 0x60, 0x98, 0x7E, 0xC2, 0x3F, 0xE7, 0x25, +0x50, 0x59, 0x00, 0x42, 0xB4, 0x59, 0x12, 0x02, 0x00, 0xD1, 0xDA, 0x01, 0xF8, 0xA7, 0xAB, 0x16, +0xFE, 0x0F, 0x14, 0x72, 0x82, 0x01, 0x6C, 0x85, 0xC0, 0x68, 0x16, 0x58, 0x7B, 0xF8, 0xB7, 0x29, +0x04, 0x1C, 0xB0, 0x00, 0xB8, 0x28, 0x80, 0xAE, 0x96, 0x03, 0xB2, 0x00, 0xA4, 0x16, 0x52, 0x0E, +0x38, 0x90, 0x80, 0x69, 0x37, 0x8B, 0xBE, 0x59, 0x6D, 0xF6, 0x6B, 0x5A, 0x6C, 0x78, 0xC0, 0xDE, +0x2A, 0x49, 0xC1, 0x5F, 0x06, 0x11, 0x10, 0x08, 0x0F, 0xCD, 0xFF, 0x41, 0x27, 0x04, 0x11, 0x93, +0x8C, 0x80, 0x0C, 0x7F, 0xCD, 0x08, 0xDE, 0x90, 0x0F, 0xD6, 0x50, 0x0F, 0x08, 0xFF, 0x60, 0x9F, +0x1E, 0x10, 0x7C, 0x48, 0xF0, 0xB1, 0xCE, 0xFF, 0xE1, 0x4E, 0x01, 0x21, 0xED, 0x92, 0xF9, 0xBF, +0xAE, 0x02, 0xB2, 0x30, 0x81, 0xDD, 0xF9, 0xED, 0x62, 0x98, 0x99, 0xDB, 0x1A, 0x2C, 0x00, 0x29, +0x43, 0xCA, 0x01, 0xA5, 0x15, 0x09, 0x90, 0x46, 0xE5, 0x80, 0x3E, 0x00, 0x83, 0x6E, 0x6E, 0x08, +0xD6, 0xB8, 0xD0, 0xD3, 0xA3, 0x12, 0xC0, 0xF5, 0x03, 0xA1, 0x5F, 0x5B, 0xFE, 0x81, 0xC0, 0x7B, +0xE6, 0x00, 0xF9, 0x72, 0xCE, 0xBF, 0x8D, 0x01, 0xE0, 0x90, 0x05, 0x20, 0x82, 0xBF, 0x15, 0xE2, +0xFE, 0xA8, 0x3A, 0xFE, 0x75, 0x3D, 0xE0, 0x78, 0x3C, 0x74, 0x59, 0xF0, 0x28, 0xCE, 0xBF, 0x3E, +0x01, 0x2C, 0xDD, 0x9D, 0xAD, 0x8F, 0xBE, 0x1E, 0x70, 0x5B, 0x17, 0x52, 0x00, 0x13, 0x6D, 0x25, +0x0E, 0x75, 0x18, 0x0A, 0x9C, 0xF2, 0x30, 0xE9, 0xB1, 0xDD, 0x01, 0xBF, 0x87, 0x9F, 0xE2, 0x4F, +0x77, 0x1A, 0x7A, 0x66, 0xA3, 0x62, 0xEE, 0x00, 0x9D, 0x59, 0x40, 0x84, 0x34, 0xFD, 0x91, 0x17, +0x40, 0xD3, 0x72, 0x16, 0xAA, 0xFF, 0xDB, 0x16, 0xFB, 0x77, 0x5F, 0x0E, 0xDC, 0xD2, 0xC1, 0x8C, +0x82, 0xE3, 0x00, 0x8C, 0xFB, 0x3F, 0x2D, 0x80, 0xF6, 0x5F, 0x02, 0x24, 0x80, 0xD7, 0x43, 0x40, +0x00, 0x38, 0x5C, 0x50, 0x52, 0x9A, 0x1E, 0x34, 0x13, 0xD5, 0x30, 0x0F, 0xF1, 0x7B, 0x7D, 0xE6, +0xF7, 0x7B, 0xE9, 0xEC, 0x18, 0x2B, 0x98, 0xBA, 0x60, 0x18, 0xDB, 0x22, 0xE2, 0xE6, 0xCF, 0x6C, +0x88, 0x53, 0xBB, 0xEC, 0x65, 0x20, 0xD6, 0xB6, 0x28, 0x6E, 0x10, 0x2C, 0x5B, 0xF0, 0x0F, 0xA9, +0x07, 0xD4, 0x3B, 0x60, 0xF9, 0xF1, 0x4A, 0x3D, 0x60, 0x4C, 0xE3, 0x1D, 0x5D, 0x00, 0x12, 0x7D, +0xA3, 0x4E, 0xC5, 0xFD, 0xE0, 0xF9, 0x34, 0x0A, 0x3F, 0xD8, 0x79, 0xC0, 0x9E, 0x7F, 0x7D, 0x62, +0x35, 0x9D, 0xD8, 0xDA, 0x32, 0xFE, 0x40, 0x76, 0x3A, 0xFE, 0xF5, 0x0D, 0xA0, 0xEC, 0xC4, 0xD4, +0xBD, 0xEF, 0xEC, 0x5E, 0xAF, 0x1B, 0x76, 0x24, 0x84, 0xB5, 0x1C, 0x90, 0x04, 0xB0, 0xF4, 0xEC, +0xB3, 0x60, 0x49, 0x88, 0xFD, 0x50, 0x8B, 0xEE, 0x27, 0xB3, 0x33, 0xED, 0x39, 0xED, 0x3F, 0x05, +0x73, 0xEA, 0x05, 0xF3, 0x80, 0x11, 0x8D, 0x53, 0xEC, 0x84, 0x7F, 0x5D, 0x92, 0x00, 0xF6, 0x43, +0x09, 0x08, 0xE8, 0x5A, 0x8E, 0x82, 0x5F, 0xA3, 0x7B, 0x01, 0xA8, 0x5C, 0x43, 0xF1, 0xB2, 0x16, +0x5F, 0xF1, 0x2B, 0x87, 0x01, 0xD0, 0xF8, 0xC6, 0x89, 0x72, 0x0F, 0x2C, 0xDA, 0xD9, 0xD0, 0xF1, +0xAD, 0xA7, 0xC4, 0xC8, 0x6C, 0xA4, 0xCB, 0x09, 0x61, 0x9D, 0xF9, 0xBF, 0x38, 0x01, 0xDB, 0x7B, +0xC0, 0x14, 0x31, 0x0D, 0x5D, 0x00, 0xB7, 0x1B, 0xD0, 0xA1, 0x7C, 0x54, 0xB0, 0xDC, 0xFF, 0xA3, +0x68, 0xC2, 0x3C, 0x3D, 0x9A, 0xF7, 0xFB, 0xAD, 0xD3, 0xF4, 0x4E, 0x89, 0x6A, 0x1C, 0xF5, 0x2A, +0x66, 0x00, 0x99, 0xFB, 0x33, 0x13, 0x94, 0x1B, 0x41, 0x21, 0x80, 0xDD, 0x01, 0xFF, 0xCD, 0xA5, +0x39, 0x3E, 0x8C, 0x9F, 0x46, 0xFF, 0x07, 0x7A, 0x6B, 0x98, 0x8E, 0x75, 0x5E, 0xD3, 0x51, 0x70, +0x9F, 0xFB, 0xB0, 0xC1, 0x2E, 0xBB, 0x6C, 0x2E, 0x50, 0xEF, 0x8F, 0x6A, 0x48, 0x65, 0x5F, 0x91, +0xD4, 0xBF, 0x14, 0x43, 0x5E, 0x3D, 0xE6, 0x07, 0xB5, 0x72, 0x40, 0xC1, 0x7B, 0x24, 0x46, 0xDD, +0x04, 0x60, 0x48, 0x43, 0xFE, 0xB7, 0x1A, 0xEF, 0xBF, 0x4A, 0x74, 0xE3, 0x55, 0x60, 0xC7, 0x77, +0x63, 0xAE, 0xFE, 0x2F, 0xA0, 0xC1, 0x04, 0x7C, 0x7D, 0xDB, 0x01, 0xFE, 0xF4, 0x63, 0x35, 0xBE, +0xB9, 0x75, 0x92, 0x75, 0xFF, 0x53, 0x5C, 0x0F, 0x8A, 0x5F, 0x7F, 0xBA, 0xFE, 0x35, 0x75, 0xE9, +0x20, 0x35, 0xBE, 0x26, 0x87, 0x7F, 0xEA, 0xB1, 0xB6, 0xEB, 0xA4, 0xAF, 0x9C, 0x26, 0x57, 0x89, +0x7E, 0x96, 0xE3, 0x48, 0xFB, 0x79, 0x80, 0x5E, 0xBE, 0xFC, 0x39, 0x1A, 0x6B, 0x19, 0xDB, 0xFE, +0x10, 0xD7, 0x41, 0x5C, 0x72, 0xD7, 0x17, 0x57, 0xBB, 0x29, 0x0E, 0xCF, 0xF7, 0xE7, 0x2B, 0x75, +0xDA, 0xEF, 0xCF, 0x5F, 0xED, 0xA7, 0xF7, 0x55, 0x50, 0x7B, 0xA3, 0xD9, 0x6C, 0x2F, 0xD6, 0x66, +0x56, 0xF3, 0x87, 0xF5, 0xEB, 0x90, 0xD7, 0x9F, 0xD8, 0x3E, 0x69, 0xB2, 0xBC, 0xEC, 0xB4, 0xD0, +0x1E, 0x2D, 0x38, 0xD0, 0x6E, 0x52, 0x26, 0x80, 0x2B, 0x66, 0x30, 0x5D, 0xF8, 0xE1, 0x46, 0x2A, +0x5E, 0x44, 0xEF, 0xA5, 0xB1, 0xD3, 0x9E, 0x2E, 0xE9, 0xCA, 0x0A, 0xAB, 0x57, 0x3B, 0x40, 0x69, +0x97, 0x93, 0xC5, 0x65, 0x48, 0xCB, 0x94, 0x00, 0x89, 0xE9, 0x42, 0x9E, 0xD4, 0x51, 0xF0, 0x69, +0x8D, 0xFF, 0xAA, 0x52, 0x01, 0x4C, 0x50, 0xFB, 0xE7, 0x9F, 0xC9, 0x6B, 0x66, 0x57, 0x5E, 0x37, +0x0E, 0x01, 0x77, 0x87, 0x10, 0x30, 0xD3, 0x8B, 0x6F, 0xAA, 0xFA, 0xF2, 0x1B, 0x57, 0x3F, 0x49, +0x5B, 0x97, 0x7E, 0x8A, 0xEB, 0x5D, 0x3C, 0xAE, 0xDF, 0xBE, 0xBB, 0x7E, 0xE7, 0xB4, 0x6E, 0xFB, +0xFA, 0xAB, 0xAF, 0xBF, 0xBE, 0xF6, 0xDB, 0x77, 0xE9, 0xB2, 0xB3, 0xB3, 0x2F, 0xBE, 0x3A, 0xF3, +0xF4, 0xDD, 0xD9, 0x59, 0xBA, 0xE8, 0xD3, 0x2F, 0xBE, 0x38, 0x0B, 0xE9, 0x8B, 0xB3, 0x30, 0xA9, +0x12, 0xD5, 0x3E, 0x8F, 0xB5, 0xD4, 0x7D, 0x7E, 0x10, 0x8C, 0xC3, 0xF8, 0x8B, 0x8A, 0x01, 0xB0, +0xA3, 0x74, 0x6F, 0xAC, 0xF1, 0x7E, 0x4C, 0xF3, 0xFD, 0xC4, 0xAA, 0xA0, 0xD2, 0xDB, 0x75, 0x16, +0x8C, 0xD1, 0xF6, 0xC5, 0x3D, 0x91, 0x64, 0x47, 0xF6, 0xB5, 0xD1, 0xF6, 0x65, 0x5C, 0xBF, 0x24, +0x36, 0xFD, 0xED, 0xE0, 0x4F, 0xAF, 0xF8, 0xE5, 0xEA, 0x43, 0x5C, 0x57, 0xC7, 0xC8, 0x79, 0xDC, +0xA3, 0xCB, 0xB0, 0xEC, 0x5F, 0xE8, 0xC7, 0x28, 0xAE, 0xF8, 0xAF, 0x6A, 0x6F, 0x3C, 0xDF, 0x8F, +0x49, 0x00, 0xF8, 0x99, 0xF2, 0x2D, 0xC5, 0x0A, 0xA5, 0xAB, 0x06, 0x58, 0xC0, 0xC3, 0xFC, 0x55, +0x6E, 0x00, 0xAC, 0xE9, 0xCB, 0xAE, 0xCF, 0x23, 0xC7, 0x14, 0x17, 0x96, 0x1B, 0x5A, 0x13, 0x00, +0x41, 0xE0, 0x75, 0xDA, 0xDC, 0xFE, 0xDD, 0x5B, 0xA1, 0xDB, 0xD7, 0x5E, 0x7B, 0x2B, 0x17, 0x09, +0x01, 0xBF, 0x93, 0xFE, 0xBB, 0x95, 0x07, 0xD2, 0x7F, 0x05, 0xD4, 0x7C, 0xB0, 0xC5, 0xF4, 0x73, +0x02, 0xE5, 0x00, 0x00, 0xC6, 0x11, 0x18, 0x07, 0x60, 0x78, 0x05, 0x48, 0x72, 0x77, 0x9F, 0x85, +0x94, 0x26, 0x01, 0xB7, 0xCE, 0xF7, 0x83, 0x08, 0x1C, 0x8F, 0x83, 0x04, 0x1C, 0x0D, 0xD3, 0x76, +0x29, 0x83, 0xA0, 0x1E, 0xF5, 0x9A, 0x4C, 0x26, 0x97, 0x41, 0xAC, 0x1C, 0x1D, 0x1D, 0x29, 0xFE, +0xFE, 0x76, 0x22, 0xE9, 0xEA, 0xEA, 0x4A, 0x2C, 0xA0, 0xAF, 0x74, 0x55, 0xBA, 0xF6, 0xCE, 0x03, +0x54, 0x1F, 0xF7, 0x68, 0x19, 0x26, 0xE0, 0x64, 0xB2, 0x1D, 0xD4, 0x08, 0x35, 0x24, 0xE0, 0x78, +0x1C, 0x25, 0xE0, 0x7C, 0x4B, 0x3F, 0x04, 0xD3, 0x8A, 0x0B, 0x56, 0x29, 0xBD, 0x02, 0x0F, 0x82, +0x0C, 0xFC, 0xFC, 0x2E, 0x00, 0x7F, 0x2A, 0x22, 0xA2, 0x1F, 0xB9, 0x7E, 0x38, 0xD9, 0xFC, 0x10, +0xFC, 0x0D, 0x22, 0xE0, 0xDB, 0xB7, 0x3F, 0x49, 0xBC, 0xBB, 0xDB, 0xEB, 0x4E, 0xE3, 0x3A, 0x9D, +0xC8, 0xEE, 0xED, 0xD7, 0x62, 0x02, 0x57, 0xB5, 0xEB, 0x77, 0x72, 0xD1, 0x57, 0xA9, 0x7D, 0x95, +0x9A, 0x76, 0xF5, 0x03, 0xD1, 0x59, 0x6A, 0x03, 0x08, 0x18, 0x8D, 0xD7, 0x5F, 0x84, 0xC7, 0xB5, +0xA9, 0x05, 0x04, 0x01, 0x83, 0x11, 0xE6, 0xDF, 0x41, 0x88, 0x80, 0x32, 0x05, 0xB8, 0xB5, 0x35, +0x0F, 0xF2, 0x2F, 0x29, 0x68, 0x2A, 0x06, 0x0A, 0x8B, 0x43, 0x94, 0x0E, 0x70, 0x92, 0x14, 0x1C, +0x55, 0x26, 0x00, 0x2E, 0x5D, 0x07, 0xA8, 0xF4, 0xBA, 0x12, 0x7D, 0xF8, 0xE3, 0x46, 0x00, 0xE7, +0x35, 0xBD, 0x36, 0x7F, 0x80, 0xDA, 0xE3, 0xEA, 0x4F, 0x10, 0xE4, 0x5F, 0x52, 0xCC, 0x00, 0x8E, +0x06, 0x2A, 0xCC, 0xBF, 0x71, 0x98, 0x7F, 0x5A, 0x04, 0x18, 0xD0, 0xA1, 0xE8, 0x60, 0xAD, 0x00, +0x2C, 0x6D, 0x1D, 0x57, 0xB7, 0x26, 0x20, 0x11, 0x97, 0x42, 0xCE, 0x10, 0x77, 0xEB, 0xB8, 0x3B, +0xB8, 0xEE, 0x81, 0x78, 0xFD, 0x56, 0x4F, 0xBE, 0x4E, 0x2D, 0x45, 0x72, 0x7A, 0xD7, 0xF7, 0xF5, +0x5F, 0xA7, 0x2E, 0xED, 0xC4, 0x01, 0x7E, 0x15, 0xD0, 0x77, 0xDA, 0x35, 0x27, 0xE0, 0xEB, 0xD4, +0xCE, 0x42, 0xF4, 0x93, 0x18, 0x44, 0xC0, 0x36, 0x00, 0x84, 0x7F, 0x10, 0xD0, 0xF1, 0x7F, 0x52, +0xD7, 0x25, 0x1E, 0x30, 0xA0, 0xB1, 0xAA, 0x25, 0xFF, 0x90, 0xEF, 0x00, 0x47, 0xDB, 0x13, 0x55, +0xA2, 0x5B, 0xC4, 0x00, 0x26, 0x02, 0x2D, 0x43, 0x0E, 0x30, 0x21, 0x0D, 0x0F, 0x58, 0xED, 0x53, +0xFB, 0x47, 0xF8, 0x27, 0x8A, 0x38, 0xC0, 0x23, 0xD5, 0x32, 0xCA, 0xBF, 0x90, 0x07, 0xEC, 0x4A, +0x05, 0x03, 0x1D, 0x0A, 0xF1, 0x4F, 0x15, 0xE4, 0x9F, 0x12, 0x70, 0x37, 0xC4, 0xBF, 0xA8, 0x05, +0xFC, 0xDC, 0x05, 0x60, 0x9D, 0x7E, 0xA5, 0xB8, 0x7A, 0x2D, 0x00, 0x94, 0x16, 0x97, 0xF2, 0xCE, +0x8C, 0x5F, 0x0F, 0x3E, 0x3D, 0xE2, 0x4B, 0xA9, 0x4F, 0x0C, 0xEC, 0x50, 0xF7, 0xD6, 0xAC, 0x60, +0xD9, 0xA7, 0x7D, 0xB2, 0x7F, 0xE9, 0x58, 0x86, 0xB7, 0xAE, 0xCE, 0x04, 0x81, 0xC3, 0x3C, 0x60, +0xC8, 0xFE, 0xA5, 0x26, 0xC3, 0xE5, 0x1F, 0x3E, 0x75, 0x5B, 0x17, 0x21, 0xFA, 0xB5, 0xF7, 0x80, +0xE9, 0x75, 0xD7, 0x2B, 0xCA, 0xBF, 0x90, 0x07, 0x1C, 0xF7, 0x6A, 0xC9, 0x3F, 0xE4, 0x3B, 0xC0, +0x49, 0xAF, 0x88, 0xFF, 0xEB, 0x0C, 0xD8, 0x91, 0x99, 0xB4, 0xDA, 0xA6, 0xF8, 0xFB, 0x5D, 0xA9, +0xD6, 0xA3, 0xEE, 0x86, 0x7D, 0x76, 0x2C, 0xBD, 0x5C, 0x28, 0xD2, 0xBF, 0x4B, 0x57, 0x6C, 0x49, +0xFA, 0xED, 0x13, 0x05, 0x83, 0xFC, 0x93, 0xAE, 0xA5, 0xFF, 0x43, 0x21, 0xFE, 0xA9, 0x62, 0xFC, +0x53, 0xF9, 0x1E, 0xF0, 0xD0, 0xD4, 0x18, 0x80, 0xC0, 0xAF, 0xB5, 0x7C, 0xF2, 0xF5, 0x31, 0x70, +0x10, 0x0C, 0xF6, 0x94, 0x79, 0xD7, 0x76, 0xA4, 0xF1, 0xD3, 0xBB, 0x44, 0x36, 0xC1, 0x20, 0x16, +0xB0, 0x62, 0x02, 0x53, 0xA7, 0xF6, 0x4F, 0x4E, 0x7D, 0xFF, 0x27, 0x4D, 0xB7, 0x86, 0x00, 0x7C, +0x2D, 0xA1, 0x26, 0x50, 0xAC, 0x9D, 0xD3, 0x86, 0x12, 0xB0, 0x31, 0x00, 0x3F, 0xCA, 0xAD, 0x83, +0x96, 0xFF, 0xD0, 0x3B, 0xCD, 0x7D, 0xFE, 0x99, 0x1A, 0xF2, 0x0F, 0xB9, 0x0E, 0x70, 0x62, 0xF2, +0x09, 0x28, 0xEC, 0x53, 0x2D, 0xCD, 0xA4, 0x15, 0x9B, 0x79, 0xB7, 0x0E, 0x7F, 0x82, 0xC1, 0x0F, +0x7F, 0x24, 0xCA, 0x81, 0x3E, 0x8E, 0xF5, 0x20, 0x19, 0xC0, 0x8F, 0x57, 0x0A, 0x02, 0x71, 0x7F, +0xEC, 0xF9, 0xE2, 0x51, 0x92, 0x5A, 0xD0, 0xA3, 0x00, 0xFF, 0x4C, 0x17, 0x81, 0x09, 0xC0, 0xA8, +0xFF, 0x43, 0x3E, 0xFF, 0xC2, 0x04, 0x34, 0xFE, 0xC9, 0xAD, 0x60, 0x7C, 0xFE, 0x45, 0x3D, 0xE0, +0xE7, 0x25, 0x00, 0x5D, 0xFE, 0xF9, 0x7A, 0x56, 0xA3, 0xE0, 0xCE, 0xE8, 0x49, 0xA7, 0x81, 0xF7, +0xB3, 0x9D, 0x80, 0x52, 0x18, 0x57, 0x31, 0x81, 0x46, 0xBF, 0xAE, 0xF7, 0x2D, 0xE0, 0x59, 0x0A, +0x69, 0xCD, 0x09, 0xD8, 0x9B, 0x40, 0x7F, 0x04, 0x4C, 0x04, 0xF9, 0xD7, 0x84, 0x80, 0xF8, 0x3F, +0xB4, 0xDA, 0xFF, 0xC9, 0x04, 0x60, 0xAF, 0x57, 0x73, 0x8F, 0x7F, 0x68, 0x18, 0x00, 0xA7, 0xC1, +0x6E, 0xB5, 0x03, 0x9C, 0x20, 0x2F, 0x13, 0x92, 0xB8, 0xA3, 0xF0, 0x5B, 0x0A, 0x86, 0x92, 0xEE, +0x83, 0x94, 0x19, 0x40, 0xA4, 0xA8, 0x83, 0x78, 0xDA, 0xD8, 0xFE, 0xB9, 0xD1, 0x8B, 0x18, 0x04, +0x63, 0x01, 0xCB, 0x7D, 0xFA, 0xE6, 0x29, 0x3A, 0x45, 0xF8, 0x67, 0x1E, 0xD0, 0x33, 0x80, 0xD3, +0xF6, 0x16, 0x70, 0x6F, 0x8C, 0x3C, 0xFE, 0x01, 0x40, 0xB9, 0x19, 0x6A, 0x5D, 0x79, 0xFD, 0x95, +0xC7, 0x3F, 0xDF, 0x01, 0x56, 0x15, 0xCA, 0xED, 0xB6, 0x07, 0xE0, 0x20, 0x02, 0xF6, 0x49, 0x0F, +0x9B, 0x06, 0xB4, 0xD6, 0x99, 0x40, 0xD1, 0xB5, 0xB6, 0x74, 0x5A, 0x77, 0x80, 0xFA, 0x27, 0xB7, +0x18, 0x78, 0x1D, 0x99, 0x00, 0x94, 0xD6, 0x6C, 0x10, 0x8C, 0x03, 0xD4, 0xF6, 0xE9, 0x0F, 0xAB, +0xDA, 0x0F, 0x83, 0x00, 0x68, 0x5B, 0x33, 0x02, 0xDE, 0x29, 0xF4, 0x73, 0xF9, 0x07, 0x01, 0x77, +0x1C, 0xFE, 0xA1, 0x86, 0x06, 0x10, 0xAD, 0x74, 0x80, 0x13, 0xE4, 0x79, 0x40, 0x83, 0x5F, 0x52, +0xEA, 0x95, 0x48, 0x39, 0xA4, 0x38, 0xED, 0xC7, 0xBF, 0xE6, 0x01, 0xFF, 0x51, 0xF6, 0x81, 0xC0, +0x6C, 0x77, 0x75, 0x5B, 0xC6, 0xD1, 0xE2, 0x91, 0xA5, 0x97, 0x6F, 0xAB, 0x0C, 0x56, 0x1F, 0xE8, +0x02, 0x10, 0xB5, 0xF3, 0x7F, 0x33, 0x69, 0xDA, 0x8D, 0x5C, 0xFE, 0x21, 0x97, 0x7F, 0x3E, 0x01, +0xE1, 0x1F, 0x1E, 0x30, 0xC6, 0x3F, 0xE2, 0x45, 0x84, 0x7F, 0x0E, 0xF5, 0x7E, 0x7C, 0x06, 0x16, +0xF0, 0xAD, 0x74, 0x18, 0x40, 0xB1, 0x7D, 0x24, 0x41, 0x52, 0x2F, 0x50, 0x34, 0x5F, 0x28, 0x0C, +0x0C, 0x3A, 0xC0, 0x74, 0x1E, 0x99, 0x00, 0x1C, 0x6E, 0x01, 0x1D, 0xFE, 0x99, 0x03, 0x94, 0x7D, +0x6D, 0xE8, 0x2B, 0xF8, 0x13, 0xEE, 0x11, 0x51, 0xFE, 0xB5, 0xF3, 0x80, 0x87, 0x51, 0x02, 0xF6, +0xFC, 0x43, 0x1E, 0xFF, 0xD0, 0x5E, 0x80, 0x7F, 0xC3, 0x3D, 0xE0, 0xAA, 0x3A, 0xC0, 0xC9, 0x65, +0x94, 0x80, 0x32, 0xF0, 0xC4, 0x01, 0x2E, 0xEF, 0xB3, 0x80, 0x76, 0x7A, 0x95, 0x4B, 0xF2, 0x1C, +0xF9, 0xBC, 0x1F, 0x66, 0xF0, 0x5F, 0x2E, 0x53, 0x68, 0xE6, 0x06, 0x90, 0x47, 0x95, 0xBE, 0x43, +0xEF, 0xF2, 0xB8, 0xFF, 0x11, 0x82, 0xF8, 0x93, 0x93, 0x16, 0x05, 0x80, 0x53, 0xC1, 0xDE, 0x6D, +0xAD, 0x2C, 0x00, 0xCC, 0xE5, 0xF0, 0x0F, 0x41, 0xC0, 0x0A, 0xFF, 0x90, 0xC3, 0x3F, 0xD7, 0x01, +0x3E, 0x58, 0x3F, 0x3E, 0x39, 0x01, 0xFF, 0x63, 0xEE, 0x0C, 0x5A, 0x23, 0x29, 0xA2, 0x38, 0xEE, +0x41, 0x6F, 0x12, 0xB2, 0x84, 0x98, 0xCC, 0x41, 0x12, 0x58, 0x30, 0x83, 0xC2, 0xCA, 0x2E, 0x12, +0xBD, 0x0E, 0xE8, 0x6D, 0x20, 0x01, 0x8F, 0x8E, 0x7B, 0x13, 0x8C, 0x48, 0xD6, 0xAF, 0x90, 0x53, +0x08, 0x7A, 0x18, 0x08, 0x7B, 0xD9, 0x80, 0x0C, 0x18, 0x44, 0xD8, 0x8B, 0xE2, 0x7E, 0x40, 0xEB, +0xBD, 0xEE, 0x97, 0xDF, 0xD6, 0x54, 0xAA, 0xDF, 0xEB, 0xA4, 0x34, 0xFE, 0x5F, 0x75, 0x75, 0xF5, +0x6C, 0xCC, 0x64, 0xD7, 0xD9, 0xDF, 0xFE, 0xAB, 0xDE, 0xAB, 0xEE, 0xC4, 0x3C, 0xA2, 0xB7, 0x7D, +0x76, 0xDD, 0x25, 0x80, 0xED, 0xD0, 0x49, 0xF1, 0x80, 0x03, 0x84, 0x7E, 0xD2, 0xA7, 0x16, 0x58, +0x00, 0x54, 0xFC, 0x8D, 0x4A, 0x05, 0x0F, 0xF3, 0x0F, 0x07, 0x38, 0xE4, 0x01, 0x8D, 0x7F, 0x44, +0x98, 0x7F, 0x6D, 0x08, 0x58, 0x6E, 0xF6, 0x70, 0xFC, 0x1F, 0x3A, 0xF0, 0xF9, 0xC7, 0x3E, 0x8F, +0x20, 0xFF, 0xB8, 0x0E, 0xA8, 0xEE, 0x00, 0xA7, 0xEB, 0x1A, 0xF0, 0x7F, 0xA7, 0xEA, 0xC0, 0xD2, +0xD1, 0xF7, 0x2C, 0xFA, 0xAD, 0x01, 0x4B, 0x50, 0x96, 0xE9, 0xCD, 0x5F, 0x39, 0xF7, 0xAC, 0x27, +0x01, 0x8C, 0x4A, 0x03, 0x68, 0xDD, 0xA5, 0xB1, 0xF7, 0xB8, 0x97, 0x0B, 0x40, 0xB4, 0x39, 0xE0, +0xFF, 0x0E, 0xC7, 0xE5, 0x7F, 0xB5, 0xD3, 0xE6, 0xFB, 0x3F, 0x9F, 0x80, 0x67, 0x1B, 0x88, 0x54, +0xB0, 0xC3, 0x3F, 0x97, 0x80, 0xDB, 0xBE, 0x03, 0x0C, 0xE8, 0xA3, 0x3A, 0xF8, 0x1E, 0x9C, 0x80, +0x49, 0x1D, 0xDC, 0x24, 0xBA, 0xB3, 0x36, 0x19, 0x4A, 0xCF, 0x21, 0x33, 0xE5, 0x7A, 0x22, 0x18, +0x03, 0x98, 0x3A, 0x39, 0x57, 0xA4, 0xD6, 0x0F, 0x17, 0xD8, 0x6A, 0x16, 0x7C, 0x94, 0x39, 0xC0, +0xBA, 0x07, 0x64, 0xFE, 0x4B, 0x38, 0xFC, 0x6B, 0xEC, 0x01, 0x67, 0xA5, 0x86, 0x0A, 0x00, 0x73, +0x9D, 0x79, 0x00, 0x44, 0x0E, 0xFF, 0x1A, 0x78, 0x40, 0x91, 0x8D, 0xA6, 0x61, 0x00, 0x5E, 0xF6, +0xE0, 0x91, 0x44, 0x70, 0x3F, 0xC2, 0x01, 0x4A, 0x40, 0xAC, 0xAB, 0x12, 0x6A, 0x69, 0x12, 0xFC, +0x37, 0xCB, 0x7E, 0xD2, 0x17, 0xF3, 0x5F, 0x12, 0x21, 0xE4, 0x53, 0x80, 0x6B, 0xD2, 0x65, 0xEF, +0x3F, 0x39, 0x8E, 0x83, 0xFC, 0x93, 0x82, 0xE8, 0xFB, 0xFA, 0x3F, 0xB0, 0x97, 0x0E, 0x93, 0x9B, +0x00, 0x41, 0x4E, 0x02, 0x38, 0x23, 0xE0, 0xCE, 0x70, 0x02, 0x04, 0x55, 0xF9, 0xE7, 0x3B, 0x40, +0x47, 0xAD, 0xB3, 0xC1, 0xDF, 0x37, 0x45, 0xE0, 0x89, 0x9D, 0x56, 0x7D, 0xE1, 0x1F, 0xA5, 0x80, +0x0A, 0x3D, 0x43, 0xA0, 0x4C, 0x7F, 0x95, 0x88, 0xD7, 0xAB, 0xDB, 0x1D, 0xA0, 0xD2, 0x4F, 0xE1, +0x27, 0x67, 0x6D, 0x03, 0xFE, 0x2F, 0x4B, 0x03, 0x37, 0x21, 0xE0, 0x51, 0xEE, 0x00, 0x87, 0x3C, +0xE0, 0x18, 0x00, 0x6E, 0xB7, 0xF7, 0x80, 0x33, 0x84, 0x1C, 0xFE, 0xF9, 0x04, 0xAC, 0xEC, 0xF5, +0xAD, 0xF0, 0xAF, 0x8D, 0x07, 0xC4, 0x01, 0x5E, 0xC0, 0x3F, 0x37, 0x13, 0xD2, 0xB9, 0xBE, 0xB7, +0x21, 0x94, 0xDA, 0xE9, 0x0D, 0x9C, 0x20, 0x16, 0xFE, 0x2F, 0x53, 0x96, 0xFF, 0x55, 0x08, 0xA6, +0xEE, 0x67, 0xE1, 0x5F, 0x89, 0x40, 0x8C, 0x9F, 0xC8, 0x0C, 0x60, 0x47, 0x60, 0x85, 0x6F, 0x7F, +0x24, 0x79, 0xFC, 0x43, 0x03, 0xFE, 0x4F, 0xE5, 0xFB, 0xBF, 0xF9, 0x2D, 0x30, 0x74, 0xF9, 0x87, +0x16, 0x21, 0xFE, 0xD5, 0x0B, 0xA2, 0x67, 0x08, 0x55, 0xF8, 0xE7, 0x3B, 0xC0, 0xF1, 0x6A, 0x8F, +0x40, 0xA7, 0x1C, 0xD0, 0x87, 0xA0, 0x15, 0xFE, 0x51, 0x16, 0xA8, 0x76, 0xCF, 0xE6, 0xBE, 0x9D, +0x05, 0xD4, 0xF3, 0xAA, 0x70, 0x80, 0x29, 0xB0, 0x7D, 0xDD, 0x54, 0x58, 0x5B, 0xC5, 0x03, 0xBE, +0x28, 0x2C, 0xA0, 0xB4, 0xFB, 0x02, 0xF0, 0xA8, 0x70, 0x80, 0x12, 0x9E, 0xFB, 0x23, 0x1C, 0xFE, +0x35, 0xF4, 0x80, 0xB3, 0x42, 0x95, 0x82, 0xE8, 0x1D, 0xF8, 0x97, 0x69, 0xE1, 0xF1, 0x0F, 0xF9, +0xFC, 0x43, 0xE1, 0xC9, 0xDB, 0x45, 0xE1, 0x00, 0x6B, 0xFC, 0xDB, 0xAA, 0x16, 0x00, 0x9E, 0x5E, +0x1E, 0x33, 0x0B, 0x7D, 0xAE, 0x63, 0x0C, 0xA0, 0x0E, 0x44, 0x57, 0x08, 0xB1, 0x25, 0x44, 0x3B, +0x53, 0xE5, 0x6B, 0x31, 0x7E, 0x58, 0x4B, 0x79, 0xD7, 0x53, 0x79, 0x5B, 0xDF, 0x03, 0x4E, 0x4B, +0xA5, 0xD7, 0xEA, 0x05, 0x80, 0x7E, 0x12, 0x18, 0x06, 0x1A, 0xF9, 0x4C, 0x1E, 0xFF, 0x90, 0xC7, +0x3F, 0x84, 0x07, 0xAC, 0xF1, 0x0F, 0x55, 0xF8, 0xE7, 0x39, 0xC0, 0xF1, 0xFA, 0x8E, 0x9E, 0xF3, +0xC3, 0xCC, 0x82, 0x4F, 0x18, 0x74, 0x5B, 0x3F, 0xA4, 0xE7, 0xA2, 0xA7, 0x9F, 0x2D, 0x02, 0x5A, +0x55, 0xCC, 0xFA, 0xEA, 0x1F, 0x13, 0xE0, 0xDE, 0x01, 0x4A, 0xC7, 0x42, 0x60, 0xCD, 0xFF, 0x61, +0x01, 0x1B, 0x6C, 0x09, 0xC1, 0x00, 0x76, 0x26, 0xB0, 0xE6, 0x01, 0xAB, 0xE1, 0xF2, 0x8F, 0x83, +0xB2, 0x28, 0x37, 0x5C, 0xFE, 0x41, 0xC0, 0xD2, 0xFF, 0xF1, 0x29, 0xE6, 0xA8, 0x10, 0x70, 0x52, +0x51, 0x98, 0x7F, 0xBC, 0x1E, 0xF8, 0xDB, 0x5B, 0x38, 0x40, 0xF8, 0x57, 0x10, 0xB0, 0xE0, 0xCA, +0x71, 0x2F, 0x61, 0x0E, 0x06, 0xAC, 0x27, 0xA0, 0xD1, 0x0A, 0x03, 0x88, 0x50, 0x36, 0xF5, 0x95, +0xF6, 0x33, 0x05, 0x30, 0x88, 0x59, 0xB0, 0x04, 0xDF, 0x58, 0xDF, 0x5C, 0xDF, 0x97, 0xB7, 0x57, +0x2A, 0x7B, 0xFC, 0x43, 0xF7, 0xF0, 0x7F, 0x68, 0x6E, 0x67, 0x6B, 0x1E, 0xFF, 0x50, 0x95, 0x7F, +0x7C, 0x54, 0xEA, 0x1E, 0x70, 0x56, 0xD3, 0x08, 0xFE, 0xE1, 0x00, 0x7D, 0xFD, 0xFB, 0x15, 0xD1, +0xF7, 0xDA, 0x12, 0x72, 0xD2, 0x63, 0x90, 0xED, 0x20, 0xEC, 0x08, 0x91, 0xA6, 0x63, 0x1C, 0xA0, +0xBC, 0xA6, 0xC0, 0xC3, 0xFE, 0xD9, 0xFC, 0x17, 0x07, 0x98, 0x46, 0xA9, 0x97, 0xAF, 0xA9, 0x17, +0x00, 0xE2, 0x02, 0xEF, 0xB0, 0x25, 0xA4, 0xC6, 0x3F, 0x4C, 0x60, 0xC5, 0x03, 0xEE, 0x8D, 0x21, +0xE0, 0x76, 0xE5, 0xF0, 0xB9, 0x47, 0xB8, 0x00, 0x44, 0x85, 0xFF, 0xAB, 0x6A, 0x11, 0xE5, 0x5F, +0x79, 0x63, 0x04, 0x1F, 0x70, 0xF5, 0x0E, 0xAD, 0x3B, 0xC0, 0x2A, 0x28, 0xA6, 0xCB, 0xCB, 0x5A, +0x01, 0xA0, 0x1E, 0x4A, 0x22, 0xB5, 0x83, 0x6C, 0x8A, 0xEB, 0x49, 0x05, 0xFE, 0x4A, 0x31, 0xFB, +0xED, 0xCE, 0xF0, 0xAF, 0xD0, 0xF3, 0x75, 0x07, 0x08, 0xF0, 0x32, 0x03, 0x98, 0x14, 0xE6, 0xDF, +0xB2, 0x5C, 0x07, 0xDC, 0x8C, 0xCA, 0x6A, 0x5F, 0x60, 0x1F, 0xF2, 0xF8, 0x87, 0x2A, 0xFC, 0x8B, +0x78, 0xC0, 0x59, 0x5D, 0x05, 0xFF, 0x9A, 0x39, 0xC0, 0x8F, 0x1A, 0x24, 0x81, 0x1B, 0x5A, 0x40, +0xD8, 0xC7, 0x10, 0x0B, 0xA8, 0x20, 0x54, 0xD6, 0xA9, 0x07, 0xEC, 0x1D, 0xA0, 0xC8, 0x26, 0xC3, +0x6F, 0x6D, 0x0A, 0xD6, 0x50, 0xEC, 0xF5, 0x1C, 0xB4, 0x49, 0x30, 0x0E, 0x10, 0x89, 0xD1, 0x2B, +0x5D, 0xA0, 0x51, 0xB0, 0x19, 0x00, 0xE1, 0x5F, 0xE1, 0x01, 0x89, 0xBB, 0x03, 0xF0, 0x5E, 0xDB, +0x82, 0x07, 0x3E, 0x7D, 0x3B, 0x85, 0xFF, 0xAB, 0xCA, 0xE5, 0x1F, 0x1A, 0x81, 0xBF, 0x43, 0xDF, +0xFF, 0x59, 0x9F, 0x3B, 0x40, 0x65, 0x42, 0x45, 0xD5, 0x02, 0x40, 0x33, 0x62, 0xDA, 0x29, 0x96, +0x58, 0xA9, 0xD3, 0x1E, 0x88, 0x21, 0xB6, 0x84, 0x50, 0x0B, 0xC3, 0x06, 0x90, 0x52, 0xE7, 0x29, +0xF2, 0x0C, 0x88, 0xBD, 0x6B, 0xD2, 0xA5, 0xE4, 0xA2, 0x7B, 0x04, 0xAA, 0x25, 0xAD, 0xF0, 0xCF, +0xF5, 0x80, 0xF0, 0xEF, 0x30, 0xBE, 0xFF, 0x03, 0x31, 0x1B, 0x2E, 0xF8, 0x17, 0x25, 0xE0, 0xAD, +0xE4, 0xB3, 0x2D, 0x21, 0x3B, 0x0E, 0xFF, 0x6A, 0xE5, 0x80, 0x43, 0x33, 0x1D, 0x03, 0xE0, 0x03, +0xC9, 0x31, 0x80, 0x84, 0xA3, 0x93, 0xFE, 0x20, 0x13, 0x42, 0x06, 0x18, 0x27, 0x28, 0x87, 0xCD, +0x86, 0x15, 0x8C, 0x2B, 0xB9, 0xC4, 0x01, 0xF6, 0xDE, 0x8F, 0x1C, 0x70, 0x1A, 0x98, 0x03, 0x5C, +0x43, 0xE0, 0x0B, 0x5B, 0xF6, 0x2B, 0xFA, 0x7B, 0x59, 0xC0, 0xA3, 0x81, 0x88, 0x19, 0x40, 0xFD, +0xF5, 0x38, 0x01, 0x47, 0x5B, 0x40, 0x36, 0x80, 0xD4, 0xB5, 0x53, 0x2E, 0x00, 0x32, 0x99, 0xC9, +0x2F, 0xF6, 0xD1, 0x02, 0xFE, 0xB9, 0x1E, 0x30, 0x36, 0xC9, 0xAD, 0x77, 0xDA, 0xB3, 0x0E, 0x48, +0xFE, 0xA3, 0x2E, 0x3C, 0x20, 0xFE, 0x4F, 0xB3, 0xBF, 0x7D, 0x06, 0x38, 0x9B, 0x86, 0x66, 0x06, +0x10, 0xAA, 0x55, 0x3C, 0x20, 0x1B, 0x40, 0x06, 0x95, 0x39, 0x40, 0x9D, 0xF6, 0xF6, 0x6F, 0x0E, +0x0C, 0x8D, 0xCA, 0x0E, 0xFF, 0x6A, 0xE5, 0x80, 0x14, 0xC0, 0xF8, 0x7F, 0xB8, 0xE0, 0x0E, 0xFB, +0xC7, 0x39, 0xE7, 0x5F, 0x98, 0x80, 0x7C, 0x54, 0x10, 0x62, 0x16, 0x4C, 0x01, 0x4C, 0x45, 0xA3, +0x1D, 0x60, 0x5C, 0xB8, 0x40, 0xAC, 0xDF, 0x83, 0x2E, 0x03, 0x9E, 0xAC, 0x0D, 0x99, 0xF5, 0x92, +0x01, 0x66, 0x01, 0x50, 0x5E, 0x55, 0xF8, 0xF5, 0xDE, 0x10, 0x07, 0xC8, 0xEA, 0x9F, 0x74, 0x76, +0x09, 0x02, 0x51, 0x0F, 0xBB, 0x0A, 0xFF, 0xEE, 0x6A, 0x01, 0x8F, 0x86, 0x63, 0xCF, 0x31, 0x80, +0x84, 0x83, 0xBF, 0x06, 0x89, 0x10, 0xE7, 0xC3, 0x07, 0x01, 0xD9, 0x00, 0x9C, 0x2F, 0x03, 0x72, +0xE5, 0xF2, 0x0F, 0x85, 0xF8, 0x87, 0x62, 0x90, 0x7C, 0xDB, 0x01, 0x2E, 0x1D, 0x02, 0xA2, 0x63, +0xD2, 0xAF, 0x2A, 0xA6, 0xC1, 0xFD, 0x08, 0x03, 0x78, 0x35, 0xAC, 0xF3, 0xBF, 0xDF, 0xCA, 0x05, +0x0F, 0x7E, 0xA1, 0x24, 0x42, 0x70, 0x80, 0xEA, 0xFB, 0x44, 0x7D, 0xEA, 0xC5, 0x68, 0x78, 0xDA, +0xBD, 0xE4, 0xF2, 0x0F, 0x6D, 0xA1, 0xE8, 0x3F, 0x22, 0xE0, 0x8E, 0xB1, 0x36, 0xC6, 0x68, 0x77, +0x12, 0x26, 0x60, 0xFD, 0xA3, 0xC2, 0x96, 0x10, 0xF8, 0x17, 0xF5, 0x80, 0xDB, 0x3E, 0x00, 0x91, +0x4F, 0xBF, 0x26, 0x6A, 0x3F, 0x0B, 0x96, 0x06, 0x04, 0xC9, 0x00, 0x9F, 0xAC, 0xD2, 0x58, 0xF0, +0xD7, 0x13, 0x4F, 0xD4, 0x53, 0xD1, 0x12, 0x21, 0xE9, 0xD0, 0xB8, 0xCE, 0x1D, 0x20, 0x7D, 0xC7, +0xC5, 0x75, 0x02, 0x96, 0xEC, 0xE3, 0xD4, 0x90, 0x80, 0x84, 0x9B, 0x02, 0x26, 0xD0, 0xF6, 0xBF, +0x41, 0xC0, 0x59, 0x90, 0x80, 0xF8, 0xBF, 0xAA, 0x09, 0x3C, 0x60, 0xFE, 0xEB, 0x69, 0x77, 0x04, +0x00, 0xE3, 0xD3, 0x37, 0xB3, 0x80, 0x9B, 0x53, 0x57, 0xF8, 0xBF, 0xBE, 0x02, 0xC6, 0x16, 0x01, +0x2D, 0x1F, 0xD1, 0x8F, 0xD2, 0xC0, 0x38, 0xC5, 0x06, 0xB8, 0x9A, 0x64, 0x4F, 0x9C, 0xFA, 0x3F, +0xF8, 0x57, 0x45, 0xA0, 0x71, 0x55, 0xF0, 0x67, 0x6F, 0xAE, 0x10, 0x46, 0xF6, 0x4A, 0xC9, 0x3F, +0xDF, 0x03, 0xE6, 0x09, 0x90, 0x61, 0xCD, 0x39, 0xE5, 0xE4, 0xB3, 0x21, 0x1B, 0x40, 0x3C, 0x15, +0xFE, 0xAF, 0x3A, 0x5F, 0x48, 0x13, 0x5F, 0xF8, 0x17, 0xB1, 0x80, 0xED, 0x01, 0x88, 0x48, 0xFF, +0xD2, 0x3F, 0x00, 0x01, 0xF1, 0x7F, 0x5C, 0xB0, 0x27, 0xD8, 0x0C, 0xE0, 0x35, 0x33, 0x60, 0x33, +0x83, 0xF2, 0x1A, 0x37, 0x46, 0x10, 0xF0, 0xF5, 0x56, 0xCF, 0x1C, 0x20, 0x15, 0x81, 0x72, 0xD2, +0x6B, 0x95, 0x6D, 0xFB, 0x28, 0x7C, 0x20, 0x17, 0x77, 0x22, 0xE0, 0x91, 0x1B, 0xDC, 0xFF, 0xA0, +0x1D, 0x01, 0x47, 0xA6, 0x82, 0xE1, 0x9F, 0x4F, 0x40, 0xF8, 0x57, 0x9F, 0xD5, 0x40, 0xC0, 0xD8, +0xA3, 0x3F, 0x54, 0x21, 0xFA, 0x39, 0xBF, 0xA8, 0x2D, 0x09, 0x0F, 0x28, 0x38, 0x88, 0x11, 0xB0, +0xC7, 0xCC, 0xA9, 0x64, 0x20, 0x98, 0x07, 0xAB, 0xEC, 0x64, 0x06, 0xD0, 0xE1, 0x1F, 0xA9, 0x60, +0x29, 0x80, 0xF6, 0x65, 0x16, 0x50, 0xAD, 0xA6, 0xBD, 0xB9, 0xFD, 0x00, 0x5D, 0xB3, 0xD9, 0x70, +0xD4, 0x00, 0xB2, 0x25, 0x64, 0x6C, 0x19, 0x11, 0x09, 0x10, 0xD0, 0xC7, 0x18, 0xFF, 0xE7, 0x8A, +0x0D, 0x20, 0x08, 0xF1, 0xC9, 0xD1, 0x87, 0xC4, 0xA9, 0x66, 0xBE, 0xC0, 0x9F, 0x0B, 0xC0, 0x07, +0x50, 0xD3, 0xBB, 0x03, 0xB2, 0x02, 0x88, 0x13, 0x14, 0xB6, 0x65, 0xA9, 0xDF, 0x2E, 0x0D, 0x62, +0x2F, 0x91, 0x0F, 0x59, 0x99, 0x03, 0x14, 0xF0, 0x69, 0xD9, 0x1F, 0x6B, 0x80, 0xFD, 0xA8, 0x77, +0x80, 0x10, 0x10, 0xD3, 0x77, 0xDB, 0x85, 0xB6, 0xD1, 0x00, 0x24, 0xE3, 0x51, 0x8F, 0xBD, 0x3D, +0xEE, 0x00, 0xE8, 0x04, 0xF4, 0x6B, 0xEF, 0x01, 0x67, 0xBE, 0xBA, 0xC7, 0xA4, 0xC3, 0xBF, 0xCA, +0x87, 0x9A, 0x82, 0xE8, 0xC5, 0x24, 0xA2, 0x5D, 0xF8, 0xD7, 0xC0, 0x03, 0xDA, 0x05, 0x1B, 0x40, +0x82, 0x16, 0xF0, 0xF9, 0xB1, 0xE9, 0x52, 0x43, 0x74, 0x7A, 0x93, 0x8C, 0x4D, 0xA1, 0x04, 0x64, +0xFE, 0xEB, 0x12, 0x50, 0x10, 0xE8, 0xF3, 0x8F, 0x7B, 0x63, 0xE1, 0xFA, 0x2E, 0xED, 0x8D, 0x6D, +0xF9, 0x11, 0x23, 0x0A, 0xFF, 0x3C, 0x0F, 0xA8, 0xFC, 0xE7, 0x0E, 0xA8, 0xD1, 0xFD, 0x1F, 0xB9, +0x0F, 0xAC, 0x94, 0x03, 0x4E, 0x22, 0x2A, 0xF8, 0xE7, 0xA4, 0x82, 0x67, 0x11, 0xFD, 0x0B, 0x00, +0xAC, 0xCC, 0x80, 0x1F, 0x66, 0x1D, 0x10, 0xDE, 0x99, 0x18, 0x59, 0xF9, 0x5F, 0x3A, 0xB3, 0xF8, +0x87, 0x21, 0xCC, 0x8B, 0xA2, 0x75, 0x01, 0xB0, 0xF7, 0x7E, 0xD6, 0x58, 0x03, 0x34, 0x4B, 0xC8, +0xAD, 0x61, 0xB0, 0x7E, 0xD9, 0x29, 0xBF, 0x18, 0xE9, 0x01, 0x8F, 0x22, 0xB1, 0x67, 0x89, 0x90, +0x87, 0x25, 0xE0, 0x2C, 0x26, 0xF1, 0x7F, 0xF0, 0x4E, 0xFB, 0x72, 0x09, 0x10, 0x02, 0xC6, 0x1F, +0xFF, 0xB6, 0xD9, 0x5C, 0x14, 0x00, 0x46, 0x10, 0xD8, 0xE7, 0x39, 0x6C, 0xC5, 0xAD, 0x63, 0x8F, +0x9C, 0xF3, 0xE9, 0x28, 0x3B, 0x80, 0x5D, 0xE5, 0x05, 0xD0, 0xFE, 0x2C, 0x18, 0xE7, 0x77, 0x53, +0x88, 0xA8, 0x3F, 0x8B, 0x1E, 0xE4, 0x63, 0x22, 0xFC, 0xE3, 0xEE, 0x80, 0x77, 0x5C, 0x43, 0x80, +0x7E, 0x5C, 0x5B, 0x83, 0x7F, 0x8E, 0xF2, 0x02, 0x40, 0x3E, 0x30, 0x36, 0xD0, 0x31, 0xE5, 0x80, +0xB3, 0x98, 0x14, 0x7F, 0x3E, 0x00, 0xEF, 0xA4, 0xFF, 0x59, 0x35, 0x0C, 0x1C, 0x84, 0x82, 0x1D, +0xEC, 0xC8, 0xFF, 0x8A, 0xE4, 0x0A, 0x0E, 0x2A, 0xFE, 0x64, 0xA4, 0xD5, 0x7E, 0xCA, 0x39, 0x1D, +0xE4, 0x4B, 0x80, 0xDA, 0x2C, 0x15, 0x82, 0x01, 0x1C, 0x70, 0x80, 0xE3, 0x37, 0xC5, 0x1D, 0x85, +0x03, 0xFF, 0xE7, 0x05, 0x84, 0x6B, 0x49, 0x40, 0xF2, 0xBF, 0xAE, 0xE0, 0x9F, 0x67, 0x02, 0x17, +0xF0, 0xCF, 0xD3, 0x08, 0xFE, 0xCD, 0x6B, 0x7F, 0x89, 0xB9, 0xC2, 0x03, 0x4E, 0xA3, 0x5A, 0xDA, +0x9E, 0x0F, 0x16, 0xDC, 0xF4, 0x7C, 0x69, 0x26, 0x50, 0xBB, 0xCE, 0x8B, 0x5D, 0xBD, 0x54, 0xFC, +0xF9, 0x8A, 0xCC, 0x7F, 0xC9, 0x05, 0x1B, 0xE2, 0xBA, 0xB7, 0xB3, 0x1F, 0x45, 0x2E, 0x78, 0x7B, +0xF5, 0x80, 0xF0, 0xCF, 0xF7, 0x80, 0x79, 0x81, 0x90, 0xE3, 0x03, 0xE7, 0xB4, 0xD2, 0x00, 0x22, +0xF8, 0xE7, 0x23, 0x70, 0xE1, 0x7E, 0x54, 0x58, 0x07, 0x8C, 0xAA, 0x35, 0x00, 0xFD, 0xED, 0x20, +0xFF, 0x31, 0x00, 0x99, 0xF6, 0xF2, 0x02, 0x7D, 0xFF, 0x80, 0x10, 0x51, 0xEA, 0xB9, 0x25, 0xBE, +0x55, 0x09, 0xEA, 0x5D, 0xB1, 0x64, 0x84, 0x03, 0x7C, 0x22, 0x67, 0xB6, 0x81, 0xC8, 0x05, 0x9B, +0x41, 0xF4, 0x8C, 0x01, 0xAC, 0xAC, 0x01, 0x72, 0x6A, 0x09, 0x40, 0x02, 0xC2, 0xB5, 0x24, 0xE0, +0x2C, 0x4E, 0x40, 0x4F, 0x94, 0x03, 0x16, 0x1F, 0xE2, 0xAA, 0x16, 0xBB, 0x93, 0xA8, 0xE6, 0x8D, +0xB2, 0xBF, 0xF9, 0x6E, 0x2E, 0x81, 0x40, 0x48, 0x5B, 0x4B, 0x36, 0x5F, 0x08, 0x7A, 0x58, 0x78, +0xEB, 0xB0, 0x78, 0x6A, 0xAF, 0xCB, 0x39, 0x4E, 0x35, 0x00, 0xE8, 0xCF, 0x82, 0x0D, 0xB3, 0xB6, +0x09, 0x19, 0x10, 0xCB, 0xDB, 0xCB, 0x85, 0xFD, 0x68, 0xCB, 0xB0, 0xAF, 0x9D, 0x2A, 0xBA, 0x0E, +0x23, 0x1E, 0xB0, 0xA0, 0x9C, 0x9D, 0x4A, 0x36, 0xC6, 0xF9, 0xB7, 0xBB, 0x9F, 0x7D, 0x4A, 0x18, +0x22, 0xEE, 0x10, 0x1D, 0xFF, 0x37, 0x78, 0xFB, 0x5F, 0x00, 0xE0, 0x47, 0x0D, 0x0C, 0x5F, 0xBB, +0x65, 0xC0, 0x92, 0x7E, 0x48, 0xAB, 0x9F, 0x57, 0xB6, 0x0C, 0xA8, 0xD6, 0xCF, 0x72, 0xC2, 0xB6, +0x20, 0x68, 0xFB, 0x42, 0x6C, 0xDF, 0x2F, 0x95, 0xD0, 0x4A, 0xC1, 0xD2, 0x01, 0x5E, 0x53, 0x00, +0xE8, 0x38, 0xC0, 0x91, 0xBB, 0x82, 0xE3, 0x0E, 0x30, 0x0E, 0xC0, 0x38, 0x01, 0x47, 0x38, 0xC0, +0xB8, 0xEC, 0x11, 0x20, 0x7C, 0x94, 0xB9, 0xD2, 0x8E, 0xC1, 0xD9, 0x24, 0x4E, 0xC0, 0xB1, 0xA0, +0xAB, 0xAF, 0xFF, 0x71, 0x06, 0x14, 0xAE, 0x2E, 0xBB, 0xE4, 0xEF, 0x29, 0x49, 0x8F, 0xEC, 0xD0, +0xD4, 0x88, 0x42, 0x70, 0xE9, 0x54, 0x00, 0xE6, 0xF5, 0xD0, 0xA3, 0x1C, 0xA0, 0x31, 0x4F, 0x7D, +0x9E, 0xFA, 0xCE, 0x1E, 0xC8, 0xA4, 0x61, 0x94, 0xC8, 0x50, 0xDD, 0x95, 0x39, 0xC0, 0x50, 0x1E, +0x18, 0xC6, 0x71, 0x01, 0x03, 0xD1, 0xEE, 0x24, 0xAC, 0x45, 0x85, 0x7C, 0x5C, 0xF2, 0x91, 0x99, +0xC5, 0xD5, 0x10, 0x80, 0xA8, 0xFD, 0x54, 0x58, 0xD0, 0x16, 0x8B, 0xDA, 0xBC, 0x97, 0x21, 0x03, +0xAB, 0x80, 0x4E, 0x22, 0x1B, 0xDC, 0x71, 0x2F, 0x1D, 0xC6, 0xBF, 0x0E, 0x86, 0xE6, 0xEF, 0xB4, +0xAD, 0xDD, 0x12, 0xF0, 0x9A, 0x2C, 0x70, 0x42, 0x21, 0xFB, 0x7E, 0x87, 0x1D, 0x60, 0xEA, 0xF7, +0x9A, 0x13, 0x50, 0xB3, 0x20, 0xED, 0xF9, 0xB7, 0xFD, 0xAF, 0xF0, 0xEF, 0x3D, 0x23, 0x20, 0x2A, +0x59, 0xA8, 0x3A, 0x5B, 0x2C, 0x26, 0x61, 0xED, 0xB6, 0xB2, 0x7F, 0x48, 0x97, 0x00, 0x1D, 0x5A, +0xF0, 0x94, 0x38, 0x81, 0x0B, 0xC9, 0x06, 0x41, 0x9E, 0x9C, 0x99, 0x79, 0xDA, 0x28, 0x49, 0xE1, +0x16, 0x5B, 0x03, 0x3C, 0x1F, 0xB9, 0x06, 0xC8, 0x36, 0x3C, 0x76, 0xA0, 0x74, 0x97, 0x66, 0x41, +0x2F, 0x2F, 0xD3, 0x0F, 0xBB, 0xB5, 0x8C, 0x2E, 0x02, 0x56, 0xFE, 0x8C, 0xBC, 0x25, 0xC0, 0x39, +0x03, 0xED, 0x80, 0x63, 0x9C, 0x7F, 0xBB, 0x93, 0xC5, 0xE2, 0xAC, 0x42, 0x3D, 0xCE, 0xAA, 0x83, +0x34, 0xDC, 0x99, 0xC5, 0xF5, 0x1F, 0x02, 0xF0, 0xBB, 0x87, 0xBA, 0x35, 0x2A, 0xE8, 0xD3, 0x26, +0x9D, 0x35, 0xC1, 0x9F, 0x3A, 0x40, 0xB3, 0x7E, 0xD7, 0xA9, 0x87, 0x88, 0x2B, 0x19, 0xA8, 0x48, +0x81, 0xA8, 0xF7, 0x83, 0x7E, 0x9D, 0x21, 0x94, 0x16, 0x5E, 0x03, 0x54, 0xFA, 0xE9, 0x66, 0xB9, +0xF6, 0x16, 0xF0, 0xDD, 0x38, 0x01, 0xC3, 0x00, 0x94, 0xD6, 0x1E, 0x80, 0x3B, 0x1B, 0x4A, 0xC0, +0xC1, 0x29, 0x0D, 0xFC, 0x3B, 0x5B, 0xE0, 0x01, 0x9B, 0x12, 0xF0, 0xB0, 0xE8, 0x8B, 0x29, 0xF0, +0x7C, 0x4B, 0x76, 0xC4, 0x4E, 0x91, 0xB3, 0x1B, 0xE4, 0xB2, 0xC3, 0x1D, 0x39, 0x08, 0x6A, 0x52, +0x7A, 0xFA, 0xF1, 0x90, 0x38, 0xC3, 0x9F, 0xE7, 0xFF, 0x7E, 0x8B, 0x66, 0x41, 0x9E, 0xAB, 0xA8, +0xBB, 0x31, 0x2F, 0x2A, 0xBE, 0xD4, 0xF6, 0x23, 0x1B, 0x82, 0x97, 0xA2, 0xAD, 0x20, 0xFF, 0x84, +0x80, 0x87, 0x41, 0x0F, 0xC8, 0x1C, 0x97, 0x2B, 0xF0, 0x67, 0x9A, 0x8C, 0xE0, 0xDF, 0xC6, 0x62, +0xB1, 0x28, 0x3E, 0x25, 0x8C, 0xB3, 0x25, 0xC0, 0x71, 0x04, 0xFC, 0xB7, 0xCB, 0x60, 0x1E, 0x6A, +0x05, 0x90, 0xF5, 0x3F, 0xCE, 0xC8, 0x48, 0xB8, 0x32, 0xEF, 0x77, 0x2D, 0x3D, 0xF7, 0x89, 0x91, +0x17, 0x99, 0x17, 0x8B, 0xCC, 0xFE, 0x41, 0xBF, 0xC2, 0x01, 0x52, 0x0B, 0xED, 0x3B, 0x40, 0x35, +0x80, 0xCD, 0x33, 0xC1, 0x7B, 0x47, 0x02, 0xC0, 0x11, 0x49, 0xE0, 0xB0, 0x01, 0x8C, 0x99, 0xC0, +0xD9, 0x48, 0xFE, 0x29, 0x01, 0xAB, 0xB3, 0x60, 0xF8, 0x97, 0xB4, 0x11, 0x27, 0xE0, 0xEE, 0xEE, +0x58, 0xFA, 0x21, 0xFE, 0x92, 0xF3, 0xAB, 0x17, 0x09, 0x80, 0x42, 0xC0, 0x65, 0x84, 0x7F, 0x29, +0x78, 0x12, 0xA6, 0x72, 0xAF, 0x47, 0x21, 0x65, 0xC9, 0x3D, 0x16, 0x3B, 0x56, 0x25, 0xBC, 0x05, +0xF8, 0xA7, 0x3A, 0x0F, 0x95, 0xC1, 0xA8, 0x48, 0xC1, 0x80, 0xE0, 0xEC, 0xB6, 0x84, 0xEA, 0xFF, +0xF4, 0xA7, 0x0D, 0xF1, 0x4F, 0xCB, 0x80, 0xB6, 0x2A, 0xF4, 0xC3, 0xF9, 0x55, 0x53, 0xC0, 0x8C, +0x54, 0xA3, 0xFD, 0xDF, 0xC1, 0x22, 0xE9, 0xAC, 0x24, 0x5E, 0xA9, 0xF7, 0x92, 0xC8, 0x83, 0x44, +0x14, 0x03, 0x60, 0x7B, 0xF2, 0xB5, 0x07, 0x60, 0x21, 0xE8, 0x57, 0x90, 0x4F, 0x0F, 0x8D, 0xEB, +0xFC, 0x6E, 0x80, 0xEA, 0xF6, 0xC0, 0x9F, 0xBD, 0xD2, 0x11, 0x8E, 0x85, 0x3F, 0x1C, 0x20, 0xCB, +0x80, 0xA9, 0x33, 0xF9, 0x59, 0xE0, 0x3D, 0x89, 0x71, 0x04, 0x8C, 0xF9, 0xBF, 0x28, 0x02, 0x51, +0xC0, 0xFE, 0xC9, 0xD1, 0xC6, 0xFE, 0x91, 0x01, 0x56, 0x00, 0x32, 0x0B, 0xAE, 0x97, 0xF8, 0x2F, +0x44, 0x6D, 0x3D, 0xA0, 0xCF, 0x42, 0x74, 0xF3, 0x48, 0xB8, 0x00, 0xFF, 0x84, 0x2A, 0xD2, 0x48, +0xB5, 0x76, 0xEA, 0x3C, 0x20, 0x8B, 0x72, 0x97, 0x37, 0xB7, 0x2C, 0x88, 0x15, 0xC1, 0xFC, 0x26, +0xCD, 0x21, 0x20, 0x0F, 0x07, 0x49, 0x6C, 0xD5, 0x3A, 0x1C, 0xD2, 0xBE, 0x10, 0x18, 0x0A, 0x2E, +0xC3, 0x04, 0xBC, 0xA8, 0xEC, 0x84, 0xAB, 0xA7, 0x45, 0x30, 0x7B, 0xA5, 0x17, 0xB4, 0x97, 0x27, +0x61, 0x2D, 0xEC, 0x23, 0xB0, 0x56, 0x33, 0x65, 0x67, 0x5E, 0xB0, 0x0F, 0x55, 0x5B, 0x00, 0x82, +0xC0, 0x07, 0x71, 0x82, 0x64, 0x38, 0x9C, 0x70, 0xEA, 0x5E, 0xF2, 0x62, 0xE8, 0x14, 0xDA, 0x28, +0x79, 0xB1, 0x95, 0xBF, 0x0E, 0x7F, 0x54, 0xC5, 0xD8, 0x9D, 0x62, 0xA8, 0xF6, 0x5B, 0x5F, 0x03, +0xE4, 0xCE, 0xF8, 0x41, 0x07, 0xA8, 0x06, 0x50, 0x01, 0xF8, 0x75, 0xCB, 0x54, 0xF0, 0x5E, 0x1C, +0x80, 0x28, 0xE4, 0xFF, 0xF4, 0x68, 0x98, 0x00, 0x36, 0xFE, 0xE1, 0x01, 0xEB, 0x5A, 0xF4, 0x6A, +0x9D, 0x0A, 0xC6, 0xB9, 0x70, 0xCD, 0x08, 0xA9, 0xFD, 0xD3, 0xC3, 0xF3, 0x80, 0x1D, 0x52, 0x54, +0x3D, 0x7E, 0x8E, 0xA5, 0xB7, 0x94, 0x6C, 0x57, 0x8B, 0xD7, 0xBD, 0x2E, 0xA4, 0xE2, 0x5E, 0x08, +0x1E, 0xFF, 0x14, 0x81, 0x91, 0x49, 0xF0, 0xCD, 0x0D, 0x56, 0xCD, 0xE7, 0x49, 0xC7, 0x4C, 0x1C, +0x08, 0x26, 0x52, 0x27, 0x5D, 0xEA, 0x11, 0xE0, 0xDF, 0x45, 0x1F, 0x95, 0x2A, 0x18, 0x5E, 0x46, +0x86, 0xBC, 0x52, 0xE3, 0x13, 0xC0, 0x8B, 0x5E, 0xDE, 0x72, 0x09, 0x1F, 0xAA, 0xF7, 0x76, 0x5A, +0x11, 0x10, 0x00, 0xB6, 0xA0, 0xDE, 0x83, 0xAE, 0xFF, 0xE5, 0x10, 0xB4, 0x66, 0x59, 0x0F, 0x6A, +0x9F, 0xD9, 0x17, 0x62, 0x18, 0xD4, 0x66, 0x8F, 0x4B, 0x2F, 0x66, 0xC1, 0xDC, 0x0D, 0xA1, 0xE2, +0x00, 0x8B, 0xD5, 0x3F, 0x85, 0xDF, 0x78, 0x0F, 0xE8, 0xFA, 0x3F, 0xA2, 0x09, 0xFF, 0x30, 0x80, +0x7A, 0x34, 0x34, 0x80, 0xF0, 0xAF, 0x32, 0x0B, 0xC6, 0x0B, 0x2E, 0x4C, 0x67, 0x1B, 0xFB, 0x93, +0xDD, 0xE6, 0xC5, 0x30, 0xF5, 0x29, 0xB0, 0x1E, 0x73, 0x7B, 0x10, 0x92, 0xB6, 0xD8, 0xFC, 0x57, +0x39, 0x98, 0x9E, 0x86, 0x84, 0x94, 0x44, 0xD9, 0xFE, 0xE0, 0x1B, 0xFD, 0xEA, 0x4D, 0x82, 0xCD, +0xFE, 0xA9, 0xBC, 0x04, 0x08, 0x8F, 0x18, 0x16, 0xCC, 0xD9, 0x1D, 0x08, 0xC9, 0x87, 0x60, 0x43, +0xED, 0x87, 0x95, 0xE6, 0xF2, 0xCF, 0x34, 0x5D, 0x5B, 0x20, 0x2D, 0xAF, 0x18, 0x95, 0x79, 0x8F, +0xB9, 0x8D, 0xC7, 0xF9, 0xBF, 0xFD, 0xB4, 0x06, 0x62, 0x5A, 0xE7, 0x1D, 0x23, 0x00, 0xD8, 0xD2, +0x03, 0x72, 0x37, 0x98, 0x7B, 0x82, 0xEF, 0x23, 0x39, 0xFE, 0xDB, 0x09, 0x30, 0xF5, 0x7E, 0xE5, +0xE0, 0x04, 0xFE, 0xF5, 0xA5, 0x80, 0xB2, 0x1C, 0x08, 0xFE, 0xB8, 0x29, 0x8C, 0x35, 0xE9, 0xAC, +0xDA, 0x2F, 0x73, 0x80, 0x94, 0x00, 0x0A, 0xDF, 0xD0, 0x60, 0x39, 0x60, 0x32, 0x7E, 0x30, 0xB0, +0x11, 0x00, 0xA1, 0x9F, 0x4F, 0x40, 0xE4, 0x31, 0x10, 0xF7, 0xE7, 0x39, 0xC0, 0x11, 0xCB, 0xCE, +0xCA, 0x3F, 0x54, 0xDE, 0x0E, 0x01, 0xE9, 0xE2, 0x0F, 0x04, 0xDC, 0x6D, 0x44, 0x40, 0xFC, 0x9F, +0x57, 0xD7, 0xAB, 0xC6, 0x47, 0x9B, 0x12, 0x60, 0xE9, 0xF0, 0x2F, 0x35, 0xEE, 0x87, 0xCF, 0xB6, +0x37, 0x2B, 0x04, 0x14, 0xD9, 0x04, 0x18, 0x58, 0xF9, 0xFE, 0xEF, 0x5C, 0x9A, 0x50, 0x70, 0x98, +0x7F, 0x3C, 0x6A, 0x24, 0xE9, 0xD8, 0xD2, 0xBF, 0x24, 0x44, 0x78, 0x44, 0xE6, 0x12, 0x07, 0x98, +0x0E, 0x8F, 0x7F, 0x17, 0x1A, 0x3A, 0xAA, 0xFD, 0x63, 0xC1, 0x4B, 0xA5, 0xE6, 0xC5, 0x78, 0x8C, +0xFF, 0x93, 0x05, 0x40, 0x08, 0x58, 0xD7, 0x01, 0xFC, 0x83, 0x80, 0x41, 0x35, 0x00, 0xA0, 0x67, +0xF7, 0x3E, 0x6A, 0x41, 0xBF, 0xD1, 0xEB, 0x7F, 0x0E, 0x16, 0x4F, 0xF4, 0xC2, 0xC8, 0xC7, 0xAE, +0x60, 0x6E, 0x8B, 0x9A, 0x41, 0x50, 0xC0, 0x57, 0x71, 0x80, 0x4C, 0x80, 0x21, 0x60, 0xAD, 0x02, +0x50, 0xE9, 0x47, 0x34, 0x4A, 0x84, 0xBC, 0x1B, 0x27, 0x20, 0x72, 0x09, 0x88, 0xFF, 0xF3, 0x3C, +0xE0, 0x6C, 0x27, 0xCE, 0x3F, 0x00, 0x08, 0x01, 0x2B, 0x7B, 0x40, 0xDE, 0xD6, 0xC6, 0x59, 0x9C, +0x80, 0xBB, 0x63, 0x3C, 0x20, 0x18, 0x5C, 0x77, 0x30, 0x5B, 0x38, 0x40, 0x45, 0xC0, 0x70, 0x01, +0x8C, 0x39, 0x40, 0x1D, 0xAA, 0xD7, 0x63, 0xED, 0xCF, 0x12, 0xB0, 0xEA, 0xFF, 0xAE, 0x70, 0x80, +0x29, 0x06, 0x2C, 0x20, 0xD3, 0x5F, 0x55, 0xAD, 0x1E, 0x5A, 0xBF, 0x81, 0x7D, 0x3B, 0x6D, 0x4A, +0x40, 0x33, 0x80, 0x72, 0xC6, 0x00, 0xA6, 0xA1, 0x19, 0x55, 0x3B, 0xBC, 0x09, 0xB0, 0x4A, 0x07, +0x60, 0xCE, 0xB1, 0xD2, 0xE5, 0x5E, 0x10, 0x72, 0xC1, 0xF3, 0xF8, 0xBF, 0x63, 0xFB, 0x67, 0xE2, +0xFF, 0x50, 0xAD, 0x10, 0x46, 0x87, 0xB9, 0x66, 0x23, 0xD4, 0xFC, 0x99, 0x20, 0x40, 0x2F, 0x77, +0x81, 0x0E, 0x09, 0x9B, 0xCE, 0x80, 0xCB, 0xB2, 0x17, 0xC0, 0xC7, 0x2F, 0xF1, 0x38, 0xE0, 0xB5, +0x59, 0x30, 0x37, 0x8A, 0x4E, 0xBD, 0x1D, 0x4F, 0x4E, 0x2A, 0x0E, 0xB0, 0xF2, 0x50, 0x74, 0xFA, +0xFE, 0x04, 0xFF, 0x88, 0x26, 0x04, 0xDC, 0x0B, 0x13, 0xB0, 0x90, 0xBB, 0xFE, 0xC7, 0xD1, 0x82, +0x7F, 0x86, 0x3F, 0x00, 0x58, 0xCE, 0x82, 0x73, 0xFE, 0xE1, 0x01, 0x3F, 0x98, 0x38, 0x72, 0x08, +0xE8, 0x67, 0x2E, 0x81, 0xA1, 0xF2, 0x0F, 0x07, 0xA8, 0xC3, 0x6A, 0x39, 0x20, 0x44, 0x31, 0xD9, +0xC2, 0x5F, 0x5A, 0xF6, 0x83, 0x84, 0x0A, 0x21, 0x51, 0xF6, 0x78, 0x60, 0x27, 0xFF, 0x91, 0xF5, +0x43, 0xF3, 0xDF, 0x14, 0xF9, 0x2C, 0x58, 0x21, 0xAC, 0x67, 0xF9, 0x39, 0x6C, 0x49, 0x52, 0x49, +0x8D, 0x03, 0x94, 0x36, 0x80, 0x3F, 0x1C, 0xA0, 0x8E, 0x0E, 0xF1, 0x7D, 0xB5, 0x29, 0x70, 0xC5, +0x07, 0xD2, 0x8D, 0x48, 0x00, 0x9F, 0xAD, 0x7F, 0x06, 0x8A, 0xCF, 0x09, 0x05, 0x80, 0xA8, 0xA1, +0x07, 0xF4, 0x01, 0x18, 0x64, 0x21, 0x47, 0x5D, 0x3E, 0x00, 0x47, 0xF0, 0xAF, 0x92, 0x01, 0x26, +0x07, 0xAC, 0x61, 0xA9, 0x10, 0x3B, 0x2C, 0x2F, 0x7C, 0x52, 0xE2, 0x4F, 0x9B, 0x30, 0x2F, 0xFA, +0x68, 0x60, 0x08, 0x28, 0xCD, 0xCE, 0x39, 0xFD, 0x5E, 0x8C, 0x2A, 0x07, 0xF4, 0xFD, 0x9F, 0x4F, +0x40, 0xE4, 0x21, 0xD0, 0x9C, 0x1F, 0x47, 0x93, 0xF5, 0xBF, 0x2F, 0xB2, 0x8F, 0x2A, 0xA9, 0x60, +0xC4, 0xFA, 0x5F, 0x41, 0xC0, 0x49, 0x03, 0x02, 0xA2, 0x4A, 0x05, 0x20, 0xFE, 0xAF, 0x07, 0x80, +0xB5, 0x1A, 0x01, 0xB7, 0x12, 0x45, 0x8C, 0x26, 0x12, 0x3A, 0xD0, 0x64, 0x03, 0x7B, 0x70, 0x6D, +0x25, 0xD0, 0xE0, 0x87, 0x05, 0xAC, 0x26, 0x42, 0x64, 0xDA, 0x9B, 0x35, 0x39, 0xBC, 0x47, 0x82, +0x80, 0x40, 0xA1, 0x2D, 0x8F, 0x44, 0xD2, 0x1F, 0xC6, 0xFC, 0x1F, 0xBC, 0xEE, 0xDB, 0x70, 0x02, +0xA4, 0x97, 0x0E, 0xEA, 0x25, 0x43, 0x76, 0x42, 0x73, 0xDA, 0xE8, 0x02, 0x18, 0x12, 0xC0, 0xB9, +0x2A, 0xE5, 0xD0, 0xC5, 0x87, 0x2A, 0xBD, 0xD0, 0x16, 0x80, 0xF1, 0x69, 0x30, 0xD0, 0x63, 0x10, +0xC7, 0x5F, 0xFB, 0x9B, 0x41, 0x73, 0x06, 0x7C, 0x70, 0xB0, 0xDB, 0x15, 0xAC, 0x8D, 0x72, 0x98, +0xDE, 0x12, 0xD2, 0xB8, 0x4E, 0xD0, 0x93, 0x03, 0x1B, 0x88, 0xFF, 0x2B, 0x84, 0x03, 0xCC, 0xD2, +0xBF, 0x05, 0x03, 0xE3, 0xDA, 0xAB, 0x2C, 0x00, 0x96, 0xFC, 0x6B, 0xF1, 0x58, 0xCC, 0xA8, 0x05, +0x1C, 0x9F, 0xFF, 0x28, 0x3D, 0x20, 0x1F, 0x66, 0x0A, 0x00, 0x0B, 0x6D, 0x34, 0xD8, 0x12, 0x82, +0xFF, 0x43, 0x99, 0x6F, 0xE1, 0x46, 0x80, 0xD3, 0xDC, 0x01, 0x4A, 0x57, 0x4F, 0x00, 0xE3, 0x00, +0xB1, 0x80, 0x96, 0xFA, 0x25, 0x0B, 0x6B, 0xF8, 0x63, 0xBA, 0x2A, 0x9D, 0xD0, 0xAE, 0x56, 0x00, +0xA8, 0x15, 0x30, 0x36, 0x48, 0xC3, 0x9A, 0xFF, 0xD3, 0xC8, 0xBF, 0x7B, 0xB6, 0x29, 0xE5, 0xB2, +0x43, 0xA0, 0x02, 0x0F, 0x07, 0x68, 0x97, 0x5B, 0x75, 0x03, 0x88, 0x03, 0xD4, 0x53, 0xDD, 0x37, +0xD7, 0x7F, 0x01, 0x1C, 0x8E, 0x2E, 0x00, 0x44, 0x14, 0xC3, 0x38, 0xFE, 0xAF, 0x25, 0x01, 0x5D, +0x00, 0xFA, 0xBE, 0x8F, 0xD1, 0x58, 0x8D, 0x07, 0xA0, 0x97, 0x0B, 0x39, 0xC9, 0x0D, 0x20, 0x08, +0xC4, 0x00, 0x16, 0x35, 0x80, 0xE0, 0x4F, 0x65, 0x37, 0x44, 0xA0, 0x87, 0x7F, 0x1E, 0x01, 0x2B, +0xF8, 0xBB, 0xE7, 0x96, 0x90, 0x3D, 0xA0, 0x97, 0xC5, 0x7D, 0x0D, 0x20, 0xDE, 0x8F, 0xE3, 0xDE, +0xFE, 0x0F, 0x00, 0x56, 0x97, 0x01, 0xE1, 0x5F, 0xA9, 0x83, 0x31, 0xE5, 0x80, 0xF1, 0x4C, 0x08, +0xE2, 0xF2, 0x62, 0x8A, 0xF3, 0xD1, 0xA6, 0xC3, 0x8B, 0xDB, 0xF9, 0x87, 0xA1, 0xCA, 0x3C, 0xA0, +0x22, 0x88, 0xC7, 0xC1, 0xA9, 0x01, 0x2C, 0x2D, 0x60, 0x65, 0x16, 0x0C, 0xFC, 0x18, 0x08, 0x03, +0xAB, 0xFE, 0x8F, 0x6F, 0x68, 0xBA, 0xB4, 0x82, 0x40, 0x8A, 0xA0, 0x95, 0x7D, 0x38, 0xC0, 0xA1, +0x4C, 0xC8, 0x05, 0x06, 0x10, 0x07, 0x48, 0x22, 0xA4, 0x5E, 0x45, 0x44, 0x35, 0x60, 0x69, 0x01, +0x77, 0x47, 0x6E, 0x00, 0x29, 0x75, 0xEB, 0x8E, 0x60, 0x84, 0xEE, 0xB9, 0x29, 0x4E, 0x3F, 0xEF, +0x02, 0x40, 0x22, 0xE2, 0xFD, 0x4A, 0x04, 0x1A, 0xFA, 0xDA, 0xAC, 0xFF, 0x8D, 0x06, 0x20, 0x32, +0xDC, 0xC1, 0xC1, 0x62, 0x12, 0xAC, 0x5D, 0xE9, 0xFE, 0x80, 0xE1, 0xEA, 0x66, 0xDF, 0x1B, 0xFD, +0x93, 0x7B, 0x3A, 0xC0, 0xFB, 0xDD, 0x1A, 0x6B, 0xEF, 0xA8, 0x02, 0xC0, 0x11, 0xFC, 0x73, 0xFD, +0x1F, 0x47, 0x83, 0x0D, 0x20, 0xA8, 0x92, 0x0A, 0x86, 0x7F, 0x85, 0x36, 0xC6, 0x10, 0x30, 0x4A, +0xBD, 0x7A, 0x01, 0xE0, 0xBA, 0x03, 0x4C, 0xAA, 0x14, 0x00, 0x96, 0x0E, 0xB0, 0x7F, 0x34, 0xC8, +0x0D, 0x7F, 0xA4, 0x69, 0xFE, 0x03, 0xB1, 0x6C, 0x77, 0xBE, 0xEE, 0x01, 0xCF, 0x79, 0x18, 0x3A, +0x69, 0x90, 0x73, 0xED, 0x0A, 0xFF, 0x57, 0x18, 0x40, 0x1E, 0x8D, 0xC9, 0x33, 0x49, 0xB4, 0x37, +0x03, 0x48, 0x16, 0xD8, 0x4E, 0xB7, 0xF2, 0xAF, 0x58, 0x03, 0xD4, 0xBE, 0xD8, 0x40, 0x78, 0x58, +0xE1, 0x21, 0xE0, 0x83, 0x84, 0xE3, 0xFD, 0x9F, 0x33, 0x0B, 0x86, 0x7F, 0xED, 0x3D, 0xE0, 0x37, +0x0E, 0x00, 0x83, 0x7A, 0x20, 0xFB, 0x67, 0x74, 0x2B, 0xBC, 0x5F, 0x31, 0x92, 0xC8, 0x32, 0x20, +0x25, 0x01, 0x39, 0x0B, 0xF2, 0xE8, 0xB4, 0x00, 0xD0, 0x23, 0x20, 0x05, 0x80, 0x44, 0xBB, 0x54, +0xB0, 0x01, 0xAF, 0x8C, 0xBB, 0xF3, 0x0F, 0xCF, 0xE7, 0x7A, 0xC0, 0xD9, 0xE8, 0x09, 0x70, 0xC8, +0x03, 0x2E, 0x0A, 0xB5, 0xDE, 0x12, 0x72, 0xC8, 0xA0, 0x9C, 0x0E, 0x77, 0xF3, 0xDF, 0xD2, 0x01, +0xCA, 0x69, 0x59, 0x2B, 0x80, 0xC1, 0x01, 0xF6, 0xC3, 0x63, 0x72, 0xC1, 0x9A, 0x8A, 0x2D, 0x6D, +0x1A, 0x04, 0xBC, 0xD5, 0xFF, 0x9D, 0xF7, 0x5D, 0x37, 0xE8, 0x95, 0xD3, 0xAF, 0x5C, 0xFF, 0x53, +0x51, 0x10, 0x4D, 0x26, 0xB8, 0xC3, 0x5F, 0xB9, 0x06, 0xA8, 0xB1, 0x4E, 0x75, 0x7E, 0xC3, 0xA6, +0x0B, 0xEB, 0xF9, 0x43, 0x73, 0xA7, 0xC0, 0xF8, 0xBF, 0xB1, 0x05, 0x30, 0xF8, 0x3F, 0x67, 0x16, +0x0C, 0x00, 0x11, 0x05, 0xD1, 0x71, 0x8D, 0x77, 0x80, 0x01, 0xEE, 0x69, 0x60, 0x04, 0x4B, 0x35, +0x5A, 0x00, 0xF4, 0xE7, 0xC0, 0x0E, 0x03, 0x85, 0x6D, 0x1D, 0xFA, 0x56, 0x19, 0xF3, 0x54, 0x8C, +0xF4, 0xCB, 0xD6, 0x12, 0x21, 0x75, 0x0D, 0x14, 0x00, 0xDE, 0x3D, 0x15, 0xEC, 0xAE, 0xFF, 0x11, +0x2E, 0xFF, 0x90, 0xEB, 0xFF, 0x38, 0x1A, 0x14, 0x40, 0xBB, 0x04, 0x3C, 0x58, 0x54, 0x95, 0x0A, +0xA2, 0xC3, 0x9A, 0xFB, 0x7F, 0x4B, 0x0F, 0x8B, 0x85, 0x7C, 0xF3, 0x7F, 0x85, 0x03, 0x34, 0x02, +0x14, 0xFC, 0xAB, 0x39, 0xC0, 0x25, 0x8B, 0x6F, 0x12, 0xE2, 0xFF, 0xE0, 0x93, 0x8E, 0x38, 0x14, +0x66, 0xC8, 0xFC, 0x1F, 0xD8, 0xD3, 0xB1, 0x5E, 0xFE, 0x55, 0x59, 0x00, 0xE4, 0xBB, 0xF2, 0x2E, +0x96, 0x7C, 0x4E, 0x9D, 0xCE, 0x7F, 0x2B, 0x0E, 0x50, 0xFA, 0x72, 0xFD, 0xEF, 0x36, 0x07, 0x28, +0x5D, 0x46, 0x39, 0x7C, 0x60, 0xDD, 0x64, 0xE3, 0xFF, 0xC2, 0x62, 0x03, 0x48, 0x29, 0x0F, 0x7F, +0x6D, 0x0A, 0xA2, 0xF5, 0xD3, 0xFE, 0x4E, 0x8E, 0x1B, 0x5F, 0xDF, 0xD5, 0x49, 0x88, 0x9A, 0x01, +0x30, 0x44, 0x3F, 0xFA, 0x92, 0x7E, 0x4C, 0x8A, 0xED, 0x51, 0x20, 0xD9, 0x8D, 0xF1, 0xE5, 0x28, +0x1B, 0xB3, 0x60, 0xC9, 0x87, 0x38, 0xCA, 0x0B, 0x00, 0xDB, 0x7B, 0x40, 0x70, 0xE7, 0x7A, 0x40, +0x47, 0x8E, 0x01, 0xE4, 0x68, 0xC9, 0x3F, 0x94, 0xA5, 0x82, 0x17, 0x03, 0x4A, 0xE5, 0x80, 0xF7, +0x20, 0xE0, 0xA1, 0xB3, 0xFE, 0xC7, 0x02, 0xE0, 0x45, 0xCD, 0x01, 0x5E, 0x14, 0x1B, 0x80, 0x6B, +0x0E, 0x70, 0xA9, 0x9B, 0x7F, 0xAD, 0x26, 0x10, 0xF0, 0x65, 0x08, 0x64, 0x19, 0x10, 0xC1, 0x3E, +0x1D, 0xD0, 0xBA, 0x23, 0x73, 0x80, 0x7C, 0xB7, 0x2C, 0xB1, 0xA2, 0x21, 0xDB, 0x82, 0x79, 0x30, +0x88, 0x21, 0xBA, 0x5C, 0x03, 0xD4, 0xC1, 0xBA, 0xFF, 0xBB, 0xA8, 0x39, 0x40, 0xCA, 0x01, 0xB5, +0xF9, 0xE5, 0x80, 0xE3, 0xFD, 0x1F, 0x1B, 0x40, 0x10, 0x2A, 0x01, 0xD8, 0xC2, 0x03, 0xAE, 0xB9, +0x3F, 0x1C, 0x20, 0x31, 0x9E, 0x7C, 0xCC, 0x7F, 0x1F, 0xC0, 0xFF, 0x21, 0x78, 0x57, 0x65, 0x60, +0x56, 0x07, 0x38, 0xD8, 0x56, 0x4F, 0x6E, 0xAA, 0x01, 0x1D, 0xFA, 0xB1, 0x23, 0x04, 0xFE, 0x35, +0xF5, 0x80, 0xF8, 0x3F, 0xDF, 0x03, 0x7A, 0xF2, 0xFD, 0x1F, 0x87, 0xCF, 0x3F, 0xBF, 0x00, 0xB0, +0x4C, 0x05, 0x07, 0xFC, 0x1F, 0x5B, 0x42, 0xDA, 0x17, 0x44, 0x23, 0xF9, 0x4B, 0x5E, 0x73, 0x80, +0xF9, 0x24, 0x18, 0x86, 0x94, 0x0E, 0x50, 0xA5, 0xF0, 0xD3, 0x54, 0x44, 0xCF, 0x25, 0x63, 0x15, +0xD4, 0x62, 0x53, 0x1C, 0xFE, 0x0F, 0xD8, 0xD9, 0x40, 0xD3, 0x20, 0x72, 0x88, 0xB2, 0x04, 0x08, +0x0B, 0x80, 0xB0, 0x10, 0xD9, 0xCD, 0x50, 0xCD, 0x00, 0x56, 0x1C, 0xA0, 0xF4, 0x99, 0xFF, 0xAB, +0x3B, 0x40, 0xCA, 0x01, 0x55, 0xC5, 0xD0, 0xF1, 0x7F, 0xF1, 0x0D, 0x20, 0x75, 0x15, 0xFC, 0x6B, +0xED, 0x01, 0xED, 0x93, 0xDE, 0x3B, 0x40, 0x22, 0xAE, 0xD1, 0x33, 0xDF, 0xF6, 0x0E, 0x10, 0xF7, +0x57, 0x73, 0x80, 0x5C, 0xDB, 0x43, 0x31, 0x73, 0xFC, 0xA9, 0xB8, 0xB6, 0x2B, 0xF6, 0x83, 0xB8, +0xCA, 0x0B, 0x00, 0x5B, 0x7B, 0x40, 0x50, 0xE7, 0x7A, 0x40, 0x4F, 0x5E, 0xFE, 0x97, 0xC3, 0xC1, +0x9F, 0x97, 0x00, 0xF6, 0x67, 0xC1, 0x8B, 0x61, 0x9D, 0x2D, 0xF6, 0xEF, 0x98, 0x0A, 0x3E, 0xBC, +0x6D, 0xBA, 0xC6, 0x0B, 0x36, 0x04, 0x7D, 0xB7, 0x38, 0x40, 0xED, 0x0D, 0x14, 0x14, 0x00, 0x16, +0x0E, 0xB0, 0xEF, 0x04, 0x7E, 0xE5, 0x06, 0x38, 0x86, 0x7A, 0xEA, 0x06, 0x37, 0x00, 0x14, 0xD8, +0x19, 0xEB, 0x64, 0x08, 0xF8, 0x54, 0xBF, 0x25, 0x3E, 0xB2, 0x00, 0x48, 0x22, 0xA5, 0x47, 0x21, +0x23, 0x08, 0x68, 0xFE, 0xAF, 0xEE, 0x00, 0x75, 0x94, 0x17, 0x00, 0x96, 0x0E, 0x90, 0xBE, 0xB2, +0x8D, 0xA6, 0xB6, 0x45, 0x6E, 0x64, 0x01, 0x34, 0x1B, 0x40, 0x6A, 0x3A, 0xC8, 0xF8, 0xD7, 0x8A, +0x80, 0x75, 0x07, 0x48, 0x38, 0xFA, 0x6F, 0xE6, 0xBF, 0x0C, 0x22, 0xE2, 0xFE, 0x2F, 0x43, 0x0E, +0x90, 0x89, 0x2F, 0x19, 0x0F, 0xC0, 0x97, 0x53, 0xD1, 0x1C, 0xE0, 0x13, 0x2C, 0xA0, 0x97, 0x0A, +0xD9, 0xF3, 0x63, 0x34, 0x01, 0xE1, 0x9C, 0x4F, 0xC0, 0x88, 0xF0, 0x7F, 0xEE, 0x31, 0x7E, 0x03, +0x30, 0x72, 0x3C, 0xE0, 0x41, 0xF5, 0xC3, 0x4F, 0x2A, 0x78, 0x7F, 0x7E, 0xDF, 0x62, 0x98, 0x62, +0xFA, 0xC6, 0x45, 0xCA, 0x7F, 0x38, 0x0E, 0xD0, 0x3C, 0xA0, 0x52, 0xA3, 0xEE, 0x00, 0xB5, 0xB3, +0x4D, 0x20, 0xC0, 0x8F, 0x4E, 0x4F, 0x5C, 0x67, 0xF3, 0x5F, 0xEB, 0xCB, 0x99, 0xB0, 0x8E, 0xCB, +0x02, 0x68, 0x3D, 0xD1, 0xF3, 0x2B, 0x02, 0x40, 0xEE, 0x00, 0x58, 0x73, 0x80, 0x1A, 0xF8, 0xBF, +0x01, 0x07, 0xA8, 0x01, 0xE5, 0x10, 0x8F, 0x94, 0xE2, 0x9A, 0x59, 0xF0, 0xE8, 0x0D, 0x20, 0xBE, +0x07, 0x3C, 0xA0, 0x00, 0xB0, 0x99, 0x07, 0x2C, 0x1D, 0x60, 0x26, 0xDB, 0x91, 0x91, 0x4F, 0x7F, +0xC3, 0x64, 0x8B, 0xB4, 0x78, 0x8C, 0x54, 0xB1, 0x1C, 0xA8, 0x9D, 0xE9, 0xDA, 0x4A, 0xA2, 0x05, +0x72, 0x75, 0x19, 0x0F, 0x9F, 0xA4, 0x16, 0xD3, 0x8B, 0xEE, 0x51, 0xE8, 0x4F, 0x9C, 0x90, 0x26, +0x3A, 0x8A, 0xC5, 0xD1, 0xD1, 0x0F, 0xE9, 0x06, 0xA8, 0xA9, 0x08, 0xC6, 0x6B, 0xEF, 0x8A, 0x04, +0x80, 0xEF, 0x7A, 0x21, 0xF8, 0xD3, 0xF5, 0xBF, 0x34, 0x70, 0x1A, 0x06, 0x30, 0xBE, 0x01, 0xD8, +0x0B, 0xDB, 0x12, 0xB2, 0xF0, 0x35, 0xF6, 0x29, 0x21, 0x40, 0xF0, 0x30, 0x32, 0xFF, 0x9D, 0x7A, +0x0E, 0x30, 0x9D, 0xA6, 0x4B, 0x2B, 0x00, 0x74, 0x42, 0xD6, 0x01, 0xF5, 0x09, 0x20, 0x65, 0x09, +0x60, 0xB1, 0x76, 0xA7, 0xA6, 0xEE, 0x1C, 0xD6, 0xC9, 0xC8, 0xAE, 0xCE, 0x99, 0x08, 0x2B, 0x03, +0x8B, 0x02, 0xE8, 0x6C, 0x3E, 0x6D, 0xA1, 0xB2, 0xFA, 0x97, 0x61, 0x07, 0xA8, 0x63, 0xFC, 0xDF, +0x80, 0x03, 0x54, 0x81, 0xB9, 0x48, 0x3A, 0x78, 0xEC, 0x06, 0x10, 0x5F, 0x07, 0x76, 0x03, 0x04, +0xD4, 0xA0, 0x18, 0xE6, 0x16, 0x07, 0x58, 0x37, 0x67, 0x75, 0xB7, 0xE6, 0xB8, 0xBA, 0x26, 0xE1, +0x0B, 0xB4, 0x5D, 0x4B, 0x92, 0xE3, 0xA7, 0xD4, 0x64, 0xBC, 0x16, 0x3F, 0xF5, 0xC7, 0x89, 0xC6, +0x75, 0x9A, 0xD8, 0x5E, 0x5F, 0x7F, 0xFF, 0x64, 0xE8, 0x48, 0xDF, 0x0D, 0xBC, 0x05, 0xF8, 0xF7, +0xC3, 0x93, 0x17, 0x3F, 0xBC, 0x90, 0xE6, 0xE9, 0x87, 0xB8, 0x8E, 0x24, 0xC2, 0x7A, 0xD7, 0xF0, +0xE7, 0x85, 0x6A, 0x3B, 0xD0, 0x46, 0x6F, 0x00, 0x89, 0x00, 0xF0, 0xA6, 0x00, 0xF0, 0xCC, 0x8B, +0x8D, 0xB3, 0x0F, 0x26, 0x61, 0xDD, 0x00, 0xF0, 0xB0, 0x34, 0x7F, 0x5C, 0xB2, 0x01, 0x0E, 0xE1, +0x00, 0x81, 0xC1, 0xCD, 0x24, 0x78, 0x6B, 0x8A, 0x9F, 0xAA, 0x04, 0xD5, 0x30, 0x41, 0xD9, 0x1D, +0xF0, 0x15, 0x7B, 0x1D, 0xF5, 0x6C, 0x43, 0x9C, 0x8C, 0xF4, 0xB2, 0x7B, 0xE9, 0x37, 0x0A, 0x60, +0x0A, 0x53, 0xD9, 0x8B, 0xCB, 0xA5, 0xF0, 0xCF, 0x75, 0x80, 0xD2, 0x5D, 0x68, 0xFD, 0xDF, 0x80, +0x03, 0xE4, 0xBA, 0x00, 0x1E, 0xA3, 0xB2, 0x1C, 0x70, 0x3E, 0x92, 0x7F, 0x67, 0x6E, 0x2C, 0xCA, +0x0D, 0x20, 0xAD, 0xCA, 0x01, 0xDF, 0xFA, 0x9C, 0x37, 0x78, 0x26, 0x08, 0x49, 0x90, 0xC6, 0xEA, +0x0D, 0xA9, 0xDF, 0xE2, 0x5A, 0x09, 0x02, 0x57, 0x27, 0x2B, 0x79, 0x1E, 0xC8, 0xAD, 0x87, 0x64, +0x49, 0x56, 0xDF, 0xA7, 0xE1, 0xEA, 0x7A, 0xA5, 0xB7, 0x81, 0x8E, 0xB4, 0x27, 0x5F, 0x7F, 0xFD, +0xE2, 0xEB, 0x60, 0xF7, 0x62, 0x2F, 0x16, 0x7B, 0x7B, 0x7A, 0x07, 0xAC, 0x80, 0xF6, 0xBE, 0xD9, +0x93, 0xFF, 0x95, 0x31, 0x6D, 0x0B, 0xD9, 0x5C, 0x7D, 0x33, 0x7A, 0x01, 0x70, 0xE3, 0xBD, 0x98, +0xD4, 0xFF, 0x6D, 0x44, 0xDA, 0xC1, 0x64, 0x77, 0x37, 0x35, 0x4F, 0xE2, 0x14, 0x77, 0xCB, 0xA5, +0xA9, 0xFA, 0xDA, 0x15, 0x7F, 0xDF, 0x8B, 0x2C, 0xB0, 0x8E, 0x19, 0x0A, 0xFF, 0x62, 0x92, 0x04, +0x48, 0x50, 0x32, 0x01, 0x7E, 0xA3, 0x9C, 0x4B, 0x03, 0x3D, 0xAB, 0x18, 0xBD, 0x35, 0xB8, 0xC2, +0xEB, 0x95, 0x09, 0x66, 0x0D, 0x32, 0x21, 0x4B, 0x5F, 0x56, 0x0C, 0x03, 0xE2, 0x2A, 0x0E, 0xD0, +0x44, 0x11, 0x91, 0xB3, 0x29, 0x78, 0x9C, 0xFF, 0x4B, 0xFF, 0xBA, 0x85, 0x3E, 0x02, 0x67, 0xF8, +0x3F, 0x47, 0xA3, 0xCA, 0x01, 0x65, 0x79, 0x87, 0x8F, 0xF9, 0x3B, 0x1F, 0xDD, 0x51, 0x9F, 0xA5, +0xC6, 0x30, 0xAC, 0x6F, 0x47, 0x7C, 0xE9, 0x18, 0xFD, 0x1E, 0x09, 0xF9, 0x3A, 0x55, 0x1A, 0xD7, +0x65, 0x5F, 0xF1, 0xEC, 0xD5, 0xEF, 0xB1, 0x78, 0xB6, 0x7A, 0xF5, 0xEA, 0xD5, 0x57, 0xAF, 0x56, +0x5F, 0x79, 0x9D, 0x7C, 0xD9, 0xC7, 0x5F, 0x05, 0xF5, 0xF1, 0xA3, 0xED, 0xED, 0x8F, 0x23, 0x4D, +0xBA, 0x9D, 0xED, 0xB0, 0xC2, 0x9F, 0x93, 0x9D, 0x9D, 0xF7, 0x76, 0xA2, 0x92, 0xCF, 0x60, 0x24, +0xD2, 0x56, 0x91, 0xFD, 0x45, 0x4C, 0x07, 0x8B, 0xF9, 0xD6, 0xE6, 0x3C, 0x26, 0x5C, 0x9D, 0xAF, +0xE9, 0xD3, 0x64, 0xED, 0x9C, 0xA6, 0x5F, 0xB4, 0xB5, 0x3C, 0x16, 0x3D, 0x3E, 0x76, 0xB5, 0x3C, +0xFE, 0xF5, 0xD7, 0x5F, 0x9F, 0xBF, 0x8E, 0xB4, 0xD3, 0x5F, 0x13, 0xFF, 0x7E, 0x79, 0x93, 0x94, +0xCE, 0x49, 0x32, 0x48, 0x21, 0x4D, 0x5F, 0xB7, 0xA1, 0xBE, 0x9A, 0xBE, 0x5E, 0x30, 0xE7, 0x46, +0x7A, 0x77, 0x7E, 0x4C, 0x4F, 0xCB, 0xFE, 0x37, 0xE8, 0x36, 0x21, 0xE5, 0x90, 0x36, 0x69, 0x49, +0xF3, 0x79, 0xF4, 0x61, 0xF5, 0xFB, 0x07, 0x8B, 0x98, 0xF6, 0x17, 0xE9, 0x23, 0x13, 0x54, 0xF4, +0xB3, 0x2A, 0x5F, 0x37, 0xDB, 0x9E, 0xA1, 0x77, 0xDE, 0xFF, 0xF6, 0xA3, 0xB5, 0x78, 0xDF, 0x28, +0xF5, 0xBE, 0x8F, 0x40, 0x8D, 0x90, 0xEC, 0x5B, 0xDA, 0xFB, 0x79, 0xF1, 0x7E, 0x8A, 0xB0, 0x9E, +0x7D, 0xF9, 0x2C, 0x75, 0xA1, 0xF6, 0xC9, 0xB3, 0x6F, 0x53, 0xA4, 0x36, 0x1C, 0xD2, 0xE2, 0x7A, +0xF5, 0xF9, 0x2B, 0x47, 0x9F, 0xDF, 0x0C, 0xBE, 0x7A, 0x14, 0x8A, 0xA4, 0x47, 0xDB, 0x8F, 0x3E, +0xF6, 0x5A, 0xC2, 0xA4, 0xC4, 0x4E, 0x3C, 0xE2, 0x7A, 0x6F, 0x84, 0x76, 0x42, 0x91, 0xDA, 0xC6, +0xFE, 0xFE, 0xFE, 0x22, 0x14, 0xFB, 0xF3, 0x20, 0xD2, 0x3A, 0xFC, 0x3D, 0x8D, 0x1D, 0x4F, 0x9F, +0x4E, 0x43, 0x7A, 0x3A, 0x15, 0xA4, 0x7C, 0x7A, 0x2C, 0xDD, 0x60, 0xD3, 0x5B, 0x43, 0xBF, 0xFE, +0x35, 0xAA, 0x97, 0x6F, 0xFE, 0xFE, 0xD3, 0x98, 0xD7, 0x85, 0x8D, 0xA4, 0x31, 0x92, 0xE3, 0x65, +0xF8, 0xBB, 0xBE, 0x3E, 0x3D, 0x95, 0x1F, 0xD4, 0x6F, 0xA7, 0xC7, 0x8F, 0x97, 0xD3, 0xA8, 0x9E, +0x3E, 0x8D, 0xFE, 0xB1, 0x26, 0x6D, 0x06, 0x42, 0x34, 0x9F, 0xC8, 0xFF, 0xDB, 0x90, 0x30, 0x80, +0x2D, 0xB5, 0x93, 0xE9, 0x9D, 0xC2, 0x92, 0x09, 0x7E, 0x22, 0x0E, 0xD0, 0x1A, 0x04, 0x6C, 0x6A, +0x02, 0xBF, 0x1D, 0xA7, 0x1E, 0x5C, 0x81, 0x26, 0x1A, 0xC2, 0x1B, 0x5F, 0x90, 0x3C, 0x60, 0x3A, +0xFC, 0xF6, 0x6A, 0x84, 0x92, 0x0F, 0x8C, 0x29, 0xA1, 0x2D, 0x01, 0x4E, 0xE3, 0xD1, 0x60, 0x13, +0x0C, 0x6E, 0x6F, 0x2B, 0x04, 0x03, 0x4D, 0x11, 0x38, 0x0B, 0x45, 0x52, 0x94, 0x6B, 0x72, 0xF8, +0x52, 0xFE, 0x45, 0x09, 0xF8, 0xE3, 0x24, 0xE5, 0x81, 0xB7, 0xB6, 0x64, 0x75, 0xC9, 0x6B, 0x41, +0x4E, 0xF6, 0x98, 0x8C, 0x02, 0x70, 0xF9, 0x78, 0x19, 0x75, 0x55, 0xA7, 0xAF, 0x4F, 0x5F, 0x47, +0xF9, 0x97, 0x24, 0x8C, 0x2B, 0x83, 0xD6, 0x5D, 0xFF, 0xFD, 0xE6, 0x8F, 0x97, 0x57, 0x61, 0xFE, +0xBD, 0x16, 0x00, 0x46, 0x94, 0x7E, 0x57, 0x8F, 0xA7, 0x31, 0x09, 0xD8, 0xE2, 0x0A, 0x19, 0x40, +0xE1, 0xDF, 0x64, 0x12, 0xFB, 0xF7, 0x6F, 0xA1, 0xCB, 0xC6, 0x71, 0xED, 0xC4, 0x42, 0x34, 0x23, +0xDE, 0xB9, 0xC5, 0x7D, 0xC5, 0xA4, 0xEC, 0xFB, 0x10, 0x07, 0x38, 0x06, 0x81, 0xD1, 0x08, 0x2B, +0xC2, 0x3E, 0x63, 0x64, 0xC8, 0x01, 0xC2, 0x37, 0xA7, 0xE9, 0x4C, 0x39, 0xCA, 0x40, 0xA1, 0xDF, +0x2B, 0x81, 0xDB, 0x57, 0x5E, 0x88, 0x0B, 0x14, 0xBC, 0x6D, 0x6F, 0x0F, 0x3A, 0x40, 0x09, 0x55, +0x10, 0x7F, 0x8F, 0x66, 0x12, 0x31, 0xFE, 0x85, 0x09, 0x88, 0x02, 0x4B, 0x80, 0x41, 0x02, 0x2E, +0x84, 0x7F, 0x93, 0x04, 0xB7, 0x4D, 0x57, 0x23, 0x01, 0x18, 0x22, 0x60, 0xFA, 0x9A, 0xC7, 0x71, +0x02, 0xBE, 0x4E, 0xF8, 0x79, 0x1D, 0xE1, 0x94, 0xF2, 0xEF, 0x4A, 0x3C, 0x20, 0xE4, 0xAB, 0x70, +0xF0, 0xCF, 0x97, 0x57, 0xF2, 0xC5, 0x21, 0xFE, 0x3D, 0x3F, 0x3D, 0x8D, 0x12, 0xF0, 0xF1, 0xF4, +0xF1, 0xE3, 0x65, 0x8C, 0x80, 0x6A, 0xFF, 0xC6, 0x68, 0x1E, 0x41, 0xE0, 0x44, 0x14, 0x02, 0xE0, +0x46, 0xBA, 0xB3, 0xE4, 0x46, 0x63, 0x00, 0x0A, 0xFF, 0x72, 0x02, 0x0A, 0x00, 0x1D, 0x39, 0x0E, +0x10, 0x35, 0xF4, 0x80, 0xED, 0x11, 0x48, 0x0B, 0x38, 0xC0, 0x51, 0xFC, 0x1B, 0x41, 0xC0, 0x84, +0xBF, 0x14, 0xCA, 0x37, 0xA7, 0x25, 0xFA, 0x49, 0x13, 0xBE, 0x55, 0xBD, 0x9F, 0xF1, 0x51, 0x43, +0x9A, 0x4F, 0x40, 0x8D, 0x28, 0xFF, 0x94, 0x80, 0x2D, 0x01, 0x68, 0xCF, 0x37, 0x74, 0x01, 0x98, +0xFC, 0x9F, 0x02, 0x70, 0x92, 0x2C, 0x43, 0x5B, 0xFE, 0x05, 0x11, 0xF8, 0x54, 0x39, 0x11, 0x24, +0x60, 0x9A, 0x7F, 0x4A, 0x8B, 0xF9, 0x3F, 0x25, 0xE0, 0x9B, 0x92, 0x7B, 0x6B, 0x14, 0xFC, 0xFB, +0x8D, 0x7E, 0x65, 0xC8, 0x03, 0xF6, 0xEF, 0x1F, 0xF4, 0x7F, 0xFA, 0xDB, 0x8A, 0xF1, 0x4F, 0x5B, +0x58, 0x6A, 0xD7, 0x87, 0x9B, 0xFA, 0x3F, 0xF9, 0x5F, 0xBB, 0x70, 0xF1, 0xB7, 0xCF, 0x7D, 0x50, +0x5B, 0x22, 0xD0, 0x84, 0x03, 0x2C, 0x0C, 0x59, 0x4C, 0x6A, 0xFF, 0x52, 0x53, 0x02, 0xFE, 0x2F, +0x3C, 0x60, 0x14, 0x7F, 0xDA, 0x79, 0x16, 0x10, 0xBC, 0x05, 0xFC, 0x9F, 0xE8, 0x59, 0x7C, 0xFE, +0x9B, 0xCE, 0x6A, 0x01, 0x07, 0x9B, 0x20, 0x50, 0x8F, 0x61, 0x07, 0x28, 0x08, 0x7C, 0xD4, 0x45, +0x08, 0x7F, 0x51, 0x04, 0xA2, 0x06, 0xF8, 0x63, 0xFE, 0xDB, 0xE9, 0x0B, 0xCF, 0x03, 0xFE, 0xC8, +0x0D, 0x61, 0x94, 0x80, 0xF3, 0x2E, 0x6E, 0x1D, 0x6C, 0xA1, 0x00, 0xFE, 0xAC, 0xF9, 0xFE, 0xCF, +0x50, 0x71, 0x1A, 0xE0, 0xDF, 0xF3, 0x20, 0x01, 0x05, 0x69, 0xE9, 0xF8, 0xE3, 0x2A, 0x01, 0x0E, +0xDA, 0x15, 0xA1, 0xBF, 0xFA, 0xD2, 0x14, 0xF0, 0x7F, 0xAF, 0xD3, 0xCF, 0x20, 0xE1, 0xCD, 0xD4, +0x8F, 0xD3, 0xEC, 0x37, 0x0A, 0xC0, 0xAD, 0xBB, 0x00, 0xD0, 0x51, 0xE2, 0x9F, 0xC9, 0x05, 0xE0, +0x99, 0xF8, 0xBF, 0x91, 0x04, 0xF4, 0xFD, 0x1F, 0x6A, 0xE3, 0x00, 0x51, 0x4B, 0x0F, 0x78, 0x37, +0x04, 0xC6, 0xD6, 0x00, 0x49, 0x71, 0x34, 0xB1, 0x7F, 0xC2, 0x3F, 0x3B, 0x5C, 0x29, 0xFD, 0x52, +0x88, 0x1E, 0x09, 0xE7, 0xAA, 0x06, 0x50, 0xED, 0x9F, 0x12, 0xD0, 0x71, 0x80, 0x8F, 0xE0, 0x9F, +0xBB, 0x0E, 0x78, 0x37, 0x00, 0x86, 0xF9, 0xB7, 0x13, 0xE3, 0x9F, 0x5A, 0xC0, 0x33, 0xCF, 0x03, +0x0A, 0xFF, 0x20, 0x60, 0x5B, 0xFF, 0xE7, 0x67, 0x42, 0x9E, 0x76, 0x98, 0x08, 0x4D, 0x82, 0x85, +0x7D, 0x72, 0x24, 0x3D, 0x77, 0xE6, 0xBF, 0x7F, 0xBC, 0xBC, 0x11, 0xAC, 0xAB, 0xC4, 0x55, 0x6F, +0x16, 0x03, 0x04, 0xB4, 0xB7, 0x4F, 0x9D, 0xF3, 0xA3, 0x76, 0xBF, 0x25, 0x10, 0xE8, 0xFB, 0xBF, +0xF1, 0x04, 0x9C, 0xD7, 0x5A, 0xC6, 0xBF, 0xDD, 0x61, 0x0F, 0x28, 0xFC, 0x63, 0x2B, 0x5C, 0x5C, +0x3E, 0x00, 0x91, 0x39, 0xC0, 0x6F, 0xEF, 0x61, 0x00, 0x55, 0xFF, 0x1F, 0x0B, 0x18, 0x9E, 0x06, +0x3B, 0x0E, 0x30, 0x87, 0xDC, 0xAB, 0x61, 0x06, 0xAA, 0xFB, 0xD3, 0x3E, 0xC0, 0x3F, 0x63, 0x60, +0x37, 0x09, 0xAE, 0x1B, 0xC0, 0x1B, 0xFF, 0x97, 0x46, 0xDB, 0xB7, 0x7B, 0x3F, 0x8B, 0x0C, 0x81, +0xDE, 0xFA, 0x1F, 0xE1, 0xF1, 0x0F, 0xB5, 0xF5, 0x7F, 0x10, 0x70, 0xC0, 0xFF, 0xED, 0x4F, 0x10, +0x04, 0x64, 0xBB, 0x07, 0x03, 0xF8, 0x17, 0xC2, 0x1F, 0xCD, 0x4B, 0x80, 0x40, 0x0A, 0x3F, 0x01, +0xA2, 0x4D, 0x3B, 0xDF, 0xFF, 0x99, 0xC4, 0xE4, 0x0D, 0xFB, 0x3F, 0xE4, 0xF2, 0x4F, 0x1D, 0xA0, +0x47, 0xC0, 0xF4, 0x6B, 0xC6, 0x3F, 0x69, 0x1E, 0xFF, 0xEE, 0x4A, 0xC0, 0xBA, 0xB6, 0x36, 0xDF, +0xDE, 0x0C, 0xE7, 0x27, 0x40, 0x44, 0x2D, 0x3D, 0xA0, 0xF0, 0xAF, 0x24, 0xE0, 0x3D, 0xEA, 0x00, +0x9B, 0x58, 0x40, 0x1F, 0x8E, 0xED, 0x12, 0xC1, 0xB4, 0x66, 0x0E, 0x10, 0xFA, 0xB9, 0xEB, 0x80, +0x42, 0x3E, 0xA5, 0x9F, 0x76, 0x1D, 0xFE, 0x1E, 0xE9, 0x51, 0xB4, 0x9E, 0x7E, 0xD2, 0xAA, 0xB9, +0x60, 0x0D, 0x01, 0x60, 0x03, 0x0B, 0xE8, 0x00, 0xB0, 0x0D, 0x01, 0xF3, 0x47, 0x22, 0x2D, 0x86, +0x3C, 0xA0, 0xAC, 0xFF, 0xA1, 0xCD, 0x2D, 0xEE, 0xB9, 0x94, 0x0F, 0xF0, 0x7F, 0xA3, 0x09, 0x38, +0x1D, 0x92, 0x10, 0xC2, 0x62, 0xFA, 0xD8, 0xE1, 0x9F, 0xF2, 0x47, 0x10, 0x94, 0x34, 0x48, 0x2A, +0xE1, 0x1F, 0x1A, 0xC8, 0x82, 0xC0, 0xBF, 0xFE, 0x3F, 0x79, 0xED, 0xF9, 0x3F, 0x91, 0x3F, 0x09, +0x96, 0xDF, 0x16, 0x0C, 0x7C, 0x1A, 0xF3, 0x7F, 0xE3, 0x01, 0x38, 0xAF, 0x1C, 0xCA, 0x3F, 0x14, +0xE2, 0x5F, 0xDB, 0x59, 0x30, 0x02, 0x80, 0xB9, 0x03, 0x1C, 0x8B, 0xC0, 0xFF, 0x9B, 0x07, 0x8C, +0x2F, 0x03, 0xFA, 0x2B, 0x80, 0x91, 0x75, 0xC0, 0x7C, 0x06, 0xFC, 0x6C, 0x98, 0x7F, 0x38, 0xC0, +0xD4, 0x56, 0x6A, 0xF4, 0x56, 0xCA, 0xC1, 0x22, 0x6C, 0xFE, 0xDB, 0x1D, 0x5A, 0x10, 0x5D, 0xAE, +0xFE, 0x69, 0x53, 0xE8, 0x81, 0xC0, 0x99, 0x87, 0x3F, 0xC2, 0xC3, 0x1F, 0x6A, 0x63, 0x00, 0x37, +0x4C, 0x10, 0xB0, 0xEA, 0xFF, 0x76, 0x27, 0x99, 0x36, 0xAB, 0x16, 0x70, 0xBC, 0x01, 0xA4, 0x39, +0xFE, 0xCF, 0x42, 0xD2, 0xA6, 0xA7, 0x43, 0xFC, 0x53, 0x02, 0x3E, 0xEF, 0x3C, 0xD8, 0xA9, 0xCB, +0x3F, 0x94, 0xF2, 0x1C, 0x35, 0x03, 0xF8, 0x0F, 0x77, 0x67, 0x8C, 0xF3, 0x34, 0x10, 0x44, 0xE1, +0x1B, 0x20, 0x20, 0x42, 0x31, 0x1D, 0x12, 0x05, 0x88, 0x0E, 0x2A, 0x2E, 0x40, 0xE7, 0x22, 0x07, +0x08, 0x39, 0x01, 0xE2, 0x0E, 0x1C, 0x80, 0x32, 0x0D, 0x91, 0x10, 0x15, 0x42, 0x4A, 0x83, 0x04, +0x07, 0x64, 0x67, 0xEC, 0xE1, 0xC3, 0xD9, 0xAC, 0x67, 0x1C, 0x26, 0x40, 0x78, 0xB3, 0x5E, 0x3B, +0x80, 0x20, 0x40, 0xFE, 0x8F, 0xB7, 0x3B, 0x33, 0xCB, 0xFE, 0x44, 0x2E, 0xFF, 0x76, 0x6F, 0x47, +0x04, 0x1F, 0xE7, 0x13, 0xC0, 0xFC, 0xB6, 0xCA, 0x70, 0xFD, 0x1F, 0x23, 0x2E, 0xFB, 0xEB, 0xA9, +0xEF, 0xAB, 0xD3, 0x03, 0x11, 0x5C, 0xFE, 0xA1, 0x0C, 0x00, 0xC2, 0xBF, 0xDA, 0x01, 0xC2, 0xA4, +0x3F, 0xA8, 0xD7, 0x51, 0x30, 0xA2, 0xC4, 0x6D, 0xC0, 0x1C, 0xFF, 0x37, 0x4A, 0x1E, 0x84, 0x82, +0x7E, 0xFE, 0x57, 0x67, 0xB6, 0x01, 0x95, 0x7E, 0x95, 0xFF, 0x1B, 0xB0, 0x07, 0x04, 0x05, 0x75, +0x16, 0x38, 0x40, 0x99, 0x4F, 0xA3, 0xED, 0x01, 0x2F, 0x01, 0x20, 0x04, 0xCC, 0x48, 0x00, 0x07, +0x09, 0xF8, 0x46, 0xF9, 0x37, 0x95, 0x26, 0x18, 0x81, 0x9F, 0xCD, 0x24, 0x40, 0x96, 0x03, 0xB0, +0x4D, 0x40, 0xF6, 0xFF, 0xF0, 0x80, 0x6F, 0xDB, 0xFC, 0x63, 0x05, 0xAA, 0x0A, 0xF3, 0xEF, 0xD0, +0xF4, 0x80, 0xF0, 0x8F, 0x1F, 0x3C, 0xCF, 0x3F, 0x65, 0xB0, 0x4C, 0x25, 0x9C, 0x02, 0x98, 0x88, +0x07, 0x84, 0x7F, 0x8C, 0xB8, 0xCE, 0xD2, 0x0F, 0xFE, 0xF9, 0x04, 0x84, 0x7F, 0xB9, 0xDB, 0x80, +0x95, 0x2A, 0x07, 0xB8, 0xD8, 0xFE, 0xFD, 0x7B, 0x16, 0x30, 0x9E, 0x08, 0x76, 0xFC, 0x9F, 0x67, +0x01, 0xF1, 0x7F, 0x5C, 0x73, 0x08, 0x7C, 0x85, 0x03, 0x34, 0x0E, 0xAA, 0xD9, 0xAB, 0x2D, 0xA0, +0x51, 0x4F, 0x6E, 0xC6, 0x42, 0xE5, 0x9D, 0xF9, 0x40, 0x02, 0xEE, 0xF1, 0xE4, 0x6D, 0x00, 0x12, +0x1E, 0xFF, 0x50, 0x4E, 0x01, 0x60, 0x4D, 0xC0, 0xF9, 0x04, 0x30, 0xEA, 0xEE, 0xAE, 0x58, 0xFD, +0x32, 0x5F, 0xC6, 0x3F, 0xC6, 0xEC, 0x02, 0x98, 0x68, 0x13, 0x50, 0x89, 0x03, 0x03, 0x15, 0x44, +0x2E, 0xFF, 0x20, 0x20, 0xDB, 0x80, 0x0D, 0xFF, 0x87, 0xDA, 0x05, 0xD0, 0x9B, 0x23, 0xF0, 0x9B, +0x2B, 0x07, 0xE4, 0xF7, 0xE3, 0xEE, 0x03, 0xAE, 0x7E, 0x0B, 0x80, 0x15, 0xFC, 0x54, 0x2B, 0xFE, +0x56, 0x21, 0x60, 0x03, 0x80, 0xF0, 0x2F, 0x6F, 0x11, 0x0C, 0xFF, 0x90, 0xBB, 0x07, 0xE8, 0x23, +0x30, 0x5F, 0x7F, 0xAE, 0x20, 0xFA, 0x77, 0xFD, 0xDF, 0xE0, 0xFB, 0x58, 0xFD, 0x42, 0xC0, 0x86, +0x01, 0x94, 0xB0, 0x49, 0xAF, 0x42, 0xB7, 0xDA, 0x02, 0x8E, 0xD6, 0x6F, 0xBA, 0x0A, 0xA6, 0xEF, +0x97, 0x80, 0x7F, 0x84, 0xA0, 0xD0, 0x35, 0x80, 0x84, 0xC3, 0x3F, 0x14, 0xE6, 0xDF, 0x3A, 0xC8, +0xBF, 0x66, 0x41, 0xB4, 0xF0, 0xAF, 0x56, 0xC7, 0xF6, 0x7A, 0xAF, 0xD3, 0xA5, 0x09, 0x60, 0x06, +0xA9, 0xE0, 0x56, 0x02, 0x98, 0x28, 0x04, 0x6C, 0xFA, 0xBF, 0x71, 0xFD, 0xB9, 0x1B, 0x30, 0xD4, +0x2A, 0x88, 0xDE, 0x23, 0x08, 0x78, 0x38, 0x5F, 0x0C, 0xB3, 0x0F, 0x13, 0xF0, 0xA8, 0x08, 0x96, +0x3A, 0x9C, 0xCD, 0x40, 0x3F, 0x8D, 0x46, 0x01, 0x60, 0x1D, 0x0D, 0x0F, 0xB8, 0x72, 0x00, 0xE8, +0xCA, 0xFE, 0x8A, 0xEC, 0x4E, 0x01, 0xA0, 0x4B, 0x40, 0xF8, 0x97, 0xED, 0x01, 0xCF, 0x6A, 0xEA, +0x00, 0x13, 0x94, 0x6D, 0x01, 0xF3, 0x09, 0xE8, 0x18, 0x40, 0x00, 0xE7, 0x7A, 0x40, 0x6A, 0x5F, +0xE4, 0xCE, 0x75, 0x16, 0x7F, 0x95, 0x03, 0x2C, 0xE3, 0xC3, 0xD8, 0xF2, 0x51, 0xF9, 0x3F, 0x2E, +0x1E, 0xD9, 0xF9, 0x63, 0xDC, 0x23, 0x08, 0xDF, 0xFF, 0x11, 0x1E, 0xFF, 0x50, 0x82, 0xFF, 0x73, +0x09, 0x48, 0x03, 0x48, 0x9B, 0x80, 0xA8, 0x5F, 0x42, 0xBF, 0xBB, 0x7C, 0x25, 0x4F, 0xC6, 0xEC, +0xFE, 0x1F, 0x51, 0x46, 0xC3, 0xFF, 0x61, 0xBC, 0x86, 0x5C, 0x88, 0x4C, 0x9E, 0xFF, 0x43, 0xDF, +0x5D, 0xFE, 0xA1, 0xB3, 0xFE, 0x0F, 0xF3, 0x29, 0xB1, 0x1B, 0x73, 0x21, 0xCE, 0xFA, 0x97, 0xC0, +0x03, 0x36, 0xF8, 0x97, 0x92, 0x0A, 0xA6, 0x00, 0xA6, 0xD6, 0x39, 0xFE, 0xF1, 0x71, 0x49, 0xF3, +0x80, 0xF0, 0xAF, 0x06, 0x20, 0x34, 0xFA, 0x17, 0x94, 0x40, 0xC0, 0x78, 0x4B, 0xDC, 0xEF, 0x6E, +0x00, 0x4E, 0xA8, 0x07, 0x0B, 0x11, 0x00, 0xAC, 0x1D, 0xA0, 0xDE, 0xEE, 0x09, 0xFE, 0x26, 0xFE, +0x0F, 0xF2, 0x4D, 0x19, 0x68, 0x79, 0x5F, 0xF6, 0xFF, 0x26, 0xD4, 0x73, 0x72, 0xC1, 0x8D, 0x88, +0xF3, 0x4F, 0xCE, 0x7B, 0x8E, 0xF1, 0x6F, 0xDD, 0x2E, 0x80, 0xF1, 0x09, 0xF8, 0xA6, 0x79, 0x10, +0x74, 0x4F, 0x2E, 0x38, 0xC5, 0xFF, 0xE9, 0x78, 0x3E, 0xE7, 0xFF, 0x88, 0xF3, 0xFB, 0x80, 0x23, +0xFB, 0x76, 0x56, 0x82, 0x22, 0x2E, 0x50, 0x75, 0xF4, 0xFC, 0x1F, 0x50, 0x6B, 0x17, 0xC0, 0xD4, +0x3A, 0xDF, 0x00, 0xA2, 0x93, 0xC8, 0xDE, 0x89, 0x44, 0xB3, 0x01, 0xA4, 0x0E, 0x27, 0x01, 0xCC, +0x58, 0xDC, 0x12, 0x82, 0x01, 0x6C, 0xF3, 0xAF, 0x3F, 0xFD, 0x17, 0x10, 0xFF, 0x97, 0xEB, 0x01, +0x9B, 0xC2, 0x01, 0xC6, 0x74, 0x0B, 0x1E, 0x70, 0x41, 0x2E, 0xF8, 0x24, 0x66, 0x79, 0x77, 0xBE, +0x03, 0x98, 0x19, 0x18, 0xD6, 0xFE, 0xAF, 0x76, 0x80, 0x36, 0x24, 0xE5, 0xEB, 0x19, 0xC0, 0xD1, +0x03, 0x8E, 0x6D, 0xC1, 0xAC, 0x7F, 0x5B, 0x08, 0xF4, 0xFD, 0x1F, 0xE1, 0xF3, 0x8F, 0x4C, 0xC8, +0xE5, 0x05, 0x80, 0x41, 0x02, 0x52, 0x00, 0xDD, 0x20, 0xA0, 0xE9, 0xF2, 0x02, 0x18, 0x46, 0x5D, +0x10, 0x5D, 0x5E, 0x34, 0x30, 0x01, 0x01, 0x91, 0xB2, 0xCE, 0xAC, 0xDF, 0x68, 0xC5, 0xC6, 0xD7, +0x55, 0x03, 0x30, 0x42, 0xEA, 0x0A, 0xAB, 0x96, 0x90, 0x7D, 0x5B, 0x75, 0x03, 0xB0, 0xE5, 0x3E, +0x88, 0xB1, 0x2D, 0xAF, 0x95, 0x00, 0xAE, 0xC9, 0x5E, 0xF3, 0x2F, 0x05, 0x80, 0x6C, 0x57, 0xC0, +0x3F, 0x84, 0xBA, 0x53, 0x00, 0x3E, 0x91, 0x06, 0x90, 0x20, 0x01, 0xD7, 0x61, 0x02, 0xB6, 0x55, +0x1C, 0xE0, 0xBF, 0x23, 0x07, 0x81, 0xD7, 0xCE, 0x05, 0xFB, 0x4D, 0x1F, 0xBC, 0x60, 0xE5, 0x0B, +0xF8, 0xCC, 0x04, 0xD6, 0x00, 0x6C, 0x3A, 0xC0, 0x0F, 0xBA, 0x0D, 0x48, 0x03, 0xF0, 0xBD, 0x06, +0xFD, 0xE4, 0xC2, 0xFB, 0x61, 0xFF, 0x08, 0xA2, 0xF2, 0x80, 0xB3, 0xE1, 0xF3, 0x0F, 0x02, 0x06, +0xF1, 0xB7, 0x76, 0xD7, 0xBF, 0x7C, 0xA4, 0x27, 0x2D, 0x21, 0xEF, 0x48, 0x00, 0xA3, 0xAA, 0x20, +0xBA, 0xBF, 0xB0, 0xFE, 0xC5, 0xDB, 0x07, 0xA4, 0x01, 0xB8, 0x11, 0x27, 0x0D, 0x70, 0x06, 0x1C, +0xAD, 0x42, 0x31, 0xFC, 0x50, 0x0E, 0x88, 0xBE, 0xEC, 0x67, 0xE4, 0xAF, 0x7F, 0xA1, 0x65, 0x9D, +0x00, 0x1E, 0x80, 0x27, 0xD3, 0xCE, 0xDE, 0x89, 0x72, 0x78, 0x4A, 0x6A, 0xFC, 0x5F, 0x1D, 0x8F, +0x6B, 0xFF, 0x97, 0x43, 0xC0, 0x7E, 0x72, 0x00, 0x4C, 0x43, 0xB4, 0x84, 0xD0, 0x00, 0xD2, 0x16, +0x9F, 0x2C, 0x57, 0x2E, 0xFF, 0x00, 0x60, 0x82, 0x01, 0xCC, 0x82, 0xDE, 0x5F, 0x68, 0x09, 0xF1, +0xF7, 0xFF, 0x18, 0x53, 0x02, 0x52, 0xFF, 0x3C, 0x82, 0xAF, 0xB5, 0x0D, 0xF8, 0xAA, 0xE9, 0x00, +0xF5, 0xE2, 0xF8, 0x97, 0x4F, 0xAD, 0xE5, 0xAF, 0x11, 0x90, 0x24, 0x70, 0x41, 0xE0, 0x5C, 0x00, +0xBF, 0x7B, 0x8B, 0x08, 0xE8, 0xE8, 0x22, 0xFF, 0x07, 0x00, 0x11, 0x12, 0x02, 0x56, 0x0D, 0x20, +0x0E, 0x01, 0xE1, 0xDF, 0x62, 0xFC, 0x39, 0xC5, 0x30, 0x4D, 0xF8, 0xD5, 0x6D, 0xC1, 0x0A, 0x3A, +0x01, 0x8E, 0xB1, 0x6F, 0x37, 0xBC, 0xAA, 0xCA, 0x01, 0x8F, 0x03, 0xBD, 0x2A, 0x51, 0x0E, 0xE8, +0xAC, 0x7F, 0xD1, 0x97, 0xAA, 0x01, 0x44, 0x7E, 0x41, 0x63, 0x9F, 0xBE, 0x13, 0x7B, 0xA8, 0x1B, +0x40, 0x08, 0x82, 0x62, 0x18, 0xF8, 0x97, 0x44, 0xC0, 0xAA, 0x01, 0xA4, 0x09, 0xC0, 0x49, 0x03, +0xF0, 0x9D, 0xF9, 0x4F, 0xCB, 0x75, 0x00, 0xF8, 0xAF, 0x6C, 0x00, 0x26, 0x16, 0xC3, 0xBC, 0x08, +0x8F, 0xCB, 0x0B, 0x00, 0xC9, 0xFF, 0x42, 0xC1, 0xBA, 0x18, 0x46, 0x49, 0xD7, 0x76, 0x80, 0x62, +0xFF, 0x6C, 0x34, 0xF0, 0xC7, 0x93, 0xD8, 0x3F, 0x12, 0x20, 0xCD, 0x20, 0x15, 0x2C, 0x95, 0xD1, +0x6B, 0x2F, 0x16, 0x00, 0xD0, 0x27, 0x60, 0x7C, 0xFD, 0x4B, 0x53, 0x5C, 0xC4, 0xFF, 0xD1, 0x12, +0x02, 0xFF, 0x72, 0x08, 0x38, 0xE1, 0x5F, 0xE5, 0x94, 0x5A, 0x2D, 0x21, 0x9A, 0x72, 0x38, 0x52, +0x7D, 0xC2, 0x4E, 0x60, 0xE5, 0x01, 0xF7, 0xF3, 0x3A, 0x48, 0xE7, 0x87, 0x86, 0xC3, 0xBF, 0x03, +0x2D, 0x21, 0x34, 0x80, 0x50, 0x07, 0x83, 0x15, 0xDD, 0xC9, 0xF3, 0xA4, 0x01, 0xC4, 0x27, 0x20, +0xFC, 0xCB, 0xF0, 0x80, 0x74, 0x05, 0xC3, 0xBF, 0xB6, 0xAA, 0x02, 0xC0, 0x0C, 0x0F, 0xE8, 0xF1, +0x0F, 0x00, 0xFE, 0x75, 0xFC, 0xBD, 0x0E, 0x46, 0xE6, 0x36, 0x20, 0x83, 0x58, 0x76, 0x02, 0x60, +0x7D, 0x0D, 0x93, 0xDD, 0xE0, 0x5F, 0xC3, 0x01, 0x1A, 0x01, 0x3F, 0xD1, 0xFF, 0xD1, 0xF2, 0x7E, +0x93, 0x83, 0x11, 0x64, 0x12, 0xC4, 0x39, 0xE1, 0x6D, 0x00, 0x12, 0xF0, 0xCF, 0x53, 0x4A, 0x02, +0xB8, 0x55, 0x10, 0x4D, 0x03, 0xDC, 0x1C, 0x01, 0x13, 0x0D, 0x20, 0x1E, 0x10, 0xFE, 0x29, 0x12, +0xDA, 0x71, 0xDA, 0x00, 0x07, 0x7B, 0x40, 0x1F, 0x1E, 0x90, 0x0E, 0xE0, 0x79, 0xAE, 0x0D, 0xDB, +0x80, 0x65, 0xEC, 0x5D, 0x9D, 0x24, 0x80, 0xD5, 0x79, 0xB2, 0xF2, 0xB5, 0x37, 0xA1, 0xA3, 0xB9, +0xFF, 0xD7, 0xDE, 0x07, 0x5C, 0x25, 0x02, 0x90, 0x82, 0x68, 0xFF, 0xFF, 0xC8, 0x74, 0xF9, 0x87, +0xE0, 0x5B, 0x9C, 0x80, 0x0E, 0x00, 0xFF, 0x0D, 0xF7, 0x17, 0xE3, 0xE0, 0x55, 0x16, 0xC1, 0xCB, +0x4F, 0x80, 0x81, 0x72, 0x74, 0xC0, 0xA9, 0xF5, 0x83, 0x81, 0x26, 0xE0, 0x57, 0x39, 0x40, 0xCA, +0x01, 0x75, 0x00, 0xBB, 0x09, 0xF4, 0x26, 0x4C, 0x14, 0xF8, 0xA9, 0x0B, 0xD4, 0xD1, 0x0E, 0x3C, +0x60, 0x20, 0xC2, 0xFC, 0xC3, 0x03, 0xE6, 0xF0, 0x0F, 0x02, 0xD2, 0x00, 0xEC, 0x12, 0x30, 0xCD, +0x00, 0x32, 0x9E, 0x5B, 0x01, 0x0C, 0xFC, 0x6B, 0x7B, 0xC0, 0xB7, 0xC6, 0x3F, 0xAB, 0x3B, 0xD9, +0x95, 0xA1, 0xE8, 0x33, 0xFB, 0x35, 0x42, 0xC8, 0x12, 0x20, 0xE0, 0xAF, 0xA9, 0xD1, 0x02, 0x7A, +0x00, 0x3C, 0xC8, 0xF8, 0xA8, 0x52, 0xFA, 0xB1, 0xF3, 0x27, 0xC3, 0x5E, 0xC8, 0xAC, 0xEF, 0xAE, +0x2A, 0x80, 0x71, 0x3D, 0x60, 0xE0, 0x4F, 0x0B, 0xC5, 0x4C, 0x20, 0xFE, 0xCF, 0x21, 0x60, 0xC5, +0xBF, 0xB4, 0x54, 0xF0, 0xBF, 0x0F, 0xC0, 0xD7, 0xF1, 0xB8, 0x4E, 0x35, 0x8C, 0x44, 0xD4, 0xFA, +0x51, 0xFF, 0x77, 0xA6, 0x0F, 0x04, 0x0C, 0x02, 0xC0, 0x19, 0x07, 0x68, 0x97, 0xD8, 0xBF, 0x13, +0xF2, 0x35, 0x12, 0x21, 0x1C, 0x80, 0xE0, 0x06, 0xFE, 0x2F, 0xE8, 0x01, 0x23, 0xCA, 0xF5, 0x7F, +0x10, 0x70, 0xFB, 0x66, 0xEB, 0xF0, 0x8F, 0x96, 0x90, 0xAC, 0x04, 0x30, 0xE3, 0x39, 0x27, 0x00, +0xB6, 0x82, 0x96, 0x10, 0xE5, 0x9F, 0xF9, 0x3D, 0xBC, 0x1F, 0xF6, 0x4B, 0xE1, 0x64, 0x05, 0xD1, +0xFB, 0x80, 0x0E, 0xEF, 0x8B, 0x05, 0xA4, 0x01, 0x24, 0xE0, 0x01, 0x2D, 0xF5, 0x3C, 0xDE, 0x79, +0x31, 0x3E, 0x0D, 0x8F, 0xAE, 0xFF, 0xC3, 0x03, 0x3E, 0xA7, 0x01, 0x24, 0x8F, 0x80, 0x9A, 0xAA, +0xEF, 0x1E, 0x46, 0x08, 0x08, 0xFF, 0x3C, 0x19, 0xDB, 0xC2, 0x04, 0xBC, 0x01, 0x00, 0x2E, 0x81, +0xE0, 0x75, 0x16, 0xC1, 0xCB, 0x4F, 0x80, 0xB6, 0x8B, 0x3D, 0x40, 0xD0, 0x87, 0x2B, 0xC4, 0xF8, +0xB5, 0x1D, 0xA0, 0xCC, 0x82, 0xBF, 0xAA, 0x01, 0xE4, 0x3C, 0x04, 0x23, 0xEB, 0x5F, 0xDA, 0x82, +0xA3, 0x01, 0xFF, 0x1C, 0x85, 0xF9, 0xB7, 0x86, 0x7F, 0x01, 0x02, 0xDE, 0xB7, 0x06, 0x10, 0x4F, +0xDD, 0x2A, 0xD1, 0xFF, 0x41, 0x40, 0x3A, 0x80, 0xBD, 0xA0, 0x01, 0xE4, 0xA7, 0xEB, 0x32, 0xDB, +0x65, 0xF7, 0xDD, 0x08, 0x41, 0x97, 0x7F, 0xB4, 0x84, 0x7C, 0xF3, 0xFC, 0xDF, 0xE4, 0x74, 0x40, +0x36, 0x1B, 0xD9, 0xF7, 0xA3, 0x11, 0x84, 0x74, 0x08, 0x0D, 0x20, 0x2E, 0x03, 0xC9, 0xFF, 0x26, +0x22, 0x90, 0x06, 0x38, 0x97, 0x80, 0x34, 0x80, 0x24, 0x7B, 0x40, 0xD5, 0x3F, 0x5F, 0x06, 0x73, +0x05, 0x0F, 0x18, 0xC7, 0x1F, 0xFE, 0x2F, 0x34, 0x38, 0xFF, 0xA0, 0xC8, 0x48, 0x68, 0x2F, 0x4E, +0xBE, 0xED, 0x55, 0xCC, 0x01, 0x7E, 0xD2, 0x0A, 0xE8, 0x39, 0x0B, 0xC8, 0x2D, 0xCA, 0xBF, 0xA2, +0xBF, 0xFF, 0x5F, 0xC5, 0xDD, 0x41, 0x0E, 0x01, 0xE1, 0x9F, 0x4B, 0xC0, 0xB8, 0x9E, 0xC7, 0x07, +0x3E, 0xC9, 0x8B, 0x8D, 0xE5, 0x3E, 0x4E, 0x2D, 0x98, 0xDC, 0x35, 0xD8, 0x07, 0xDC, 0x07, 0xF5, +0x85, 0x0D, 0x40, 0x5F, 0xC3, 0xFE, 0x1F, 0xBF, 0x24, 0xB5, 0x80, 0x96, 0x16, 0xFE, 0xF9, 0x56, +0xF0, 0x7F, 0xBE, 0x07, 0x5C, 0x5D, 0x83, 0x80, 0xB8, 0x7A, 0x4F, 0x7A, 0x02, 0x7E, 0x3E, 0x01, +0x6F, 0x04, 0x80, 0x0B, 0x1D, 0x60, 0x3E, 0x02, 0x97, 0x1F, 0x01, 0x8D, 0x07, 0xE4, 0x69, 0x78, +0x34, 0x57, 0x28, 0xFC, 0xF3, 0x1C, 0xA0, 0x5D, 0x53, 0xCE, 0xD9, 0x75, 0xF6, 0x06, 0xFF, 0x9C, +0xB8, 0x12, 0x00, 0x17, 0x25, 0x80, 0xA3, 0x04, 0xDC, 0x76, 0xE1, 0x2F, 0x15, 0x0C, 0x60, 0x1A, +0x01, 0xCB, 0x84, 0xFF, 0x73, 0xB7, 0x01, 0x81, 0x9E, 0xB9, 0xAE, 0x9D, 0x9E, 0x8A, 0x5F, 0x06, +0xCE, 0x70, 0xE8, 0x0A, 0xDE, 0x1F, 0x82, 0x4C, 0xDB, 0x7F, 0xFB, 0x1E, 0x75, 0x8B, 0xFB, 0xC3, +0xDB, 0x61, 0x95, 0x6B, 0xBF, 0xA4, 0xBD, 0x01, 0x78, 0xC8, 0xB9, 0x08, 0xBC, 0x73, 0x2F, 0x9E, +0xAF, 0xF2, 0xF9, 0xC7, 0x06, 0xA0, 0xA7, 0xAE, 0xDF, 0x2E, 0xF8, 0xB4, 0xC4, 0x3F, 0x82, 0xB7, +0x02, 0xC0, 0xD7, 0x7F, 0xF9, 0x64, 0x98, 0xE5, 0x29, 0x60, 0xE8, 0xC7, 0x3C, 0x7E, 0x0F, 0xD3, +0xAB, 0x98, 0x03, 0xD4, 0xF9, 0x59, 0xD0, 0x01, 0x16, 0x85, 0x11, 0x98, 0xC9, 0x3F, 0x94, 0xE6, +0xFF, 0x30, 0x80, 0x65, 0x17, 0xB0, 0x8F, 0x5A, 0xC0, 0xFE, 0x0A, 0x04, 0x64, 0x07, 0xD0, 0x0F, +0x29, 0x81, 0x3E, 0x4E, 0xED, 0x97, 0x84, 0x62, 0x4F, 0x1F, 0xA9, 0x49, 0xF9, 0x08, 0xFF, 0x1C, +0xAA, 0x45, 0x1D, 0xA0, 0xA6, 0x41, 0x76, 0x43, 0xFE, 0x59, 0xC2, 0x26, 0x2B, 0xC3, 0xDE, 0x4D, +0x6B, 0x13, 0x37, 0x60, 0xDD, 0x89, 0xEB, 0x2C, 0x81, 0xFB, 0xB0, 0xAF, 0x97, 0x1D, 0xC0, 0x38, +0x01, 0xFF, 0x3B, 0x00, 0x86, 0x11, 0x88, 0x72, 0x4F, 0x86, 0x89, 0xE3, 0x8F, 0x34, 0x6F, 0xD5, +0x0B, 0x5C, 0x67, 0x41, 0xE0, 0x9B, 0xB7, 0x07, 0x08, 0xF6, 0xE6, 0x1D, 0xA0, 0x28, 0xCC, 0x3F, +0x4B, 0x81, 0x78, 0xB1, 0x46, 0x89, 0x04, 0x7C, 0x19, 0x07, 0xE0, 0x76, 0xFB, 0xE4, 0x51, 0x1F, +0xB4, 0x0A, 0xDD, 0x12, 0x02, 0x86, 0x17, 0xC0, 0x63, 0x11, 0xA0, 0x1F, 0x05, 0x2A, 0x6C, 0xFB, +0xE9, 0xA4, 0x0F, 0x2C, 0x86, 0xC7, 0xBC, 0xB0, 0x16, 0xC2, 0x44, 0x09, 0xA8, 0x55, 0x30, 0x6E, +0xBE, 0x98, 0x93, 0x01, 0x87, 0xC2, 0x43, 0xFA, 0x3E, 0xAC, 0x14, 0xD1, 0x58, 0x38, 0x02, 0x9A, +0x26, 0x60, 0x2F, 0x28, 0x02, 0xF4, 0x86, 0x70, 0xED, 0x79, 0x30, 0xBA, 0x3E, 0x46, 0xC0, 0xAE, +0xF0, 0xEF, 0xDD, 0xF6, 0x4E, 0x5C, 0x51, 0xFC, 0xDD, 0x0E, 0x00, 0x17, 0x1A, 0xC0, 0x7C, 0x07, +0x18, 0xC5, 0x9F, 0x10, 0xB0, 0x6A, 0xFC, 0xAD, 0x73, 0x20, 0x72, 0x8F, 0x67, 0x81, 0x07, 0x45, +0xD6, 0xBF, 0x45, 0x65, 0x0A, 0x6E, 0x03, 0xC6, 0x2D, 0xE0, 0x42, 0x25, 0xF9, 0x3F, 0xF8, 0x57, +0x00, 0x18, 0xF4, 0x80, 0x7D, 0xDF, 0x77, 0xDD, 0xDD, 0x2B, 0xF0, 0xCF, 0xF7, 0x80, 0x23, 0xFF, +0x94, 0x80, 0x24, 0x5E, 0xF5, 0x52, 0xDB, 0x67, 0x1B, 0x70, 0x14, 0x02, 0x46, 0x09, 0x48, 0x1B, +0x5C, 0x80, 0x7F, 0x2A, 0xF3, 0x80, 0x0A, 0xE2, 0x9F, 0x86, 0x6F, 0x6C, 0x48, 0xD1, 0xC9, 0xDA, +0xE1, 0x8A, 0xB9, 0x8B, 0x18, 0x40, 0x51, 0xB6, 0x01, 0xEC, 0x1F, 0xF6, 0x31, 0x02, 0xF6, 0xC5, +0xFF, 0x6D, 0xB7, 0x4B, 0x3C, 0xE0, 0x7F, 0x07, 0xC0, 0x6B, 0x58, 0xC0, 0x17, 0x51, 0x04, 0x0A, +0xFE, 0xA2, 0x00, 0x2C, 0x17, 0x2B, 0x5D, 0xD8, 0x37, 0xED, 0x04, 0x59, 0x56, 0x07, 0x68, 0x32, +0xCC, 0xCD, 0xAD, 0x7F, 0x8D, 0x80, 0x44, 0x06, 0x01, 0x17, 0x2B, 0x77, 0x01, 0xBC, 0x15, 0xBD, +0x7B, 0x17, 0x20, 0x60, 0x27, 0x5F, 0x51, 0x3D, 0x89, 0x90, 0x9C, 0x4A, 0x68, 0xE5, 0x5F, 0x6C, +0x11, 0x3C, 0x30, 0x65, 0xDA, 0x08, 0x6C, 0xAB, 0xCF, 0x9F, 0x14, 0x9A, 0x9C, 0x0A, 0x18, 0xE3, +0x9F, 0x28, 0x44, 0x40, 0x1A, 0x41, 0x38, 0x87, 0xB5, 0x0C, 0x4C, 0xE9, 0xF8, 0x1E, 0x28, 0x84, +0x8E, 0xE0, 0x4F, 0xF5, 0x38, 0xAB, 0x0E, 0x10, 0xFE, 0x89, 0x05, 0xEC, 0x22, 0xFC, 0x7B, 0xB2, +0x15, 0xDD, 0x89, 0x6B, 0x1D, 0xE0, 0xDF, 0x6D, 0x01, 0x30, 0xCE, 0xBF, 0x7C, 0x02, 0x7E, 0x8E, +0x7A, 0x40, 0x7C, 0x5F, 0x55, 0x09, 0xA8, 0x2F, 0xF9, 0x46, 0xBF, 0x13, 0x84, 0x61, 0x02, 0x77, +0xAD, 0xDB, 0x75, 0x08, 0x88, 0xD2, 0x08, 0xB8, 0xBE, 0xB3, 0x84, 0x7F, 0xAA, 0x3B, 0xEF, 0xCA, +0x17, 0x4C, 0xC0, 0xFF, 0x89, 0xA9, 0xE8, 0xB3, 0xF9, 0xA7, 0x72, 0xD7, 0x8A, 0x85, 0x7F, 0xA6, +0x23, 0xFC, 0xD9, 0xEC, 0xAC, 0xF2, 0x05, 0x24, 0x15, 0x00, 0xDA, 0x29, 0xF6, 0x07, 0x77, 0x65, +0x5B, 0xF8, 0x17, 0x6D, 0x05, 0xF9, 0xE5, 0x28, 0x98, 0x8D, 0x1D, 0xC3, 0x5A, 0x02, 0xF4, 0xC9, +0x45, 0x2B, 0x5C, 0xB0, 0x12, 0xF0, 0x29, 0x04, 0xCC, 0xF5, 0x7F, 0x9D, 0x8C, 0xCE, 0xAF, 0x81, +0xF9, 0xF9, 0x19, 0x08, 0x2B, 0xC0, 0xBF, 0x5B, 0x03, 0x60, 0x1E, 0xFF, 0x10, 0x9B, 0x7C, 0xED, +0x41, 0x84, 0x2A, 0x00, 0x2D, 0x13, 0x0C, 0xE8, 0xF0, 0x81, 0xC0, 0x11, 0xB5, 0xB3, 0xC0, 0x36, +0x90, 0x71, 0xAE, 0x75, 0x43, 0xDE, 0x1A, 0x58, 0xC6, 0x3A, 0x48, 0xC0, 0x8B, 0x94, 0xB8, 0xFF, +0x67, 0xBA, 0xE3, 0xD5, 0x42, 0xDB, 0x57, 0x14, 0x04, 0xCC, 0xED, 0x05, 0x8E, 0x75, 0xC2, 0x41, +0xC0, 0x9D, 0xC1, 0x86, 0x54, 0xC4, 0x80, 0xA2, 0x4D, 0xC9, 0x7F, 0x20, 0x9F, 0x7F, 0x16, 0x2E, +0x00, 0xF9, 0x39, 0x3F, 0x5A, 0x1E, 0xDA, 0xF0, 0x27, 0x77, 0x4B, 0x44, 0x2B, 0xFF, 0x90, 0xCF, +0x3F, 0x08, 0x98, 0xC7, 0xBF, 0xAE, 0xC4, 0x30, 0x5C, 0xFE, 0x3D, 0xE1, 0x33, 0xF0, 0x32, 0x8B, +0x80, 0xEB, 0xDB, 0x03, 0x60, 0x7E, 0x09, 0x8C, 0xDE, 0x1C, 0xF6, 0x0D, 0xE6, 0x2F, 0xB4, 0x0A, +0x2E, 0x84, 0x1B, 0x48, 0x57, 0x75, 0x83, 0xE8, 0x93, 0xDC, 0x96, 0x9F, 0x06, 0x33, 0x91, 0x63, +0x00, 0xD1, 0xB3, 0x3C, 0x0F, 0x88, 0xB2, 0x08, 0xB8, 0x5E, 0xB6, 0xFE, 0x0D, 0x13, 0xB0, 0xEB, +0x2F, 0x22, 0x60, 0xD0, 0xFF, 0x39, 0xCB, 0x60, 0xCE, 0x42, 0xB0, 0x55, 0x30, 0xFE, 0x0F, 0x2B, +0x68, 0x2E, 0xAC, 0x30, 0x0A, 0x79, 0xFC, 0xD3, 0x25, 0xF0, 0x41, 0x8F, 0x43, 0x70, 0x37, 0x00, +0xD1, 0x6E, 0x43, 0xE1, 0x1F, 0xFC, 0xB5, 0x69, 0xF3, 0xAB, 0xDC, 0x05, 0x30, 0xCA, 0x3A, 0x0D, +0xE6, 0x6E, 0x67, 0xF8, 0x2B, 0x23, 0xE2, 0xFF, 0x16, 0x7B, 0xC0, 0xFF, 0x10, 0x80, 0x0E, 0x02, +0x51, 0xE2, 0x22, 0x78, 0x20, 0x9F, 0xCC, 0xAE, 0x09, 0xD4, 0x04, 0x08, 0x0E, 0xB0, 0xEE, 0x85, +0x93, 0x69, 0xD9, 0x79, 0x80, 0x15, 0x00, 0x7D, 0xFA, 0xB1, 0x0A, 0x0E, 0x34, 0xC2, 0x0D, 0x2F, +0x1C, 0xFE, 0xA5, 0x13, 0x70, 0xFD, 0x72, 0x49, 0x01, 0x4C, 0x98, 0x80, 0x8A, 0x3F, 0x08, 0xC8, +0xD7, 0xE3, 0xC5, 0x04, 0x34, 0xFF, 0x87, 0xDC, 0xB3, 0x60, 0xD0, 0x88, 0x1A, 0x12, 0x10, 0x96, +0x0E, 0xDE, 0x54, 0x87, 0xE2, 0xCF, 0xF2, 0x4F, 0xE9, 0x27, 0xFE, 0x4F, 0x87, 0xEB, 0xFF, 0x10, +0x5B, 0x90, 0xA4, 0x82, 0xCB, 0x13, 0xFC, 0x43, 0x9E, 0xFF, 0x8B, 0x7A, 0xC0, 0x38, 0xFF, 0xC4, +0xFF, 0x31, 0x66, 0xBB, 0xE0, 0xA6, 0x1F, 0x81, 0x78, 0x26, 0x64, 0x9E, 0x7F, 0xB7, 0x09, 0xC0, +0xDC, 0xE5, 0xAF, 0x9B, 0x0B, 0x26, 0x3E, 0xDB, 0xDD, 0xC9, 0x80, 0x28, 0xEB, 0x2C, 0x15, 0xCC, +0x52, 0xB7, 0x6A, 0x01, 0xA9, 0x3D, 0x20, 0x0E, 0xB0, 0xC6, 0x1F, 0x6A, 0xC1, 0x0F, 0x02, 0xA2, +0x07, 0x21, 0xFB, 0xE7, 0x14, 0x44, 0x5F, 0x2E, 0xCF, 0xFF, 0xC5, 0xF9, 0x87, 0x9E, 0xCC, 0x10, +0xB0, 0x9F, 0x7E, 0x49, 0x75, 0x09, 0xE5, 0x80, 0xE5, 0x32, 0x03, 0x04, 0x01, 0x1D, 0xFE, 0xA1, +0xE3, 0x88, 0x1D, 0xF3, 0x61, 0x16, 0x9B, 0xB7, 0xB2, 0x44, 0x45, 0xE5, 0x55, 0xFB, 0x70, 0x03, +0xA5, 0x9E, 0x4C, 0xE3, 0xC3, 0xD7, 0x80, 0xFF, 0x83, 0x80, 0xA3, 0xE3, 0xB4, 0x13, 0x19, 0x8C, +0x85, 0xC6, 0x3F, 0x34, 0x03, 0x76, 0xE4, 0x9E, 0x88, 0xB0, 0x94, 0x7F, 0xBE, 0x07, 0xEC, 0xE1, +0x5F, 0xAA, 0x07, 0x5C, 0xDF, 0x2A, 0x00, 0x7F, 0xB0, 0x77, 0xC6, 0xB8, 0x6D, 0x03, 0x41, 0x14, +0xBD, 0x41, 0xE0, 0xC0, 0x70, 0xA8, 0xD2, 0x80, 0x8B, 0x08, 0xE9, 0xC2, 0x2A, 0xAD, 0x8B, 0x74, +0x2A, 0x74, 0x00, 0x39, 0x27, 0x08, 0x72, 0x07, 0x55, 0x39, 0x81, 0x1B, 0x0B, 0x30, 0x58, 0x19, +0x29, 0x5D, 0xE4, 0x80, 0x19, 0x4E, 0x76, 0xF5, 0x25, 0x8D, 0x3E, 0xFF, 0x8A, 0xDC, 0x04, 0x90, +0xE0, 0xBF, 0x43, 0x52, 0x4C, 0x04, 0x57, 0xF6, 0xC3, 0xDF, 0x99, 0xD9, 0xDD, 0x8A, 0xFC, 0xC3, +0xFC, 0x97, 0xF3, 0x0F, 0x06, 0x10, 0x9F, 0x49, 0x64, 0xEE, 0xC1, 0x0C, 0x26, 0xE4, 0xE1, 0x02, +0x0A, 0x8B, 0xCF, 0x04, 0x09, 0x22, 0x5D, 0xD0, 0xAE, 0x00, 0x40, 0xE1, 0xFF, 0x12, 0x22, 0x1B, +0x3E, 0x0D, 0x9E, 0x26, 0x06, 0xC0, 0x53, 0xF9, 0x07, 0xAD, 0xDF, 0xDD, 0x3A, 0x01, 0xF9, 0xFC, +0x17, 0x31, 0x7D, 0x49, 0x88, 0xDD, 0xE6, 0x90, 0x4A, 0x04, 0x2E, 0x83, 0x1C, 0x3B, 0x58, 0x10, +0x92, 0x26, 0xC5, 0xC6, 0xBF, 0xA8, 0xE1, 0xFC, 0x9F, 0xE9, 0xD5, 0x50, 0x98, 0x4B, 0xC1, 0x9B, +0x22, 0xFE, 0xD9, 0xFB, 0x6E, 0x0A, 0x10, 0x25, 0x90, 0xC8, 0x3F, 0x93, 0xF6, 0x7F, 0xF0, 0x80, +0x15, 0x4E, 0x04, 0x39, 0x04, 0xE0, 0x8C, 0xFA, 0xBF, 0x8F, 0x2B, 0x06, 0x40, 0x2D, 0xCE, 0xBF, +0xF3, 0x05, 0x60, 0x25, 0xFE, 0x81, 0x7C, 0xC4, 0x04, 0x46, 0xEB, 0x67, 0x43, 0x1C, 0x0B, 0x07, +0x07, 0xE8, 0x01, 0xF2, 0xC5, 0x06, 0xE8, 0x48, 0xC0, 0xE3, 0x39, 0xC0, 0x28, 0xB2, 0x21, 0x20, +0x27, 0xA0, 0x76, 0x80, 0xFF, 0x13, 0x80, 0xCD, 0x69, 0x0D, 0x80, 0xDF, 0xC3, 0xAF, 0xFF, 0xED, +0x6C, 0x46, 0xF8, 0x37, 0x9B, 0xE2, 0x01, 0xC5, 0x6E, 0xD0, 0x02, 0x80, 0x77, 0x73, 0x72, 0x2C, +0x66, 0x32, 0x81, 0x0E, 0x9E, 0xE4, 0xBF, 0xE0, 0xFF, 0x94, 0x07, 0x44, 0x03, 0x8C, 0x0F, 0x0B, +0x1F, 0xCA, 0xFF, 0x41, 0xB6, 0x24, 0x04, 0xDB, 0x40, 0xC3, 0x88, 0x2E, 0x21, 0x00, 0x90, 0xD4, +0x82, 0xE7, 0x51, 0x13, 0xFD, 0xDF, 0xE7, 0xAB, 0xAB, 0x5C, 0x00, 0x46, 0x10, 0x02, 0x2E, 0x02, +0xFF, 0xAA, 0xB4, 0x03, 0x36, 0xE7, 0x0C, 0xC0, 0x3A, 0xFC, 0x03, 0x02, 0xC1, 0x3B, 0xD2, 0xFF, +0x92, 0x2F, 0x1F, 0xC3, 0x3B, 0xC0, 0x58, 0xF8, 0x1B, 0x26, 0xC1, 0xA1, 0x0A, 0x2C, 0x8E, 0x05, +0xDE, 0x73, 0x80, 0x90, 0x28, 0x84, 0x78, 0x40, 0x28, 0x84, 0x88, 0x04, 0xA0, 0x5A, 0x14, 0x37, +0x55, 0x93, 0x1B, 0xA0, 0xA3, 0xD6, 0x2B, 0x27, 0x20, 0xF7, 0x7F, 0x08, 0x5B, 0x12, 0x32, 0x31, +0x0F, 0x38, 0x87, 0x38, 0x01, 0x71, 0x2E, 0x70, 0x54, 0xEE, 0x00, 0x44, 0x49, 0xD6, 0xDE, 0x9E, +0x21, 0x88, 0x37, 0x40, 0xC3, 0x04, 0x3E, 0x12, 0x0F, 0xC8, 0xF8, 0x67, 0xA0, 0x85, 0xF3, 0x4C, +0x1F, 0x72, 0x03, 0x74, 0xD4, 0x5C, 0xE3, 0xCF, 0x75, 0x47, 0x96, 0x84, 0x94, 0xCB, 0xED, 0x5F, +0x88, 0xA3, 0x0B, 0x40, 0xD6, 0xEB, 0x15, 0x54, 0x2B, 0x0F, 0xD8, 0xBC, 0x01, 0x10, 0xDE, 0xAF, +0x95, 0x0E, 0xD0, 0xAF, 0x17, 0x58, 0x40, 0x32, 0x01, 0x0E, 0x39, 0xC0, 0x8C, 0xBC, 0x74, 0x89, +0x83, 0xD1, 0x83, 0x03, 0xB4, 0x41, 0x24, 0x2A, 0x20, 0xA5, 0x85, 0x10, 0x0B, 0x75, 0x30, 0xC8, +0x64, 0x4D, 0x6E, 0x00, 0x8C, 0x5A, 0xAF, 0xED, 0x0F, 0xA3, 0x08, 0x80, 0x36, 0xAE, 0x4B, 0x45, +0x17, 0x80, 0x68, 0x04, 0xBA, 0x77, 0x5A, 0x12, 0x79, 0x2F, 0x0C, 0x76, 0x84, 0xB1, 0xEE, 0x3C, +0xF8, 0x3F, 0xE5, 0x01, 0xF3, 0xA4, 0xD7, 0x46, 0x9A, 0x0A, 0xE7, 0x1B, 0xF1, 0x7F, 0xD4, 0x03, +0x26, 0x0B, 0x98, 0xEA, 0xD1, 0x44, 0x86, 0x3B, 0x02, 0xC0, 0xA0, 0xA9, 0x0D, 0x80, 0x47, 0x01, +0x38, 0x3B, 0xE2, 0xFF, 0x80, 0xBF, 0x8A, 0x1E, 0xB0, 0x39, 0x73, 0x00, 0x56, 0x35, 0x80, 0x78, +0x46, 0xFE, 0x39, 0xF1, 0xA2, 0x03, 0x8C, 0x04, 0x74, 0xDE, 0xC5, 0x1C, 0x20, 0x76, 0x06, 0x0C, +0x87, 0x81, 0x50, 0x0F, 0x98, 0xEE, 0x1E, 0x4C, 0x02, 0x7F, 0x8A, 0x80, 0x80, 0x9E, 0xBF, 0xF2, +0x34, 0x60, 0x0D, 0x89, 0xFC, 0x9F, 0xE6, 0x5F, 0x14, 0xB6, 0xC6, 0x22, 0xF3, 0x5F, 0xC4, 0xC8, +0x66, 0x18, 0x34, 0xC0, 0x10, 0x00, 0xCA, 0x02, 0x08, 0x84, 0xD5, 0xB8, 0xA9, 0xFE, 0x01, 0x29, +0x0F, 0x98, 0x88, 0xF7, 0xE8, 0x45, 0xE0, 0x6D, 0x1D, 0xC4, 0x0B, 0xC2, 0xAA, 0x00, 0x0C, 0xE1, +0x3C, 0xBA, 0xBC, 0x47, 0x17, 0x15, 0xC7, 0x9F, 0x4E, 0x03, 0x06, 0xC9, 0x06, 0xC0, 0x18, 0x91, +0x7F, 0x2B, 0x00, 0xB0, 0x5E, 0x1E, 0xB0, 0x39, 0x77, 0x00, 0x56, 0x6A, 0x80, 0x09, 0x1F, 0xB8, +0x03, 0xF4, 0x0B, 0x16, 0x50, 0x3B, 0x40, 0x7F, 0xF7, 0x2B, 0xEC, 0x89, 0xC0, 0xB5, 0xE3, 0x00, +0x3D, 0xB8, 0x64, 0x01, 0x18, 0x0A, 0xF0, 0x23, 0x0E, 0xB0, 0x32, 0x00, 0xA1, 0xB1, 0x13, 0xE0, +0x2F, 0xCE, 0x3F, 0xE6, 0x01, 0x17, 0xB4, 0x00, 0x1C, 0x3D, 0x60, 0xD9, 0xBA, 0xFC, 0x40, 0x40, +0xF0, 0x4F, 0x5B, 0xC0, 0xE5, 0x80, 0x72, 0x21, 0xC4, 0xEF, 0x36, 0xFF, 0xE5, 0x3A, 0x98, 0xD9, +0x6E, 0x7A, 0xE0, 0x61, 0xF4, 0xAF, 0x8F, 0x5B, 0x10, 0x4A, 0xFE, 0x41, 0x3F, 0xBC, 0x13, 0x71, +0x5B, 0x8F, 0x1E, 0x50, 0x00, 0x3B, 0x27, 0xE0, 0xE8, 0x04, 0x20, 0xF2, 0x7F, 0xCA, 0x03, 0xCE, +0x3E, 0xAC, 0xA0, 0x7A, 0x04, 0x6C, 0xCE, 0x1E, 0x80, 0x01, 0x81, 0x23, 0xD5, 0x0E, 0x77, 0x03, +0xB6, 0x0F, 0xC4, 0x01, 0xDA, 0x08, 0xF4, 0xEB, 0xDA, 0x94, 0x03, 0x24, 0x0E, 0x10, 0xE7, 0x83, +0x70, 0xED, 0x57, 0x81, 0x21, 0x59, 0x09, 0x19, 0xD4, 0x0D, 0x99, 0xF8, 0xEA, 0xBD, 0xB1, 0x2A, +0x89, 0xCC, 0x7F, 0xA5, 0x56, 0x03, 0x82, 0x07, 0x24, 0xFC, 0xAB, 0xD0, 0x10, 0x3D, 0x4F, 0x92, +0x00, 0x74, 0xFE, 0x71, 0x61, 0x5F, 0x2A, 0xF0, 0x8F, 0x28, 0x16, 0x80, 0x7B, 0xEC, 0xFD, 0xC6, +0x4C, 0x18, 0x37, 0x39, 0xFF, 0x45, 0x1A, 0x30, 0x75, 0x22, 0x62, 0x01, 0x1C, 0x17, 0x29, 0x00, +0x4B, 0x0F, 0x38, 0xCD, 0xFF, 0x21, 0xD8, 0x02, 0x10, 0x48, 0x2C, 0x09, 0xD1, 0x04, 0x6C, 0xDE, +0x00, 0xE8, 0x6A, 0xC3, 0x6B, 0xF4, 0x7E, 0xCC, 0x01, 0xFA, 0x1B, 0xA2, 0x6B, 0x9F, 0x48, 0x0E, +0x30, 0x9C, 0x0F, 0x42, 0x44, 0xDA, 0x01, 0xB9, 0x68, 0x0B, 0x8C, 0x46, 0x60, 0xB3, 0x37, 0x13, +0x46, 0x04, 0x0F, 0x58, 0x4D, 0x63, 0x77, 0x00, 0xE4, 0x42, 0x3B, 0x20, 0xF2, 0x7F, 0x2C, 0x46, +0xE6, 0x01, 0xE1, 0xFF, 0xF4, 0x2C, 0x78, 0x39, 0xAC, 0x6D, 0x0E, 0x10, 0x0B, 0x80, 0x0B, 0x08, +0xB8, 0xD9, 0x2D, 0xFB, 0x66, 0xEE, 0x01, 0x84, 0xAF, 0xDA, 0xFF, 0x41, 0xCB, 0x34, 0x03, 0x46, +0x03, 0x34, 0x93, 0xF2, 0x7F, 0x90, 0x11, 0x70, 0xF4, 0x02, 0x10, 0x1E, 0x82, 0x7F, 0xD3, 0xDB, +0x01, 0x9B, 0x8B, 0x00, 0xE0, 0x1E, 0x02, 0xA1, 0x29, 0x6D, 0xD0, 0xA6, 0x80, 0x40, 0xE6, 0x00, +0x7D, 0x1C, 0x30, 0x90, 0xE7, 0x00, 0x5B, 0xCC, 0x80, 0xA5, 0xD0, 0x0E, 0x28, 0x85, 0x43, 0x41, +0x94, 0x3E, 0x11, 0x07, 0x38, 0xEC, 0x01, 0x2B, 0x6A, 0x74, 0x03, 0x20, 0xD7, 0x6E, 0x3B, 0x20, +0xF0, 0x37, 0x9D, 0x80, 0xE0, 0x9F, 0xD2, 0x9D, 0xE6, 0x1F, 0x08, 0xE8, 0x25, 0xD8, 0x9E, 0x7F, +0x4A, 0x3B, 0xFE, 0x0F, 0xA6, 0xAF, 0xBF, 0x3C, 0x17, 0x98, 0x3C, 0xE1, 0x21, 0x01, 0x9F, 0x95, +0x7C, 0x11, 0x8A, 0x33, 0x70, 0xA9, 0xA4, 0xFD, 0x1F, 0x3C, 0xE0, 0xF8, 0x05, 0x20, 0x3C, 0xC2, +0x02, 0x90, 0xBA, 0x93, 0xE0, 0xE6, 0x52, 0x00, 0x58, 0xCF, 0x00, 0xB6, 0xC1, 0x04, 0xC2, 0xFF, +0x71, 0x07, 0x88, 0x42, 0x88, 0xC3, 0x8D, 0xE7, 0x00, 0x77, 0xAB, 0x20, 0x5A, 0xD1, 0xFF, 0xE9, +0x59, 0xB0, 0xD6, 0x0D, 0x2D, 0x01, 0x73, 0x0F, 0x58, 0x55, 0x23, 0x76, 0xC0, 0x17, 0x32, 0x73, +0x90, 0x09, 0xB8, 0x50, 0x7F, 0x52, 0x23, 0x3C, 0xA0, 0xF0, 0x7F, 0xD8, 0x1A, 0x86, 0xD5, 0x3F, +0x62, 0x43, 0xB4, 0xF6, 0x7F, 0x28, 0x05, 0xA3, 0x00, 0x62, 0x1C, 0x4C, 0xB5, 0x60, 0x7F, 0x6C, +0x00, 0x45, 0x10, 0x50, 0xFE, 0x50, 0xEC, 0x0E, 0xB8, 0xD4, 0xCA, 0x60, 0x9F, 0x6B, 0x5D, 0x9F, +0x9C, 0xFF, 0x03, 0xFF, 0x84, 0x07, 0x5C, 0xA0, 0x01, 0x9A, 0xE9, 0x76, 0x04, 0x01, 0x9B, 0xCB, +0x01, 0x60, 0xB5, 0x0C, 0x20, 0x2C, 0x20, 0x10, 0xB8, 0xCB, 0x3C, 0xE2, 0x00, 0x13, 0x02, 0x1F, +0xDC, 0xEC, 0xD9, 0xC5, 0x73, 0x80, 0x3D, 0x09, 0xFD, 0x33, 0x54, 0x50, 0x0B, 0x2E, 0xB7, 0x80, +0x90, 0xAE, 0x05, 0xEF, 0x55, 0x3D, 0x86, 0x3C, 0x60, 0x65, 0xD5, 0xF4, 0x7F, 0x68, 0x88, 0x5E, +0xA4, 0xF9, 0xAF, 0x88, 0x11, 0x4B, 0x42, 0xD0, 0x00, 0xA8, 0x12, 0x81, 0x92, 0x7F, 0x79, 0x7F, +0x54, 0xF7, 0x7F, 0x5A, 0xBF, 0x36, 0x3D, 0xD2, 0xB2, 0xD9, 0xCB, 0xB0, 0xB3, 0xB1, 0xFF, 0xC0, +0x0E, 0xD1, 0x05, 0xFC, 0xDB, 0x6C, 0x8F, 0x89, 0x2B, 0x91, 0xF6, 0x7F, 0x68, 0x86, 0x89, 0xF8, +0xD3, 0xFE, 0x4F, 0x45, 0x6A, 0x00, 0x04, 0xFF, 0xEA, 0x79, 0xC0, 0xE6, 0xC2, 0x00, 0x68, 0x51, +0x55, 0x00, 0xA3, 0x71, 0xEF, 0x25, 0x45, 0x6B, 0x97, 0x3D, 0xB3, 0xB6, 0xFF, 0xD1, 0xFD, 0x05, +0x61, 0xF7, 0xD4, 0xB5, 0xDD, 0xD3, 0x8B, 0x18, 0xDD, 0x93, 0xC5, 0x57, 0xBB, 0x93, 0xC0, 0x17, +0x8C, 0x6C, 0x9D, 0x95, 0x79, 0xF5, 0xE8, 0x6B, 0xC1, 0xFD, 0xB8, 0xF1, 0xDB, 0x7B, 0x7E, 0xBF, +0xB1, 0x38, 0x45, 0xF7, 0xC5, 0x67, 0x25, 0xDD, 0x9F, 0x72, 0x56, 0xE6, 0xA8, 0x06, 0x18, 0x3D, +0x0B, 0x76, 0xC2, 0x89, 0x08, 0xE7, 0x24, 0x09, 0x39, 0xFF, 0xB4, 0xB6, 0xA7, 0x60, 0x6A, 0x02, +0x9A, 0x07, 0xB4, 0x30, 0x12, 0x29, 0xD9, 0x77, 0x52, 0xFE, 0xCF, 0x46, 0x3A, 0x0E, 0xDD, 0x1E, +0x3F, 0xFD, 0x91, 0xE8, 0x97, 0x7C, 0x60, 0xF6, 0x80, 0xA0, 0x1C, 0x0B, 0xD3, 0x37, 0x6F, 0xC5, +0x29, 0x13, 0x0C, 0xA0, 0x26, 0xE0, 0x49, 0x4A, 0x05, 0x60, 0x15, 0x68, 0x00, 0xAC, 0x4D, 0xC0, +0xA6, 0x50, 0xF7, 0x36, 0xF0, 0x6B, 0x6E, 0xE7, 0x02, 0x87, 0xF1, 0x8F, 0xF5, 0x50, 0x36, 0x26, +0xD8, 0x3F, 0xFE, 0x4F, 0x8E, 0xB5, 0x22, 0xD9, 0x17, 0x0D, 0x7D, 0xAD, 0x03, 0xAE, 0xED, 0xFE, +0x10, 0x77, 0xC6, 0xBE, 0x4D, 0x43, 0x41, 0x18, 0x67, 0x61, 0x6A, 0x14, 0x15, 0x79, 0x80, 0x0C, +0x48, 0x91, 0x2A, 0x35, 0x48, 0x1E, 0x22, 0x77, 0x21, 0x03, 0x93, 0xE5, 0x31, 0x48, 0xD9, 0x10, +0x51, 0x61, 0xC8, 0x90, 0x31, 0x53, 0xA4, 0x88, 0x8D, 0x2C, 0x4C, 0x30, 0x76, 0x61, 0x88, 0xC4, +0x80, 0x14, 0xC9, 0x23, 0xFD, 0x03, 0xF9, 0xEE, 0x92, 0x97, 0x23, 0x7A, 0x7D, 0xBE, 0xCF, 0x05, +0x8B, 0xDF, 0xDD, 0xBB, 0xE7, 0x96, 0x07, 0x34, 0xB5, 0xF3, 0xE3, 0x5E, 0xDC, 0x52, 0x99, 0x90, +0x52, 0x74, 0x0E, 0x93, 0x25, 0xCC, 0x86, 0xEE, 0x0E, 0x05, 0xF1, 0x60, 0x15, 0x09, 0xC2, 0x7E, +0x50, 0x1B, 0x01, 0x14, 0xA8, 0x3F, 0x04, 0x5D, 0x13, 0x8E, 0x4B, 0x57, 0xC9, 0x36, 0xB0, 0x02, +0xE4, 0xFD, 0x87, 0x75, 0xAD, 0xFB, 0xBF, 0xAD, 0x13, 0xF8, 0x72, 0xC0, 0x21, 0x9E, 0x2B, 0x10, +0x1C, 0x24, 0xE7, 0x64, 0x5B, 0x03, 0xBE, 0xE2, 0x38, 0xF8, 0x0F, 0xE9, 0xFA, 0x0F, 0x6B, 0xEA, +0x8F, 0xA2, 0x37, 0xCA, 0x80, 0xF0, 0x9F, 0xB4, 0x7F, 0x3A, 0x90, 0xA2, 0x43, 0x9D, 0x50, 0x83, +0xFD, 0x70, 0x20, 0x33, 0x6C, 0x89, 0xDF, 0xC1, 0xF0, 0x71, 0x25, 0x1F, 0x07, 0x05, 0xDA, 0x5A, +0x79, 0x70, 0x6E, 0x9A, 0x01, 0xF9, 0xFB, 0x1F, 0x03, 0x37, 0xB4, 0xAF, 0x97, 0xFF, 0x01, 0x9F, +0x41, 0xAF, 0x96, 0x38, 0x27, 0x51, 0x88, 0x01, 0x9F, 0xD3, 0x04, 0xFD, 0x05, 0x01, 0xF6, 0xE2, +0xE8, 0x5D, 0x77, 0x06, 0xFE, 0x74, 0x70, 0xED, 0x84, 0xAC, 0xF8, 0xD0, 0x43, 0x12, 0x81, 0x65, +0x15, 0xE2, 0x43, 0x1E, 0x32, 0xBC, 0x65, 0xEF, 0x90, 0x0C, 0xBF, 0x92, 0x23, 0x6E, 0x30, 0x1A, +0x13, 0x2B, 0xAA, 0x9B, 0xFC, 0x46, 0xC1, 0x62, 0x94, 0x98, 0xDC, 0xA6, 0x16, 0x7C, 0xDF, 0x7C, +0x7F, 0xED, 0xF3, 0x5D, 0x93, 0xE7, 0xD9, 0x5B, 0x3A, 0x9E, 0x3E, 0x7B, 0xFA, 0x9C, 0x0C, 0x9A, +0xC9, 0xD3, 0x8B, 0x7E, 0x14, 0xC8, 0x38, 0xA4, 0xFF, 0x53, 0xBF, 0x39, 0x89, 0xD1, 0x1F, 0x4E, +0x59, 0x5E, 0x64, 0x05, 0x0F, 0x36, 0xB7, 0x64, 0x5E, 0xAD, 0x66, 0x12, 0x4E, 0x2A, 0xD8, 0xDD, +0xEA, 0x16, 0xD7, 0x4B, 0x70, 0x0F, 0x44, 0x77, 0x77, 0x9A, 0x28, 0x78, 0x0B, 0xA0, 0xE2, 0x10, +0x03, 0xA1, 0x05, 0xEC, 0x77, 0x1C, 0x58, 0xA7, 0x1F, 0x8B, 0xC7, 0x58, 0x17, 0xF1, 0x8F, 0xBF, +0xE0, 0xC1, 0x37, 0xC0, 0xB1, 0x0C, 0xFB, 0xA3, 0xFE, 0x2D, 0x11, 0xDB, 0xDB, 0xBE, 0x5C, 0x32, +0x28, 0x7F, 0xD6, 0x87, 0x02, 0xEF, 0x9F, 0x3C, 0xE5, 0x39, 0x7B, 0x0A, 0x3C, 0xE9, 0x55, 0x51, +0xBC, 0xE9, 0x1D, 0xB8, 0x7E, 0x89, 0x4C, 0xC4, 0x19, 0xBD, 0x16, 0xE0, 0x4F, 0xAF, 0x88, 0xC0, +0xC7, 0x50, 0x55, 0x6F, 0x88, 0x00, 0x28, 0x34, 0x79, 0x5E, 0xE5, 0xD5, 0xE7, 0x0A, 0xD5, 0xC9, +0x73, 0xD2, 0x0B, 0xF4, 0x78, 0x0E, 0x7E, 0xE4, 0x3F, 0x9A, 0x07, 0x56, 0x61, 0x2A, 0x97, 0x65, +0x39, 0x77, 0x62, 0xB9, 0x2C, 0x97, 0xF3, 0x65, 0xB9, 0xD9, 0x94, 0x5C, 0x94, 0x0B, 0x9E, 0x8B, +0x8B, 0x05, 0x19, 0x2D, 0xC0, 0x25, 0xCD, 0x2E, 0x95, 0xDD, 0x8F, 0x0E, 0xA7, 0xE2, 0x49, 0x32, +0x45, 0x5F, 0x41, 0x31, 0xCD, 0xF0, 0x64, 0xBD, 0xF2, 0x46, 0x60, 0x7C, 0x45, 0x72, 0xFC, 0x59, +0x6F, 0x4C, 0xEE, 0x59, 0xD6, 0x30, 0x5B, 0xCC, 0x57, 0x29, 0x31, 0x77, 0x7B, 0x9A, 0x7A, 0x45, +0x52, 0xAF, 0xAE, 0x1E, 0x41, 0x61, 0x23, 0x4A, 0x1D, 0xD9, 0x25, 0x49, 0x36, 0xBD, 0x1D, 0x6D, +0x39, 0x6E, 0xB7, 0xEC, 0x55, 0x65, 0x97, 0x1F, 0x89, 0x5D, 0xE5, 0x4F, 0x7A, 0x11, 0x55, 0xEF, +0x65, 0xCF, 0x01, 0x66, 0x14, 0x7A, 0x32, 0xDA, 0x52, 0xB1, 0xAB, 0x60, 0x4A, 0x17, 0xB3, 0xE0, +0x3B, 0x2A, 0x41, 0x4E, 0xF1, 0x4E, 0xCA, 0x67, 0xC9, 0x0A, 0x43, 0x0F, 0x30, 0x2C, 0xF5, 0x17, +0xEC, 0xDD, 0x73, 0x08, 0x8E, 0x62, 0x0E, 0xBD, 0xB9, 0xCC, 0x31, 0x44, 0x82, 0x9B, 0xF7, 0x12, +0xA5, 0x37, 0xBE, 0x7C, 0x81, 0xD7, 0x16, 0x14, 0x2A, 0xB6, 0x9F, 0x4C, 0x60, 0x61, 0x1B, 0xFA, +0x17, 0x23, 0x2A, 0x47, 0xB8, 0xAE, 0x19, 0xB0, 0x6A, 0x38, 0xBC, 0x84, 0x01, 0xB3, 0xA9, 0x37, +0xF0, 0xA4, 0x2A, 0x18, 0xFD, 0x15, 0x08, 0x65, 0x4C, 0x04, 0x56, 0x8D, 0xC7, 0xAB, 0x9A, 0x8A, +0xD5, 0x7A, 0xB7, 0xDE, 0x93, 0x7C, 0xBB, 0xFB, 0x76, 0xFF, 0xEB, 0x9E, 0x03, 0x6B, 0xF7, 0x24, +0xBB, 0xB5, 0x68, 0xD8, 0x8B, 0x5A, 0x2A, 0x1E, 0xD7, 0x15, 0x17, 0xA0, 0x90, 0xB0, 0xCF, 0x60, +0x5A, 0x8E, 0x45, 0x76, 0x49, 0x9E, 0xAD, 0x81, 0x7C, 0x0B, 0x1C, 0xC7, 0x68, 0x44, 0x5E, 0x55, +0x28, 0x8F, 0x04, 0x02, 0x4C, 0x71, 0x8D, 0x4C, 0x87, 0x10, 0x6A, 0xAF, 0x23, 0xD0, 0x09, 0x76, +0x40, 0xCE, 0x85, 0x7A, 0x8D, 0x07, 0x8D, 0x1B, 0x43, 0x59, 0x22, 0x79, 0x16, 0xE5, 0x86, 0x60, +0xB1, 0x40, 0x2E, 0x26, 0x0B, 0x9F, 0x89, 0xC4, 0x45, 0x27, 0xF4, 0x47, 0x4C, 0x0A, 0x5B, 0x4E, +0x80, 0xC3, 0x81, 0x18, 0x50, 0xFA, 0x3B, 0x04, 0x32, 0x3D, 0xC3, 0x7F, 0x94, 0x02, 0xB5, 0xD2, +0x8C, 0x67, 0x6A, 0x40, 0x37, 0xC1, 0x6E, 0xBD, 0x23, 0x7B, 0xC0, 0xBB, 0x6F, 0xB0, 0x1A, 0xED, +0x3F, 0x2C, 0x26, 0xFB, 0xCA, 0x5A, 0x0D, 0xE8, 0xA6, 0xFA, 0x6F, 0x36, 0x7E, 0x7C, 0x07, 0x88, +0x1A, 0x05, 0x28, 0xE4, 0x14, 0xC8, 0x09, 0xF1, 0xCE, 0x56, 0x06, 0xFF, 0xC1, 0x80, 0x14, 0xDB, +0x11, 0xE8, 0x33, 0xD7, 0x55, 0xFB, 0xFE, 0xCF, 0x80, 0x00, 0xD3, 0xA4, 0xD5, 0xA6, 0xE6, 0xD3, +0xE8, 0x4E, 0x7F, 0x48, 0x2E, 0x5A, 0x92, 0xFB, 0x98, 0xFE, 0x68, 0x68, 0xFF, 0x21, 0xBC, 0x5C, +0x9E, 0x34, 0xB9, 0x59, 0x6C, 0x3C, 0xB0, 0x26, 0x18, 0x90, 0xC9, 0xC9, 0x84, 0xDB, 0x00, 0xB7, +0x85, 0xF9, 0x87, 0xBA, 0x3F, 0x52, 0xB6, 0xAC, 0xFF, 0x86, 0x03, 0x18, 0xD0, 0x25, 0x2B, 0x40, +0x66, 0x82, 0x4B, 0x0F, 0x9E, 0x19, 0x1A, 0x40, 0x31, 0x20, 0x23, 0x95, 0x4F, 0xF5, 0xAE, 0x5E, +0xD7, 0x35, 0xE7, 0x3F, 0x68, 0x0D, 0x85, 0xE2, 0x8E, 0x36, 0xE0, 0xAE, 0x56, 0x03, 0x32, 0xBA, +0x9E, 0x8D, 0x85, 0x76, 0xEA, 0x43, 0x5A, 0x0F, 0x1D, 0x53, 0x88, 0xFF, 0x00, 0x73, 0xAA, 0xD4, +0x7F, 0xD2, 0x03, 0x92, 0xFE, 0x23, 0x7B, 0xC0, 0xB6, 0x38, 0x02, 0x64, 0x7A, 0x40, 0xD0, 0x93, +0x0C, 0x0B, 0x3B, 0xD0, 0x9F, 0x4E, 0x7E, 0xB4, 0x47, 0x36, 0xAF, 0xEE, 0xC8, 0xB5, 0xB6, 0x80, +0x12, 0xA0, 0x28, 0x10, 0xC3, 0x49, 0x18, 0x30, 0x40, 0xE9, 0xAF, 0x14, 0x03, 0xAA, 0x02, 0x1B, +0x6B, 0x88, 0xFF, 0xD7, 0x03, 0x1E, 0xD9, 0x32, 0xFE, 0x3B, 0x37, 0xE0, 0x14, 0x99, 0x98, 0x0B, +0x25, 0x2B, 0x5C, 0xF5, 0x61, 0x0A, 0xCC, 0xBC, 0x1C, 0x03, 0xB2, 0x07, 0x5C, 0xC3, 0x3D, 0x92, +0x7B, 0x1F, 0x08, 0x4D, 0xF3, 0xDE, 0xE7, 0x2B, 0x44, 0xA9, 0xAB, 0x29, 0xFF, 0x69, 0x12, 0xFE, +0xC3, 0x63, 0xD2, 0x24, 0x3E, 0x05, 0x47, 0xC6, 0xA6, 0xBF, 0xE0, 0x43, 0x2D, 0x36, 0xA9, 0xFF, +0x4E, 0x06, 0x9C, 0x36, 0x9D, 0x2D, 0xF8, 0x0F, 0xA0, 0x90, 0xFE, 0xE3, 0x7A, 0xC0, 0xBF, 0x22, +0x2D, 0x40, 0x47, 0x6D, 0xEA, 0xBF, 0x8E, 0xDB, 0x3F, 0xEE, 0x65, 0xC0, 0xF6, 0x0E, 0xB4, 0x2E, +0x2F, 0x35, 0xF3, 0xF6, 0xE3, 0x0D, 0x18, 0xCC, 0xA7, 0xC5, 0x09, 0xC3, 0xDF, 0x00, 0x03, 0xF3, +0x9F, 0x0E, 0xC9, 0xF8, 0x78, 0x62, 0x71, 0xD1, 0x05, 0xFE, 0x2B, 0x35, 0x27, 0x08, 0xFF, 0x0D, +0x86, 0xC1, 0x80, 0xE1, 0xC9, 0xF3, 0xF0, 0x9C, 0x15, 0x47, 0x32, 0xFF, 0xF5, 0x3F, 0x1E, 0xB5, +0x84, 0x0E, 0x77, 0x53, 0x59, 0xEF, 0x6B, 0xD2, 0x80, 0x6A, 0x34, 0x4D, 0xA6, 0xFF, 0xD3, 0xA5, +0x28, 0x7B, 0x97, 0xBA, 0x56, 0x03, 0x4A, 0x0F, 0xC8, 0xF4, 0x7F, 0xCA, 0x55, 0x0B, 0x22, 0x05, +0x6A, 0xB1, 0x63, 0x3B, 0x05, 0xC9, 0xB3, 0xA4, 0x73, 0x96, 0xC9, 0x49, 0x45, 0x30, 0x3D, 0xE0, +0xC8, 0xE8, 0xB0, 0xFF, 0x8B, 0x04, 0xC8, 0xF7, 0x80, 0xF0, 0x5F, 0xD7, 0x1B, 0x60, 0xEA, 0x9E, +0xF1, 0xA3, 0xC0, 0x3D, 0x8E, 0xCF, 0x18, 0x79, 0x6A, 0x46, 0x3D, 0xBE, 0xD1, 0x06, 0xAE, 0x01, +0x44, 0x62, 0xA8, 0xE6, 0x6E, 0x12, 0x55, 0xB0, 0x3B, 0xBC, 0xA5, 0xDB, 0xFF, 0x81, 0x0D, 0xC2, +0x5C, 0x77, 0x7E, 0x18, 0x8E, 0x2D, 0xFE, 0x4B, 0x0F, 0x38, 0xFA, 0x03, 0x62, 0xFF, 0x1B, 0x0C, +0x98, 0x65, 0x69, 0xFB, 0x81, 0x42, 0x30, 0x03, 0x2A, 0x45, 0x34, 0x47, 0xCC, 0x64, 0x24, 0x73, +0x6C, 0xCC, 0x1A, 0xF5, 0x87, 0xBA, 0x97, 0xFD, 0xEF, 0x0E, 0x63, 0xCD, 0xF6, 0x7F, 0xF0, 0x1A, +0xEB, 0xBF, 0xAF, 0x08, 0xAF, 0x07, 0x14, 0xFD, 0xE9, 0x87, 0xB0, 0xAB, 0x3F, 0x35, 0xD8, 0xEF, +0xD8, 0xFF, 0x05, 0x98, 0xFE, 0xCF, 0x88, 0xF5, 0x57, 0x68, 0x02, 0xF9, 0xC4, 0x07, 0xB2, 0xF8, +0x2C, 0x9D, 0x8A, 0xF9, 0x4F, 0x27, 0x9C, 0x66, 0xCA, 0x7F, 0xA0, 0xC3, 0xFE, 0x2F, 0x12, 0x20, +0xDB, 0x03, 0x76, 0xFB, 0x02, 0x60, 0x85, 0xD0, 0xF4, 0xE3, 0x90, 0xAD, 0xB1, 0x5B, 0xBD, 0xA9, +0x19, 0x03, 0x54, 0xFF, 0x50, 0x80, 0xA5, 0x6D, 0x71, 0xF5, 0x38, 0x11, 0x70, 0xA0, 0x78, 0xCF, +0x58, 0x6C, 0xD2, 0x40, 0x7E, 0xA6, 0xBF, 0xD0, 0xEF, 0x59, 0xC1, 0xB0, 0xA9, 0x7B, 0x03, 0xB2, +0x0D, 0x20, 0x68, 0xF4, 0x5F, 0xE8, 0x13, 0xD4, 0x80, 0x2F, 0xC4, 0x80, 0xD3, 0xC4, 0x3E, 0x38, +0xCB, 0x0A, 0x23, 0x0B, 0x7B, 0xB2, 0xD3, 0x64, 0xB3, 0x06, 0xCB, 0x58, 0xB1, 0x5D, 0x70, 0x83, +0x00, 0x6B, 0xF3, 0x8F, 0xF7, 0x32, 0x20, 0x5C, 0x06, 0xA9, 0xA1, 0x88, 0xD9, 0x38, 0xFF, 0x31, +0x3D, 0x20, 0xFE, 0xEA, 0xFA, 0x68, 0xE0, 0x5D, 0xDD, 0x28, 0x40, 0xD3, 0x9F, 0xEE, 0x82, 0x69, +0x8A, 0x06, 0x05, 0xEA, 0xA7, 0xDD, 0x88, 0xCE, 0x92, 0x79, 0x10, 0x72, 0x1C, 0x06, 0x06, 0x18, +0x8D, 0x02, 0x1C, 0x9D, 0xD1, 0x5D, 0xFF, 0xE7, 0x0B, 0x30, 0xD1, 0x02, 0x86, 0x03, 0xA3, 0x23, +0x03, 0x62, 0x74, 0x01, 0xFA, 0x3C, 0x04, 0x48, 0xCC, 0x18, 0x6D, 0x3B, 0xC0, 0xB9, 0x63, 0xC0, +0x52, 0x42, 0x33, 0x18, 0xD0, 0xF2, 0x06, 0xC5, 0x12, 0xFE, 0x93, 0x11, 0x02, 0xB9, 0x28, 0xD3, +0xB7, 0x3F, 0x34, 0x00, 0x44, 0x69, 0xD6, 0xB3, 0x62, 0x87, 0x16, 0x72, 0x23, 0xA4, 0x0B, 0xFC, +0xFE, 0xCF, 0x48, 0xFB, 0x6F, 0xAB, 0xCF, 0x0F, 0x2B, 0xD0, 0x5C, 0xFA, 0x0B, 0x00, 0x0B, 0x43, +0x6F, 0x05, 0x2B, 0xB1, 0xFC, 0x22, 0x12, 0x7D, 0x8F, 0x0E, 0xF5, 0x83, 0xA9, 0x02, 0xF2, 0x70, +0x5F, 0x00, 0x44, 0xCA, 0x20, 0x36, 0xC0, 0xA1, 0xDC, 0x37, 0x7D, 0x35, 0xCC, 0x69, 0xD5, 0x41, +0x99, 0x4E, 0xFF, 0x77, 0x32, 0x70, 0xE3, 0x26, 0xB8, 0x3E, 0x7B, 0x58, 0x38, 0x66, 0xFB, 0xBF, +0xA4, 0xFE, 0xAC, 0xFF, 0x33, 0x2E, 0x23, 0x82, 0x05, 0xB3, 0xA9, 0x9E, 0xCF, 0x01, 0x12, 0x33, +0x06, 0x4E, 0x35, 0xE5, 0x3F, 0xD0, 0x59, 0x03, 0xE8, 0x0A, 0x30, 0xE5, 0xB8, 0xA0, 0xC0, 0x2E, +0xA8, 0x10, 0x80, 0x6A, 0x02, 0xC1, 0xE3, 0x5B, 0xC0, 0xB4, 0x04, 0x75, 0x98, 0x03, 0x69, 0x9A, +0x05, 0x68, 0x8E, 0x43, 0x24, 0x7A, 0x3F, 0x09, 0xB0, 0xF1, 0xBF, 0x1A, 0xA6, 0x5C, 0x20, 0x20, +0x40, 0xCD, 0x30, 0x45, 0xFA, 0x7B, 0xB0, 0x01, 0xEC, 0xEE, 0x46, 0x88, 0xDB, 0xFE, 0x19, 0x49, +0xFF, 0xD9, 0x3E, 0x09, 0xA1, 0x06, 0xD4, 0x1E, 0xD0, 0xD2, 0x46, 0x71, 0xC2, 0x0C, 0x88, 0x44, +0x89, 0x66, 0x0A, 0x55, 0xA0, 0x89, 0xE2, 0x70, 0x90, 0x34, 0xA0, 0xFA, 0xEF, 0x20, 0x9E, 0xDF, +0xD4, 0x9D, 0xBB, 0x8E, 0x14, 0x31, 0x10, 0x45, 0xC9, 0x91, 0x10, 0x12, 0x09, 0x13, 0x20, 0x21, +0x11, 0x0C, 0x12, 0x11, 0x19, 0x01, 0x11, 0xDA, 0x70, 0x82, 0xF9, 0x80, 0x89, 0x88, 0xD1, 0x46, +0x48, 0x88, 0x6C, 0xC9, 0x21, 0x24, 0x25, 0x46, 0x9A, 0x04, 0x89, 0xFD, 0x40, 0x5C, 0xD5, 0xBE, +0x1C, 0x6A, 0xDD, 0x6E, 0xBB, 0x59, 0x37, 0x8F, 0xB2, 0xBB, 0xEC, 0xEE, 0x01, 0xF1, 0x3E, 0xDC, +0x7A, 0xB8, 0x37, 0x21, 0xC8, 0x20, 0x74, 0x5E, 0x2E, 0x00, 0x27, 0xE1, 0x87, 0x08, 0x5C, 0x6A, +0x80, 0x01, 0x80, 0x1F, 0xDD, 0x2F, 0x36, 0xC0, 0x9C, 0xBF, 0x38, 0x02, 0xED, 0xA7, 0xB1, 0xD8, +0x0C, 0x03, 0xFE, 0xF2, 0xAF, 0xEC, 0x77, 0x1A, 0x61, 0x70, 0x14, 0x40, 0x64, 0x4F, 0x73, 0x1A, +0xF0, 0x10, 0x2E, 0x77, 0xCE, 0x3F, 0xFE, 0x4C, 0x1B, 0xB5, 0xE0, 0x7D, 0x61, 0x5B, 0x09, 0xC0, +0x1E, 0x05, 0xB8, 0xD0, 0x07, 0xB8, 0x89, 0x09, 0x7A, 0xED, 0x34, 0xE0, 0xAD, 0xEC, 0x4A, 0xBD, +0xCE, 0x33, 0xAB, 0x2E, 0xF3, 0x43, 0x34, 0x60, 0x51, 0xF9, 0x95, 0xF0, 0xF3, 0x2B, 0xC2, 0xD0, +0x55, 0x9F, 0x79, 0x46, 0x85, 0x80, 0xD4, 0x3F, 0x5E, 0x69, 0x99, 0xC1, 0x1F, 0xFC, 0xFB, 0x7B, +0x69, 0xC0, 0x39, 0x00, 0x7E, 0xA8, 0xF0, 0xEF, 0x64, 0x1A, 0x41, 0xC3, 0x44, 0x43, 0x26, 0x20, +0x76, 0xC8, 0x17, 0x05, 0x10, 0x08, 0xB8, 0x06, 0x7F, 0x15, 0xDD, 0x03, 0xFF, 0xD0, 0x80, 0x75, +0xFE, 0x65, 0xED, 0x95, 0x03, 0xE1, 0xF3, 0x82, 0xFE, 0x53, 0xFA, 0x4F, 0x74, 0x5B, 0xD2, 0x7F, +0xC2, 0xA4, 0x28, 0x58, 0xD5, 0x7F, 0x99, 0x7E, 0x12, 0xA1, 0x69, 0xD4, 0x34, 0x20, 0x5C, 0x27, +0x08, 0xEE, 0xD4, 0x7F, 0xE8, 0xBD, 0xA8, 0x00, 0xE1, 0x1F, 0xF6, 0x80, 0x3F, 0xA5, 0x50, 0xFF, +0xB8, 0xEF, 0xF0, 0x53, 0x04, 0xEC, 0x37, 0x35, 0x09, 0xF8, 0x61, 0x06, 0x80, 0x1B, 0x09, 0xC0, +0x9E, 0x1C, 0x60, 0x9A, 0x95, 0xA7, 0x5B, 0x65, 0x00, 0x4B, 0xF9, 0x37, 0x6B, 0x7A, 0x8E, 0x04, +0x5C, 0x65, 0x19, 0x73, 0x73, 0xEB, 0x15, 0x0A, 0x70, 0x54, 0x33, 0x8C, 0x98, 0x57, 0xD3, 0x80, +0x6C, 0x10, 0x80, 0xCB, 0x79, 0xC0, 0xF4, 0x2C, 0x8D, 0xC4, 0xBC, 0x20, 0x02, 0x2B, 0x08, 0xBC, +0x39, 0xCC, 0xDD, 0xDD, 0xC4, 0x6A, 0x0D, 0x80, 0x7D, 0x04, 0x4C, 0xCF, 0xF4, 0xAF, 0xC4, 0xD7, +0x9D, 0x7B, 0x11, 0xF0, 0x10, 0x43, 0xAB, 0xB9, 0x23, 0xA9, 0x62, 0x9E, 0x96, 0x25, 0x04, 0x1E, +0xCB, 0x7B, 0x0A, 0x20, 0x51, 0x03, 0x9E, 0x2B, 0xFC, 0xF3, 0x91, 0x4B, 0xB0, 0xE7, 0x05, 0x02, +0x26, 0x88, 0xA9, 0x02, 0xC2, 0x4A, 0x10, 0x5C, 0xEA, 0x3F, 0xA9, 0x3F, 0x8D, 0x9A, 0xFE, 0xF3, +0xF6, 0x97, 0x2F, 0xE2, 0xA0, 0x5F, 0xF5, 0x06, 0x98, 0x60, 0xFD, 0x0D, 0xD1, 0xB0, 0x2F, 0x6E, +0xE0, 0xDF, 0x53, 0x9B, 0x51, 0x03, 0xBA, 0x69, 0x9B, 0x9E, 0x3D, 0x4E, 0xA6, 0x10, 0x58, 0x03, +0x00, 0x56, 0xF8, 0x87, 0x6D, 0xA4, 0xFF, 0x3A, 0x15, 0x60, 0x59, 0x02, 0x46, 0x00, 0x6E, 0x2A, +0xFF, 0x96, 0x35, 0xE0, 0x2D, 0xAD, 0xA1, 0x00, 0xB3, 0xBF, 0x1A, 0xA0, 0x01, 0x4B, 0x01, 0x48, +0x1A, 0x90, 0xFA, 0xAF, 0x3B, 0x33, 0x04, 0x60, 0x4D, 0x02, 0xA2, 0xFF, 0x14, 0xF9, 0x66, 0x12, +0xBE, 0x6B, 0xD1, 0x6F, 0x7B, 0x02, 0xD6, 0xFB, 0xFF, 0xDA, 0x04, 0xFC, 0x60, 0x05, 0x60, 0x1B, +0xE6, 0x50, 0x81, 0x7E, 0x28, 0x4E, 0x92, 0xA2, 0xAA, 0xFF, 0x28, 0x05, 0xEB, 0xF4, 0x16, 0x8A, +0xA5, 0x2D, 0x01, 0x75, 0x5B, 0x80, 0xE2, 0x68, 0xB3, 0x1E, 0xFF, 0x9A, 0x57, 0x02, 0xCE, 0x85, +0x60, 0x35, 0xFF, 0xE7, 0x9A, 0x8E, 0x99, 0x46, 0xAD, 0x01, 0x10, 0xFD, 0xC7, 0x98, 0x6F, 0x00, +0x74, 0x0D, 0x3A, 0x31, 0xD8, 0xBB, 0xA1, 0x6D, 0x36, 0xF5, 0x1F, 0xBB, 0x4E, 0xFD, 0x07, 0x04, +0x03, 0x05, 0xD1, 0x7F, 0x84, 0xC0, 0xB4, 0x03, 0xC6, 0x12, 0x08, 0x0D, 0x30, 0x92, 0xF5, 0xE6, +0x1A, 0xFC, 0x6B, 0x68, 0xC0, 0x01, 0xFC, 0x03, 0x80, 0x6B, 0x33, 0x81, 0x5B, 0x06, 0xC0, 0x41, +0x01, 0x6A, 0x16, 0xE3, 0xD6, 0x12, 0xD0, 0xB4, 0xDD, 0x52, 0x0E, 0xF0, 0x2A, 0xEC, 0xBA, 0xAD, +0x89, 0xBF, 0xB2, 0x14, 0x5C, 0x04, 0xC0, 0x69, 0x2E, 0x6B, 0x40, 0x23, 0xA2, 0x42, 0x5F, 0xBB, +0x68, 0x87, 0x31, 0xE0, 0x35, 0x10, 0xB8, 0x6D, 0x43, 0x74, 0x5D, 0xFF, 0xB5, 0x09, 0xB8, 0x3F, +0xC5, 0x44, 0x91, 0x54, 0xC3, 0xA9, 0x38, 0x12, 0x72, 0xA0, 0xFE, 0x51, 0xD1, 0x80, 0x28, 0xC0, +0xFE, 0xFC, 0x1F, 0xFC, 0xD3, 0xAA, 0xCD, 0xE5, 0xFB, 0xB9, 0x03, 0x70, 0x6F, 0x8D, 0x7D, 0x92, +0x5E, 0xA2, 0x61, 0x2D, 0xFF, 0x37, 0x75, 0x00, 0xCA, 0xF9, 0x9C, 0xD5, 0x7F, 0xD4, 0x3F, 0xE4, +0x2A, 0x0D, 0xD1, 0xFE, 0xC3, 0x79, 0xF8, 0xAD, 0x3C, 0xA0, 0x1A, 0xA2, 0xEB, 0x0D, 0x80, 0xBE, +0x61, 0xBF, 0x3A, 0x0B, 0x58, 0xF6, 0xBF, 0xA0, 0xFD, 0x62, 0x14, 0x0C, 0x06, 0xFD, 0x00, 0x88, +0x46, 0x5C, 0xD0, 0x80, 0xF0, 0xAF, 0x62, 0x9B, 0xE8, 0x3F, 0x00, 0xB8, 0x4E, 0x02, 0x6E, 0xC7, +0x3F, 0xB0, 0xC7, 0xD6, 0x34, 0xE0, 0xC5, 0x16, 0x56, 0x2F, 0x84, 0x5C, 0x01, 0xC2, 0x15, 0xE8, +0x9B, 0xAE, 0xE5, 0xF0, 0x97, 0x89, 0xD3, 0x10, 0xF9, 0x7C, 0x13, 0x47, 0xA5, 0x01, 0x50, 0xF4, +0x0B, 0xE9, 0xC0, 0x12, 0x7F, 0x33, 0xF4, 0xFB, 0x93, 0x1A, 0xB0, 0x6A, 0xB3, 0x05, 0xE0, 0x98, +0x28, 0xD2, 0xDD, 0xFD, 0x9B, 0xFF, 0xAC, 0x6A, 0xEF, 0x65, 0x92, 0x06, 0x44, 0xB1, 0x34, 0x2C, +0xE8, 0x3F, 0xAC, 0xA5, 0x01, 0xAD, 0x01, 0x06, 0xF6, 0x11, 0x04, 0x4B, 0x03, 0x86, 0x06, 0x40, +0xE0, 0x47, 0x12, 0xD0, 0x50, 0xB7, 0x50, 0x00, 0xCE, 0x21, 0x70, 0x5D, 0x03, 0x4E, 0x81, 0x2F, +0xB1, 0xAF, 0x83, 0xD0, 0x1F, 0xB4, 0xE3, 0xDF, 0xA3, 0x7C, 0xBF, 0xFE, 0x23, 0xEF, 0x17, 0xE3, +0x5F, 0x10, 0xA8, 0x50, 0x98, 0x86, 0x68, 0x19, 0x59, 0x8D, 0x9D, 0x16, 0x1A, 0xA2, 0x4B, 0xFE, +0xF5, 0x69, 0xC0, 0x11, 0x06, 0x00, 0x57, 0x6A, 0xC0, 0x3F, 0xC5, 0x3F, 0x7F, 0xB4, 0x99, 0x04, +0x5C, 0xE8, 0x07, 0xBC, 0x50, 0x44, 0xBC, 0x3E, 0x0F, 0x58, 0x69, 0x80, 0xAE, 0x23, 0x30, 0xD6, +0x7F, 0x7D, 0xC8, 0x2A, 0x1A, 0xD0, 0xEB, 0xBF, 0xE0, 0x0F, 0x19, 0xE8, 0xF3, 0x45, 0xB5, 0x00, +0xC2, 0xF8, 0x83, 0xED, 0x80, 0xFB, 0x05, 0x9B, 0x39, 0x00, 0xE2, 0x23, 0x56, 0x41, 0xDC, 0x53, +0x0A, 0xA6, 0x01, 0xBA, 0x46, 0xC0, 0x7E, 0x04, 0x1E, 0xC3, 0x5A, 0x00, 0x82, 0xDB, 0x40, 0x40, +0x15, 0x40, 0xE0, 0x9E, 0xB6, 0x7E, 0x45, 0x50, 0x25, 0xCE, 0x39, 0xFD, 0x10, 0x74, 0x68, 0xC0, +0x6A, 0xFC, 0x1B, 0x29, 0xE8, 0xDB, 0x99, 0x06, 0x18, 0x7E, 0x64, 0x0F, 0xC3, 0x33, 0xFE, 0xFC, +0xDD, 0x58, 0x51, 0xFF, 0xD5, 0x6D, 0xF5, 0x4B, 0x11, 0x38, 0x00, 0x22, 0xEC, 0x95, 0x06, 0xFB, +0x6C, 0x97, 0x1B, 0xA0, 0xA1, 0x1F, 0x31, 0x70, 0x41, 0xC0, 0xFD, 0x92, 0x8D, 0xD7, 0x7F, 0x00, +0x70, 0xAD, 0x08, 0x7C, 0xB4, 0x05, 0x02, 0x61, 0x9E, 0xA6, 0x5C, 0x91, 0x07, 0x1C, 0x64, 0x57, +0x4B, 0x27, 0x41, 0x6C, 0xC7, 0x5D, 0x27, 0xFD, 0xCC, 0xBD, 0x6A, 0xE2, 0x0F, 0x02, 0x8A, 0x81, +0xE4, 0xFF, 0xCC, 0xCF, 0x0D, 0xF2, 0x80, 0x69, 0x43, 0x03, 0x20, 0xF4, 0xCB, 0xEE, 0x55, 0x8C, +0x82, 0x91, 0x7F, 0x7F, 0xA7, 0x16, 0xBC, 0x5F, 0xB4, 0xC0, 0x3F, 0xC4, 0x9F, 0xEF, 0x44, 0x3F, +0x08, 0x28, 0x8B, 0xFA, 0x6F, 0xA9, 0x19, 0xA6, 0x6D, 0x95, 0xFC, 0x1F, 0x56, 0x1E, 0x09, 0xA1, +0x01, 0x5A, 0x0B, 0x8D, 0x78, 0xE7, 0x22, 0x08, 0x76, 0xDE, 0x45, 0xF0, 0xA1, 0x01, 0x3F, 0x56, +0x1A, 0xA0, 0xA3, 0x5A, 0xF4, 0xED, 0xA7, 0x82, 0x7F, 0xC0, 0x57, 0x7B, 0xFF, 0x39, 0x84, 0x52, +0x70, 0xD0, 0x7F, 0x47, 0x39, 0x2C, 0xD4, 0x82, 0x7B, 0x82, 0x60, 0x79, 0x09, 0xC0, 0x42, 0xFF, +0xD9, 0xA5, 0x8C, 0x2D, 0x07, 0x40, 0xB2, 0x8B, 0x25, 0xFE, 0xE2, 0x48, 0xC8, 0x7E, 0xD1, 0xC6, +0xEB, 0x3F, 0x00, 0xD8, 0xC1, 0xC0, 0xCD, 0x05, 0x20, 0xD0, 0x2B, 0xF9, 0x57, 0x52, 0x6F, 0x98, +0x04, 0x14, 0xE0, 0x58, 0x69, 0x82, 0xE1, 0xBA, 0x5A, 0x5B, 0x08, 0x21, 0x01, 0xD8, 0x24, 0x60, +0x1E, 0x94, 0x3F, 0x66, 0xCD, 0xEA, 0xBE, 0xE8, 0x3F, 0xE9, 0x3D, 0x1C, 0x15, 0x91, 0xD0, 0x0F, +0x5D, 0x1D, 0x66, 0x9B, 0x11, 0x10, 0xFD, 0xD7, 0xB0, 0x10, 0xFF, 0x52, 0xFF, 0x08, 0xC3, 0x0C, +0x02, 0x5A, 0x52, 0x89, 0x04, 0x60, 0xB5, 0x12, 0x42, 0x35, 0xA4, 0x1B, 0x81, 0x51, 0xF8, 0x69, +0x5F, 0x1E, 0x09, 0x49, 0xEE, 0x4B, 0x94, 0x7E, 0x4A, 0xC2, 0xF9, 0x12, 0x09, 0x28, 0x0D, 0x27, +0x92, 0x69, 0x5E, 0xBB, 0x8F, 0x1A, 0x30, 0x46, 0xCA, 0x7C, 0x73, 0x1F, 0x41, 0x03, 0xFE, 0xDA, +0x7A, 0x23, 0x29, 0x8A, 0x0E, 0xFC, 0x5A, 0x1C, 0x00, 0x29, 0x79, 0x5E, 0xE6, 0x01, 0x7B, 0x10, +0x28, 0x0F, 0xFF, 0x66, 0x65, 0x20, 0xFF, 0x59, 0x25, 0x14, 0x52, 0xD5, 0x2F, 0xD2, 0x1B, 0x1C, +0x09, 0x81, 0x7F, 0x75, 0x1B, 0xAF, 0xFF, 0xD6, 0x84, 0xC0, 0x68, 0x40, 0x00, 0xB8, 0x35, 0x01, +0xE5, 0x60, 0x20, 0xC1, 0xEF, 0x18, 0x9B, 0x22, 0x5C, 0xF3, 0xBE, 0x5E, 0x00, 0x3E, 0xD4, 0x9F, +0xAD, 0xDD, 0xF4, 0x73, 0x6B, 0x27, 0x00, 0x09, 0x7F, 0xB5, 0x15, 0xE5, 0xAA, 0x12, 0xF0, 0xA7, +0x06, 0x24, 0xFC, 0x35, 0x12, 0x4A, 0x07, 0x52, 0x08, 0xB6, 0x95, 0x00, 0xB8, 0x86, 0xBF, 0xFC, +0xE1, 0x36, 0x79, 0x40, 0xF4, 0x5F, 0xD3, 0x42, 0xFE, 0x8F, 0x13, 0x70, 0xBA, 0x23, 0x13, 0x28, +0x02, 0x52, 0x00, 0x5E, 0xD2, 0x80, 0xFD, 0x0A, 0xF0, 0x98, 0x5D, 0x05, 0x11, 0xDC, 0x1E, 0xE1, +0x9F, 0x33, 0x8F, 0xE4, 0x1F, 0xDB, 0xE2, 0x58, 0xB0, 0xA8, 0x27, 0xB2, 0x71, 0x9B, 0xDD, 0x5C, +0xFE, 0x2F, 0x1E, 0x04, 0x21, 0x6E, 0xBE, 0xD1, 0x00, 0x28, 0xEC, 0x21, 0x45, 0xED, 0xA1, 0x7F, +0x84, 0x06, 0xBC, 0x84, 0x75, 0xC9, 0xD8, 0xE2, 0xF5, 0x3B, 0xD0, 0x1F, 0x06, 0x53, 0x00, 0x11, +0xFD, 0xD8, 0xDB, 0x02, 0x01, 0x39, 0x00, 0x62, 0x3E, 0x68, 0x40, 0x3D, 0x47, 0x03, 0xEE, 0x9B, +0x36, 0x5A, 0x00, 0x1A, 0x00, 0xFF, 0x15, 0x09, 0x18, 0xB8, 0x17, 0x50, 0xC8, 0xC2, 0x18, 0x26, +0x01, 0x9D, 0x7E, 0xB3, 0x0A, 0x90, 0x9D, 0x28, 0xD9, 0x6F, 0x0D, 0x00, 0x32, 0xC9, 0x00, 0x3A, +0xF5, 0xE4, 0x2B, 0xF6, 0x1A, 0x01, 0x08, 0xF7, 0xB8, 0xA1, 0x21, 0x9A, 0x20, 0xB8, 0x35, 0xB6, +0x95, 0x80, 0xFB, 0x0E, 0x53, 0x03, 0x8C, 0x12, 0xE3, 0x31, 0x4D, 0x9E, 0x57, 0x8E, 0x84, 0xC0, +0xBF, 0x66, 0x14, 0x6C, 0x57, 0xB7, 0x1D, 0x6B, 0xF0, 0x3B, 0xB2, 0xAA, 0x01, 0xC6, 0xF0, 0x47, +0x0E, 0x90, 0x3B, 0x3B, 0x13, 0x42, 0x3B, 0x20, 0x05, 0x60, 0xA3, 0x17, 0x1C, 0x04, 0x68, 0x91, +0x80, 0x99, 0x7B, 0xF4, 0xCB, 0xE0, 0x94, 0x17, 0x0C, 0x0D, 0x80, 0x36, 0x63, 0x20, 0xEC, 0x0F, +0xF3, 0x5E, 0x00, 0xAC, 0x41, 0x9D, 0x27, 0xDD, 0xF4, 0x23, 0x00, 0x46, 0xFF, 0x45, 0x0E, 0x6A, +0x51, 0x21, 0x84, 0x03, 0x20, 0x24, 0xFF, 0x58, 0x76, 0x31, 0x0F, 0xB8, 0x6F, 0xDB, 0x70, 0x01, +0x08, 0x00, 0xFB, 0xD3, 0x80, 0x5B, 0xA9, 0xC0, 0x8B, 0x6A, 0x0C, 0x4C, 0x3B, 0xE0, 0x16, 0x56, +0xCB, 0x01, 0xFA, 0x4E, 0x77, 0xF2, 0x1D, 0xEC, 0xF3, 0x49, 0x03, 0x4C, 0x63, 0xAA, 0x0A, 0xA2, +0x38, 0xB7, 0x9A, 0x02, 0xCC, 0x51, 0xB0, 0x5D, 0xE4, 0xFD, 0x9C, 0x76, 0xDC, 0x08, 0x89, 0x8E, +0xC0, 0x36, 0xFE, 0x6C, 0x6E, 0x9B, 0x06, 0xDC, 0x77, 0xD8, 0x87, 0x89, 0x7F, 0xD2, 0x08, 0xC4, +0x46, 0xF2, 0x88, 0x42, 0x23, 0x20, 0xFC, 0x6B, 0x10, 0xB0, 0x17, 0x7F, 0x3A, 0x01, 0x7C, 0xAC, +0xC1, 0x8F, 0x47, 0x99, 0x7F, 0x19, 0x7B, 0x3A, 0x07, 0xF2, 0x13, 0x42, 0xFE, 0x58, 0xA5, 0x89, +0x70, 0x00, 0xE4, 0xA6, 0xB0, 0xCB, 0xEC, 0x0B, 0xED, 0x80, 0xE1, 0x9B, 0x80, 0x3D, 0x94, 0x23, +0x47, 0x42, 0x7E, 0xFE, 0xA8, 0xAE, 0x44, 0xD1, 0x9F, 0xD3, 0x0C, 0xC7, 0x82, 0xCB, 0xB0, 0xFE, +0xB2, 0x24, 0x60, 0xA7, 0x95, 0x0D, 0xD0, 0x9A, 0x73, 0xED, 0x80, 0xF0, 0x0F, 0xDA, 0xE9, 0x86, +0x61, 0xAE, 0x28, 0x00, 0x37, 0x4B, 0xC1, 0xE3, 0xAC, 0x1F, 0x80, 0x30, 0x6F, 0x23, 0xFA, 0xD5, +0xAA, 0xC0, 0x3E, 0xA2, 0xFA, 0x1B, 0x2B, 0x01, 0x51, 0x7E, 0x35, 0x05, 0x98, 0x5B, 0x06, 0xD7, +0xD7, 0x82, 0x41, 0x5D, 0x75, 0x66, 0x0C, 0x8A, 0x72, 0x7E, 0x45, 0x83, 0x8D, 0xF0, 0x0F, 0xED, +0xC7, 0xE2, 0xE1, 0x2F, 0xED, 0xD0, 0x4D, 0xFE, 0x69, 0x73, 0x77, 0x13, 0xA3, 0x01, 0xB0, 0x4D, +0xC0, 0xC4, 0xC0, 0x20, 0xFE, 0xA0, 0x1F, 0x23, 0x6B, 0x40, 0xF8, 0xD7, 0x4A, 0x03, 0xAE, 0x32, +0x95, 0x07, 0x4A, 0x4E, 0x60, 0x6A, 0x86, 0x39, 0x2B, 0x00, 0x15, 0x6B, 0xD4, 0x83, 0x9C, 0xCB, +0x11, 0xB4, 0x03, 0xA2, 0xE8, 0x90, 0x7F, 0x10, 0x2E, 0x6A, 0xC0, 0x4F, 0xE5, 0x27, 0x84, 0xC9, +0x88, 0xC1, 0xAC, 0xFF, 0x5C, 0xEC, 0x89, 0x83, 0xCC, 0xB3, 0x4D, 0xED, 0x8B, 0x03, 0xC0, 0x97, +0x01, 0x7B, 0xE0, 0x7D, 0x8D, 0x06, 0x9C, 0x2F, 0x00, 0x13, 0xFB, 0xF2, 0xC9, 0x03, 0xE3, 0x9F, +0x92, 0x7E, 0x1A, 0xB1, 0x0E, 0xCC, 0x91, 0x10, 0xF8, 0xD7, 0x23, 0x01, 0x07, 0xDA, 0x9D, 0x35, +0xFC, 0xDB, 0x2E, 0x0D, 0x08, 0xE7, 0xCA, 0x2A, 0x70, 0x5E, 0xB4, 0x1B, 0x6F, 0x89, 0x71, 0x36, +0x9D, 0x70, 0xBE, 0xEA, 0x50, 0x1C, 0x5A, 0x10, 0xEB, 0x96, 0x81, 0xAA, 0x7F, 0xB4, 0x66, 0xC6, +0x1F, 0x94, 0x7B, 0x37, 0x3F, 0xF2, 0x87, 0xC4, 0xBC, 0xA6, 0xFD, 0x7C, 0xA7, 0x05, 0x1A, 0x2A, +0x0D, 0xD8, 0x1C, 0xDB, 0xBE, 0x21, 0xBA, 0xD7, 0x9C, 0x7F, 0xE8, 0x04, 0xED, 0x89, 0x7E, 0x79, +0x78, 0xA0, 0xFE, 0xD1, 0x24, 0xE0, 0x1A, 0x06, 0x92, 0x11, 0x9B, 0x63, 0x1F, 0xDC, 0x98, 0xF8, +0xC7, 0xE9, 0xB7, 0x2C, 0xF7, 0xA4, 0xBB, 0xFC, 0x13, 0xDB, 0x25, 0x87, 0xFE, 0x8B, 0x21, 0x2F, +0x38, 0x44, 0x03, 0xAA, 0x01, 0x86, 0x67, 0xA1, 0x67, 0xDA, 0xC7, 0x47, 0x69, 0x40, 0xA9, 0x4F, +0xF7, 0x5F, 0xA6, 0x04, 0x20, 0x27, 0xE1, 0x54, 0x0B, 0xF1, 0x28, 0xB8, 0x50, 0xB1, 0x6C, 0x7F, +0xB7, 0x19, 0x86, 0xF8, 0x17, 0xF0, 0xC9, 0xDB, 0xCA, 0x92, 0xE4, 0xFA, 0x2E, 0xF4, 0x72, 0x96, +0x9D, 0x80, 0xBA, 0x83, 0x7F, 0x6D, 0x02, 0x8E, 0xE4, 0xDF, 0x6A, 0x05, 0xE8, 0x97, 0xFC, 0x50, +0xFA, 0x35, 0xAA, 0xC0, 0xBE, 0xF3, 0x20, 0x78, 0x98, 0x04, 0xC4, 0x60, 0x9C, 0xAA, 0xC2, 0x45, +0x0E, 0x90, 0x6E, 0xC0, 0xEE, 0x52, 0x88, 0xE4, 0x5D, 0x87, 0x06, 0x24, 0xEE, 0xAD, 0x9A, 0x18, +0x49, 0xAA, 0xCF, 0xCC, 0xB1, 0x27, 0x1E, 0xB2, 0xF5, 0x0F, 0x0C, 0x6F, 0x7F, 0x55, 0x03, 0x76, +0x03, 0xF0, 0xDE, 0x87, 0x5F, 0x91, 0x17, 0xC9, 0x37, 0x7D, 0x42, 0xFE, 0xA8, 0xC5, 0x3F, 0x08, +0xB8, 0x92, 0x7F, 0x81, 0x0B, 0xBC, 0x10, 0x7A, 0x5A, 0xF8, 0xCC, 0x00, 0x83, 0xD6, 0xCB, 0xE2, +0x4F, 0xE9, 0x40, 0x81, 0x71, 0x72, 0x5F, 0xAF, 0x3F, 0x95, 0xED, 0xCF, 0xA0, 0x2D, 0xED, 0x34, +0x3F, 0x7F, 0xE7, 0x0D, 0xD0, 0x7C, 0x84, 0x0B, 0x79, 0x40, 0xEF, 0xFF, 0x23, 0x05, 0xE9, 0x92, +0xCF, 0x89, 0x17, 0x8A, 0x22, 0x5E, 0x0B, 0x9E, 0xD1, 0xB0, 0x98, 0xE8, 0xE8, 0x6E, 0xBD, 0xFE, +0x2B, 0xA0, 0xC7, 0x22, 0x7B, 0xA0, 0x6A, 0x16, 0x7F, 0xAA, 0x6C, 0x41, 0xA0, 0xB9, 0x53, 0xFF, +0x7F, 0x97, 0x7F, 0x09, 0x80, 0x18, 0x12, 0x70, 0xB0, 0xFE, 0xAB, 0x54, 0x81, 0xF9, 0x64, 0xCB, +0xAF, 0x14, 0x97, 0x29, 0x47, 0xE6, 0x8F, 0x9D, 0x5D, 0xF0, 0xB1, 0xDB, 0x10, 0x80, 0x2D, 0x00, +0x72, 0xFA, 0xCD, 0xD6, 0xDA, 0x98, 0x8C, 0xD8, 0x77, 0x1A, 0x79, 0xE2, 0x78, 0xFE, 0xA2, 0x6F, +0x98, 0xDD, 0x1D, 0x6F, 0x28, 0xC0, 0xB6, 0x9D, 0x84, 0x3C, 0x1A, 0x25, 0xC2, 0xD0, 0x7D, 0xB2, +0xC3, 0xF3, 0x6E, 0x5B, 0xC1, 0xBF, 0xB6, 0xD1, 0x0D, 0x98, 0x8F, 0xA0, 0xD9, 0x35, 0x21, 0x87, +0xF0, 0x97, 0x63, 0xC1, 0x16, 0xA3, 0x46, 0x84, 0x11, 0x0C, 0x8B, 0x65, 0xDC, 0xAB, 0x02, 0x9C, +0xCC, 0x56, 0x02, 0xE1, 0xEC, 0xF8, 0x8E, 0x49, 0x28, 0xC6, 0xCE, 0xBF, 0x34, 0xA5, 0x08, 0xFD, +0xB9, 0x0E, 0xE7, 0x99, 0x23, 0x00, 0x5E, 0x90, 0x7F, 0xAB, 0x09, 0x88, 0xFA, 0x63, 0x31, 0xA7, +0x3B, 0xA2, 0xE1, 0x03, 0x94, 0x9B, 0xE9, 0x82, 0x89, 0x91, 0xF1, 0xFE, 0xDE, 0xFF, 0x01, 0xC0, +0x47, 0x5B, 0x7E, 0x19, 0xA4, 0x4A, 0x15, 0x98, 0x5B, 0x34, 0xDF, 0x48, 0x09, 0xF8, 0x8C, 0x4A, +0xB0, 0x2F, 0x40, 0x2F, 0x9C, 0x07, 0xB6, 0x75, 0x6D, 0x08, 0xDC, 0x3B, 0x09, 0x7D, 0xAB, 0xA6, +0xCF, 0x50, 0x7B, 0x3E, 0x39, 0x01, 0xA7, 0x0D, 0x4C, 0x04, 0x72, 0x7F, 0xA1, 0x16, 0x4C, 0x0D, +0xB8, 0xD9, 0xDA, 0xF0, 0x46, 0xFF, 0x28, 0x90, 0x08, 0xB1, 0x0F, 0x06, 0x06, 0xEE, 0x76, 0x10, +0x70, 0x18, 0x02, 0xAB, 0x22, 0x29, 0x8A, 0x25, 0xFB, 0x84, 0x33, 0x20, 0xE6, 0x80, 0x50, 0x8E, +0x85, 0xA1, 0xD1, 0xD9, 0xCF, 0x80, 0x5C, 0x03, 0x32, 0xD0, 0x47, 0x15, 0x58, 0xCA, 0xEE, 0xFA, +0xDB, 0xF5, 0x37, 0x71, 0x2F, 0x7C, 0x17, 0x39, 0xBE, 0xDF, 0x67, 0xBE, 0x08, 0xC8, 0xD9, 0x83, +0x5F, 0xF8, 0xAB, 0xD6, 0x1C, 0x15, 0x87, 0x2F, 0x63, 0x0A, 0x30, 0xEC, 0xCB, 0x65, 0x0D, 0xFF, +0xD0, 0x7E, 0x65, 0x30, 0x8C, 0xDD, 0xDF, 0x71, 0xFA, 0x23, 0xE8, 0xBF, 0x58, 0x17, 0xC9, 0xAE, +0x9B, 0x7F, 0xFB, 0xBB, 0x23, 0xED, 0xCE, 0x3F, 0x21, 0x00, 0xC1, 0x1D, 0x2B, 0x5B, 0x1F, 0xEC, +0xC6, 0xEB, 0x3F, 0x1B, 0x30, 0x8E, 0xEE, 0xBF, 0xA8, 0x00, 0xD7, 0x16, 0x41, 0x3A, 0x09, 0xE8, +0x8B, 0xAC, 0xA1, 0x00, 0xCD, 0x2B, 0xF8, 0x15, 0xFB, 0x28, 0x8A, 0x70, 0xE3, 0x2B, 0xA7, 0x40, +0x1A, 0x63, 0x78, 0x2D, 0x58, 0x35, 0x90, 0x7B, 0x7D, 0x7F, 0xA1, 0x4F, 0x13, 0xE5, 0x80, 0x5E, +0xD4, 0x7F, 0xBA, 0xF7, 0x6F, 0x73, 0x48, 0x73, 0x38, 0x00, 0x97, 0x00, 0x11, 0x1F, 0xE7, 0x53, +0x20, 0x3A, 0x00, 0x9C, 0x2C, 0x23, 0x50, 0xCA, 0x4F, 0x6C, 0xCC, 0xE7, 0xE1, 0x5C, 0xBC, 0x95, +0x19, 0xBD, 0x48, 0xC3, 0xEB, 0xC4, 0xBF, 0x8F, 0xD7, 0xBE, 0xE5, 0xA9, 0x2D, 0x88, 0x40, 0x42, +0x60, 0x7D, 0x19, 0x4C, 0xF2, 0x8E, 0x62, 0xB0, 0x43, 0x51, 0x3B, 0x4F, 0x01, 0x26, 0x2B, 0x88, +0x5E, 0x25, 0x7D, 0x3F, 0xFF, 0x80, 0x1E, 0x17, 0x5E, 0xD3, 0xF8, 0x77, 0xD8, 0x79, 0xFE, 0x02, +0xCC, 0x21, 0x05, 0x23, 0x07, 0x4F, 0x69, 0xF6, 0xA6, 0x00, 0x07, 0x12, 0x70, 0x3D, 0x00, 0xB7, +0xEF, 0x03, 0x2C, 0xAB, 0xC0, 0x2C, 0x17, 0x2F, 0xCD, 0x0F, 0x95, 0x80, 0x00, 0x70, 0x4E, 0x01, +0x02, 0xC3, 0xDF, 0x7D, 0x27, 0x4C, 0x93, 0x80, 0xAA, 0x83, 0xC4, 0x40, 0x77, 0xA1, 0x13, 0xD0, +0x2E, 0xCE, 0x00, 0x87, 0x44, 0xA0, 0x19, 0x8F, 0xBB, 0x11, 0x68, 0x73, 0xB4, 0x06, 0xB4, 0x97, +0xA0, 0x26, 0xEB, 0xD3, 0x7F, 0x66, 0xA7, 0xF0, 0x6F, 0x62, 0xEE, 0xDA, 0x65, 0x00, 0xEE, 0xEE, +0x0F, 0x26, 0xE0, 0x3C, 0x14, 0xD8, 0xF2, 0xE0, 0x72, 0xB2, 0x2C, 0xB5, 0xD4, 0x76, 0xC2, 0x9B, +0x58, 0xCC, 0xC7, 0xC3, 0x20, 0x6A, 0xFA, 0xE3, 0x68, 0x47, 0xD9, 0xE8, 0x77, 0x6D, 0x04, 0xFC, +0xA6, 0x3E, 0x18, 0x42, 0x60, 0x1C, 0x2A, 0xD0, 0xA9, 0xFA, 0x55, 0x21, 0xB7, 0x68, 0x67, 0xFB, +0x74, 0x79, 0xE2, 0x51, 0x79, 0xC0, 0xF3, 0xA5, 0x9B, 0x34, 0x6C, 0x51, 0xFB, 0xA5, 0xBF, 0x7B, +0x0D, 0x01, 0x8B, 0x92, 0xAF, 0xAF, 0xD0, 0x0F, 0x33, 0xFE, 0xA5, 0x11, 0x14, 0x20, 0x9B, 0x10, +0x03, 0x4F, 0xD6, 0xD7, 0x07, 0x98, 0x6C, 0x60, 0x10, 0xFC, 0xCF, 0xE4, 0x00, 0xDD, 0x96, 0xAB, +0xC0, 0xA4, 0x0A, 0x07, 0xEB, 0x3F, 0x1F, 0x2A, 0x00, 0x57, 0xDA, 0xA0, 0xD7, 0x5A, 0xE3, 0x20, +0x1C, 0x53, 0x04, 0xEC, 0x53, 0x80, 0xAF, 0x55, 0x08, 0xF6, 0x49, 0x0D, 0x18, 0x31, 0xC8, 0x47, +0x6E, 0x9D, 0x39, 0xC0, 0x81, 0x85, 0x10, 0xF8, 0xE7, 0xD6, 0xFE, 0x0B, 0x7D, 0x7A, 0xEC, 0xF6, +0x86, 0x40, 0x77, 0x72, 0x0C, 0xF2, 0x7F, 0x87, 0x83, 0x13, 0xF0, 0xC1, 0x50, 0x02, 0x36, 0xB4, +0x11, 0x3A, 0xD0, 0xF9, 0x77, 0x34, 0x67, 0x8C, 0x51, 0x18, 0x9A, 0x56, 0xAE, 0xC4, 0xA0, 0x7C, +0x1C, 0xF8, 0x53, 0x6E, 0x84, 0xBE, 0x79, 0x9C, 0x2D, 0x88, 0x40, 0xE1, 0xEF, 0xA3, 0x4F, 0xBB, +0x17, 0x1F, 0xAF, 0x7F, 0xFD, 0x16, 0x7A, 0xC6, 0x17, 0x88, 0xA3, 0x08, 0x62, 0xD4, 0x03, 0x7F, +0xBC, 0x9F, 0x70, 0xE2, 0xDF, 0xB1, 0xA2, 0x01, 0xC5, 0xC5, 0xB5, 0x1A, 0x10, 0xE6, 0xB1, 0x09, +0x46, 0x09, 0x78, 0x97, 0x01, 0x58, 0x14, 0x3C, 0x7C, 0x89, 0x4F, 0x4E, 0x99, 0x80, 0xF7, 0xDA, +0x00, 0x1C, 0x48, 0xC0, 0xFF, 0x41, 0x01, 0x66, 0xC7, 0x18, 0x2D, 0x01, 0x21, 0xA0, 0xCD, 0xA0, +0x00, 0xD5, 0x00, 0xA3, 0xBB, 0x8B, 0x35, 0xFC, 0xC3, 0xDA, 0xFA, 0x2F, 0x68, 0xC0, 0x25, 0x7B, +0x67, 0xF2, 0x8F, 0x4A, 0x48, 0x72, 0x31, 0x11, 0xC8, 0x13, 0xEC, 0xC5, 0x9F, 0x2E, 0x84, 0xC0, +0xBF, 0xBB, 0x3D, 0x00, 0xFC, 0xF0, 0x58, 0x02, 0x00, 0xD0, 0xED, 0xEA, 0xFA, 0x6F, 0x3C, 0x01, +0x0B, 0xFA, 0x55, 0xFB, 0xE6, 0x1C, 0x28, 0x7E, 0x19, 0x65, 0xE8, 0xF9, 0xB3, 0x25, 0xD6, 0x64, +0xDF, 0x26, 0x95, 0x96, 0xCD, 0xEA, 0x16, 0xB1, 0xF1, 0x85, 0x2A, 0x30, 0x4D, 0x80, 0xDF, 0x7C, +0xA2, 0xF7, 0xF4, 0x0D, 0xE3, 0x3B, 0xB1, 0xC2, 0x51, 0x38, 0xFD, 0x14, 0x72, 0x57, 0x8E, 0x39, +0xFD, 0xF8, 0x46, 0x61, 0xFF, 0x89, 0xBA, 0x8B, 0xBF, 0x30, 0x6E, 0xED, 0x52, 0xFE, 0xAF, 0x93, +0x80, 0x42, 0x5E, 0x58, 0x75, 0x31, 0xC5, 0x3F, 0x1B, 0x87, 0xD0, 0xFC, 0xA2, 0x7D, 0x80, 0xA2, +0xE1, 0x0F, 0x0D, 0xD8, 0xEA, 0x81, 0x19, 0x44, 0xC0, 0x5B, 0x01, 0x10, 0x05, 0x38, 0x1C, 0x81, +0x91, 0x80, 0xAC, 0x81, 0x80, 0x43, 0x05, 0x20, 0xC3, 0x78, 0x77, 0x9B, 0xB7, 0xC1, 0x60, 0x09, +0x67, 0x5D, 0x1A, 0x30, 0x3B, 0x3F, 0x0D, 0xB7, 0x2C, 0x01, 0x6D, 0xBE, 0xB6, 0xE9, 0x57, 0xF1, +0x0A, 0x40, 0x5E, 0x0D, 0x93, 0x6F, 0xFB, 0x09, 0x68, 0x73, 0x60, 0x1A, 0x10, 0xFE, 0x4D, 0x08, +0xEC, 0xE3, 0x5F, 0x2C, 0xFD, 0xB2, 0x0D, 0x8F, 0x0E, 0x1A, 0x2D, 0x02, 0x86, 0x4F, 0x3B, 0xF9, +0xF7, 0x64, 0x2E, 0x02, 0x66, 0x75, 0xFE, 0x89, 0x2A, 0x46, 0x40, 0xC7, 0x0E, 0xE5, 0x0F, 0xD6, +0xB7, 0x1E, 0xFF, 0x62, 0x3A, 0xFA, 0x51, 0x39, 0xE2, 0x66, 0xFA, 0x4F, 0x33, 0xF1, 0x8E, 0x77, +0xE7, 0x13, 0x32, 0xE7, 0xA9, 0xA3, 0xC0, 0x8A, 0x82, 0xCF, 0x0A, 0xC0, 0x55, 0xF6, 0xD5, 0x69, +0x60, 0xDB, 0xFB, 0x4F, 0xF4, 0x68, 0x0E, 0x0D, 0x58, 0x33, 0x10, 0xD8, 0x5B, 0xFF, 0x95, 0x9F, +0x53, 0x82, 0xE2, 0xDF, 0x41, 0x03, 0x0D, 0x68, 0x6E, 0xA6, 0x25, 0x1A, 0x6B, 0x34, 0xC3, 0xE8, +0x6F, 0xD5, 0x08, 0x02, 0x02, 0xC0, 0x7F, 0xCD, 0x8A, 0x2A, 0xB0, 0xE0, 0xF7, 0xF2, 0x62, 0x83, +0xE3, 0x20, 0xCF, 0x22, 0x01, 0xCD, 0xF1, 0x3E, 0xC0, 0xF6, 0x59, 0xE0, 0xB6, 0x00, 0x7C, 0xB6, +0xC4, 0x3F, 0x9C, 0x8F, 0x46, 0x15, 0x58, 0xF8, 0xB3, 0xC5, 0x61, 0x47, 0xC9, 0x17, 0x45, 0x58, +0xDA, 0xDD, 0x16, 0x01, 0x47, 0xA6, 0x01, 0xE1, 0x9F, 0x28, 0xD8, 0xCF, 0xBF, 0x93, 0xC4, 0x5E, +0x9A, 0x15, 0xFD, 0x37, 0x5E, 0x03, 0x02, 0x80, 0x79, 0x43, 0x2D, 0x5D, 0x66, 0x3B, 0x4E, 0x1A, +0x50, 0xB5, 0x60, 0x15, 0x22, 0x92, 0x53, 0x69, 0x04, 0xFD, 0x47, 0x29, 0x38, 0xF9, 0xE4, 0x50, +0x7E, 0xF0, 0xCF, 0xE5, 0x5F, 0x1E, 0xF1, 0x35, 0x80, 0xDA, 0xB9, 0x93, 0xFE, 0x83, 0x80, 0x2A, +0xC1, 0xA8, 0x1B, 0x91, 0xD2, 0xB4, 0x91, 0xDA, 0xED, 0x6C, 0x3F, 0x59, 0xE8, 0x77, 0xC4, 0xFF, +0x46, 0x25, 0x24, 0xC2, 0x2F, 0xB2, 0x2F, 0xCA, 0xC0, 0x07, 0x0F, 0x23, 0x00, 0xC3, 0xFF, 0x64, +0x48, 0x41, 0xF4, 0x5F, 0x9F, 0x06, 0xE4, 0x2F, 0xD5, 0xED, 0x08, 0xF8, 0xCF, 0x02, 0x10, 0xBE, +0x69, 0xB2, 0xC6, 0xF1, 0x72, 0xA0, 0xFE, 0x63, 0x28, 0xE4, 0xB5, 0xA5, 0x7C, 0x1B, 0xCC, 0xD5, +0x3A, 0xFE, 0xB5, 0x25, 0xA0, 0x39, 0xBD, 0x0B, 0xC1, 0xD6, 0x45, 0x01, 0x98, 0x63, 0xDF, 0x7C, +0x65, 0xE4, 0xC9, 0x87, 0x73, 0x21, 0x0E, 0xC7, 0xDE, 0x28, 0xF8, 0x05, 0x69, 0xC0, 0x11, 0x1A, +0x10, 0xFE, 0xB9, 0xED, 0x97, 0x35, 0xE0, 0xBD, 0xFD, 0x63, 0x99, 0xF2, 0x80, 0x34, 0x03, 0xCE, +0xE9, 0x3F, 0xC6, 0xEE, 0x79, 0xBF, 0xF5, 0xE3, 0x8F, 0x38, 0x91, 0x3B, 0x0A, 0xC0, 0x36, 0xCF, +0xE2, 0x60, 0xEE, 0x45, 0x3E, 0xA3, 0xFC, 0x7E, 0xB2, 0xB0, 0xF2, 0x15, 0x81, 0x95, 0xDB, 0x23, +0x08, 0x4E, 0xB7, 0x66, 0xA6, 0xFD, 0x74, 0x7D, 0xA6, 0x54, 0x1C, 0x5B, 0x65, 0x94, 0x00, 0xC4, +0x24, 0x41, 0xCF, 0xDE, 0x74, 0x33, 0x21, 0x30, 0x47, 0xC5, 0xCE, 0xE9, 0xB3, 0x93, 0xBA, 0x22, +0x01, 0xE3, 0xFD, 0x13, 0x5C, 0xDD, 0x6A, 0xC8, 0x8B, 0xDE, 0xED, 0x27, 0xFF, 0x7C, 0x3D, 0x14, +0x2F, 0xC1, 0x62, 0xB9, 0x69, 0x3D, 0xFA, 0x6F, 0x7F, 0x3B, 0x0D, 0xF8, 0x0F, 0x03, 0xD0, 0x19, +0x08, 0xFC, 0xE2, 0x11, 0x10, 0xC6, 0x18, 0x09, 0x08, 0xFF, 0x18, 0x94, 0x3F, 0x68, 0x83, 0x56, +0x6C, 0x3C, 0xFC, 0x8B, 0x82, 0xB0, 0x82, 0xC3, 0x77, 0x8B, 0xFA, 0xEF, 0xB5, 0x10, 0x68, 0x44, +0x44, 0x01, 0xDA, 0x08, 0x15, 0xE0, 0x7E, 0x02, 0x02, 0x3F, 0x5F, 0x47, 0x10, 0xF0, 0xC5, 0xA4, +0xFF, 0xEC, 0x6F, 0x69, 0xB6, 0x16, 0xFF, 0xB0, 0x53, 0x08, 0x92, 0x42, 0xE7, 0xC4, 0xE1, 0x06, +0x00, 0x0F, 0xB7, 0xD7, 0x80, 0xCF, 0x89, 0x7F, 0xA1, 0x60, 0x2D, 0x08, 0xCE, 0xE2, 0x0F, 0xB2, +0x4C, 0xF5, 0xD6, 0x50, 0x8D, 0xC8, 0x2F, 0x64, 0x2E, 0x0C, 0x8C, 0xC5, 0x53, 0x1D, 0xAE, 0xFF, +0x34, 0x3E, 0xFE, 0x60, 0xEE, 0x8C, 0x75, 0x9D, 0x88, 0x81, 0x28, 0xFA, 0x01, 0x48, 0x69, 0x68, +0xA0, 0xA6, 0xA4, 0x40, 0xD0, 0x40, 0x8D, 0x28, 0x43, 0x4D, 0x93, 0x2A, 0xDF, 0x00, 0x3D, 0xF4, +0x50, 0xD2, 0x52, 0x47, 0xA2, 0xE5, 0x03, 0xF1, 0x8C, 0xE7, 0x72, 0x18, 0x1C, 0x63, 0xB3, 0x5E, +0xA4, 0xBD, 0xB3, 0xBB, 0xF6, 0x3E, 0x90, 0xC8, 0x23, 0x7E, 0xE7, 0x5D, 0x7B, 0xC6, 0x9B, 0x7A, +0xF9, 0x6A, 0xB0, 0x63, 0xB6, 0x0C, 0x2E, 0x6F, 0x8D, 0x78, 0xF8, 0x8B, 0x9D, 0xCE, 0x5F, 0xBF, +0x67, 0xA6, 0x2E, 0x62, 0xFF, 0x0E, 0x72, 0x7A, 0xBA, 0x79, 0x32, 0xE5, 0x01, 0x9B, 0xD4, 0xAF, +0xAE, 0x5C, 0xD4, 0xF2, 0x36, 0xC5, 0xBB, 0x96, 0xDE, 0x55, 0x72, 0xC0, 0xF8, 0x3F, 0x34, 0xE1, +0xFF, 0xF6, 0xF4, 0x80, 0xAF, 0x8E, 0x06, 0xC0, 0xFB, 0x0E, 0x10, 0xEC, 0x11, 0xFB, 0xFA, 0x3F, +0x08, 0x48, 0xC9, 0xB3, 0x9E, 0x8A, 0xFF, 0x1F, 0x3F, 0x14, 0x49, 0xE6, 0x8F, 0xAF, 0x74, 0xFC, +0x5F, 0x81, 0x1D, 0x93, 0x60, 0x13, 0xCC, 0x93, 0xF3, 0x53, 0x1E, 0x78, 0x1E, 0x80, 0x76, 0x88, +0x7D, 0xFB, 0x7D, 0x52, 0x9C, 0x7E, 0x53, 0x5F, 0xCA, 0xE1, 0x0F, 0x85, 0x39, 0xCD, 0xF0, 0x0F, +0x41, 0x3E, 0x05, 0xF3, 0x5F, 0x62, 0x8F, 0x82, 0xE8, 0x06, 0x7F, 0xAA, 0x0B, 0x69, 0x15, 0x33, +0x5F, 0xBF, 0x86, 0x72, 0x1A, 0x44, 0xFB, 0xD3, 0xE0, 0x1F, 0x2A, 0x50, 0x0B, 0xA0, 0x91, 0xD5, +0x8D, 0xFC, 0x87, 0xFB, 0xBE, 0x72, 0x94, 0xA8, 0xAD, 0xB1, 0xD2, 0x83, 0xC7, 0xE6, 0xE3, 0xFF, +0x1A, 0x02, 0x92, 0x7D, 0x96, 0x17, 0x35, 0x04, 0xEB, 0x95, 0x3A, 0xFC, 0xFC, 0x25, 0xDF, 0xFF, +0xBE, 0xA0, 0xDE, 0x04, 0x01, 0xD9, 0xF9, 0x91, 0x99, 0x27, 0xF1, 0xA5, 0x73, 0x7E, 0xB7, 0xEC, +0x0E, 0xEC, 0xA5, 0x3D, 0x8F, 0x08, 0x9D, 0xFE, 0xE2, 0xFF, 0x6C, 0x44, 0x31, 0xAA, 0x4E, 0x3B, +0xF0, 0xEF, 0x70, 0x00, 0x7C, 0x73, 0x77, 0x0D, 0x50, 0xCB, 0x7F, 0x29, 0x3A, 0x16, 0x70, 0x03, +0xFE, 0x08, 0xD2, 0x1F, 0x7C, 0x2E, 0xB0, 0x75, 0xB7, 0xF1, 0x6F, 0xCC, 0x40, 0x35, 0x44, 0xDF, +0x02, 0x82, 0xBF, 0xAB, 0x3C, 0xE0, 0x35, 0x9F, 0xBA, 0xB4, 0xEA, 0x12, 0x90, 0x63, 0xAF, 0x5C, +0xB0, 0xF2, 0xBF, 0x76, 0x91, 0x09, 0xEC, 0x17, 0x00, 0xB6, 0x6A, 0x3E, 0x17, 0x5D, 0x05, 0xD0, +0x0B, 0x04, 0x1C, 0x18, 0x40, 0x10, 0xD8, 0x5B, 0x1B, 0x73, 0xA4, 0x18, 0x4F, 0xBE, 0x83, 0x16, +0xA7, 0x1F, 0x1B, 0x83, 0x6B, 0xA3, 0x04, 0x70, 0x56, 0x9A, 0xD1, 0x92, 0xFF, 0x08, 0xDF, 0x17, +0x18, 0xD4, 0x2D, 0x2E, 0x91, 0x24, 0x70, 0xE7, 0x63, 0x31, 0xDF, 0x07, 0x02, 0x79, 0x0E, 0x17, +0x13, 0xE0, 0xB0, 0xAC, 0xEA, 0xE4, 0x6F, 0x8E, 0xA6, 0xFD, 0x1F, 0xF8, 0xA7, 0x05, 0x40, 0x1D, +0x6A, 0x9C, 0x7F, 0xBC, 0x55, 0xD6, 0x75, 0x17, 0x98, 0x2B, 0x01, 0x05, 0x42, 0xFC, 0xDF, 0x70, +0x19, 0xD0, 0xE1, 0xE7, 0x23, 0x8A, 0x51, 0x75, 0x5A, 0xE6, 0xDF, 0xF5, 0x70, 0x00, 0xBC, 0xF7, +0x64, 0xD4, 0x4E, 0xEC, 0xEC, 0xFF, 0x28, 0x87, 0x11, 0xFC, 0xE4, 0x00, 0xD1, 0xC7, 0xAD, 0xFC, +0xBB, 0xC7, 0x3E, 0x42, 0x2E, 0xD0, 0xCF, 0xBB, 0xEB, 0x7F, 0x1E, 0xC2, 0x9F, 0x88, 0x48, 0xCE, +0x97, 0xB3, 0xA3, 0x07, 0x1D, 0xFA, 0x25, 0xF8, 0xED, 0xB2, 0x29, 0xEE, 0xE4, 0x43, 0xF5, 0x74, +0xFA, 0xC0, 0x2F, 0x6C, 0x3C, 0x60, 0x53, 0x00, 0xD8, 0x48, 0x9F, 0x8B, 0xA9, 0x13, 0xFF, 0x97, +0xF0, 0xB7, 0x4B, 0x41, 0xF4, 0x9F, 0xCB, 0x5F, 0xDD, 0x3D, 0x63, 0x15, 0x23, 0xC6, 0xBC, 0xD2, +0x83, 0x2D, 0xF2, 0x5E, 0xE5, 0x60, 0x22, 0x7A, 0xBB, 0x2B, 0x6C, 0x5F, 0x74, 0xBC, 0xF7, 0x43, +0xBE, 0x2F, 0x05, 0x7B, 0x41, 0x6A, 0xF8, 0x71, 0xCB, 0xA2, 0x1C, 0x90, 0x47, 0x00, 0x46, 0xA3, +0x09, 0x70, 0xBC, 0x54, 0x4D, 0xD9, 0x99, 0xF3, 0xA2, 0xFB, 0xFF, 0x01, 0x83, 0x04, 0x30, 0xBD, +0x74, 0x93, 0x0A, 0xA0, 0x89, 0x73, 0xE0, 0x10, 0x0F, 0x48, 0x92, 0x1F, 0xFE, 0x8D, 0x09, 0xE8, +0xA3, 0xA9, 0x44, 0x1E, 0x55, 0xA7, 0x55, 0xFF, 0x77, 0x3C, 0x07, 0x08, 0xFF, 0x72, 0xF6, 0x77, +0x6C, 0x01, 0xD7, 0xF0, 0x47, 0x98, 0x94, 0x08, 0x01, 0x81, 0x6B, 0xFE, 0xAF, 0x45, 0xA0, 0xDA, +0x17, 0x8D, 0x0F, 0xEC, 0x15, 0x00, 0x06, 0x03, 0xFD, 0xC4, 0x03, 0xE6, 0x87, 0xC1, 0xF4, 0x19, +0xD8, 0x7D, 0x16, 0x8C, 0xB4, 0x53, 0x3D, 0xE0, 0x29, 0x86, 0xAA, 0xC6, 0xA9, 0x6E, 0xDA, 0x11, +0x8D, 0xFF, 0x6B, 0x94, 0x1F, 0x98, 0x69, 0xFC, 0x63, 0x56, 0x45, 0xAC, 0x12, 0xB0, 0x47, 0x00, +0xC4, 0x07, 0xC2, 0x89, 0x29, 0xB2, 0x55, 0xB5, 0xFB, 0x5D, 0xBB, 0x30, 0xE4, 0x02, 0x99, 0x00, +0x23, 0x0A, 0xA2, 0x99, 0xFA, 0x7A, 0x13, 0xD5, 0x7F, 0xCA, 0x80, 0x58, 0x13, 0xA7, 0xFE, 0xB2, +0x0E, 0xDB, 0x00, 0xD2, 0x51, 0xFC, 0xDB, 0xAC, 0x01, 0x56, 0xE4, 0x39, 0xAD, 0xEB, 0x6B, 0x95, +0x9A, 0x6F, 0xAC, 0x8B, 0xC0, 0xC1, 0x02, 0x60, 0x26, 0x5F, 0x3D, 0xE9, 0x3D, 0x4C, 0xFE, 0x2F, +0x1C, 0xA0, 0x45, 0x5B, 0x07, 0xDD, 0xD3, 0xA5, 0x57, 0xFF, 0x57, 0x06, 0xD4, 0x87, 0xDA, 0xA3, +0x1E, 0x70, 0xC9, 0xFF, 0x1D, 0xD3, 0x01, 0x36, 0x59, 0x90, 0x7E, 0x24, 0xED, 0x05, 0xC0, 0x8F, +0x29, 0xF5, 0xF1, 0x0E, 0xF7, 0xB7, 0x06, 0xC0, 0xC6, 0xFF, 0xA9, 0x4D, 0x14, 0x2C, 0xFD, 0xEC, +0x01, 0xAB, 0x01, 0xB4, 0x03, 0x07, 0x18, 0xA2, 0xF4, 0x8F, 0x0E, 0x1A, 0xAE, 0x03, 0xFA, 0x11, +0x21, 0xAD, 0xA6, 0x82, 0x03, 0x7F, 0x9C, 0x3E, 0x62, 0xF1, 0x80, 0xE8, 0xD2, 0x1D, 0xFE, 0xDA, +0x3C, 0xCA, 0x79, 0xD6, 0x52, 0x12, 0xB1, 0x5C, 0x0C, 0x23, 0xBB, 0xD3, 0x43, 0x60, 0xFB, 0x1C, +0x68, 0x65, 0x40, 0xAC, 0xA9, 0x48, 0xE4, 0xB3, 0x41, 0x2C, 0x0D, 0x6B, 0xBD, 0x5B, 0x57, 0xED, +0x43, 0xA1, 0x8B, 0x8C, 0x7A, 0x32, 0x7E, 0x78, 0x40, 0xCD, 0x93, 0xC9, 0x16, 0xDF, 0x50, 0x9B, +0x08, 0x61, 0x0D, 0xB0, 0x84, 0xBF, 0x2E, 0xCC, 0x6A, 0x34, 0x78, 0x40, 0x3B, 0x51, 0xE7, 0xDB, +0xEF, 0xF8, 0x3F, 0x04, 0x06, 0xB3, 0xE0, 0x9F, 0x87, 0x4B, 0x5F, 0x90, 0xFF, 0xE3, 0x51, 0x17, +0xDD, 0x21, 0xD0, 0x6E, 0x09, 0xE1, 0xD7, 0xA9, 0x4D, 0x2F, 0x34, 0xBF, 0x58, 0x05, 0xE0, 0x31, +0x1D, 0x60, 0xE2, 0x1F, 0xB1, 0xB3, 0x05, 0x7C, 0xDA, 0x0F, 0x65, 0x3E, 0xAC, 0xEB, 0x28, 0x5C, +0x32, 0x80, 0xA8, 0x31, 0x80, 0x35, 0x46, 0x16, 0x50, 0x04, 0xC4, 0x01, 0x5E, 0xB9, 0x61, 0x1B, +0x08, 0xF6, 0x6F, 0x9E, 0x80, 0x52, 0xDC, 0xE9, 0x4B, 0x6B, 0xFE, 0xCF, 0xCE, 0x0F, 0x3E, 0x46, +0x25, 0xB6, 0x84, 0x20, 0x0A, 0x00, 0x11, 0x04, 0x24, 0x58, 0x00, 0x3C, 0xDF, 0xB1, 0x80, 0x8F, +0xB6, 0x13, 0xF0, 0xD9, 0xB4, 0x01, 0x0C, 0xDB, 0x67, 0x27, 0x10, 0xAC, 0x9D, 0x20, 0xA0, 0x92, +0x0F, 0x14, 0x00, 0x22, 0x08, 0x98, 0x6B, 0xA1, 0x2B, 0xF0, 0xFC, 0x68, 0x3D, 0x20, 0xB5, 0x80, +0xCC, 0x7F, 0x3B, 0xC2, 0x01, 0x3A, 0x08, 0x29, 0x56, 0x54, 0x1B, 0x5F, 0xFA, 0xDE, 0xA4, 0x82, +0xE7, 0x09, 0x28, 0x7F, 0xA7, 0x23, 0x2E, 0xBA, 0xA5, 0xC9, 0x05, 0xD0, 0xD9, 0x01, 0xB2, 0x2D, +0x38, 0x48, 0xF8, 0x97, 0x29, 0xC0, 0xA7, 0xBB, 0x13, 0xE0, 0x50, 0xCC, 0x2B, 0x2E, 0xD5, 0x03, +0x2E, 0xF1, 0xEF, 0xF0, 0x0E, 0x70, 0xC4, 0xC0, 0x5D, 0x0D, 0x20, 0xF1, 0x8E, 0x2D, 0x71, 0x68, +0x95, 0x7F, 0xE0, 0x0F, 0xE7, 0xA7, 0x9B, 0x7A, 0x07, 0x01, 0x73, 0x02, 0xB8, 0x5C, 0x1B, 0x07, +0x18, 0x37, 0xC3, 0xC9, 0x2F, 0x6A, 0xE0, 0x67, 0x0D, 0x5A, 0xFD, 0xB8, 0x74, 0x0A, 0xA0, 0xE1, +0x5E, 0xF5, 0x7F, 0x58, 0xC0, 0xB1, 0xFF, 0x43, 0xAC, 0x01, 0x9E, 0xB5, 0x94, 0xD4, 0xCE, 0x82, +0xB7, 0x78, 0x40, 0xF8, 0x37, 0x36, 0x7F, 0xD4, 0xBF, 0x24, 0xFA, 0xA9, 0xF5, 0x72, 0xC0, 0x40, +0xA0, 0x6F, 0x4A, 0x03, 0x80, 0x9D, 0x75, 0x40, 0x12, 0x20, 0x26, 0xAD, 0xFE, 0xA9, 0x25, 0x52, +0x09, 0xCC, 0xED, 0xAE, 0x28, 0x88, 0x66, 0x0D, 0x90, 0x14, 0x4D, 0xCA, 0x02, 0x6B, 0xCE, 0xDE, +0x59, 0xFE, 0x1B, 0xCD, 0x82, 0x5B, 0xF7, 0xD7, 0xB9, 0xB3, 0x02, 0xE8, 0x33, 0x91, 0x1D, 0x60, +0x14, 0xC3, 0xE0, 0x01, 0xFF, 0x36, 0x06, 0x3E, 0xA5, 0xE1, 0x22, 0xDF, 0x67, 0xC3, 0xE9, 0x83, +0xFA, 0xAB, 0xCB, 0x80, 0x75, 0xB0, 0x27, 0x00, 0x1E, 0x66, 0x5B, 0x30, 0x08, 0x1C, 0x05, 0x16, +0x70, 0x19, 0x7F, 0x44, 0xAA, 0x81, 0x59, 0x5D, 0x00, 0x44, 0xCD, 0x22, 0x60, 0x50, 0x90, 0x2B, +0x7F, 0x84, 0x8C, 0x7F, 0x1D, 0x07, 0xE8, 0xEA, 0x54, 0x00, 0xA2, 0xF9, 0x4D, 0x71, 0x2E, 0x6F, +0x37, 0xF3, 0xCF, 0x74, 0x11, 0xF2, 0xEC, 0xAC, 0x57, 0xEF, 0x34, 0x1B, 0x40, 0xBA, 0xBA, 0x3C, +0x4E, 0xFE, 0x0F, 0x07, 0xB8, 0x9B, 0x07, 0x1C, 0xFC, 0xFC, 0x27, 0x03, 0x48, 0xE5, 0x8B, 0x3A, +0x64, 0x17, 0x9C, 0x80, 0xB5, 0x08, 0x10, 0xFF, 0xD7, 0xD3, 0x17, 0x3D, 0xEE, 0xB9, 0x5C, 0x28, +0xFE, 0x83, 0x82, 0x3A, 0xBD, 0x1C, 0x90, 0xE9, 0xF2, 0x6D, 0x20, 0x9E, 0x81, 0x50, 0x5F, 0x54, +0xE0, 0x59, 0x6D, 0xFD, 0x74, 0x38, 0xEB, 0xE6, 0x2D, 0x21, 0x7D, 0x03, 0xE8, 0x3D, 0x94, 0xBD, +0x1E, 0xD8, 0xD3, 0x3D, 0x7F, 0x9A, 0x37, 0x80, 0xFC, 0xE1, 0x00, 0xD9, 0x16, 0xEC, 0x81, 0x86, +0x04, 0xAC, 0xBF, 0x44, 0x6D, 0x48, 0xB9, 0xEC, 0xF6, 0x6A, 0x97, 0xA5, 0x59, 0x70, 0x8C, 0x77, +0x03, 0xE0, 0x01, 0x11, 0xF8, 0x66, 0x9A, 0x80, 0xBB, 0xFA, 0x3F, 0x02, 0x07, 0xB8, 0xCE, 0x3F, +0x94, 0xF2, 0x1F, 0xDD, 0x20, 0x15, 0xAC, 0xD9, 0x6F, 0xCF, 0x01, 0x96, 0x50, 0x0A, 0xA4, 0xF4, +0x87, 0x6A, 0xCA, 0x5F, 0xC8, 0x7D, 0xD4, 0x93, 0xFE, 0x42, 0xFE, 0xC3, 0x83, 0x75, 0x40, 0x12, +0x22, 0x27, 0x0A, 0x60, 0xE6, 0xFD, 0x1F, 0x05, 0xB5, 0xA6, 0x06, 0x80, 0x1B, 0x09, 0xD8, 0xF5, +0x40, 0x8D, 0x07, 0xAC, 0x36, 0xCF, 0x41, 0x62, 0xA1, 0x06, 0x2A, 0x96, 0x82, 0xE8, 0xC2, 0x1F, +0x9F, 0xFF, 0x0E, 0x65, 0x38, 0xF3, 0xC0, 0xFF, 0x41, 0x3F, 0xC2, 0x6E, 0xD8, 0x31, 0x02, 0x00, +0x7B, 0x1E, 0x50, 0x4F, 0xE5, 0x7F, 0x4F, 0xFA, 0xD7, 0xA4, 0x56, 0x06, 0x30, 0x3F, 0x19, 0x66, +0x00, 0x7F, 0x08, 0xD8, 0x29, 0x7C, 0xE1, 0x1E, 0x19, 0xFF, 0x88, 0xC6, 0x01, 0x96, 0x2E, 0x8F, +0xFD, 0x1E, 0x09, 0xFC, 0x55, 0xEB, 0xC7, 0x90, 0xBA, 0x96, 0xF3, 0x62, 0x36, 0xD0, 0xCF, 0x8D, +0x04, 0xFC, 0x35, 0xF6, 0x0F, 0x39, 0x05, 0xC6, 0x04, 0xCE, 0xC4, 0x7A, 0x01, 0x60, 0x1B, 0x45, +0x09, 0x81, 0x1F, 0x57, 0xF9, 0x47, 0x26, 0x24, 0xD3, 0x8F, 0xBB, 0x6C, 0x04, 0x4D, 0x30, 0xAF, +0xEB, 0x00, 0x7D, 0x76, 0x9C, 0xDC, 0xDF, 0x34, 0x01, 0x8B, 0x70, 0x7D, 0xF4, 0x03, 0x8E, 0x9B, +0xF8, 0xA7, 0x95, 0x19, 0xBF, 0x5C, 0xE3, 0x96, 0xD1, 0x7B, 0x1A, 0xF3, 0x8F, 0x62, 0x18, 0xF9, +0x3F, 0xFC, 0x03, 0x1E, 0x70, 0x75, 0x4B, 0x08, 0x3F, 0xF2, 0x43, 0x08, 0x02, 0x92, 0x28, 0x01, +0xFC, 0xAE, 0x74, 0x48, 0x40, 0xD1, 0x08, 0xC8, 0x06, 0xB8, 0xAE, 0xD8, 0x16, 0x4C, 0x01, 0x20, +0x8E, 0xAF, 0xE9, 0x1B, 0x01, 0x6B, 0xD1, 0xE0, 0x6D, 0x42, 0xDF, 0xF3, 0x03, 0xB0, 0x84, 0x67, +0x6F, 0xC3, 0x12, 0x8A, 0x84, 0x93, 0x73, 0x60, 0x08, 0xD8, 0x4F, 0x7A, 0x34, 0x95, 0xD1, 0x39, +0x51, 0x15, 0xE2, 0x0D, 0xB4, 0xD0, 0x14, 0x78, 0x42, 0x4A, 0x84, 0x68, 0x51, 0x45, 0xCB, 0xCA, +0x17, 0xB1, 0x30, 0x62, 0x0B, 0x01, 0xA3, 0x2A, 0xEC, 0xA8, 0x49, 0x10, 0xE6, 0xC0, 0x0B, 0x16, +0x70, 0x01, 0x80, 0x6C, 0x09, 0xD9, 0xCB, 0xFF, 0xA1, 0x1E, 0xFB, 0xA2, 0xE5, 0x6B, 0xE1, 0xFF, +0xAC, 0xFC, 0xB9, 0x84, 0x0E, 0xBB, 0x70, 0xE0, 0x01, 0xE7, 0x08, 0x58, 0xB8, 0x06, 0xFE, 0xAC, +0xD3, 0x20, 0x90, 0xCE, 0x96, 0x04, 0xF0, 0x03, 0x8A, 0x5F, 0x7C, 0x1F, 0x48, 0x8C, 0x5D, 0x0A, +0xA3, 0x53, 0x01, 0xF4, 0xCC, 0x2C, 0xF8, 0xD7, 0x4F, 0x0E, 0x33, 0xAA, 0x36, 0x9E, 0xCF, 0x4B, +0xFC, 0x9B, 0x45, 0xA0, 0x53, 0x4F, 0x29, 0x55, 0xFC, 0x15, 0xC9, 0x60, 0x11, 0x70, 0xCC, 0x3F, +0xD6, 0x01, 0x73, 0xED, 0x1F, 0xDC, 0xFB, 0x1C, 0x37, 0xCA, 0x05, 0xF3, 0x04, 0xC0, 0x91, 0x6A, +0x45, 0x62, 0x3C, 0xA6, 0xA1, 0x32, 0x4F, 0x74, 0xAE, 0x13, 0x76, 0x3F, 0xD3, 0xB6, 0xE0, 0x27, +0xB3, 0x00, 0x44, 0x60, 0x90, 0xDD, 0x20, 0xCD, 0x06, 0x10, 0x22, 0xA4, 0x22, 0x76, 0xAD, 0x03, +0x5A, 0xA0, 0x21, 0x01, 0x7D, 0x48, 0x91, 0xF4, 0xB8, 0x1A, 0xF4, 0x7C, 0x60, 0xAD, 0x78, 0xC0, +0x57, 0xA1, 0xEB, 0x71, 0x01, 0x18, 0xEC, 0x9B, 0x71, 0x80, 0x2B, 0xEB, 0x7F, 0xA6, 0x0E, 0x00, +0xFF, 0x0D, 0x7F, 0x02, 0xD7, 0x20, 0xFE, 0x2E, 0xFE, 0x5C, 0xB3, 0xE0, 0x6B, 0x8D, 0x97, 0x05, +0x84, 0xD7, 0xD7, 0x2F, 0xBD, 0x67, 0x2D, 0x77, 0x05, 0x91, 0xC5, 0x02, 0x96, 0xCE, 0xAB, 0x39, +0x02, 0x22, 0xF4, 0xF6, 0x15, 0x03, 0x62, 0xAB, 0x6C, 0x40, 0x4E, 0x84, 0x31, 0xF0, 0x62, 0x7C, +0x1B, 0x84, 0x0A, 0xA2, 0xD1, 0x39, 0xA2, 0x95, 0x11, 0x70, 0xDA, 0x05, 0x56, 0x00, 0x3E, 0xB1, +0x50, 0xD3, 0x8B, 0x72, 0x30, 0x81, 0x74, 0x10, 0x06, 0xF5, 0xB2, 0x01, 0xF4, 0x75, 0xC0, 0x49, +0x00, 0x7E, 0xFB, 0x49, 0xDC, 0x19, 0xBB, 0x3A, 0x0D, 0x45, 0x61, 0xFC, 0xFD, 0x01, 0x1D, 0x42, +0x03, 0xC5, 0x0C, 0x81, 0x42, 0xA1, 0xB8, 0x48, 0x70, 0x73, 0x28, 0x28, 0xE8, 0x20, 0xB4, 0x48, +0x3B, 0x49, 0xC4, 0xD9, 0xE9, 0xD1, 0x41, 0xCC, 0x50, 0x3A, 0x54, 0x88, 0x38, 0xBD, 0x8E, 0x3A, +0x75, 0x71, 0x76, 0x7C, 0xFE, 0x81, 0xDE, 0x73, 0xC8, 0xE1, 0x33, 0x4D, 0xD2, 0xF3, 0xA5, 0xA4, +0xF8, 0x3B, 0xA7, 0x37, 0x57, 0x89, 0xE5, 0x55, 0x2F, 0xBF, 0xF7, 0xDD, 0xDE, 0xAA, 0x3F, 0xF4, +0x23, 0x7E, 0x92, 0xF0, 0xEA, 0x99, 0x0F, 0x57, 0x9C, 0x09, 0x63, 0xFB, 0xEB, 0x22, 0xA7, 0x30, +0x30, 0x35, 0x34, 0xAD, 0x3F, 0x04, 0x6B, 0x33, 0xE0, 0xCC, 0x2D, 0x33, 0x60, 0x5D, 0x7A, 0xE0, +0x69, 0x7D, 0x02, 0xFF, 0x9D, 0x63, 0x67, 0x58, 0xD2, 0xEA, 0xC1, 0x2A, 0xE1, 0xFB, 0x7C, 0x14, +0xFD, 0x29, 0xD5, 0xE2, 0xAA, 0xC0, 0xB7, 0x55, 0x4C, 0xF9, 0x75, 0x8A, 0xA9, 0xFF, 0x1E, 0xE0, +0x5C, 0xFA, 0x42, 0xCD, 0xAB, 0x6B, 0x3A, 0x4F, 0x47, 0x37, 0xE1, 0x0D, 0x57, 0xD7, 0x1B, 0xD0, +0xF9, 0x1B, 0x21, 0xBD, 0x0C, 0x18, 0xDA, 0x43, 0x6E, 0xAB, 0x99, 0x10, 0xD7, 0xE6, 0x67, 0x61, +0x78, 0x44, 0x91, 0x2C, 0x2F, 0xAA, 0x46, 0xD9, 0x4F, 0x34, 0xAA, 0xDF, 0x06, 0x98, 0x01, 0xFE, +0xF3, 0x4B, 0x62, 0x62, 0xAB, 0xEF, 0x0C, 0x98, 0x71, 0xDA, 0x6F, 0x17, 0x9C, 0xD1, 0xD8, 0x8E, +0x52, 0xAF, 0x70, 0x8A, 0x69, 0x06, 0x5A, 0xC1, 0x07, 0x00, 0x99, 0x0C, 0xA8, 0xD4, 0x13, 0x20, +0xAE, 0xD5, 0x54, 0x26, 0x47, 0xE4, 0x3F, 0x17, 0xC9, 0x7F, 0x38, 0xA4, 0x31, 0x5B, 0x63, 0xEB, +0x0B, 0x5B, 0x67, 0x3C, 0x1D, 0xF9, 0x0F, 0xD2, 0xC3, 0x04, 0xFB, 0x5F, 0xD0, 0x4C, 0x80, 0x89, +0x00, 0x01, 0x3A, 0xDC, 0x07, 0x01, 0x9A, 0xFE, 0x00, 0xD4, 0x87, 0x39, 0x1F, 0x01, 0xE5, 0xCE, +0xDA, 0x2A, 0xBF, 0x1B, 0xA5, 0xCD, 0x4A, 0x4D, 0x80, 0xE0, 0xFC, 0x96, 0xB9, 0xD4, 0xA8, 0x1A, +0x47, 0x3C, 0xE9, 0x68, 0x91, 0x8E, 0xA8, 0x5A, 0xF4, 0xE0, 0xFD, 0xFB, 0x05, 0x59, 0x3D, 0xF8, +0xBA, 0xF9, 0xBA, 0x09, 0x4D, 0xD5, 0x72, 0xB9, 0xA1, 0x2A, 0xF0, 0x8B, 0xAB, 0xFD, 0xD7, 0xF2, +0x53, 0x5E, 0x7E, 0x28, 0xCB, 0x0F, 0x32, 0x76, 0xB6, 0x3E, 0xCA, 0xFC, 0x7B, 0x9E, 0x97, 0x5C, +0x15, 0xC5, 0x77, 0x69, 0x94, 0x76, 0x6B, 0xBD, 0xBE, 0x7F, 0xCD, 0x72, 0x3F, 0x66, 0x6B, 0xCA, +0xB3, 0x22, 0x49, 0x92, 0x98, 0xFF, 0x2F, 0xCD, 0xB2, 0xC3, 0x21, 0x63, 0x08, 0x77, 0xED, 0xBE, +0x7C, 0x09, 0xED, 0x22, 0x77, 0x85, 0xE3, 0xDD, 0xD3, 0x91, 0xE0, 0x74, 0x3A, 0xFE, 0x79, 0xFC, +0xC3, 0xF1, 0xF8, 0x28, 0xB7, 0x93, 0xE0, 0x2B, 0xF5, 0xD8, 0x1D, 0xC2, 0x8B, 0x73, 0x6A, 0x5B, +0x5D, 0x67, 0x34, 0xF2, 0x01, 0x98, 0x6E, 0x62, 0x19, 0x8C, 0x29, 0xBF, 0x06, 0xEE, 0xC7, 0x74, +0x15, 0x74, 0xBD, 0xAE, 0x2D, 0xF2, 0xBB, 0x74, 0x91, 0x36, 0xBB, 0x5D, 0x5D, 0x40, 0xA3, 0x61, +0x20, 0x9D, 0x73, 0x01, 0x10, 0xBF, 0x3A, 0x3C, 0x7B, 0x50, 0x60, 0x4A, 0x35, 0x8D, 0x78, 0x6D, +0x41, 0x75, 0x60, 0x43, 0xFA, 0x6F, 0xD3, 0x87, 0xB7, 0xCB, 0x0D, 0xAB, 0xC0, 0xFD, 0x2B, 0x8A, +0xE5, 0x7E, 0x5F, 0x96, 0x7B, 0xA6, 0xE4, 0x46, 0xDA, 0x7F, 0x79, 0x5E, 0x14, 0xB9, 0x94, 0x75, +0x55, 0x6D, 0x3D, 0xEE, 0xC1, 0x64, 0x42, 0xB5, 0x0C, 0x93, 0x29, 0x57, 0xC9, 0x2A, 0x8E, 0xA3, +0x28, 0x5E, 0xC5, 0xB5, 0x8E, 0xDA, 0x88, 0x65, 0xC3, 0xCA, 0x54, 0xB8, 0xEF, 0x40, 0xF3, 0xE5, +0x73, 0x28, 0xBF, 0x4F, 0xA1, 0x8F, 0xC2, 0x4F, 0xB7, 0x02, 0x0F, 0x8F, 0x3C, 0x0F, 0xFA, 0xA4, +0xDF, 0xBC, 0x92, 0x27, 0x3E, 0x51, 0xF2, 0xD3, 0xAF, 0xF7, 0x40, 0xA3, 0xBF, 0xA9, 0x04, 0xE1, +0xBE, 0xE7, 0x51, 0x27, 0x41, 0x7F, 0x11, 0x88, 0x57, 0xC9, 0x64, 0xCA, 0x96, 0x2C, 0x18, 0xB2, +0x79, 0x64, 0xB9, 0xA3, 0xEE, 0x5A, 0xDD, 0x03, 0xDB, 0x75, 0x90, 0x8A, 0xFC, 0x6C, 0x60, 0x82, +0x1F, 0x72, 0x64, 0x4A, 0xFB, 0x6F, 0x78, 0x03, 0x2A, 0x2F, 0x37, 0x44, 0xBF, 0xDF, 0xBC, 0xDC, +0xD0, 0x88, 0xD8, 0xF8, 0x08, 0xB8, 0xE7, 0x2A, 0x74, 0x49, 0xA2, 0x62, 0x7B, 0xD6, 0x5D, 0xE8, +0x3C, 0x37, 0x03, 0x5A, 0x57, 0x75, 0xD6, 0x15, 0x63, 0xAE, 0x94, 0x09, 0xD5, 0x93, 0xE9, 0x94, +0xF5, 0x5F, 0xC8, 0x14, 0x71, 0x44, 0xB0, 0x8A, 0x64, 0x67, 0x9B, 0x91, 0xFE, 0xA3, 0x0D, 0xB8, +0xDD, 0x6D, 0x45, 0x6E, 0xEE, 0x43, 0xC6, 0xC0, 0x91, 0xE3, 0xE1, 0x81, 0x37, 0x60, 0xB8, 0xF7, +0xC8, 0x71, 0x0A, 0xD0, 0x09, 0x70, 0x57, 0xBD, 0xBE, 0xCE, 0x36, 0x74, 0x17, 0xCC, 0x90, 0xCD, +0xC2, 0x7B, 0x10, 0xD1, 0x2A, 0x72, 0x51, 0xFF, 0x25, 0xC1, 0x80, 0xA4, 0xFE, 0xA6, 0x63, 0x1A, +0x76, 0xA9, 0x16, 0x02, 0xFC, 0xD7, 0x96, 0x00, 0xD5, 0x7F, 0x1E, 0x22, 0x3E, 0x1B, 0xFA, 0x6C, +0x80, 0x79, 0x03, 0x2E, 0xA4, 0x69, 0x01, 0xF6, 0x63, 0xE3, 0xB6, 0x20, 0x23, 0xCD, 0xF0, 0x02, +0xDC, 0x2F, 0x69, 0xFF, 0x85, 0x96, 0x6A, 0x6D, 0xCC, 0x8C, 0x82, 0x50, 0x60, 0xDE, 0xC3, 0x80, +0x3D, 0x98, 0x4A, 0x4D, 0x88, 0xD2, 0xF3, 0x8F, 0xC9, 0x8A, 0xF2, 0x5F, 0x2C, 0x87, 0x20, 0x33, +0x2A, 0xAC, 0x64, 0xAC, 0x01, 0xB3, 0xED, 0x6E, 0x27, 0x06, 0x64, 0x38, 0x29, 0xAC, 0x00, 0x8F, +0x0F, 0x74, 0xFE, 0xA3, 0x0D, 0x78, 0xE2, 0x0D, 0x28, 0xAF, 0x0B, 0x9E, 0x6B, 0x1B, 0x0D, 0x3B, +0x0B, 0x5E, 0x7B, 0x9D, 0xCD, 0xF4, 0x10, 0x2A, 0x62, 0x58, 0x25, 0x02, 0xB5, 0x04, 0x20, 0xC0, +0x01, 0x15, 0x68, 0xFE, 0x33, 0x5A, 0x05, 0x38, 0xE2, 0x0C, 0x18, 0x6A, 0x24, 0xD5, 0x83, 0x54, +0x8B, 0xD0, 0x1F, 0x04, 0xC8, 0x32, 0x90, 0xFE, 0xD0, 0x10, 0xE0, 0x60, 0x06, 0x14, 0x58, 0x05, +0x96, 0xCB, 0x92, 0x34, 0x60, 0x2E, 0xA5, 0xA2, 0xFB, 0xD4, 0xD6, 0x5A, 0x76, 0x2D, 0xCC, 0x80, +0x2C, 0xE3, 0x1B, 0x08, 0x90, 0x5A, 0xFC, 0x89, 0x42, 0x18, 0x50, 0xFC, 0xA7, 0x06, 0xCC, 0x18, +0xFF, 0x29, 0x54, 0xFE, 0x53, 0x38, 0xFF, 0x29, 0xA4, 0xFF, 0x60, 0x40, 0xDF, 0x7F, 0x02, 0xE7, +0x3F, 0xDA, 0x80, 0x3B, 0xE5, 0xA2, 0xFD, 0xB6, 0xF0, 0x1F, 0x95, 0x01, 0xD5, 0x7F, 0x81, 0x38, +0x5A, 0x31, 0xFE, 0x53, 0x98, 0x35, 0x30, 0xD6, 0x1A, 0x5C, 0x80, 0x4A, 0x7E, 0x41, 0x80, 0x94, +0xFE, 0xEC, 0x08, 0x38, 0xED, 0x99, 0xFF, 0xE8, 0x0C, 0x08, 0x01, 0x0E, 0x6F, 0x40, 0x46, 0x7E, +0x37, 0x15, 0x20, 0x11, 0xFF, 0x82, 0xFF, 0xC2, 0xB8, 0xA4, 0x05, 0x78, 0xE9, 0x6D, 0xC0, 0x4F, +0x36, 0x16, 0x88, 0x80, 0x48, 0x7B, 0x4A, 0x23, 0xFF, 0x19, 0x43, 0xEB, 0x4F, 0x8B, 0xF8, 0xFE, +0x9F, 0x54, 0xAC, 0x18, 0xFF, 0x99, 0x01, 0x9D, 0xA4, 0x22, 0xFE, 0x63, 0x0D, 0xB8, 0xAB, 0x20, +0xFC, 0x67, 0x50, 0xFE, 0x83, 0x01, 0x09, 0xFF, 0x29, 0x84, 0xFF, 0x0C, 0x2A, 0xFF, 0x29, 0x7E, +0x00, 0xCC, 0x6A, 0x02, 0x5C, 0xCB, 0xA3, 0x39, 0x81, 0xFF, 0x84, 0xD8, 0xB3, 0x5F, 0x6C, 0xFE, +0x63, 0x36, 0xC1, 0x10, 0xE0, 0x80, 0x0A, 0x04, 0xD8, 0x02, 0x5F, 0x95, 0xFF, 0x24, 0xFC, 0xF5, +0x0D, 0x80, 0x38, 0xE1, 0xA5, 0xFD, 0x97, 0xFE, 0x1F, 0x03, 0xAA, 0xFC, 0xB4, 0x07, 0x35, 0x20, +0x60, 0x12, 0x20, 0x9B, 0x01, 0x73, 0x18, 0xD0, 0x44, 0x87, 0x51, 0x1E, 0x30, 0x61, 0xFE, 0xAE, +0x8A, 0x80, 0xCE, 0x0E, 0x18, 0x0C, 0x2A, 0xC0, 0x29, 0x8A, 0xC8, 0x7F, 0x30, 0xE0, 0xA5, 0x36, +0xFF, 0x31, 0x19, 0x30, 0x03, 0xBE, 0xFF, 0x0C, 0x42, 0x80, 0x06, 0xE1, 0x3F, 0x18, 0xD0, 0xF7, +0x9F, 0xF1, 0xCD, 0xF3, 0x1F, 0xF0, 0xFD, 0x67, 0x1C, 0xB2, 0x76, 0xFB, 0xD9, 0xA5, 0xF5, 0xDF, +0xC8, 0x5F, 0x37, 0x27, 0xF0, 0x9F, 0x65, 0xC0, 0x4B, 0x9D, 0x00, 0xCF, 0x80, 0x63, 0xD4, 0xE0, +0x02, 0x84, 0x01, 0x91, 0x00, 0x39, 0xFF, 0x01, 0x0B, 0x80, 0xBD, 0xFC, 0xC7, 0x66, 0xC0, 0xC5, +0x4D, 0x0C, 0xC8, 0x2B, 0x10, 0xFE, 0x1B, 0x32, 0x03, 0xD6, 0x70, 0xED, 0xA7, 0x25, 0x27, 0xBC, +0x0E, 0xED, 0x69, 0x0F, 0x23, 0x66, 0x85, 0xDA, 0xAF, 0x1A, 0x1A, 0x2B, 0x01, 0xF4, 0x33, 0xE0, +0x75, 0x02, 0x74, 0xFD, 0x07, 0xA2, 0xD8, 0xCD, 0x7F, 0x75, 0x03, 0x36, 0x93, 0xDF, 0xDA, 0xFC, +0x07, 0xBC, 0x0D, 0x30, 0x70, 0xFD, 0x07, 0x5C, 0xFF, 0xD1, 0x06, 0xB4, 0xFB, 0x64, 0x70, 0xFD, +0x07, 0xDC, 0xFD, 0x2F, 0xB0, 0x57, 0xDA, 0x18, 0x91, 0xFF, 0x60, 0xC0, 0x75, 0xC3, 0x7E, 0xCD, +0xFC, 0xE7, 0xEE, 0x82, 0x91, 0xFF, 0x88, 0x0C, 0x48, 0x08, 0xB0, 0xBF, 0x02, 0x5B, 0x16, 0x79, +0x7E, 0xD7, 0xD7, 0x7F, 0x30, 0x60, 0x0A, 0xFF, 0xF5, 0x16, 0xA0, 0x9F, 0xFF, 0x6E, 0xB9, 0x0B, +0x76, 0x37, 0xC0, 0x37, 0x88, 0x80, 0xC0, 0x37, 0xA0, 0x7E, 0xBC, 0x45, 0xC6, 0xF0, 0x71, 0xC0, +0x25, 0x2D, 0x40, 0x18, 0xAF, 0x6E, 0x44, 0xBB, 0x0A, 0xEF, 0x42, 0x21, 0x03, 0x42, 0x7D, 0x2D, +0x01, 0x10, 0x8C, 0x07, 0xF3, 0x1F, 0xEA, 0xB2, 0xFF, 0x9E, 0x24, 0xE0, 0x49, 0xD4, 0x1D, 0x29, +0xE0, 0x3F, 0x18, 0x70, 0xED, 0xE4, 0x3F, 0xD7, 0x80, 0x59, 0xC8, 0x7F, 0x60, 0x7B, 0xC1, 0x80, +0xBF, 0xE1, 0x3F, 0xC2, 0x80, 0x50, 0x9A, 0xE0, 0xE6, 0x3F, 0xE0, 0xFA, 0x0F, 0x78, 0xFE, 0x03, +0xDB, 0x6D, 0x7B, 0xFA, 0x83, 0xFF, 0x00, 0x22, 0xA0, 0x36, 0x24, 0x08, 0xFF, 0xC1, 0x80, 0xDD, +0x7F, 0x5C, 0x4F, 0x12, 0xDA, 0x80, 0xE3, 0x5A, 0x0D, 0x2B, 0x40, 0x28, 0xB0, 0x91, 0x00, 0xE1, +0x3F, 0x2E, 0x00, 0xCE, 0xD3, 0x9E, 0xFA, 0x43, 0xD1, 0xFE, 0x4B, 0x6F, 0x22, 0x40, 0xD7, 0x7F, +0xE8, 0x61, 0x0C, 0xD8, 0x47, 0x80, 0x7B, 0x1B, 0xE5, 0x51, 0x2E, 0x39, 0xFD, 0x35, 0x53, 0xA0, +0xCD, 0x74, 0xC8, 0xAB, 0xFD, 0x6F, 0xA1, 0x57, 0x3B, 0x0A, 0x16, 0x1A, 0x0A, 0x6C, 0x70, 0x3F, +0xDC, 0xFE, 0x17, 0x75, 0x41, 0x80, 0xE6, 0x3F, 0x18, 0xB0, 0x93, 0xE7, 0xFF, 0x12, 0xB7, 0xEC, +0x82, 0x11, 0x55, 0xCE, 0x70, 0xF3, 0x1F, 0x70, 0xF2, 0x1F, 0x65, 0xC0, 0x6F, 0x50, 0x9A, 0xCC, +0x82, 0x0E, 0x89, 0xFC, 0x47, 0x64, 0xC0, 0xD3, 0x19, 0x9E, 0xFF, 0xC0, 0xB6, 0x11, 0x00, 0x61, +0xC1, 0xEC, 0x0C, 0x28, 0x0F, 0xAC, 0xD5, 0x7F, 0xB3, 0x58, 0x04, 0x08, 0xE2, 0xCE, 0x08, 0x58, +0xF9, 0x0F, 0x38, 0xF9, 0x6F, 0xF0, 0x0C, 0xD8, 0x20, 0xD7, 0x04, 0x78, 0x6D, 0x00, 0x4C, 0xE7, +0xD7, 0x6C, 0x80, 0x51, 0x43, 0x09, 0x70, 0x78, 0x03, 0xDE, 0x54, 0x80, 0xC0, 0x79, 0xF7, 0xEF, +0x2F, 0x71, 0x67, 0xD3, 0x1A, 0x59, 0x11, 0x85, 0x61, 0x7F, 0x80, 0x8B, 0x90, 0x86, 0xA6, 0xB3, +0x10, 0x34, 0x01, 0x99, 0x8D, 0x34, 0x2E, 0x1D, 0x06, 0x14, 0xDC, 0x0C, 0xD8, 0x34, 0x0E, 0x08, +0x21, 0xE0, 0xDA, 0x95, 0x34, 0x4C, 0x98, 0x59, 0x84, 0x10, 0x22, 0xCC, 0x20, 0x8A, 0x4A, 0xC4, +0x45, 0x70, 0x91, 0xCD, 0xB8, 0x0A, 0x71, 0xA7, 0xF3, 0x03, 0xAD, 0x73, 0x52, 0xC7, 0x27, 0x95, +0xBA, 0x75, 0xCF, 0xB9, 0x5A, 0x3D, 0xF3, 0x9E, 0xBA, 0x55, 0x75, 0xBB, 0xAF, 0x18, 0xFB, 0xE3, +0xF1, 0xAD, 0x3A, 0x55, 0xB7, 0x5F, 0xE5, 0x63, 0x64, 0x39, 0x60, 0x95, 0xF8, 0x28, 0xE9, 0x67, +0x91, 0x4F, 0x45, 0x6B, 0xB5, 0x7E, 0xDA, 0x82, 0x3D, 0x9C, 0x60, 0x4B, 0xBB, 0xFD, 0x00, 0x48, +0x84, 0xC6, 0xBF, 0x78, 0xC0, 0xF2, 0xD0, 0xAA, 0xDA, 0x01, 0x37, 0x9B, 0x1D, 0xA8, 0x07, 0xA4, +0x60, 0x55, 0x2A, 0xF9, 0xF3, 0x7F, 0xBE, 0x07, 0xBC, 0xAA, 0xE4, 0xF9, 0x3F, 0x5C, 0xDD, 0xEB, +0x26, 0xFF, 0x5E, 0xE7, 0x4B, 0x91, 0xC7, 0x3F, 0x9F, 0x80, 0x57, 0xCF, 0x4E, 0x32, 0xD7, 0xD1, +0xB2, 0xB4, 0x7E, 0xB4, 0xCB, 0x4A, 0xA4, 0x3D, 0x0A, 0x1B, 0xB8, 0x84, 0x7F, 0x05, 0x01, 0xF3, +0x41, 0x87, 0x09, 0xC0, 0xD0, 0x34, 0xE0, 0x6E, 0x7F, 0x0B, 0x08, 0x00, 0x11, 0x0E, 0x30, 0xCE, +0x3F, 0x2C, 0xA0, 0x40, 0xB0, 0x3F, 0x00, 0xC1, 0xDE, 0xB6, 0x33, 0xC1, 0xFD, 0xF8, 0x87, 0x7A, +0x00, 0x50, 0x47, 0xC0, 0xD9, 0xFC, 0x65, 0x1A, 0x46, 0x0D, 0x60, 0x89, 0x44, 0x63, 0xA1, 0x42, +0x90, 0x0D, 0x1F, 0x7A, 0xB0, 0x1A, 0x10, 0xDB, 0x77, 0xD4, 0x04, 0x61, 0xC7, 0xF1, 0x2F, 0x31, +0xCE, 0x3F, 0xC7, 0x03, 0xAE, 0x6C, 0x01, 0x60, 0xA9, 0xF4, 0xC0, 0x72, 0x39, 0xEE, 0xFF, 0x90, +0xEF, 0xFF, 0x20, 0xE0, 0x95, 0xC3, 0x3F, 0x97, 0x80, 0x85, 0xFD, 0x83, 0x80, 0x0D, 0xFE, 0x55, +0x57, 0xBB, 0xFC, 0x43, 0x11, 0xFF, 0xC7, 0x28, 0x18, 0xEB, 0x47, 0x67, 0x39, 0xA0, 0x41, 0xFF, +0x37, 0xC0, 0xBF, 0x62, 0x41, 0x34, 0x3D, 0xE1, 0x5F, 0xAD, 0x91, 0x05, 0x80, 0xFD, 0x2D, 0xE0, +0xB0, 0x8E, 0x0A, 0x00, 0xC2, 0xBF, 0x18, 0x01, 0xE3, 0x1A, 0xDA, 0x6F, 0xDC, 0x02, 0xE0, 0xFF, +0xB2, 0x80, 0xFF, 0xD3, 0x04, 0x82, 0xBD, 0xAE, 0xD3, 0x80, 0xC8, 0x47, 0x20, 0xDC, 0x53, 0x12, +0x4A, 0x9C, 0x3A, 0xFE, 0x8F, 0x28, 0xB9, 0xA7, 0x8D, 0x56, 0x3A, 0xF2, 0x4D, 0x5A, 0x4B, 0x01, +0x81, 0x14, 0xA9, 0x14, 0x82, 0x0D, 0xF5, 0x07, 0x60, 0x7B, 0x03, 0x48, 0xA5, 0x39, 0x13, 0x4B, +0x72, 0xB0, 0x01, 0x04, 0xE1, 0x01, 0x4B, 0xBB, 0x82, 0x01, 0xAC, 0xE5, 0x19, 0x40, 0x00, 0x78, +0xE2, 0xF0, 0xCF, 0x25, 0x20, 0x9E, 0x0E, 0x35, 0x08, 0xF8, 0x3A, 0x5D, 0x68, 0xE4, 0x43, 0x2E, +0xFF, 0x90, 0x07, 0x40, 0xB4, 0xA9, 0xD8, 0xC7, 0x04, 0xA0, 0xE3, 0x01, 0x45, 0xF0, 0xAF, 0x10, +0x6F, 0x13, 0xF6, 0x0F, 0xFE, 0x15, 0x72, 0xFC, 0x5F, 0x57, 0x0F, 0xE8, 0x3A, 0xC0, 0xA4, 0x09, +0xF8, 0xC3, 0xFE, 0x4D, 0xC4, 0x1F, 0xE1, 0x0F, 0x80, 0x29, 0x71, 0x75, 0xE0, 0x5F, 0x7F, 0x04, +0xC6, 0xF9, 0xA7, 0xC8, 0x23, 0x4E, 0x6F, 0x15, 0x9E, 0x01, 0x54, 0x2C, 0x16, 0x43, 0x60, 0xA9, +0x32, 0xF6, 0x98, 0x04, 0x34, 0x02, 0x42, 0x3C, 0x9C, 0x60, 0x18, 0x80, 0x13, 0xF9, 0x57, 0x47, +0x63, 0x03, 0x08, 0x42, 0xB6, 0x29, 0x0E, 0x12, 0x92, 0x00, 0xA9, 0x08, 0x98, 0xC2, 0x44, 0x02, +0x18, 0x21, 0x2F, 0x01, 0x82, 0x55, 0xF2, 0xF9, 0xE7, 0x03, 0xD0, 0x98, 0x86, 0xAD, 0xF3, 0x13, +0x20, 0x5C, 0xED, 0xF2, 0x0F, 0x79, 0xFC, 0x43, 0x86, 0x3D, 0xA9, 0xAC, 0x59, 0x0E, 0xAB, 0x4E, +0x2A, 0x91, 0x00, 0x69, 0x78, 0xC0, 0x15, 0x35, 0xFC, 0x2B, 0xE5, 0xF8, 0xBF, 0x7E, 0x1E, 0x70, +0x58, 0x6C, 0x85, 0x63, 0xFC, 0xFB, 0x5E, 0x14, 0x80, 0xFF, 0x9B, 0x7F, 0xEF, 0x86, 0x46, 0xC0, +0x6F, 0x78, 0x4B, 0x08, 0x23, 0xE0, 0x5E, 0xF3, 0x80, 0x6D, 0x03, 0xD8, 0x18, 0x00, 0xE7, 0x24, +0xB0, 0xC5, 0xAB, 0x74, 0x7C, 0xE1, 0x18, 0x40, 0x22, 0x37, 0x24, 0x41, 0x52, 0x11, 0xD4, 0x19, +0xF3, 0x4A, 0x04, 0x02, 0x3E, 0x6C, 0x60, 0x8B, 0x80, 0xDD, 0xFC, 0x1F, 0x11, 0x19, 0x00, 0x43, +0x40, 0x54, 0x8F, 0x7F, 0xAB, 0xC5, 0x30, 0xA5, 0x55, 0x69, 0xC9, 0xF5, 0x7F, 0xE8, 0xCA, 0xE1, +0x1F, 0x6A, 0x1A, 0x40, 0x6A, 0xED, 0xA5, 0x68, 0xF0, 0x0F, 0xEE, 0x71, 0xB9, 0x0F, 0x40, 0xD4, +0x5A, 0x00, 0x58, 0x6B, 0xB3, 0x84, 0x7E, 0x5A, 0x09, 0xFF, 0x5C, 0x0B, 0xC8, 0x06, 0x38, 0x54, +0xA5, 0x82, 0xED, 0x90, 0x06, 0xFE, 0xF9, 0xF3, 0x80, 0xBB, 0x8D, 0xE8, 0x09, 0x40, 0x04, 0x00, +0x95, 0x4A, 0x71, 0x4D, 0xCD, 0x7F, 0x04, 0x4D, 0xE0, 0x9B, 0x05, 0xA0, 0x3F, 0x01, 0x48, 0xF9, +0xEF, 0x0C, 0x44, 0x2E, 0x02, 0x33, 0xF7, 0xA4, 0x7F, 0xCF, 0x09, 0x46, 0x33, 0xC0, 0xF2, 0xB8, +0xF9, 0x3F, 0xB3, 0x81, 0xAC, 0x7E, 0x56, 0x2B, 0x08, 0x0D, 0xD5, 0x02, 0x1A, 0x02, 0x1D, 0xED, +0x7E, 0xDB, 0x29, 0xFD, 0xD1, 0x1E, 0x05, 0xA7, 0x2F, 0xC3, 0x62, 0xAF, 0x4D, 0x40, 0xBE, 0x53, +0x23, 0xFC, 0x63, 0x4B, 0x08, 0x5A, 0xB6, 0xE5, 0xF8, 0x3F, 0x94, 0x6F, 0x8C, 0x80, 0xAE, 0xDA, +0x1A, 0xF3, 0x7F, 0xF4, 0xB4, 0x69, 0xF0, 0x8F, 0x2B, 0x39, 0xF3, 0xF9, 0x87, 0x06, 0xF9, 0x27, +0x15, 0x47, 0xD6, 0x39, 0x62, 0xFE, 0xAF, 0x4D, 0xC0, 0x7A, 0x01, 0x60, 0x9B, 0x80, 0xA8, 0xE6, +0x5F, 0x7B, 0x31, 0x8C, 0x03, 0xC0, 0x98, 0x7C, 0xFC, 0x01, 0xC0, 0xC2, 0xFF, 0xF5, 0x90, 0xCF, +0x3F, 0xC2, 0xE1, 0xDF, 0x1B, 0xCE, 0x05, 0xC3, 0xBB, 0xAE, 0xA3, 0xE0, 0x09, 0x04, 0x04, 0x79, +0x36, 0xF6, 0x3D, 0xCD, 0xFA, 0xC2, 0xC1, 0x1F, 0x51, 0x0F, 0x82, 0x75, 0xF0, 0xCB, 0xDC, 0xDF, +0x3A, 0x17, 0x11, 0xF3, 0x7E, 0xF8, 0xBF, 0x90, 0x05, 0x9C, 0x0E, 0x40, 0x1F, 0x81, 0xF0, 0x0F, +0xA1, 0x15, 0xE6, 0x8F, 0x04, 0xB0, 0xEF, 0x01, 0x8D, 0x7F, 0x5F, 0x96, 0xC5, 0xE4, 0xF3, 0x0F, +0x02, 0x3A, 0x00, 0x44, 0xE5, 0xFA, 0x97, 0x3B, 0x48, 0xBB, 0x51, 0x53, 0x77, 0x63, 0xE7, 0x35, +0x01, 0x41, 0x5F, 0xBA, 0x4C, 0x4E, 0x6E, 0xF8, 0xA7, 0x7D, 0xFE, 0x21, 0x6F, 0xFC, 0x8B, 0xCE, +0xD5, 0x03, 0xDA, 0xB1, 0x1C, 0x55, 0xB5, 0x00, 0xD0, 0x25, 0xE0, 0x4A, 0x0A, 0xFC, 0xF3, 0x09, +0xB8, 0x3B, 0x12, 0xDB, 0x01, 0xE0, 0xDB, 0xE0, 0x1F, 0xD1, 0x97, 0x7F, 0x10, 0x30, 0x0C, 0x41, +0xD7, 0xFE, 0x51, 0xE2, 0x8A, 0xF3, 0xAF, 0x36, 0x80, 0xF9, 0xC8, 0x63, 0x5F, 0x69, 0xE4, 0x48, +0x4F, 0x46, 0xF8, 0x07, 0xF4, 0x18, 0x07, 0x93, 0xFA, 0x55, 0x04, 0xA6, 0xA0, 0x28, 0x01, 0xC9, +0x06, 0x3B, 0xEA, 0xC7, 0x3F, 0xA2, 0xB9, 0x00, 0x1A, 0xD5, 0x5B, 0x42, 0x56, 0x2D, 0xFE, 0xB1, +0x1C, 0xD0, 0xF1, 0x7F, 0x40, 0xD0, 0xE3, 0x1F, 0x99, 0x10, 0x97, 0x7F, 0xA8, 0xF4, 0x7F, 0x68, +0xC0, 0x0A, 0x36, 0x37, 0x80, 0xD4, 0x72, 0xF9, 0x87, 0x5C, 0xFE, 0xE1, 0x02, 0xCD, 0xFC, 0x89, +0xCA, 0x97, 0x87, 0x1A, 0x00, 0x06, 0xF8, 0xC7, 0xA6, 0x38, 0x16, 0x00, 0x46, 0x09, 0xE8, 0x00, +0x30, 0x2E, 0x0F, 0x7F, 0x00, 0xF0, 0xED, 0xF2, 0xAF, 0x30, 0x81, 0x8F, 0x9C, 0xB2, 0xE5, 0x2D, +0x21, 0x1D, 0xF8, 0x57, 0x23, 0xD0, 0x57, 0x79, 0x03, 0x18, 0xC1, 0x20, 0x63, 0x61, 0x6B, 0xF4, +0x89, 0x20, 0xFF, 0xC8, 0xFD, 0xE2, 0xFF, 0xEE, 0x22, 0x50, 0x3B, 0x9C, 0x32, 0x1D, 0xEC, 0x6B, +0xB7, 0x3F, 0x00, 0xFF, 0xFD, 0xF8, 0x93, 0x00, 0xF6, 0x09, 0x08, 0xFF, 0x7C, 0x02, 0x2E, 0x47, +0x05, 0x01, 0x53, 0x7B, 0xE2, 0xC8, 0xE5, 0x1F, 0xAA, 0xE6, 0xFF, 0xB2, 0xF9, 0x43, 0xF9, 0xB4, +0x20, 0x60, 0x7E, 0x84, 0x67, 0xF3, 0x71, 0x63, 0x86, 0xF1, 0x25, 0xFC, 0x73, 0xD4, 0xE4, 0xDF, +0x66, 0x28, 0x15, 0x6C, 0x69, 0x60, 0xE0, 0x37, 0xCC, 0xC0, 0x03, 0x77, 0xFE, 0x8F, 0xE5, 0x80, +0x86, 0x3F, 0xF8, 0xE7, 0x13, 0x70, 0xD7, 0x89, 0xCE, 0x00, 0xC4, 0x01, 0x6E, 0x9D, 0x7F, 0xBE, +0x07, 0x7C, 0x4B, 0x00, 0x74, 0xF9, 0x47, 0xD9, 0x32, 0x00, 0xF3, 0x48, 0x57, 0xFD, 0x9E, 0xA2, +0x50, 0x53, 0x21, 0xB7, 0x8D, 0x3E, 0x11, 0xE6, 0x9F, 0x0E, 0x82, 0xA5, 0x43, 0xFE, 0x23, 0xC3, +0x8E, 0xB1, 0xB0, 0xD4, 0x2C, 0x86, 0x09, 0xEA, 0xDB, 0x7E, 0x13, 0x80, 0x84, 0xC7, 0x3F, 0xB4, +0xA8, 0xC6, 0xBF, 0x3E, 0x01, 0x71, 0x34, 0x2E, 0x01, 0x41, 0x83, 0xEB, 0x01, 0xAF, 0x5C, 0xD5, +0x1B, 0x40, 0x00, 0x5F, 0x1E, 0x07, 0x9B, 0xE0, 0x1F, 0xD2, 0x67, 0xEB, 0xBC, 0x31, 0xFC, 0x73, +0x55, 0xF1, 0x6F, 0xA3, 0x87, 0x75, 0x37, 0xD0, 0x30, 0x71, 0x8F, 0x1D, 0x70, 0x8E, 0xCC, 0xFF, +0xC9, 0x1D, 0x50, 0x3D, 0x02, 0x36, 0xF8, 0x37, 0x42, 0xC0, 0x0E, 0x00, 0x44, 0x51, 0x00, 0xEA, +0xFA, 0x3F, 0x00, 0xF8, 0x16, 0x08, 0x68, 0x08, 0xEC, 0x46, 0xC0, 0x43, 0x39, 0xB6, 0x43, 0xC0, +0xFE, 0xFC, 0x03, 0x81, 0xAF, 0xB2, 0xE9, 0xBB, 0xE5, 0xA0, 0x0C, 0x7B, 0x85, 0x7F, 0xDA, 0x08, +0x0F, 0xF1, 0x80, 0xFE, 0x0D, 0xF0, 0x53, 0x79, 0xAE, 0x26, 0xD0, 0xE6, 0xFC, 0x0C, 0x83, 0x24, +0x43, 0xF4, 0x71, 0x32, 0x21, 0xD2, 0xF8, 0xDA, 0xED, 0x0E, 0x40, 0x72, 0xC1, 0x7B, 0xBE, 0x16, +0x11, 0xFF, 0xC7, 0x96, 0x90, 0xA4, 0x7B, 0x5E, 0x66, 0x23, 0x35, 0xE7, 0x05, 0x01, 0x4F, 0x7C, +0xFD, 0x09, 0xFF, 0x5C, 0x95, 0xFE, 0x0F, 0x47, 0x67, 0xE2, 0xE4, 0x35, 0x0B, 0xA0, 0x2B, 0x0B, +0x58, 0x08, 0x0F, 0x78, 0x85, 0x3C, 0x02, 0x82, 0xBD, 0xB1, 0x79, 0x40, 0x67, 0x02, 0x90, 0x97, +0x2B, 0xF3, 0x4F, 0x0D, 0xE0, 0x83, 0x66, 0x11, 0xAD, 0x56, 0x55, 0x02, 0xC4, 0x4B, 0x05, 0xEF, +0xF6, 0xB7, 0x80, 0x82, 0x3F, 0xD7, 0x01, 0xBE, 0x0D, 0xFC, 0x11, 0x18, 0x40, 0xAF, 0x6C, 0x75, +0x4B, 0x48, 0x52, 0x47, 0x07, 0x38, 0x1D, 0x80, 0xA7, 0x3A, 0xD2, 0xBD, 0xAD, 0xF3, 0x60, 0x98, +0x61, 0xF0, 0xA9, 0xFA, 0xC2, 0x53, 0xE3, 0x9F, 0x1B, 0x49, 0x8A, 0x3F, 0x0C, 0x20, 0xE9, 0x5F, +0x1B, 0x06, 0x3F, 0xD7, 0xCA, 0x08, 0x38, 0xC5, 0x03, 0x76, 0xE1, 0x1F, 0x51, 0xAD, 0x7F, 0xF1, +0x3C, 0x20, 0xA0, 0xF3, 0x12, 0x21, 0x63, 0x5F, 0x67, 0xC4, 0x00, 0xD8, 0x15, 0xFC, 0xF3, 0x64, +0xFC, 0x43, 0x6A, 0xFB, 0xB4, 0x62, 0x74, 0xAB, 0xCD, 0x6B, 0xE3, 0x5F, 0x61, 0xF9, 0xB4, 0xBD, +0xC1, 0x31, 0xE2, 0x01, 0xE1, 0x9F, 0x4F, 0xC0, 0x3F, 0xB3, 0xCB, 0x73, 0x08, 0x58, 0x8E, 0x7F, +0xED, 0xD0, 0x9A, 0x46, 0x15, 0xF2, 0x7F, 0xCA, 0x40, 0x16, 0x40, 0xBB, 0x62, 0x01, 0x60, 0x77, +0x0B, 0x88, 0x9A, 0x73, 0x80, 0x6F, 0x09, 0x80, 0x04, 0x13, 0x80, 0x4E, 0xD9, 0xE2, 0x96, 0x10, +0xF8, 0xD7, 0x31, 0x0F, 0x82, 0x5C, 0x02, 0x42, 0xBF, 0x1C, 0x7A, 0x2A, 0xC1, 0x83, 0x96, 0x09, +0x39, 0x0A, 0x84, 0x56, 0x8A, 0x3D, 0x28, 0x68, 0x8B, 0x60, 0xD6, 0x20, 0x51, 0x0E, 0x05, 0x61, +0x50, 0xBB, 0x5B, 0x00, 0x20, 0x1B, 0x40, 0x7C, 0x71, 0x07, 0x98, 0x00, 0x01, 0x01, 0xA0, 0x83, +0x41, 0x36, 0xC0, 0x39, 0xDA, 0xC0, 0x3F, 0x5F, 0xE5, 0xFC, 0x1F, 0x42, 0x37, 0x19, 0x73, 0x65, +0x02, 0xD8, 0x1E, 0x95, 0xB6, 0x16, 0xFC, 0x73, 0xA5, 0x06, 0x10, 0x81, 0xC2, 0xDC, 0x82, 0x45, +0x16, 0xC0, 0x20, 0x18, 0x58, 0xEA, 0x40, 0xFC, 0x1F, 0x98, 0x53, 0xC7, 0x57, 0x1D, 0x2A, 0xEE, +0x80, 0xE5, 0x0A, 0xFF, 0xE7, 0x45, 0x77, 0x00, 0xB2, 0x01, 0x64, 0x8A, 0x3E, 0xEC, 0x80, 0x3F, +0xC2, 0xF1, 0x7F, 0x5B, 0xDF, 0x17, 0x0C, 0xE0, 0xFA, 0x4E, 0x03, 0xC6, 0x09, 0x08, 0xE8, 0xD4, +0xF0, 0xA5, 0x00, 0x85, 0x72, 0x62, 0x7D, 0xF8, 0xE7, 0x13, 0x50, 0xD1, 0x26, 0x47, 0x06, 0x5F, +0x2E, 0x59, 0xEB, 0x6A, 0x41, 0x74, 0x10, 0x81, 0xFD, 0xF8, 0x47, 0xC0, 0x3F, 0x4F, 0x0B, 0x76, +0x5F, 0xB9, 0x04, 0x2C, 0x2D, 0xCD, 0xC6, 0x4E, 0xA4, 0x57, 0x0A, 0xFF, 0xE7, 0x0B, 0xFE, 0x79, +0xCA, 0xFE, 0x0F, 0x2F, 0xC7, 0x74, 0xDE, 0x8D, 0x36, 0xCC, 0x09, 0xB2, 0x00, 0x30, 0x17, 0x2E, +0xC6, 0x32, 0xDA, 0xF9, 0x55, 0x58, 0x5E, 0x02, 0x98, 0xAE, 0x37, 0xFE, 0x05, 0x85, 0x6C, 0x00, +0x81, 0x75, 0x76, 0x4A, 0xAB, 0xCD, 0x0C, 0xFE, 0xB9, 0xEA, 0x0A, 0x40, 0x10, 0x88, 0xDA, 0x00, +0x94, 0x41, 0xE8, 0x74, 0xEA, 0x75, 0x04, 0xE0, 0x2D, 0x01, 0x63, 0x65, 0x5B, 0x04, 0x4C, 0xEA, +0x4F, 0xC0, 0xB0, 0x64, 0x00, 0x6C, 0xE0, 0xB3, 0xBB, 0x61, 0xD9, 0x74, 0x60, 0x3E, 0x65, 0x39, +0xE0, 0x51, 0x30, 0x74, 0x01, 0x34, 0xC7, 0x1A, 0x07, 0x68, 0x1E, 0x90, 0x9B, 0x23, 0x6C, 0x07, +0x80, 0xEF, 0x87, 0x63, 0xBE, 0x17, 0x16, 0xFC, 0x73, 0x09, 0xE8, 0x7E, 0x9B, 0x51, 0x98, 0x7F, +0xE7, 0xCF, 0xE2, 0x00, 0x02, 0x69, 0x2A, 0xA8, 0xC6, 0x39, 0x8B, 0x61, 0xAC, 0x8F, 0xB8, 0x82, +0xCE, 0x44, 0x00, 0x96, 0x9C, 0xA3, 0xA9, 0xC5, 0x8B, 0x92, 0xFF, 0x6F, 0x81, 0x6C, 0xEA, 0xD4, +0x64, 0xFE, 0x0F, 0xF2, 0x01, 0xBD, 0xB2, 0x9D, 0xED, 0x85, 0xC5, 0xF0, 0xB7, 0x23, 0x02, 0xBF, +0x8D, 0x00, 0x30, 0xCE, 0xBF, 0xDE, 0xF8, 0x23, 0xB6, 0x02, 0xC0, 0xC3, 0x49, 0x00, 0x8C, 0x96, +0xAE, 0x00, 0x44, 0x8A, 0x3B, 0xAD, 0xF5, 0x2E, 0xA8, 0xD9, 0xF8, 0x49, 0x62, 0xA4, 0xDA, 0x12, +0x77, 0x14, 0x8F, 0xA3, 0x35, 0x77, 0x3F, 0xA0, 0xA4, 0x73, 0xF2, 0xC0, 0xF9, 0xE9, 0x2D, 0x11, +0xB0, 0x3F, 0xFF, 0x16, 0x2E, 0x00, 0xD1, 0x41, 0x63, 0x48, 0x57, 0xF7, 0xCE, 0x37, 0x5B, 0x71, +0x80, 0x83, 0x39, 0x0F, 0x86, 0xC5, 0xB9, 0x87, 0x03, 0x94, 0x92, 0x9F, 0xAD, 0xC1, 0xC9, 0x2C, +0xE0, 0x55, 0x50, 0xD7, 0xD9, 0x01, 0x82, 0x3D, 0xCE, 0x68, 0x47, 0x1C, 0xE0, 0x66, 0x28, 0x7D, +0x7E, 0x90, 0xC0, 0x06, 0xF7, 0x60, 0xDF, 0x80, 0x11, 0xDC, 0x59, 0xC4, 0x01, 0x18, 0x26, 0x60, +0x37, 0x03, 0xC8, 0x10, 0x38, 0x8C, 0xB4, 0x69, 0x00, 0x8C, 0x1B, 0xC0, 0x30, 0x01, 0xB7, 0x39, +0x09, 0x18, 0x2A, 0x5B, 0x71, 0x80, 0x66, 0xF8, 0x4E, 0x99, 0xF2, 0x53, 0x2F, 0xC8, 0x63, 0x52, +0xE7, 0x47, 0x63, 0x3F, 0x82, 0x6E, 0x57, 0x41, 0xBD, 0xD2, 0x04, 0xAE, 0xF1, 0x85, 0xAA, 0x38, +0xFE, 0xB6, 0x41, 0xC0, 0xC5, 0x5E, 0x14, 0x81, 0x2B, 0xDB, 0x04, 0xE7, 0x69, 0x96, 0xF8, 0x27, +0x04, 0x84, 0x73, 0x2D, 0x29, 0xFF, 0xB6, 0x30, 0x07, 0x58, 0x26, 0x81, 0x55, 0x37, 0x74, 0xC1, +0x9F, 0xF0, 0x8F, 0x39, 0xC0, 0x1B, 0x1E, 0xE7, 0x9F, 0xE0, 0x21, 0x92, 0x20, 0x01, 0x55, 0x53, +0x80, 0x95, 0x36, 0x56, 0x2D, 0x21, 0xE0, 0x80, 0x43, 0xE6, 0x41, 0xE1, 0x9F, 0x11, 0x10, 0x3D, +0xD0, 0x8A, 0x0E, 0x79, 0xE0, 0xE0, 0x18, 0x38, 0x7D, 0x00, 0xC2, 0x04, 0xEC, 0x0F, 0xC0, 0xB8, +0xA3, 0x9B, 0xC4, 0xBF, 0x30, 0x01, 0x45, 0xDD, 0x08, 0x88, 0xFF, 0x9B, 0xB6, 0x1D, 0x44, 0xA2, +0x7F, 0x1A, 0x38, 0xAC, 0x4C, 0x3C, 0x68, 0x77, 0x2A, 0x2D, 0x4E, 0x90, 0x29, 0xC0, 0xD3, 0x89, +0x59, 0x60, 0x73, 0x80, 0xA5, 0x05, 0x34, 0xFC, 0x91, 0x0B, 0xDE, 0x4A, 0x16, 0x24, 0xCC, 0xBF, +0x20, 0x01, 0xE5, 0x2B, 0x15, 0xCB, 0x02, 0xCB, 0x0F, 0x05, 0x8B, 0x07, 0xFC, 0x72, 0xEC, 0x6B, +0x0D, 0xFF, 0xD2, 0x11, 0xCF, 0x02, 0x5F, 0x4F, 0x5B, 0x06, 0x73, 0xA3, 0xE0, 0xC2, 0xC8, 0x55, +0x10, 0x2C, 0xB7, 0xC1, 0xD1, 0xC8, 0x41, 0x42, 0x64, 0x6A, 0x16, 0xF8, 0x7A, 0xF4, 0x36, 0x08, +0x9B, 0xFA, 0xA6, 0x30, 0xBC, 0x44, 0x72, 0x20, 0x3D, 0xB7, 0x4A, 0x5E, 0x54, 0x3C, 0xA0, 0x1E, +0xA5, 0xF9, 0x43, 0xF2, 0x56, 0x05, 0x3D, 0xE0, 0x5C, 0x62, 0xDE, 0x9F, 0x7F, 0xBB, 0xB1, 0x21, +0xF0, 0x16, 0x00, 0xA8, 0x58, 0x8B, 0x1A, 0x40, 0x55, 0xEF, 0xF1, 0xAF, 0x94, 0x29, 0xEB, 0x60, +0xB6, 0xB2, 0x10, 0x3A, 0x6E, 0x00, 0x15, 0x7E, 0xB6, 0xE6, 0x59, 0x42, 0x7D, 0xA0, 0x75, 0xCC, +0x00, 0xC6, 0xD7, 0xC1, 0xB0, 0x0E, 0x9A, 0xD1, 0xAE, 0x1E, 0xAC, 0x8C, 0xD6, 0x9A, 0x47, 0x63, +0xFC, 0xD3, 0xE8, 0x0A, 0xC0, 0xF9, 0x7C, 0x31, 0x0F, 0x12, 0x70, 0x21, 0xBB, 0xE0, 0x42, 0x04, +0x14, 0xFE, 0x29, 0x01, 0x2B, 0xF6, 0xF1, 0x75, 0x86, 0x7F, 0x61, 0x02, 0x4E, 0x5D, 0x07, 0xA8, +0xD3, 0x80, 0x08, 0xAA, 0x49, 0x63, 0x30, 0x7C, 0xCD, 0x46, 0x10, 0x9E, 0xAC, 0xCC, 0x20, 0x06, +0x70, 0xF2, 0x3A, 0x40, 0x78, 0xB7, 0xA1, 0x2E, 0xC7, 0xBF, 0x8A, 0xC0, 0xDA, 0xEF, 0x95, 0x34, +0x34, 0xFE, 0x29, 0x01, 0x1B, 0x03, 0x5F, 0xB0, 0xB8, 0x12, 0xC5, 0x08, 0x38, 0x87, 0x80, 0xBD, +0xD7, 0x01, 0xFA, 0x00, 0x8C, 0x82, 0x8D, 0xCB, 0xF8, 0x61, 0xF4, 0xD1, 0xAB, 0xE3, 0x08, 0x54, +0x75, 0xE6, 0x9F, 0x95, 0xB0, 0xDE, 0xD6, 0x4E, 0x10, 0x04, 0xF3, 0xCA, 0xBB, 0xA1, 0x6A, 0xD7, +0xF8, 0xA7, 0x55, 0x88, 0x7F, 0xFC, 0x14, 0x48, 0x16, 0x3B, 0x40, 0xA4, 0x0F, 0x03, 0xF1, 0x80, +0x41, 0xFE, 0xF5, 0x5D, 0x08, 0x33, 0xDF, 0xB3, 0x70, 0x25, 0xFC, 0x13, 0xCD, 0x02, 0xE3, 0xDF, +0x24, 0x08, 0xB8, 0x19, 0x1F, 0xFF, 0x4A, 0x59, 0x6E, 0x36, 0x21, 0xFE, 0x05, 0x3D, 0x20, 0x3B, +0xE1, 0x58, 0xC7, 0x57, 0xCF, 0x08, 0xC2, 0x3F, 0x15, 0x3F, 0x1C, 0x4C, 0x5B, 0x2E, 0xA4, 0x36, +0x05, 0xFC, 0x9F, 0x69, 0x24, 0x01, 0xCC, 0x3A, 0x68, 0x03, 0xE0, 0x97, 0xDE, 0x46, 0x10, 0x7B, +0x61, 0x67, 0x65, 0x02, 0x98, 0x9A, 0x9D, 0x20, 0x61, 0x02, 0xCE, 0x2D, 0xFA, 0x02, 0x10, 0x02, +0x76, 0x71, 0x80, 0x09, 0x66, 0x3E, 0xFD, 0xB8, 0x58, 0x15, 0x37, 0x80, 0x7D, 0xF7, 0xC2, 0x81, +0xBF, 0x9E, 0xF3, 0x80, 0xDB, 0xE2, 0xDF, 0xA9, 0x85, 0x19, 0xBD, 0x2C, 0x26, 0x05, 0x35, 0x0B, +0x3C, 0x69, 0x2B, 0x1C, 0xB7, 0x04, 0x64, 0x03, 0x9C, 0x56, 0xF5, 0x96, 0x60, 0x69, 0x55, 0x21, +0xFE, 0x69, 0x74, 0xB4, 0x80, 0xBB, 0x7B, 0xF3, 0x45, 0xFE, 0xFF, 0x7F, 0x64, 0x02, 0x30, 0x49, +0xEA, 0x99, 0x3F, 0xFE, 0x35, 0x02, 0x2E, 0x51, 0x99, 0xFF, 0xD0, 0x0A, 0x00, 0x6E, 0x96, 0xFD, +0xF6, 0x02, 0x5F, 0x17, 0x7B, 0x81, 0x4D, 0x60, 0x0C, 0x73, 0x97, 0x8E, 0x81, 0x9B, 0x41, 0xDF, +0x94, 0xF9, 0x10, 0x53, 0xE2, 0x5E, 0x7C, 0x2F, 0x30, 0x1A, 0xF6, 0x7D, 0x30, 0x30, 0xFB, 0x3F, +0x29, 0xCE, 0x20, 0x78, 0xF9, 0x80, 0x17, 0x96, 0x4C, 0x48, 0x35, 0x0D, 0x28, 0xCD, 0xCA, 0xB4, +0xB3, 0x5A, 0xB8, 0xFC, 0x8B, 0x13, 0x70, 0x0B, 0x00, 0xCC, 0x24, 0x1A, 0x57, 0x7D, 0x4D, 0x22, +0x60, 0x8A, 0x91, 0xEB, 0x63, 0x0C, 0x2C, 0xD4, 0x6F, 0xFE, 0xEF, 0x4E, 0x89, 0xAB, 0xBB, 0x01, +0xF4, 0x11, 0xF8, 0x44, 0xF0, 0x67, 0xCA, 0x43, 0x60, 0xCD, 0xF8, 0xB2, 0x23, 0xD8, 0xB0, 0x08, +0xFF, 0xE4, 0x9A, 0x90, 0xFF, 0xD3, 0xC8, 0xA8, 0xA3, 0xC2, 0x09, 0x32, 0x20, 0xCE, 0x47, 0x10, +0x80, 0xD2, 0xFB, 0xBA, 0x0B, 0x02, 0x77, 0x53, 0x02, 0x78, 0x31, 0xB7, 0xCF, 0xFF, 0xC2, 0xE7, +0x9F, 0x69, 0x16, 0xE0, 0x9F, 0x64, 0x41, 0x20, 0xE0, 0x97, 0x6D, 0x03, 0x98, 0x0B, 0x04, 0x74, +0xF8, 0xE7, 0x7A, 0xC0, 0x6B, 0xF0, 0x97, 0x90, 0x65, 0xA8, 0xAB, 0x48, 0x68, 0xFC, 0x43, 0xCD, +0xA5, 0x30, 0x66, 0x00, 0x91, 0x6B, 0x00, 0x51, 0x6B, 0x12, 0x10, 0xFF, 0x07, 0x00, 0x6B, 0x6D, +0xE8, 0x7E, 0x7C, 0xF7, 0x85, 0x9D, 0x19, 0xFB, 0x5A, 0xF7, 0x42, 0x80, 0x80, 0x51, 0x00, 0x2E, +0xE6, 0x5D, 0x00, 0x08, 0xFE, 0x34, 0x5C, 0x07, 0xA8, 0x11, 0xE5, 0x1F, 0x1E, 0xD0, 0x31, 0x80, +0x61, 0xFE, 0xA1, 0x4E, 0xF8, 0x8B, 0x13, 0x10, 0x75, 0xBD, 0x1F, 0xE0, 0x94, 0xDB, 0x01, 0xB2, +0x0F, 0x24, 0x8F, 0x82, 0xF1, 0x81, 0xB6, 0x3D, 0xF8, 0x34, 0xA7, 0x7F, 0x51, 0x3A, 0x3B, 0x1A, +0x4F, 0x00, 0x73, 0x47, 0x68, 0x56, 0x3D, 0x43, 0x3F, 0x03, 0x9F, 0xFC, 0x56, 0xBA, 0x3D, 0x23, +0x72, 0xF1, 0xD7, 0xDB, 0x03, 0xEE, 0x8A, 0xFD, 0x23, 0x1C, 0xFE, 0x01, 0x40, 0xC7, 0x03, 0xEA, +0x97, 0x54, 0xA4, 0x9D, 0xA1, 0xAF, 0x34, 0x7D, 0xFD, 0xE6, 0x6B, 0x71, 0x08, 0xF8, 0x2C, 0x0E, +0xC0, 0xD6, 0x0F, 0xA2, 0x97, 0x8B, 0x5B, 0xF8, 0x71, 0x4C, 0x54, 0x2E, 0x79, 0xD6, 0x03, 0x04, +0x96, 0xF2, 0xFD, 0xDF, 0x9F, 0x7A, 0x40, 0xC0, 0x41, 0x2B, 0xB8, 0x81, 0x7F, 0xA9, 0xB4, 0xFC, +0xB2, 0xEA, 0xA0, 0x78, 0x61, 0x6D, 0x1A, 0x90, 0xC2, 0x31, 0x5B, 0xE1, 0x00, 0x53, 0x38, 0x09, +0xE0, 0xB0, 0x07, 0x44, 0x1D, 0x01, 0xF8, 0x6E, 0x8C, 0x80, 0x53, 0x54, 0x92, 0xAD, 0x0B, 0x01, +0xA7, 0xE8, 0x10, 0xF8, 0x75, 0x9B, 0x07, 0xEC, 0x7F, 0x47, 0x68, 0x10, 0x48, 0xAF, 0x9C, 0x00, +0x7C, 0xA5, 0xE9, 0x5F, 0x3B, 0x80, 0x9F, 0x56, 0xEE, 0xCD, 0xB0, 0x88, 0x62, 0x33, 0xB0, 0x1D, +0x8C, 0x82, 0xB5, 0xCE, 0x24, 0xEC, 0x08, 0x40, 0x34, 0xBE, 0x00, 0x70, 0x1E, 0x24, 0xA0, 0x7E, +0x93, 0x22, 0x04, 0xD4, 0xFC, 0x6F, 0xF6, 0x29, 0xE6, 0x01, 0xBF, 0x84, 0x7D, 0xB5, 0xFF, 0xA3, +0x8C, 0xDC, 0x10, 0x66, 0x53, 0x30, 0x45, 0xE4, 0xF1, 0x0F, 0x41, 0xB3, 0xCA, 0xD9, 0xB5, 0x7F, +0x11, 0x84, 0x8E, 0x9D, 0xDF, 0x97, 0xEB, 0xFF, 0x50, 0x45, 0xBD, 0x7B, 0x09, 0x60, 0xCA, 0xE0, +0xCB, 0x04, 0xFF, 0x78, 0x61, 0x8D, 0x80, 0x95, 0xE0, 0x1F, 0x0C, 0x74, 0xFD, 0x1F, 0x1E, 0x70, +0xDB, 0xF7, 0x43, 0xDD, 0x3E, 0x00, 0xA1, 0x9A, 0x0B, 0xC0, 0x5A, 0x5D, 0x16, 0x00, 0xBE, 0x45, +0x00, 0xC2, 0x3F, 0x22, 0x6E, 0x00, 0xF3, 0x86, 0x60, 0x2C, 0x60, 0x1E, 0x12, 0xCB, 0x81, 0xBC, +0x79, 0xC0, 0xEA, 0xA7, 0xD1, 0x33, 0xF1, 0x40, 0xA0, 0x3D, 0xC2, 0x4D, 0x11, 0x4C, 0x0E, 0xFE, +0x3A, 0x7B, 0x40, 0xF3, 0x7F, 0x44, 0xF3, 0x5B, 0x02, 0xFD, 0x98, 0x07, 0x1C, 0x4B, 0x80, 0xE4, +0xC1, 0x1A, 0x89, 0x10, 0x36, 0xF6, 0xD3, 0x3F, 0x90, 0xFC, 0x6F, 0x59, 0x32, 0x1E, 0xAA, 0xC3, +0xC0, 0x07, 0x07, 0xAF, 0x7D, 0xFE, 0xB5, 0xE7, 0x01, 0x59, 0x00, 0xD8, 0x26, 0xE0, 0xBD, 0xBB, +0x26, 0xD4, 0xBA, 0x1E, 0xA6, 0x1F, 0xFE, 0x8F, 0xB6, 0x40, 0x1F, 0xFD, 0xFC, 0x9B, 0x20, 0x95, +0x07, 0x6C, 0xF0, 0x4F, 0x44, 0x5D, 0x2C, 0x86, 0xA1, 0x53, 0xF3, 0x2F, 0x85, 0xEB, 0xFF, 0x88, +0x7E, 0xFE, 0x8F, 0x68, 0xEB, 0x08, 0x00, 0x36, 0x20, 0x17, 0xFE, 0xA9, 0x24, 0x2E, 0xAF, 0x14, +0xC2, 0x9F, 0xDE, 0x1C, 0xB5, 0x03, 0xFF, 0x1C, 0x00, 0x3A, 0xEA, 0xC7, 0x3F, 0x22, 0x6E, 0x00, +0x73, 0xBE, 0x83, 0x9D, 0xC0, 0xA7, 0xF8, 0xBF, 0xC2, 0x00, 0x4A, 0xD3, 0x1E, 0xFF, 0x1A, 0xFD, +0x2C, 0xD8, 0x0D, 0x22, 0xDD, 0x6A, 0x05, 0x8C, 0x74, 0xF0, 0x80, 0x41, 0x00, 0x4E, 0x21, 0xA0, +0xE7, 0xFF, 0x7C, 0x02, 0x2E, 0x8C, 0x7F, 0x68, 0x67, 0xD6, 0xE2, 0x1F, 0xDF, 0x52, 0x3B, 0x9C, +0xF9, 0x3F, 0x4A, 0xD3, 0x03, 0x02, 0x3F, 0x24, 0xB0, 0x19, 0x9B, 0xFF, 0xAB, 0xEF, 0x8A, 0x0F, +0xDC, 0xE0, 0x5F, 0x4D, 0xC0, 0x14, 0xF5, 0xC5, 0x08, 0xF9, 0x09, 0x90, 0x3F, 0xDD, 0x5F, 0x85, +0xAB, 0x4A, 0x3D, 0x00, 0x86, 0x7F, 0xE5, 0x0B, 0xFB, 0x31, 0xB9, 0x60, 0xF0, 0xA7, 0x77, 0x83, +0x46, 0x8E, 0x07, 0x9C, 0x13, 0x78, 0xC0, 0x37, 0xF8, 0x9B, 0x48, 0x47, 0x47, 0x69, 0x0E, 0x90, +0x08, 0xFB, 0x3F, 0x12, 0x21, 0x6D, 0xFB, 0x87, 0xDA, 0xD9, 0xDF, 0xFA, 0xD2, 0x9E, 0xFC, 0xA3, +0xC4, 0xF5, 0x86, 0x7E, 0x15, 0x13, 0xE4, 0xE1, 0x00, 0x55, 0x3A, 0xEF, 0x97, 0x9D, 0x20, 0xEB, +0xA0, 0x5F, 0x20, 0xE4, 0xF8, 0x3F, 0xA5, 0x60, 0x2A, 0x24, 0x42, 0xB8, 0xFD, 0x81, 0x6D, 0x80, +0x3B, 0xB2, 0x40, 0x01, 0xFC, 0x4D, 0xF7, 0x80, 0xCD, 0x05, 0xD0, 0x75, 0xB8, 0xFC, 0x43, 0x0D, +0xFE, 0x31, 0x51, 0x6F, 0xBD, 0x16, 0x01, 0x31, 0x80, 0x94, 0x41, 0x02, 0xFE, 0x69, 0x38, 0x61, +0x0C, 0x3C, 0xFD, 0x77, 0x81, 0xD1, 0x2F, 0xCC, 0xFF, 0x8D, 0x7B, 0x40, 0x06, 0xCE, 0x24, 0x80, +0x3D, 0x0F, 0x78, 0x0D, 0xF8, 0x52, 0x6D, 0x4D, 0x76, 0xB2, 0x48, 0x4F, 0x96, 0x0D, 0x02, 0xD6, +0xFA, 0x55, 0x17, 0x40, 0x97, 0x2F, 0x2C, 0x1E, 0x10, 0xA5, 0xFE, 0xAA, 0x92, 0x4C, 0xDF, 0xBA, +0xFE, 0x8F, 0xE8, 0xE7, 0xFF, 0x88, 0x36, 0x00, 0x0B, 0x2E, 0x55, 0xE2, 0xD1, 0x10, 0x03, 0xDB, +0x60, 0xAB, 0xA2, 0xA5, 0x08, 0xFE, 0xFA, 0xF3, 0x0F, 0x75, 0x9C, 0xFF, 0x23, 0x42, 0x0E, 0xD0, +0x50, 0x58, 0xDC, 0x1A, 0x46, 0x1B, 0x13, 0x06, 0xB0, 0x45, 0x40, 0xBA, 0x25, 0x07, 0xCD, 0xFA, +0xB1, 0x06, 0xBA, 0x64, 0x9F, 0xF9, 0xBF, 0x10, 0x00, 0x89, 0xB0, 0x5C, 0xFF, 0x47, 0xB4, 0x16, +0x40, 0xD7, 0xDA, 0x19, 0x4C, 0x00, 0x97, 0xDF, 0x51, 0x16, 0x44, 0x63, 0x6C, 0xE0, 0xDF, 0x00, +0x00, 0x97, 0xAE, 0xFF, 0x83, 0x2D, 0xD7, 0x0E, 0xFE, 0x10, 0x69, 0x5F, 0x9C, 0xDD, 0xDF, 0x2D, +0xB1, 0x0E, 0x10, 0x10, 0x0E, 0xCB, 0x9F, 0xFF, 0x43, 0x03, 0xEB, 0xFF, 0x8A, 0x04, 0x48, 0x3B, +0x13, 0xC2, 0x02, 0xE8, 0xEA, 0x85, 0x9D, 0x55, 0xFE, 0xAF, 0xE6, 0x5F, 0x7B, 0x39, 0xE0, 0x7C, +0x38, 0xE6, 0xDD, 0xF8, 0x47, 0x34, 0xF0, 0xF7, 0xDC, 0x05, 0x20, 0x0F, 0xD7, 0x8B, 0x60, 0xEA, +0x5C, 0x70, 0x8B, 0x6B, 0xAE, 0x01, 0xE4, 0xC2, 0xCE, 0xFE, 0x6F, 0x7A, 0x2A, 0xF8, 0x0D, 0x00, +0x10, 0xE0, 0x59, 0x5B, 0xAD, 0x86, 0xD1, 0xDA, 0x6E, 0x0A, 0xD3, 0x52, 0xD3, 0xFF, 0x29, 0xFB, +0xCA, 0x7E, 0xC6, 0x1B, 0xE3, 0x5E, 0x69, 0xE9, 0xD1, 0x38, 0xF8, 0xEB, 0x36, 0x0F, 0x98, 0x06, +0x3B, 0x41, 0x02, 0x2E, 0x56, 0xC3, 0xFC, 0x33, 0x02, 0x56, 0xFE, 0x2F, 0x8F, 0xD0, 0xAC, 0xA7, +0x55, 0x31, 0x0B, 0xD8, 0xE4, 0x9F, 0x32, 0xA1, 0xBA, 0x79, 0x1E, 0x6E, 0x4A, 0x3B, 0xC8, 0x05, +0x20, 0xBA, 0x0F, 0x34, 0x16, 0x40, 0xD7, 0x02, 0x93, 0xF8, 0xBF, 0x28, 0x01, 0xF9, 0x33, 0x69, +0xB4, 0x3E, 0x41, 0xE5, 0x06, 0x90, 0xBA, 0x0C, 0xFA, 0x3F, 0x7B, 0x25, 0x73, 0xCB, 0x3C, 0xE0, +0xB8, 0xFF, 0x83, 0x80, 0x73, 0x8F, 0x7F, 0x10, 0xB0, 0xDB, 0xF8, 0x97, 0x18, 0x06, 0xA0, 0x39, +0x40, 0xC2, 0xE5, 0x1F, 0xBF, 0x8C, 0x6E, 0x14, 0x44, 0x80, 0xCD, 0x25, 0x60, 0x5B, 0x5D, 0x13, +0x20, 0x94, 0xB0, 0x7A, 0x0E, 0x80, 0x89, 0x88, 0x03, 0xB4, 0x78, 0x95, 0x6D, 0xE0, 0xE9, 0x2B, +0xAD, 0x07, 0x0C, 0x20, 0x75, 0x69, 0xFF, 0x2A, 0xFF, 0x47, 0x14, 0xAB, 0x00, 0x8B, 0x83, 0x3A, +0x37, 0x1D, 0x01, 0x88, 0xEA, 0x0D, 0x20, 0xED, 0xA8, 0x13, 0xC0, 0x0D, 0xCD, 0x86, 0x16, 0xC0, +0x68, 0x48, 0xD1, 0xBE, 0xD4, 0x78, 0xC0, 0xC6, 0x04, 0x20, 0x45, 0xA9, 0x70, 0x0F, 0x14, 0x30, +0x05, 0xAC, 0x90, 0x09, 0xF1, 0xF1, 0xC7, 0x34, 0x20, 0x6A, 0xF0, 0x8F, 0x05, 0xD1, 0x95, 0xFF, +0x0B, 0x11, 0xF0, 0xBA, 0x41, 0x3F, 0x11, 0x5C, 0x67, 0x01, 0x60, 0x0C, 0x80, 0x60, 0xAF, 0x7E, +0x61, 0x67, 0xF8, 0x3F, 0x12, 0x20, 0x21, 0x0F, 0x38, 0x77, 0x08, 0xD8, 0xC5, 0xFF, 0x11, 0x43, +0xFC, 0xB3, 0x39, 0x40, 0x22, 0x00, 0x40, 0x1C, 0x20, 0xCF, 0x74, 0x30, 0x80, 0xE8, 0xED, 0xF0, +0x0F, 0x0B, 0xB8, 0x1D, 0xFE, 0xF9, 0x0E, 0x10, 0xE5, 0x0D, 0xC1, 0xF6, 0x3B, 0x99, 0x0D, 0xD5, +0x00, 0x34, 0xCF, 0x57, 0xFC, 0x34, 0x9C, 0x1D, 0xE4, 0x81, 0x45, 0x20, 0x50, 0xCA, 0xF8, 0x96, +0x90, 0xDD, 0x0E, 0x04, 0xF4, 0x13, 0xC0, 0x84, 0xCB, 0x3F, 0x34, 0xAB, 0x17, 0xC0, 0x98, 0x0A, +0xA3, 0x22, 0xB5, 0xC3, 0xBF, 0xE6, 0x62, 0x18, 0x18, 0x32, 0x20, 0x17, 0x80, 0xA8, 0xCC, 0x01, +0xFF, 0x3D, 0xA6, 0xD7, 0xE9, 0x0A, 0xEC, 0x1F, 0x72, 0xA7, 0x01, 0x0B, 0xE0, 0xE5, 0xB6, 0x98, +0x07, 0x44, 0xF8, 0xBF, 0xBA, 0xE0, 0x94, 0x55, 0xD5, 0xF8, 0x97, 0x46, 0x08, 0xE8, 0xF8, 0x3F, +0x16, 0x44, 0xCF, 0x83, 0x06, 0x70, 0xB1, 0xB7, 0x55, 0x00, 0xE2, 0xFF, 0x18, 0x02, 0x13, 0x91, +0xFC, 0x07, 0x36, 0xB0, 0xF6, 0x7F, 0x31, 0x06, 0x8E, 0xEA, 0x7F, 0x2C, 0x00, 0xEC, 0x62, 0x01, +0x3B, 0x8E, 0x7F, 0x89, 0x96, 0xF5, 0x7B, 0x01, 0xF6, 0x30, 0x81, 0x77, 0x37, 0x03, 0xB7, 0x0C, +0x60, 0xB5, 0x25, 0xA4, 0x98, 0xF5, 0xB3, 0x9A, 0x00, 0x7F, 0x52, 0xAF, 0x61, 0x9F, 0x35, 0xF4, +0x1C, 0x00, 0x76, 0x48, 0x05, 0x8F, 0xD0, 0x4F, 0x22, 0xC2, 0x3F, 0x08, 0x08, 0xFF, 0x18, 0xFE, +0x16, 0x46, 0xA5, 0xDE, 0x14, 0xD7, 0xFE, 0xF2, 0xB3, 0x29, 0x0E, 0xFE, 0x15, 0x58, 0x91, 0x2E, +0xE7, 0xD7, 0x2E, 0xFF, 0x90, 0x9B, 0x00, 0x46, 0x5C, 0xE9, 0x12, 0x70, 0xC0, 0x00, 0xB6, 0x30, +0x78, 0x82, 0xF0, 0x7F, 0x83, 0x65, 0x69, 0x82, 0x7F, 0xB8, 0x6B, 0xE6, 0x00, 0xF1, 0x80, 0x6C, +0x00, 0x19, 0x23, 0xA0, 0xC7, 0x3F, 0x52, 0xC1, 0x1D, 0x36, 0x80, 0x38, 0x08, 0x3C, 0x52, 0x99, +0x03, 0x24, 0xC2, 0x00, 0xAC, 0x66, 0x00, 0xC7, 0xB0, 0x16, 0xF1, 0x7F, 0xA8, 0xE7, 0x04, 0x20, +0x25, 0xAE, 0xED, 0x03, 0xF0, 0x74, 0xC4, 0x02, 0x42, 0x40, 0x69, 0x3D, 0x1D, 0xB5, 0x17, 0xC0, +0xD8, 0xB9, 0x79, 0x40, 0x16, 0x41, 0x93, 0xF4, 0x80, 0x7D, 0x05, 0x0F, 0x4B, 0xFC, 0xF5, 0xF1, +0x80, 0xBE, 0xFF, 0x23, 0x7C, 0xFE, 0xB1, 0x1C, 0x10, 0xFE, 0x01, 0xBE, 0xCA, 0x01, 0x1E, 0xA4, +0x2B, 0x1C, 0xFF, 0x47, 0x81, 0x80, 0xF8, 0x3F, 0x6D, 0x41, 0x09, 0xE7, 0x2E, 0xFF, 0x90, 0xC3, +0xBF, 0xC6, 0x82, 0x68, 0x4F, 0xED, 0xF9, 0xBF, 0x54, 0x68, 0x44, 0x51, 0xFE, 0x31, 0x0A, 0x66, +0x03, 0x48, 0xED, 0x00, 0x8D, 0x89, 0xBC, 0x05, 0xAB, 0x11, 0xED, 0xA4, 0x70, 0x13, 0xC0, 0x44, +0x89, 0xBF, 0xFE, 0x00, 0xD4, 0xEF, 0x80, 0xE3, 0x00, 0x39, 0x6B, 0x88, 0x29, 0x40, 0xFC, 0x5F, +0x84, 0x81, 0xA8, 0xCE, 0x81, 0x38, 0x00, 0xF4, 0xF8, 0xD7, 0xD7, 0x03, 0xF6, 0xC0, 0x1F, 0x51, +0xF2, 0xEF, 0x45, 0xCB, 0x02, 0x6A, 0xD7, 0xD6, 0x02, 0x8E, 0x19, 0x40, 0x6D, 0xB8, 0x01, 0x02, +0xBF, 0x86, 0xFE, 0x4D, 0xC3, 0x05, 0x8A, 0xD6, 0x55, 0xE2, 0x83, 0x09, 0x40, 0x6A, 0x1F, 0x80, +0x44, 0x58, 0x6E, 0x02, 0x98, 0x70, 0xF9, 0x87, 0x66, 0x24, 0x40, 0x40, 0x1E, 0xDC, 0xCB, 0x5D, +0x6D, 0x82, 0xFC, 0x13, 0x38, 0xC0, 0x3F, 0x04, 0x4C, 0x0A, 0xFD, 0x12, 0xE4, 0x5F, 0xBA, 0x00, +0xFE, 0x85, 0x09, 0xF8, 0x8B, 0x2F, 0xFC, 0x1F, 0xF4, 0x43, 0xC5, 0x5F, 0xCE, 0xCF, 0xC0, 0x6D, +0x9C, 0x52, 0x6F, 0x00, 0xA9, 0xE7, 0x00, 0xED, 0x64, 0xE6, 0xF0, 0x0F, 0x06, 0xBA, 0xFE, 0x0F, +0x0F, 0xD8, 0x2F, 0x01, 0x42, 0x20, 0xFB, 0xAC, 0x8F, 0x02, 0x50, 0x4E, 0x5A, 0xA9, 0xE1, 0xFA, +0x21, 0x4F, 0x11, 0x03, 0x08, 0x04, 0xA7, 0xF3, 0xAF, 0x17, 0x00, 0x9F, 0x80, 0xC0, 0x1E, 0xF8, +0x23, 0x82, 0x16, 0x50, 0xBA, 0x0A, 0x43, 0xA5, 0xA0, 0xC9, 0xF3, 0x80, 0x4C, 0xFB, 0x15, 0xF0, +0xE3, 0x4C, 0x7D, 0x20, 0x77, 0x80, 0xA1, 0x29, 0xBA, 0x2C, 0x88, 0x06, 0x7F, 0xBD, 0x3D, 0xA0, +0x2E, 0x00, 0x74, 0xC3, 0xE7, 0x1F, 0x1E, 0x90, 0xF1, 0x2F, 0x0E, 0xB0, 0x64, 0x5F, 0x99, 0x08, +0x09, 0x7C, 0xFD, 0x33, 0x01, 0x19, 0xEF, 0xC2, 0x15, 0x4E, 0x73, 0x0D, 0xFF, 0x5C, 0xC1, 0x3F, +0x57, 0x4C, 0x00, 0xBA, 0xBA, 0xD6, 0x7F, 0xFF, 0x33, 0x74, 0x52, 0x25, 0xAD, 0x4D, 0x1B, 0xF3, +0x7F, 0x51, 0x02, 0x42, 0xBA, 0x2A, 0x0B, 0xCC, 0x13, 0xB3, 0x18, 0xFF, 0x52, 0xE0, 0xFF, 0xDC, +0xE8, 0xE7, 0xFF, 0x08, 0x13, 0x9F, 0x78, 0x00, 0x48, 0x44, 0x0C, 0x60, 0xCD, 0xBF, 0x29, 0x08, +0xF4, 0xD5, 0xD1, 0xFF, 0x51, 0xA6, 0x7A, 0xC0, 0x5E, 0xFC, 0x23, 0x6C, 0xAD, 0xF3, 0x17, 0xFA, +0x63, 0x1F, 0xB4, 0x74, 0xE5, 0xD0, 0xB3, 0x17, 0x92, 0x03, 0x0E, 0x49, 0xCD, 0xDD, 0x37, 0x45, +0x79, 0x41, 0x5D, 0x96, 0xA3, 0xEF, 0x33, 0xE7, 0x92, 0xB4, 0x81, 0x7A, 0x74, 0x01, 0xE0, 0x6E, +0x24, 0x76, 0xBF, 0x36, 0xB8, 0xF9, 0xF1, 0xFE, 0xAE, 0xFA, 0x3F, 0x3F, 0xE0, 0x9F, 0x4B, 0x40, +0x16, 0x00, 0xD6, 0x0E, 0x10, 0xB3, 0x02, 0x01, 0x65, 0x96, 0x6F, 0x34, 0x24, 0x11, 0xB2, 0x19, +0x30, 0x80, 0x9C, 0x16, 0x68, 0xB9, 0xE6, 0x06, 0x58, 0xAE, 0x62, 0xFC, 0x63, 0x31, 0x4C, 0x4C, +0xA5, 0xFF, 0x2B, 0x47, 0xC0, 0xDA, 0x2D, 0x09, 0x28, 0x80, 0x73, 0x0B, 0x0B, 0x00, 0x4B, 0xFC, +0x41, 0x41, 0x06, 0xC1, 0x4A, 0xC0, 0x15, 0xF2, 0x3C, 0xE0, 0x3C, 0x10, 0x8B, 0x8E, 0xFC, 0x23, +0xE0, 0x1F, 0x0E, 0xB0, 0x0A, 0x95, 0xB5, 0xDE, 0x10, 0x58, 0x42, 0xAE, 0x8E, 0x07, 0x6A, 0x7B, +0xC0, 0x74, 0xD5, 0xC4, 0x1B, 0x00, 0xF6, 0x46, 0xE0, 0x13, 0x89, 0x48, 0xF9, 0xEE, 0x16, 0x80, +0xDF, 0x45, 0xE2, 0x3B, 0xE1, 0x9F, 0x80, 0x2E, 0xB7, 0xD6, 0xF0, 0x90, 0x14, 0x7B, 0x20, 0x88, +0xBF, 0x57, 0xEA, 0xED, 0xBE, 0x27, 0xBE, 0xA9, 0x3B, 0x5A, 0x94, 0x80, 0x79, 0x07, 0x88, 0x1E, +0x19, 0x73, 0x9C, 0x58, 0x25, 0xC7, 0xE7, 0x9F, 0xCB, 0x07, 0x2A, 0x24, 0x21, 0xE0, 0xFB, 0x52, +0x8D, 0x15, 0xFD, 0x38, 0x33, 0x01, 0xE8, 0xC5, 0x9C, 0x0D, 0x20, 0x8E, 0x16, 0xC9, 0x03, 0xCE, +0xA6, 0xFC, 0x4E, 0xD2, 0xC6, 0x8D, 0x04, 0x41, 0xF5, 0x80, 0x42, 0x0E, 0xA7, 0x08, 0x17, 0xAF, +0xD5, 0x00, 0x6A, 0x69, 0x47, 0x2E, 0x3F, 0xFF, 0x92, 0x16, 0xC0, 0xA4, 0x52, 0xE9, 0x75, 0x19, +0xB2, 0x18, 0x46, 0xD0, 0xE6, 0x97, 0x24, 0xD9, 0x00, 0x1C, 0xFD, 0x63, 0xCF, 0x4F, 0x84, 0xFF, +0x91, 0xA2, 0xFC, 0x8B, 0x69, 0x36, 0x9B, 0xAD, 0x62, 0x5A, 0x08, 0xFF, 0x22, 0xDA, 0x93, 0x44, +0x48, 0xF8, 0x87, 0x92, 0xBE, 0xDD, 0xFD, 0x36, 0xF6, 0x51, 0xB5, 0xCF, 0xBB, 0xC5, 0x3B, 0xA3, +0x86, 0xAD, 0x05, 0x2C, 0x01, 0x1F, 0x4B, 0x01, 0xB9, 0x26, 0xA4, 0x47, 0xC1, 0x12, 0xD7, 0x34, +0xB0, 0xF9, 0xA1, 0xE5, 0xD3, 0x27, 0x71, 0x3D, 0x96, 0x12, 0x8A, 0x2F, 0xBE, 0xD8, 0x4F, 0xF1, +0x99, 0xD4, 0xD2, 0x26, 0x3D, 0x96, 0x23, 0x95, 0x2F, 0x72, 0x2B, 0x8F, 0x9D, 0x7E, 0x96, 0x9E, +0x3B, 0x8D, 0xEB, 0xC5, 0xD3, 0x17, 0x41, 0x1D, 0x99, 0x3E, 0xCA, 0xB5, 0x84, 0xF6, 0x38, 0xEC, +0xFC, 0xF9, 0xFA, 0xF9, 0xEF, 0xBF, 0x87, 0xCA, 0x7A, 0x77, 0x2E, 0xF7, 0xF6, 0xF3, 0x8A, 0x36, +0x7B, 0xF3, 0xC5, 0x7C, 0x11, 0x28, 0x73, 0xD9, 0x00, 0xB2, 0xE3, 0x8F, 0x81, 0x77, 0x12, 0x01, +0xCD, 0xE3, 0xB9, 0x4A, 0x04, 0x94, 0x09, 0xB0, 0x54, 0xC6, 0x74, 0xB2, 0xD1, 0xFA, 0xD9, 0x71, +0x1A, 0xDE, 0xA6, 0xC8, 0x3E, 0x6F, 0xA0, 0xB6, 0xE7, 0x85, 0x42, 0x97, 0x4E, 0xC9, 0xF1, 0xF3, +0xDF, 0x3F, 0x25, 0xDA, 0xC9, 0x71, 0x4F, 0x3F, 0xD5, 0xE5, 0x67, 0xFE, 0x31, 0x2F, 0xAE, 0xF4, +0x6F, 0xD1, 0x4A, 0x74, 0xDD, 0xAC, 0x8F, 0x13, 0x02, 0x63, 0x4A, 0x03, 0xE5, 0x83, 0xB0, 0xF0, +0x7F, 0xAE, 0x61, 0x9F, 0xCB, 0x7B, 0x1B, 0xA8, 0xD2, 0xC1, 0x47, 0xC7, 0x2D, 0x47, 0xEB, 0xE7, +0xC1, 0x48, 0x9F, 0x6D, 0xD5, 0x91, 0x1E, 0xEF, 0x24, 0xA3, 0x35, 0x10, 0xAE, 0x3E, 0x2C, 0x62, +0x12, 0xFF, 0xC6, 0xA2, 0x38, 0x89, 0xE9, 0x83, 0x74, 0x7C, 0x7A, 0x18, 0x8E, 0xB0, 0x9E, 0x7C, +0xFA, 0xC3, 0xE3, 0x68, 0x4C, 0xD1, 0xD9, 0x9D, 0xD8, 0xCF, 0x07, 0xB5, 0xF5, 0xA4, 0xDA, 0x0F, +0xC6, 0xD9, 0xFE, 0x57, 0xFB, 0x0F, 0xD3, 0x11, 0x8A, 0xA7, 0x71, 0xAD, 0xD7, 0x1F, 0x05, 0x63, +0x3D, 0x9F, 0xCF, 0xD7, 0xB1, 0x58, 0x44, 0x35, 0x5F, 0xEC, 0xCC, 0x66, 0x3B, 0x01, 0xA5, 0xCD, +0xF7, 0x24, 0x78, 0x1D, 0x1D, 0x2C, 0xCF, 0x8F, 0x83, 0x3A, 0x3F, 0xBE, 0x7A, 0xF9, 0x32, 0x15, +0x4F, 0x7A, 0xD5, 0xCD, 0x1F, 0x37, 0x41, 0xFD, 0x34, 0x45, 0x37, 0x61, 0xF1, 0x97, 0x7A, 0xBA, +0x3A, 0x3E, 0x7E, 0x16, 0x7D, 0x09, 0x96, 0x61, 0x3D, 0x48, 0xEF, 0x43, 0x44, 0xE9, 0xAA, 0x45, +0x5C, 0xEB, 0x79, 0x34, 0xF4, 0xB3, 0x1A, 0x51, 0xBA, 0xF0, 0xE1, 0xD3, 0x3B, 0xEA, 0x01, 0xC0, +0x3E, 0xFC, 0xAB, 0xE3, 0x83, 0x88, 0x1E, 0xA5, 0x38, 0xFC, 0x20, 0xCE, 0xB5, 0xC7, 0x29, 0x82, +0x57, 0x46, 0xC5, 0x95, 0xBE, 0x7E, 0x3B, 0x3B, 0x3B, 0xFB, 0x64, 0x5F, 0x4A, 0x3E, 0x2E, 0x7E, +0xBB, 0x38, 0xD3, 0xC7, 0xAC, 0xD6, 0x67, 0x3F, 0xD9, 0x7F, 0x7C, 0xF1, 0xF8, 0x4C, 0x9E, 0x71, +0x75, 0xF1, 0xF8, 0xE2, 0xEC, 0x62, 0xFF, 0xE1, 0xC5, 0x57, 0x21, 0x3D, 0x94, 0x77, 0xFF, 0xA1, +0x1B, 0x52, 0xE4, 0xD3, 0x12, 0x09, 0xF9, 0x50, 0xC9, 0x67, 0x30, 0x52, 0x92, 0x16, 0x51, 0xAD, +0x76, 0x66, 0x51, 0x25, 0x63, 0x17, 0xFC, 0xB2, 0x9E, 0x2B, 0x00, 0x4F, 0xDC, 0x90, 0x72, 0xFC, +0x32, 0xAA, 0xCB, 0x04, 0xB6, 0xDE, 0xFC, 0xFB, 0x2B, 0x4E, 0xC0, 0x74, 0xD9, 0xE5, 0x65, 0xF0, +0x2F, 0x7D, 0x69, 0x74, 0x3B, 0x19, 0x3D, 0xB4, 0x9C, 0x27, 0x0F, 0x18, 0xFC, 0x1F, 0xCB, 0x83, +0x59, 0x54, 0xC9, 0xB1, 0x47, 0x35, 0x9F, 0x47, 0x3F, 0x54, 0x6B, 0x05, 0xE0, 0xDA, 0x95, 0x52, +0x52, 0x3F, 0xDF, 0x16, 0xEF, 0x38, 0xFC, 0x8B, 0x02, 0xB0, 0x3F, 0x01, 0xA3, 0xFE, 0x4F, 0xF8, +0x77, 0xF8, 0xE8, 0xD3, 0x58, 0x1C, 0x2A, 0xD9, 0x62, 0x11, 0xBC, 0x50, 0xCA, 0x34, 0x5D, 0x68, +0xD9, 0xD7, 0x96, 0x33, 0xAB, 0xB4, 0xDD, 0x3F, 0x7B, 0x7C, 0x91, 0x62, 0x3F, 0xA2, 0x0B, 0xA9, +0x1E, 0xC6, 0x22, 0xE9, 0x69, 0x50, 0xFA, 0xBF, 0xCB, 0xB0, 0x62, 0xFC, 0x83, 0x80, 0xBE, 0xFF, +0x93, 0xC9, 0xBD, 0xA0, 0xA9, 0x78, 0x60, 0xE9, 0x8D, 0x83, 0xD6, 0x21, 0x45, 0xA4, 0x43, 0xBB, +0xE3, 0x80, 0x6E, 0x2F, 0x8A, 0xF2, 0x2F, 0x29, 0x46, 0xC0, 0xCC, 0xB6, 0xBF, 0xFD, 0x98, 0xE4, +0x01, 0x2F, 0x93, 0x7C, 0x0F, 0xA8, 0x57, 0x1C, 0x8B, 0x14, 0xF1, 0xDE, 0x71, 0x2E, 0x1A, 0x7D, +0x51, 0xB5, 0xD2, 0x3A, 0xAD, 0x84, 0x96, 0x37, 0xC2, 0x91, 0x5C, 0x90, 0xDE, 0xD5, 0x09, 0xFC, +0x5B, 0x6B, 0xB8, 0x25, 0xC3, 0x6D, 0x1D, 0xF1, 0x7F, 0xE9, 0x83, 0xED, 0x3A, 0xC0, 0x28, 0x00, +0xA1, 0x5F, 0x7F, 0x02, 0x66, 0xBC, 0x79, 0x21, 0xFC, 0xD3, 0xF8, 0x34, 0x52, 0x92, 0x0E, 0x27, +0x58, 0xC5, 0x20, 0x01, 0xA7, 0x8E, 0x81, 0x15, 0x73, 0x32, 0xCE, 0x95, 0x1E, 0x67, 0x17, 0xDA, +0xCB, 0xA1, 0xA7, 0xE2, 0xEE, 0xFC, 0xD8, 0x57, 0x7D, 0x25, 0x78, 0x73, 0xCB, 0x53, 0x08, 0xE8, +0xF2, 0xEF, 0xD6, 0x02, 0xFA, 0x02, 0x80, 0x5E, 0x64, 0xC5, 0xFC, 0x9F, 0x7C, 0x53, 0x76, 0x02, +0xF8, 0x4B, 0xFC, 0x93, 0xAF, 0x9F, 0x32, 0xAE, 0x7D, 0x68, 0x73, 0x90, 0x27, 0xB7, 0x8E, 0xCF, +0xDD, 0x10, 0x5D, 0x05, 0x09, 0x78, 0xA9, 0x8A, 0x79, 0x35, 0x45, 0xA0, 0xD1, 0xCD, 0x57, 0xD0, +0x58, 0x5E, 0x8A, 0x82, 0xE3, 0x5F, 0xD3, 0xF9, 0xF8, 0x71, 0x22, 0x00, 0x14, 0x0F, 0xE8, 0xE0, +0xCF, 0x52, 0x25, 0x4A, 0xC0, 0x14, 0xAB, 0x76, 0xFD, 0xA3, 0xBC, 0x5D, 0x8B, 0x95, 0xBC, 0xB5, +0xF3, 0x18, 0xFF, 0x82, 0x33, 0x2B, 0x66, 0xEF, 0x22, 0x16, 0x50, 0x75, 0x17, 0x80, 0x0E, 0xFF, +0x7C, 0x0B, 0xB8, 0x1D, 0x00, 0x22, 0xCF, 0x01, 0x0A, 0xFD, 0x24, 0x04, 0x6D, 0xA3, 0xE5, 0x70, +0x12, 0xFF, 0x9E, 0xDC, 0x32, 0x70, 0x2B, 0xBA, 0x20, 0xD4, 0xEB, 0xED, 0xFF, 0x96, 0xDA, 0x4F, +0xF4, 0x3C, 0xF5, 0xCE, 0xAC, 0x16, 0x47, 0xB8, 0xEF, 0x47, 0x96, 0x00, 0x4E, 0xA3, 0xDD, 0xC9, +0x7A, 0x1A, 0x09, 0xFD, 0x9C, 0x04, 0x3E, 0x52, 0x5C, 0xD1, 0x87, 0x80, 0x00, 0xD0, 0x3C, 0xE0, +0x2A, 0xC5, 0x4E, 0xF3, 0x10, 0xFE, 0xA5, 0x60, 0x91, 0x9F, 0xB5, 0x08, 0x07, 0x78, 0x7E, 0xAB, +0xE3, 0xB8, 0x1C, 0x43, 0x05, 0xFF, 0x42, 0xA3, 0x60, 0xE3, 0x9A, 0x18, 0xBC, 0xA6, 0xB8, 0x42, +0xAE, 0x8F, 0xF1, 0x4F, 0x15, 0x30, 0x80, 0x8A, 0xF5, 0xA4, 0x67, 0x0E, 0x02, 0xA5, 0xBE, 0x15, +0x2F, 0x2A, 0x2D, 0x7D, 0xAD, 0x94, 0x7F, 0x29, 0xCC, 0x02, 0xFE, 0xD8, 0xA8, 0xE5, 0xFD, 0xCA, +0xEF, 0x6B, 0x88, 0x7F, 0x61, 0x02, 0x9A, 0xFC, 0xB9, 0x6A, 0xF9, 0x4C, 0x8B, 0x9A, 0x0E, 0x30, +0xCE, 0xBF, 0x0F, 0x13, 0xF9, 0xB4, 0x6C, 0xC3, 0x03, 0xC2, 0x37, 0x27, 0xE0, 0x5F, 0x22, 0x5B, +0x3A, 0x04, 0x83, 0x2D, 0x03, 0xA8, 0x10, 0x0C, 0x21, 0x70, 0xD2, 0x20, 0x58, 0xF5, 0xC3, 0xA4, +0x24, 0x48, 0xE2, 0x9B, 0x4C, 0xF2, 0xA5, 0xC6, 0x7C, 0x9F, 0x24, 0x3F, 0xE4, 0x31, 0xE9, 0xE3, +0x02, 0xD3, 0xB9, 0x9F, 0x03, 0xF9, 0x57, 0x18, 0x3D, 0x5A, 0xBA, 0xE6, 0xFF, 0x44, 0xA1, 0xF1, +0xAF, 0x11, 0xD0, 0x0B, 0x00, 0xE8, 0xF3, 0xCF, 0x14, 0xE5, 0x9F, 0xEF, 0x01, 0xE5, 0xBE, 0xD0, +0x10, 0xF0, 0xC0, 0x86, 0x64, 0xF7, 0x22, 0x3F, 0x9C, 0x0C, 0x8D, 0x79, 0x40, 0xC7, 0x00, 0x0A, +0x20, 0x82, 0x1E, 0xF0, 0xD2, 0x14, 0x19, 0x00, 0x9B, 0x05, 0x74, 0x06, 0xC0, 0x32, 0x01, 0x28, +0x92, 0xAB, 0x7D, 0x53, 0x79, 0x69, 0x0A, 0x1B, 0x40, 0xDF, 0x01, 0x9E, 0x90, 0x0A, 0xE6, 0x45, +0xA5, 0x4D, 0x01, 0x0F, 0x85, 0x7F, 0x46, 0xC0, 0x55, 0x8A, 0x59, 0xB3, 0x36, 0xFE, 0xAD, 0x22, +0xFC, 0x0B, 0x13, 0x10, 0x7D, 0x14, 0xF1, 0x7F, 0x46, 0xC0, 0x87, 0x5A, 0x6A, 0x07, 0x88, 0x3C, +0x07, 0x08, 0xFF, 0xBA, 0x13, 0x30, 0x2C, 0x65, 0x9F, 0xC6, 0x23, 0xA5, 0x9B, 0x50, 0xB0, 0x65, +0x02, 0xF5, 0x88, 0xA5, 0x82, 0x9F, 0x48, 0x09, 0x11, 0xF0, 0xBF, 0x69, 0xDF, 0xD8, 0x97, 0xCC, +0xDF, 0x6F, 0x99, 0x81, 0x8A, 0xC4, 0x8C, 0xC5, 0xD4, 0x97, 0x48, 0xED, 0x7E, 0x58, 0x80, 0x8E, +0xA6, 0xE8, 0x23, 0x7D, 0xFB, 0x5B, 0x95, 0xF2, 0x0F, 0xF9, 0xFE, 0x2F, 0xEA, 0x01, 0xB5, 0x44, +0x08, 0x38, 0x5F, 0xD9, 0x17, 0x45, 0x09, 0xB8, 0x6A, 0x87, 0xFA, 0x3F, 0x23, 0xE0, 0x92, 0xEF, +0xE9, 0xA0, 0x09, 0x3C, 0x47, 0xC7, 0x8E, 0x14, 0x7E, 0x2F, 0xB5, 0x71, 0x2C, 0xE0, 0x25, 0x8A, +0xF0, 0x2F, 0x49, 0xAB, 0xBF, 0x64, 0x20, 0xDC, 0x38, 0x52, 0x88, 0xEC, 0x7A, 0xDF, 0xFF, 0x45, +0x09, 0x98, 0x99, 0x2E, 0x18, 0x7C, 0xE6, 0x21, 0x90, 0xD5, 0x30, 0xBC, 0xA8, 0xB4, 0xD0, 0x0F, +0xFE, 0xE1, 0x01, 0x57, 0xAD, 0x7A, 0xC1, 0x1B, 0xEB, 0x7D, 0x04, 0x90, 0xFB, 0xA9, 0xBA, 0x23, +0x7F, 0x02, 0xD0, 0xF4, 0xB0, 0xE5, 0x00, 0xA3, 0x06, 0x10, 0xFB, 0xB7, 0x05, 0x02, 0x22, 0xCF, +0x01, 0x1E, 0x12, 0x8F, 0xC4, 0xFB, 0xA5, 0x18, 0x36, 0x81, 0x86, 0xC0, 0x29, 0x06, 0x50, 0x21, +0xE8, 0xE9, 0x07, 0x29, 0x71, 0xD9, 0x1A, 0x17, 0x85, 0xDE, 0x6F, 0x8A, 0x38, 0x39, 0x49, 0x25, +0x35, 0xDA, 0x95, 0x43, 0x1F, 0x88, 0x38, 0xC0, 0x42, 0xF8, 0xBD, 0xB2, 0x32, 0xFF, 0x87, 0xDA, +0xF8, 0x93, 0xE3, 0x23, 0xF4, 0x74, 0x7C, 0x6A, 0x79, 0x8D, 0x3C, 0x0F, 0xA8, 0xDC, 0x0B, 0x5A, +0xC0, 0x55, 0x41, 0xC0, 0x31, 0xFF, 0x77, 0x17, 0x80, 0x0F, 0x0A, 0xDC, 0x95, 0x25, 0xA9, 0x58, +0xFD, 0x77, 0x2C, 0xD1, 0x2A, 0xCF, 0x0A, 0x10, 0xC6, 0xFC, 0x9F, 0x9F, 0x08, 0x01, 0x7F, 0x2A, +0xCF, 0xFF, 0x81, 0x4B, 0xD7, 0xFF, 0x21, 0xD7, 0xFF, 0xA1, 0x93, 0x36, 0xFE, 0x94, 0x7F, 0xE8, +0x1E, 0xF2, 0x78, 0x49, 0xB5, 0x02, 0x7F, 0x29, 0xC4, 0x03, 0xCA, 0x78, 0x77, 0xA8, 0x96, 0xFC, +0x6F, 0x0A, 0x2B, 0xE3, 0xF3, 0x80, 0xC6, 0x3E, 0x9F, 0x80, 0x8E, 0x5A, 0x74, 0x6C, 0xCD, 0x01, +0xA2, 0x80, 0x03, 0xDC, 0x16, 0x01, 0xC3, 0x52, 0xF2, 0x11, 0xE0, 0x6F, 0x68, 0xFE, 0x4F, 0x5A, +0x1A, 0x4F, 0x4F, 0x94, 0x83, 0xD2, 0x74, 0xF7, 0x7F, 0x82, 0xC0, 0x0C, 0xBD, 0x1C, 0x32, 0x09, +0xC8, 0x59, 0x6E, 0x12, 0x0D, 0x6F, 0x33, 0xC2, 0x13, 0x04, 0xF7, 0x2A, 0x13, 0x58, 0xAA, 0x85, +0x3F, 0x55, 0x45, 0xB9, 0xA8, 0x3C, 0xFF, 0xC7, 0x67, 0xDA, 0xE1, 0xDF, 0x6A, 0x41, 0x51, 0x0F, +0x38, 0xFB, 0xB1, 0xAA, 0xE5, 0x2B, 0x55, 0x7E, 0xFB, 0x3E, 0xE6, 0xFB, 0x39, 0xB0, 0x00, 0xB0, +0x94, 0x7E, 0xCD, 0xEB, 0x82, 0xFF, 0xD3, 0xE3, 0xA5, 0x34, 0x11, 0x00, 0xFA, 0xF3, 0x80, 0x20, +0x8D, 0x65, 0x2E, 0x83, 0xFE, 0xCF, 0xE8, 0x47, 0xE5, 0xF8, 0xBF, 0x20, 0x01, 0xF9, 0x4F, 0x7A, +0xE9, 0x0D, 0x84, 0xCF, 0x4B, 0x15, 0xC4, 0x53, 0xD1, 0x7F, 0x60, 0x6F, 0x01, 0x1E, 0xB0, 0xE5, +0x00, 0xF7, 0x78, 0x57, 0xBD, 0x44, 0xC8, 0xBC, 0x90, 0xEB, 0xFF, 0x90, 0x3B, 0x01, 0x88, 0x1E, +0x0E, 0x39, 0xC0, 0xB0, 0x1C, 0xF8, 0xB9, 0x0A, 0xD3, 0xEF, 0xBD, 0x31, 0x13, 0xF8, 0xA9, 0x0C, +0x81, 0x09, 0x61, 0xDB, 0x23, 0x45, 0x20, 0x07, 0xF3, 0x7F, 0x22, 0xC6, 0xC2, 0x63, 0xFE, 0x0F, +0x07, 0xD8, 0x6F, 0xF8, 0x8B, 0x01, 0xD4, 0x86, 0xB9, 0x3F, 0x1B, 0x02, 0xDB, 0x49, 0xC2, 0x1E, +0x60, 0x94, 0x3A, 0x60, 0xFF, 0x00, 0x60, 0x8B, 0x7F, 0xEA, 0xFF, 0x7C, 0x0B, 0x88, 0xFF, 0x2B, +0x3D, 0x60, 0x23, 0x2A, 0xCD, 0x47, 0xFD, 0x1F, 0x14, 0x4C, 0x5E, 0xD0, 0xF1, 0x7F, 0x94, 0xC5, +0xAC, 0x31, 0xAB, 0xB4, 0x03, 0xFF, 0x18, 0x05, 0x17, 0x1E, 0x90, 0x80, 0x7F, 0xCE, 0x28, 0xD8, +0x18, 0x68, 0x94, 0xB8, 0x1A, 0x25, 0x20, 0xFC, 0xF1, 0x3C, 0x60, 0xC9, 0xB4, 0x4C, 0xC1, 0xA6, +0xFF, 0xBB, 0x87, 0x4B, 0xD7, 0xFF, 0xA1, 0xA0, 0xFF, 0xD3, 0xE5, 0xD0, 0x38, 0xBE, 0xB2, 0xAD, +0xF6, 0x8A, 0xDC, 0x41, 0x1E, 0x2F, 0xAC, 0xAA, 0x7A, 0x07, 0x24, 0x2D, 0x35, 0xF8, 0x76, 0xED, +0xF0, 0x96, 0xE2, 0x01, 0x3D, 0xFF, 0x67, 0x4D, 0xDC, 0xFF, 0x7D, 0xE4, 0x18, 0x40, 0x34, 0xE4, +0x00, 0xD1, 0xF6, 0x11, 0x18, 0xF7, 0x7F, 0x1F, 0x04, 0x1D, 0x60, 0x3A, 0xCD, 0xD8, 0xE3, 0xA0, +0x90, 0x02, 0xD1, 0xAA, 0x8D, 0x3F, 0x9B, 0x01, 0xF4, 0x46, 0xC1, 0xCE, 0x0A, 0x18, 0x47, 0x32, +0xF7, 0x67, 0x46, 0xAF, 0x04, 0xA1, 0x52, 0x8F, 0x70, 0x3C, 0x60, 0x90, 0x80, 0x35, 0x00, 0x2B, +0x31, 0x01, 0x58, 0x11, 0x10, 0x39, 0x9F, 0x35, 0x3F, 0x01, 0xEC, 0x78, 0xC0, 0x79, 0xC5, 0xBF, +0x14, 0x83, 0xD9, 0x45, 0xE1, 0xDF, 0x83, 0x7B, 0x31, 0x3B, 0x60, 0xA2, 0x4A, 0x2A, 0xC4, 0xF6, +0xB7, 0xD1, 0x44, 0xC8, 0xF1, 0x09, 0xF4, 0xC3, 0x29, 0xB9, 0xFE, 0x0F, 0xB5, 0xF9, 0x57, 0x20, +0xB0, 0xF4, 0x80, 0xB4, 0x72, 0x70, 0x29, 0x95, 0xEB, 0xFF, 0xD0, 0x3F, 0xD4, 0x9D, 0x41, 0x6B, +0x64, 0x45, 0x10, 0xC7, 0xFD, 0x00, 0x1E, 0x82, 0x01, 0x89, 0x07, 0xC1, 0x64, 0x40, 0x72, 0x88, +0x88, 0x97, 0x80, 0x31, 0xB2, 0xC7, 0x28, 0xC8, 0xB0, 0x4A, 0x2E, 0x7E, 0x89, 0x40, 0x96, 0x41, +0x18, 0x96, 0x90, 0x83, 0x39, 0x24, 0xA0, 0xA8, 0x7B, 0x08, 0x1E, 0x72, 0xCA, 0x45, 0x58, 0x96, +0x3D, 0xE8, 0x17, 0xB4, 0xAB, 0xD2, 0xE5, 0xCF, 0x9E, 0x7A, 0xFD, 0xAA, 0x5E, 0x9C, 0x71, 0xF5, +0x5F, 0xFD, 0xBA, 0xFB, 0x4D, 0x46, 0xC9, 0xCE, 0xBC, 0xF9, 0xE5, 0xDF, 0x5D, 0xDD, 0x6F, 0xEE, +0x22, 0xFF, 0x77, 0xA7, 0xA5, 0x99, 0x07, 0x54, 0xF8, 0xD1, 0x7A, 0xB9, 0xD7, 0xD4, 0x12, 0xC0, +0xFE, 0x2D, 0x50, 0x00, 0x7A, 0x07, 0x78, 0xB3, 0xFA, 0xB6, 0xE2, 0x01, 0x07, 0xF9, 0x07, 0xFB, +0xE4, 0x34, 0xF2, 0x7F, 0xF1, 0x34, 0xE0, 0xC0, 0xE3, 0xCE, 0x01, 0x4E, 0xC6, 0xDF, 0x66, 0x01, +0x88, 0x22, 0xFF, 0x47, 0x80, 0x3E, 0x8E, 0x06, 0x7A, 0x71, 0x2A, 0x18, 0xD7, 0xF7, 0xB5, 0x9D, +0x8C, 0x3B, 0xC0, 0xEB, 0xE9, 0x06, 0x50, 0xAB, 0xBD, 0x4A, 0x3D, 0x46, 0xBF, 0x0C, 0x8B, 0x99, +0x03, 0x1C, 0xF3, 0x80, 0x03, 0x3A, 0xF5, 0xF4, 0xF3, 0xFC, 0x63, 0x31, 0x0C, 0x95, 0x16, 0x6F, +0x00, 0x6D, 0x31, 0x4C, 0x30, 0x01, 0x18, 0x79, 0xC0, 0xA2, 0x5A, 0xA1, 0x94, 0x01, 0x64, 0x31, +0x8C, 0x1E, 0xF4, 0x64, 0x0F, 0xDC, 0x8C, 0xF1, 0x17, 0x04, 0xF4, 0x0B, 0x37, 0x66, 0xF0, 0xAF, +0x25, 0xA0, 0x17, 0x8F, 0x55, 0x4A, 0x54, 0x60, 0x0C, 0x22, 0x05, 0xFE, 0x85, 0x1E, 0xB0, 0x65, +0x9A, 0x9C, 0x4A, 0x31, 0x13, 0x68, 0x40, 0x94, 0x5E, 0x29, 0x3C, 0x15, 0x18, 0x76, 0x36, 0x80, +0x0C, 0xFC, 0x0A, 0xA1, 0xFF, 0xE3, 0x9F, 0xB7, 0x94, 0xB6, 0x81, 0x1F, 0x09, 0x60, 0xA4, 0xAF, +0x1D, 0xAF, 0xA9, 0xE5, 0xD5, 0x59, 0x00, 0xE8, 0x09, 0x78, 0x03, 0xF8, 0xAC, 0xCF, 0xFC, 0x1F, +0x00, 0x8C, 0xFD, 0x1F, 0xFD, 0x80, 0x7F, 0xA1, 0x09, 0x64, 0xFC, 0x8B, 0xFE, 0x19, 0x00, 0xD1, +0x26, 0x00, 0x18, 0x4B, 0x0C, 0x9F, 0x8B, 0xE3, 0x21, 0xFC, 0x69, 0xB1, 0x80, 0x82, 0x3D, 0x0B, +0x48, 0x0E, 0x58, 0x82, 0x9E, 0x8B, 0x47, 0xCA, 0x08, 0xA8, 0xC4, 0xD3, 0x83, 0x85, 0x7F, 0x9F, +0x6A, 0x63, 0xF1, 0x58, 0x0B, 0xE8, 0x2A, 0x14, 0x7A, 0xC0, 0x38, 0xD9, 0xC1, 0x65, 0x96, 0x26, +0x20, 0x23, 0x5F, 0x40, 0xD8, 0x21, 0x20, 0x1F, 0x10, 0xCA, 0xCE, 0x56, 0xEB, 0x28, 0xBE, 0x62, +0x01, 0x74, 0xC7, 0x03, 0xF2, 0x49, 0x55, 0x5D, 0x0E, 0xAA, 0x33, 0x05, 0x88, 0x45, 0xBA, 0x1B, +0xCF, 0x84, 0xDC, 0xFE, 0x98, 0x26, 0xA0, 0xB3, 0x75, 0x96, 0x0B, 0x56, 0x06, 0xD6, 0xAD, 0x21, +0x98, 0x41, 0x20, 0xA9, 0x95, 0x1C, 0x39, 0xFF, 0xD7, 0xDD, 0x12, 0x62, 0x69, 0x6D, 0x31, 0x81, +0x56, 0x8C, 0x7E, 0x97, 0xD6, 0x4A, 0x60, 0x00, 0x5B, 0x04, 0xE2, 0x00, 0xD1, 0x0C, 0xFC, 0x35, +0x89, 0x90, 0x76, 0x18, 0x2C, 0xFA, 0x6A, 0x6B, 0xE8, 0x8D, 0x0D, 0xE7, 0xFF, 0x20, 0xE1, 0x94, +0x04, 0xC8, 0xE0, 0xFC, 0x5F, 0x91, 0x47, 0x60, 0x0B, 0xC0, 0x7F, 0x5B, 0x69, 0xFC, 0xBD, 0x3F, +0xEC, 0xFF, 0xE0, 0x1E, 0x51, 0x3C, 0xA1, 0xC0, 0x6D, 0x00, 0x81, 0x26, 0xCE, 0x3A, 0xF8, 0xC3, +0x01, 0x62, 0x01, 0x03, 0xD8, 0x5D, 0x4F, 0x36, 0x80, 0xDA, 0x7D, 0xB1, 0x67, 0x63, 0x5F, 0xC6, +0xC1, 0x7B, 0x66, 0xFC, 0xF6, 0x2E, 0xAC, 0xDB, 0x73, 0x80, 0x1D, 0x9D, 0x8E, 0x8F, 0x7F, 0xD1, +0xA9, 0x0E, 0x79, 0xB5, 0xD0, 0x1B, 0xA2, 0x9F, 0x50, 0xD1, 0x5D, 0x55, 0xF0, 0x2F, 0x24, 0x20, +0x13, 0x39, 0x30, 0x50, 0x15, 0xFB, 0x3F, 0x08, 0xA8, 0x32, 0x3B, 0xA1, 0xFC, 0x93, 0x0F, 0x9B, +0x0B, 0x21, 0xA0, 0x6A, 0xE6, 0xF3, 0x1F, 0x1D, 0x0F, 0x08, 0xFE, 0xFC, 0x2A, 0x18, 0x05, 0x86, +0x56, 0x5E, 0x20, 0x27, 0x24, 0x20, 0x46, 0xCE, 0xF0, 0xD7, 0xA4, 0x82, 0xEB, 0xCA, 0x17, 0x21, +0x22, 0xF0, 0x43, 0x72, 0x16, 0x03, 0x10, 0x0D, 0xF1, 0xAF, 0x2B, 0xF0, 0x67, 0xE7, 0x1D, 0xF1, +0x77, 0x45, 0x0B, 0xFE, 0x6F, 0xD0, 0x03, 0xDA, 0xDA, 0xE7, 0x9A, 0x05, 0x76, 0xFC, 0xEB, 0x67, +0x42, 0x5A, 0xEA, 0x71, 0xF5, 0xC4, 0xFC, 0x03, 0x80, 0x81, 0xFF, 0x43, 0x8F, 0x07, 0xE0, 0x87, +0x9B, 0x01, 0xE0, 0xE4, 0x1D, 0x20, 0x1E, 0x81, 0x96, 0x09, 0xE6, 0xC0, 0xF4, 0x35, 0xF3, 0x81, +0x5D, 0x02, 0x36, 0x16, 0xB0, 0xEB, 0x00, 0xD7, 0x20, 0xD6, 0xFF, 0xA9, 0xF9, 0xAB, 0x2E, 0xD0, +0x32, 0x24, 0x74, 0x27, 0x79, 0xC0, 0x9F, 0x9E, 0x07, 0x03, 0x60, 0xD4, 0xCC, 0xFD, 0xB5, 0xFE, +0xEF, 0x4B, 0x37, 0x0A, 0x0E, 0xAE, 0x31, 0x34, 0x3A, 0xFF, 0xD7, 0x0E, 0x83, 0x07, 0x36, 0x00, +0x77, 0x08, 0xA8, 0x1B, 0x3F, 0x2A, 0xFC, 0xA4, 0x35, 0xFE, 0xB9, 0xD8, 0x66, 0x4B, 0x88, 0x15, +0x00, 0x88, 0x98, 0x07, 0xF4, 0x1B, 0x80, 0xB5, 0x58, 0xD7, 0x14, 0x8E, 0x7F, 0x51, 0x17, 0x7F, +0x78, 0x3B, 0x4E, 0x15, 0x7D, 0xE4, 0x40, 0x80, 0x9E, 0x85, 0x21, 0xB0, 0xCF, 0xBF, 0x98, 0x80, +0x4C, 0xFF, 0x49, 0x55, 0xCB, 0x95, 0xCD, 0x03, 0x36, 0x4E, 0xB0, 0xF7, 0x4A, 0xD9, 0x20, 0x18, +0xF5, 0xF8, 0x47, 0x2A, 0xF8, 0xE6, 0x2B, 0x5B, 0x00, 0xFD, 0x55, 0x07, 0x80, 0xA3, 0xFE, 0x6F, +0x2E, 0x27, 0x3B, 0xD6, 0xE9, 0x0C, 0x80, 0x33, 0xF9, 0x0E, 0xFC, 0x9F, 0x13, 0x00, 0x7C, 0x23, +0xCA, 0xE3, 0xCF, 0x6F, 0x00, 0xE9, 0x85, 0x42, 0xAF, 0x41, 0x20, 0xA6, 0x4F, 0x6B, 0x4E, 0x1C, +0xFC, 0x30, 0x80, 0x58, 0xC0, 0x4E, 0x36, 0x38, 0x5A, 0x05, 0x18, 0x1B, 0x40, 0xCD, 0x84, 0x5C, +0xC8, 0xFE, 0x0F, 0xA5, 0x9C, 0x34, 0x16, 0xD5, 0xFD, 0x95, 0x9E, 0x56, 0xF2, 0x58, 0x68, 0xFF, +0xD0, 0x51, 0x90, 0x00, 0x46, 0x18, 0xC0, 0x15, 0xFF, 0x77, 0x3E, 0x37, 0x0C, 0x42, 0x40, 0x37, +0x26, 0x4E, 0x5A, 0x40, 0x63, 0x1E, 0x2D, 0xDD, 0xD5, 0x05, 0xD0, 0xC3, 0x00, 0x64, 0x4B, 0x88, +0x41, 0x90, 0x0D, 0x20, 0x2E, 0x84, 0x80, 0x0C, 0x7E, 0x59, 0x00, 0x98, 0xF0, 0x80, 0x0B, 0x86, +0xBD, 0x57, 0x74, 0x2D, 0x7D, 0x10, 0xF8, 0x3F, 0xF0, 0xE3, 0x16, 0xC3, 0x18, 0xEF, 0x00, 0x1A, +0x08, 0xAC, 0x0E, 0x50, 0xA4, 0x35, 0xCF, 0x72, 0xC0, 0x8C, 0x12, 0xC0, 0x28, 0x98, 0x00, 0x44, +0x36, 0xF2, 0xE5, 0x45, 0x40, 0x9E, 0x80, 0xAC, 0x03, 0x64, 0x01, 0xF4, 0x18, 0x01, 0x4D, 0xF8, +0x3F, 0x57, 0xFA, 0xFE, 0x8F, 0x0E, 0xFD, 0x26, 0x26, 0x08, 0xF8, 0xB9, 0xBF, 0xEF, 0x6F, 0x14, +0x80, 0x31, 0x01, 0xE3, 0xFC, 0xAF, 0x8F, 0x63, 0xF0, 0xC7, 0xF6, 0x37, 0x2C, 0xA0, 0x9D, 0x48, +0x7C, 0xED, 0x12, 0x20, 0x1D, 0x07, 0x28, 0xD5, 0x46, 0x64, 0xE9, 0x0F, 0x39, 0x74, 0x26, 0x90, +0x15, 0x80, 0xA5, 0x7D, 0x78, 0xB8, 0x02, 0x32, 0x2D, 0x08, 0x08, 0xFF, 0x3A, 0x6A, 0x1D, 0xA0, +0x9F, 0xFA, 0x3B, 0x87, 0x80, 0xCE, 0xFF, 0x65, 0x09, 0x48, 0xEE, 0x57, 0x5B, 0xD5, 0xDC, 0x7A, +0x2B, 0x06, 0x70, 0xA7, 0x4F, 0x40, 0x3E, 0x53, 0xF8, 0xBF, 0x8E, 0x07, 0x6C, 0x1D, 0xE0, 0x65, +0x4F, 0x2C, 0x88, 0x2E, 0x07, 0x82, 0x7B, 0xE6, 0x93, 0xFC, 0x96, 0x90, 0xBB, 0xDB, 0x31, 0xF5, +0xE7, 0xFF, 0xCC, 0xCD, 0x71, 0xFA, 0xBB, 0xCD, 0x01, 0x6A, 0xD5, 0x62, 0x4F, 0x0A, 0xC0, 0x8C, +0xFD, 0x1F, 0x72, 0xFC, 0x6B, 0x4D, 0xA0, 0x16, 0xDB, 0x15, 0x1C, 0x8C, 0x7F, 0x11, 0x09, 0x76, +0xF8, 0x37, 0x42, 0x40, 0xF2, 0x55, 0x4C, 0x6C, 0x44, 0x04, 0x74, 0x13, 0x7F, 0x3B, 0xF5, 0x44, +0x4A, 0xEC, 0xFF, 0xD0, 0xEA, 0xFC, 0x1F, 0xE8, 0x9B, 0x9F, 0x73, 0x61, 0x03, 0xC0, 0x37, 0xA5, +0x34, 0xFF, 0xE2, 0x04, 0x30, 0x81, 0x03, 0x6C, 0x07, 0xC0, 0x18, 0x41, 0xC6, 0xC3, 0xC8, 0x80, +0x97, 0x72, 0x80, 0xA1, 0x62, 0x03, 0xA8, 0x35, 0x09, 0x10, 0x0D, 0x56, 0xC0, 0x88, 0x03, 0xB4, +0x07, 0xFD, 0x9E, 0x90, 0x40, 0xD1, 0xFC, 0x1F, 0x3A, 0xC5, 0x02, 0x0A, 0xFF, 0xA4, 0xCC, 0xDB, +0xD1, 0xAF, 0x69, 0x65, 0x1E, 0x30, 0x50, 0xC3, 0x3F, 0x0E, 0xAF, 0xD4, 0x00, 0x98, 0xC5, 0x30, +0x96, 0x00, 0xE9, 0x7C, 0xF8, 0x58, 0x10, 0x8D, 0x2E, 0xC7, 0xC5, 0x6A, 0xE0, 0xA5, 0x39, 0x3F, +0x9D, 0xF5, 0xD3, 0xB6, 0xA5, 0x62, 0x34, 0xFE, 0x45, 0xBD, 0x05, 0x30, 0x4D, 0xFE, 0xD7, 0x3A, +0xE2, 0x00, 0x6B, 0xDB, 0x3A, 0x40, 0xF0, 0x67, 0x47, 0xEC, 0xFF, 0xC8, 0x84, 0x64, 0xFC, 0x1F, +0xCB, 0x01, 0xA5, 0x6A, 0x13, 0xC0, 0x67, 0xD4, 0x78, 0x40, 0xD5, 0x8C, 0x05, 0xD0, 0x43, 0xC1, +0xB6, 0xE0, 0xA2, 0x1B, 0xC6, 0xBF, 0x19, 0x02, 0x02, 0xBF, 0x1D, 0xA9, 0x4D, 0xF6, 0x38, 0x11, +0xF3, 0x8F, 0xEE, 0xE0, 0x00, 0xF8, 0xBF, 0x02, 0xC0, 0x98, 0x7F, 0x71, 0x02, 0xD8, 0x07, 0xF8, +0x6B, 0x52, 0xBE, 0xDA, 0x72, 0xD2, 0x4F, 0x02, 0x6B, 0x81, 0x88, 0x8E, 0x81, 0x71, 0xF6, 0x23, +0x4F, 0x45, 0x4C, 0xA0, 0x18, 0x3F, 0x29, 0x7B, 0x6A, 0x03, 0xA5, 0xC5, 0x11, 0xEA, 0x4C, 0x60, +0x5A, 0x6E, 0xFE, 0x2F, 0xB6, 0x80, 0x25, 0xDC, 0x5F, 0xCA, 0x55, 0xC5, 0xFE, 0xCF, 0x7B, 0x40, +0x0C, 0x1F, 0x6B, 0x1A, 0x5A, 0x02, 0xB2, 0x00, 0x30, 0x45, 0xC0, 0xAD, 0xC2, 0x3F, 0x3E, 0x68, +0xC3, 0x89, 0x90, 0x7D, 0xB7, 0x00, 0xA6, 0xAB, 0xA5, 0x67, 0x02, 0xF0, 0xC3, 0x36, 0xC9, 0x01, +0x53, 0x00, 0x60, 0x98, 0x08, 0xA9, 0x1C, 0x03, 0x7B, 0x30, 0x0E, 0x31, 0xFF, 0x07, 0x1C, 0x79, +0x2A, 0x08, 0x0C, 0xFD, 0x1F, 0x5A, 0x5D, 0x00, 0x48, 0x0E, 0x58, 0xCF, 0x6A, 0x9F, 0xE5, 0x80, +0x22, 0xD8, 0x87, 0x38, 0x25, 0x11, 0x12, 0xF1, 0x8F, 0x51, 0x30, 0xE3, 0xDF, 0x7E, 0x71, 0xFC, +0xF3, 0xC2, 0x12, 0x26, 0xFD, 0x1F, 0xB6, 0x8F, 0x1E, 0xE2, 0x0A, 0xAF, 0x00, 0x7C, 0xA3, 0xCA, +0xD3, 0x8F, 0x0D, 0xC0, 0x51, 0x80, 0x3F, 0x86, 0xBC, 0x38, 0xC1, 0xE6, 0x04, 0xF2, 0x85, 0x0E, +0xF0, 0x49, 0x32, 0x01, 0x9C, 0x37, 0x80, 0xDA, 0xA8, 0x05, 0x2C, 0x81, 0xE7, 0xB3, 0x7B, 0xC1, +0x5C, 0x60, 0x0A, 0xD5, 0x02, 0xE2, 0xFF, 0x42, 0x31, 0xFF, 0x17, 0x88, 0x0C, 0x48, 0xE7, 0x22, +0x31, 0x47, 0xC8, 0x34, 0xE0, 0x3C, 0xA1, 0xC6, 0xFF, 0x8D, 0x6A, 0x07, 0xFF, 0x17, 0x13, 0x70, +0x2B, 0xF4, 0x7F, 0xA4, 0x82, 0x55, 0x01, 0xFE, 0x58, 0x10, 0xBD, 0x74, 0xEB, 0x5F, 0x8C, 0x10, +0xF0, 0xF0, 0x0E, 0xFE, 0x85, 0x04, 0xBC, 0x67, 0x01, 0x20, 0x26, 0xCE, 0x02, 0x0A, 0xAA, 0xF1, +0xD3, 0x2C, 0xF0, 0xEF, 0xCE, 0x27, 0xB6, 0x33, 0x86, 0x5A, 0xF0, 0x7F, 0xA1, 0xE0, 0xDF, 0xA8, +0xAE, 0x6C, 0x14, 0xBC, 0xC4, 0xFF, 0x39, 0xF2, 0x41, 0xC0, 0xAA, 0x99, 0x5F, 0x83, 0xD4, 0xDB, +0x12, 0x12, 0xE0, 0x4F, 0x8A, 0xF3, 0x7F, 0x34, 0x2A, 0xCE, 0x9C, 0xFD, 0x0B, 0x4D, 0x20, 0x03, +0x98, 0x8E, 0x03, 0x7C, 0xB3, 0x06, 0x10, 0x00, 0xE6, 0x15, 0xC0, 0x8F, 0xFB, 0x22, 0xEC, 0x56, +0xC0, 0x91, 0xF8, 0xE5, 0x01, 0xC0, 0xF8, 0xF5, 0xCA, 0xEA, 0xBF, 0xDA, 0xE2, 0x00, 0x5D, 0x2E, +0x38, 0x8D, 0xC0, 0xBC, 0x03, 0xD4, 0x90, 0x39, 0x3F, 0x2D, 0x8C, 0x86, 0xF7, 0xCC, 0x13, 0xD6, +0x27, 0xA4, 0xC5, 0x00, 0x38, 0x12, 0x09, 0x60, 0xF4, 0xD9, 0xB7, 0xF4, 0x83, 0x2D, 0x21, 0x11, +0x00, 0x63, 0x35, 0xEB, 0x5F, 0x62, 0x0F, 0x58, 0x0E, 0x3E, 0x67, 0x11, 0x01, 0x2F, 0x13, 0x5A, +0x92, 0x0C, 0x75, 0x9B, 0x40, 0xD4, 0x30, 0xD1, 0x4D, 0xF2, 0x0F, 0x0F, 0x68, 0x40, 0x73, 0x0E, +0xB0, 0x35, 0x80, 0xE2, 0x01, 0xA1, 0xA2, 0x0A, 0x1C, 0x36, 0x8F, 0xE0, 0xFF, 0x42, 0xDD, 0x35, +0x0B, 0x00, 0x7B, 0x93, 0x80, 0x52, 0x2F, 0xB8, 0x03, 0x74, 0xA4, 0xBF, 0x16, 0xC0, 0xEC, 0x47, +0x21, 0xEF, 0x94, 0x5B, 0x00, 0x3D, 0xBA, 0x18, 0xC6, 0xEF, 0xFF, 0x40, 0x76, 0x8A, 0xFF, 0x8B, +0x65, 0x13, 0x80, 0xE7, 0x8D, 0xE9, 0xB3, 0x5A, 0xF4, 0x9F, 0x70, 0x80, 0x15, 0x81, 0x19, 0x31, +0xFF, 0x17, 0x06, 0x0E, 0x50, 0x43, 0x0B, 0xEC, 0x23, 0x2D, 0xE2, 0x36, 0x80, 0xB8, 0x34, 0xB0, +0x96, 0x4A, 0x42, 0xA9, 0x13, 0x2E, 0x30, 0x6F, 0x00, 0x6B, 0x45, 0xEE, 0xF7, 0x0B, 0x3D, 0x9C, +0x1B, 0xAC, 0x0F, 0x3E, 0x98, 0xC1, 0x48, 0x6C, 0x09, 0x01, 0x7F, 0x7D, 0x9D, 0x0E, 0xEC, 0x00, +0xF6, 0xFC, 0x3B, 0x7A, 0xB8, 0x8C, 0xB8, 0xED, 0x6E, 0x28, 0x96, 0x72, 0xE9, 0x81, 0xDC, 0x03, +0x00, 0x30, 0x2C, 0x75, 0x03, 0x5C, 0x4C, 0xC0, 0x4F, 0x66, 0x6C, 0x80, 0x8B, 0x09, 0xB8, 0x04, +0x71, 0xE0, 0x0F, 0xF6, 0xD1, 0x85, 0x7F, 0xA1, 0x18, 0x00, 0xAF, 0x98, 0xB8, 0xDA, 0x7A, 0x0E, +0x72, 0xD6, 0x4C, 0x03, 0x4A, 0xC3, 0x23, 0xF0, 0x2F, 0x92, 0xF1, 0xAF, 0x2B, 0x66, 0x3B, 0xF5, +0x6F, 0x00, 0xBE, 0x8F, 0x9A, 0x53, 0xB6, 0x84, 0xC0, 0xBF, 0x90, 0x80, 0x39, 0xFE, 0x7D, 0xE5, +0xE6, 0xFF, 0xA2, 0x21, 0x30, 0x8A, 0x2C, 0xA0, 0xE0, 0x4F, 0x8F, 0xAE, 0x03, 0x7C, 0xF3, 0xFC, +0x9B, 0x7C, 0x07, 0x98, 0x54, 0x1C, 0x93, 0xF3, 0xC5, 0x04, 0x3E, 0x34, 0xFE, 0x0E, 0x31, 0x18, +0x3F, 0x87, 0x3D, 0x0D, 0xFC, 0xE1, 0xFA, 0xF5, 0x42, 0x01, 0x77, 0xE1, 0x66, 0xFD, 0xA4, 0x67, +0x6E, 0xB0, 0x14, 0x39, 0x29, 0xF5, 0xDE, 0x4F, 0x13, 0xA6, 0x01, 0x31, 0x80, 0xA1, 0x05, 0x6C, +0x86, 0xBC, 0xC5, 0x01, 0x5A, 0xB4, 0x16, 0xB0, 0x1C, 0x53, 0x3C, 0x20, 0xA9, 0x3C, 0x44, 0x0A, +0x18, 0xB1, 0x03, 0x24, 0x2A, 0x24, 0x80, 0xA3, 0xD8, 0x6E, 0xE6, 0xFF, 0xCE, 0x06, 0x0F, 0xD3, +0xCA, 0x1C, 0xA0, 0x0D, 0x80, 0x49, 0x03, 0x33, 0x3B, 0x08, 0xFF, 0x62, 0x02, 0x42, 0x2F, 0x10, +0xE8, 0xE7, 0xF6, 0x10, 0xE8, 0x53, 0x35, 0x2D, 0x3D, 0x00, 0x18, 0x23, 0xB0, 0x59, 0xFA, 0xA7, +0xB4, 0xB3, 0x33, 0xED, 0x82, 0x77, 0xB9, 0x03, 0x7E, 0x52, 0x2C, 0x00, 0x8C, 0xA2, 0x10, 0x90, +0x04, 0x48, 0x50, 0xE2, 0xF9, 0x3F, 0x2E, 0x9C, 0x39, 0x0A, 0x2D, 0x60, 0x47, 0x0C, 0x72, 0xDE, +0x7A, 0xF3, 0xFC, 0x53, 0x02, 0xE6, 0x84, 0x01, 0x8C, 0xA3, 0xC2, 0x0D, 0xEC, 0x81, 0x40, 0x15, +0x3F, 0x57, 0xFE, 0x01, 0xBA, 0x61, 0x07, 0x48, 0x64, 0x94, 0x37, 0x80, 0x45, 0x75, 0x07, 0x48, +0x69, 0xCC, 0xF0, 0x91, 0x0D, 0xD6, 0xB3, 0x52, 0x8C, 0x90, 0x13, 0x04, 0xFE, 0x42, 0x19, 0xFF, +0x70, 0x80, 0xF3, 0x87, 0x63, 0xAE, 0x44, 0x6C, 0x52, 0xC1, 0x79, 0xD5, 0x1B, 0xC0, 0xC4, 0x22, +0xFF, 0x1B, 0x95, 0x1D, 0xF8, 0x17, 0x8F, 0x82, 0x33, 0xF6, 0xEF, 0x0C, 0x02, 0x56, 0x4C, 0xB8, +0x4C, 0x08, 0xB8, 0xD0, 0xE6, 0x36, 0xCD, 0x1F, 0x46, 0xBE, 0x83, 0x4B, 0xA1, 0x9B, 0xFB, 0xA3, +0xF2, 0x70, 0xC3, 0x47, 0x9E, 0x0A, 0x47, 0x6F, 0xD3, 0x82, 0xDD, 0x1D, 0xDD, 0xF1, 0x6F, 0x8C, +0xEC, 0x1F, 0x9A, 0xF1, 0x16, 0x04, 0xB1, 0xFD, 0x55, 0xD2, 0xD8, 0x97, 0x63, 0xC5, 0xE6, 0x35, +0x22, 0x25, 0x9C, 0xE7, 0x1F, 0x1B, 0x40, 0xA4, 0xF2, 0x1E, 0xF0, 0xDB, 0x2F, 0xE5, 0xBA, 0x16, +0x07, 0xF8, 0x5F, 0x50, 0x0E, 0x7F, 0xC2, 0xC9, 0x62, 0xED, 0x92, 0x0E, 0xD0, 0x46, 0xBC, 0xF8, +0xBD, 0x66, 0x02, 0xD0, 0x80, 0xE8, 0x1D, 0xE0, 0x10, 0xF5, 0x78, 0x68, 0x23, 0x62, 0xE6, 0x4F, +0x2A, 0xED, 0x30, 0xEA, 0x85, 0x86, 0xF2, 0xB4, 0xBC, 0x4E, 0xE1, 0x5F, 0x08, 0x40, 0xEC, 0x5F, +0x75, 0x7D, 0x75, 0xE0, 0xF0, 0xE5, 0xB7, 0xF2, 0x20, 0x0C, 0x9C, 0xFE, 0x45, 0x71, 0x6B, 0x05, +0xA0, 0x58, 0xC0, 0x24, 0xFF, 0x4A, 0x85, 0x01, 0x8C, 0xB4, 0x6C, 0x67, 0xFA, 0xB4, 0x25, 0x1F, +0xD2, 0xE8, 0x2A, 0x4D, 0x9F, 0xDB, 0x26, 0xF7, 0x41, 0xD7, 0xAD, 0x06, 0x74, 0xF9, 0x61, 0xF8, +0x08, 0x0C, 0xE9, 0x4D, 0x03, 0xE0, 0xD5, 0xC8, 0x1C, 0x20, 0xFF, 0x3C, 0x12, 0x20, 0xE8, 0x6C, +0xE8, 0x7C, 0x39, 0x05, 0x80, 0xFB, 0xF8, 0xBF, 0xB0, 0x34, 0xE3, 0x83, 0x9D, 0x31, 0x2B, 0xF8, +0xE8, 0x05, 0xD0, 0x0C, 0x71, 0xAA, 0xFE, 0x77, 0x00, 0x64, 0x00, 0x9C, 0x09, 0x03, 0x9D, 0x09, +0xE0, 0x19, 0xFF, 0xD2, 0x0E, 0x70, 0x93, 0x06, 0x50, 0x65, 0xDF, 0x06, 0x72, 0x01, 0xEC, 0x38, +0xAD, 0x3B, 0x82, 0x4B, 0xC3, 0x08, 0x38, 0x16, 0x39, 0xE0, 0x50, 0x2B, 0x19, 0xE0, 0xF9, 0x97, +0x25, 0xD8, 0x44, 0xF4, 0xF8, 0x31, 0x70, 0x56, 0xE9, 0x11, 0xB0, 0x4C, 0x02, 0x66, 0x09, 0x38, +0x9B, 0xCD, 0x8C, 0x80, 0x67, 0x11, 0xFF, 0xDA, 0x3D, 0x70, 0xB5, 0xA1, 0x03, 0x3F, 0xA6, 0x0D, +0x81, 0x1B, 0xDB, 0xD7, 0x3A, 0xC0, 0xE1, 0x01, 0x2E, 0xCF, 0xA0, 0x54, 0x46, 0x82, 0xC5, 0xB4, +0x03, 0xCD, 0xA4, 0x80, 0x2D, 0x0D, 0xB2, 0x8C, 0xFF, 0x56, 0x18, 0xFF, 0x66, 0xA4, 0x80, 0x83, +0xD0, 0x29, 0xC0, 0xF4, 0x10, 0xD8, 0x6F, 0x14, 0x1A, 0xCE, 0x03, 0xE7, 0xA5, 0x97, 0x6C, 0x09, +0x16, 0xB8, 0xA2, 0xCD, 0x03, 0x70, 0x77, 0x9D, 0x63, 0x60, 0x94, 0x82, 0x9F, 0x7E, 0x05, 0xB0, +0xB1, 0x0F, 0xD8, 0x01, 0xBC, 0x36, 0x23, 0xF2, 0x75, 0x34, 0x07, 0xC8, 0x03, 0x9B, 0x52, 0x01, +0x5C, 0x4D, 0xF5, 0x92, 0xF4, 0x95, 0x8E, 0xE5, 0x45, 0x24, 0xA6, 0x0E, 0x81, 0x4F, 0x9F, 0xE7, +0xE7, 0x00, 0x41, 0xA0, 0x5C, 0x2A, 0xE2, 0xFD, 0x64, 0xF4, 0x5B, 0x1C, 0xA0, 0xDF, 0x56, 0x99, +0xC5, 0x5F, 0x1A, 0x81, 0x3B, 0xA2, 0xA4, 0xFF, 0x13, 0xE5, 0x1C, 0xE0, 0xC7, 0x42, 0x40, 0x51, +0x38, 0x0B, 0xB8, 0x2C, 0x9F, 0xFF, 0x85, 0xDF, 0x07, 0xA2, 0x1E, 0x50, 0x21, 0x81, 0x58, 0x05, +0x9D, 0x4A, 0x82, 0xAC, 0x9A, 0x3A, 0xBA, 0x9C, 0xA1, 0x86, 0x8D, 0x98, 0xC0, 0xB6, 0xBA, 0xCD, +0xCF, 0x01, 0xDE, 0x69, 0x12, 0xA4, 0xBF, 0x0E, 0xF0, 0x0E, 0xA7, 0xBB, 0x5C, 0x2E, 0x96, 0x9D, +0x45, 0x80, 0x56, 0xC3, 0xBF, 0x8F, 0x93, 0x16, 0x9C, 0x24, 0x70, 0x54, 0x76, 0x44, 0xF3, 0x66, +0xB2, 0xCF, 0x69, 0xC7, 0xFC, 0xDF, 0xE4, 0x39, 0x40, 0xE7, 0x03, 0xFF, 0x63, 0x0E, 0xF0, 0x78, +0xD2, 0x2C, 0x60, 0xD6, 0x03, 0x0A, 0x02, 0x6B, 0x58, 0x01, 0x7E, 0xB0, 0x0F, 0x65, 0x1C, 0xA0, +0x54, 0x9B, 0x30, 0x80, 0x0F, 0x37, 0x07, 0x24, 0xF9, 0x4B, 0xAF, 0xBD, 0x39, 0xCC, 0x14, 0xFF, +0x77, 0xF4, 0xFC, 0xF4, 0xF4, 0x28, 0x23, 0xB2, 0xC0, 0x3E, 0x11, 0xDC, 0xCC, 0x01, 0xDA, 0x73, +0xF2, 0x59, 0x90, 0x24, 0xFF, 0x92, 0x04, 0xB4, 0xA5, 0xD0, 0xC9, 0x2C, 0xF0, 0xCC, 0x3C, 0x60, +0xA0, 0xE5, 0xA2, 0xF8, 0x9F, 0xA5, 0x71, 0xC1, 0xC8, 0x20, 0x82, 0x1E, 0xF8, 0x3F, 0x25, 0xE0, +0xCB, 0x0C, 0xFF, 0x54, 0xDE, 0x01, 0x02, 0x3A, 0xF4, 0x07, 0x73, 0x80, 0xE3, 0xF8, 0x9B, 0xBC, +0x0C, 0x86, 0x59, 0x3E, 0x27, 0x70, 0xBF, 0x28, 0xFF, 0x7C, 0x25, 0x20, 0xF0, 0xA3, 0x8B, 0x34, +0x09, 0x3C, 0x7B, 0x20, 0x60, 0x2A, 0x07, 0x92, 0x26, 0x20, 0x69, 0x60, 0xC5, 0x20, 0xF2, 0x0C, +0x9C, 0x4B, 0x49, 0xFB, 0x3F, 0x9B, 0x05, 0x0C, 0x00, 0xB8, 0x09, 0x57, 0xB7, 0x5B, 0x22, 0x4F, +0xC0, 0xF5, 0xE6, 0x81, 0xB9, 0x33, 0x6A, 0x2B, 0x26, 0x03, 0x3D, 0x04, 0x47, 0xE7, 0x00, 0x5B, +0x0C, 0x6E, 0x44, 0xC6, 0x3B, 0xCB, 0xFD, 0x5A, 0x6B, 0xE9, 0x8F, 0xA9, 0x13, 0x80, 0xCF, 0xCB, +0x3A, 0x98, 0xD3, 0x4C, 0x22, 0xE4, 0xBC, 0x6A, 0x65, 0x12, 0xB0, 0x4E, 0x05, 0xEA, 0x23, 0xAD, +0x01, 0xFC, 0x28, 0x09, 0x3F, 0x6D, 0x13, 0xFC, 0x03, 0x80, 0xD9, 0xAD, 0x20, 0xF1, 0x67, 0x6F, +0xBF, 0xF0, 0x4F, 0x94, 0x58, 0x08, 0x58, 0xCC, 0x8F, 0x7C, 0xFA, 0x6D, 0x25, 0x8C, 0x5B, 0xFE, +0xE7, 0x17, 0x42, 0xDF, 0xE5, 0xFC, 0x9F, 0x0A, 0x53, 0xE7, 0x96, 0x42, 0xD3, 0x67, 0x0F, 0x70, +0x7B, 0xD3, 0x54, 0x8F, 0x40, 0x53, 0x8A, 0x7F, 0xAA, 0x3B, 0xC6, 0xF0, 0xEE, 0x86, 0x80, 0xA6, +0xC2, 0xFF, 0x85, 0xD8, 0x60, 0xE0, 0x47, 0xAB, 0x4D, 0xCB, 0xBF, 0xF2, 0xDA, 0xE6, 0xFC, 0xDF, +0x4D, 0x89, 0xAD, 0xC7, 0x2C, 0x84, 0xF6, 0x62, 0x37, 0xB0, 0x94, 0x24, 0x00, 0xB5, 0x88, 0xCE, +0xFB, 0xB3, 0x80, 0x6F, 0x6D, 0x82, 0x7E, 0xFC, 0x17, 0xC7, 0x49, 0xFC, 0x4D, 0xF2, 0x80, 0xC7, +0x19, 0x00, 0x5A, 0xE0, 0xFF, 0xAA, 0x80, 0x9F, 0x56, 0xDE, 0x02, 0x76, 0x1D, 0x60, 0xD5, 0x64, +0x02, 0x8E, 0x1A, 0x40, 0xC4, 0x2D, 0x60, 0xD8, 0x1D, 0xA7, 0xA7, 0x36, 0x1D, 0x98, 0xF7, 0x7F, +0x3F, 0x95, 0xF1, 0x6F, 0xA1, 0xDF, 0xF3, 0x32, 0x08, 0x8E, 0xC4, 0xAD, 0x00, 0x81, 0x5C, 0x23, +0xEC, 0x1F, 0x57, 0xD4, 0x3A, 0x07, 0xC1, 0x3B, 0xA6, 0x44, 0x06, 0x78, 0xFB, 0x46, 0x63, 0xFB, +0x93, 0xC0, 0xFE, 0x15, 0xFE, 0xC9, 0x47, 0xD5, 0x3C, 0x60, 0xE4, 0xFF, 0x04, 0x80, 0x42, 0x40, +0xB7, 0x05, 0x98, 0x9C, 0x01, 0xFC, 0x4B, 0x8D, 0x82, 0xDD, 0x97, 0x21, 0x45, 0x0E, 0x50, 0x3D, +0x60, 0xCF, 0x01, 0x32, 0x80, 0xCE, 0x13, 0x90, 0x5F, 0x76, 0x7C, 0x0E, 0x50, 0xE7, 0xFF, 0xF4, +0x25, 0x78, 0x16, 0xCE, 0x03, 0x2E, 0xE5, 0x45, 0x35, 0x02, 0x06, 0x08, 0xB4, 0x3B, 0x02, 0xC6, +0x04, 0x04, 0x80, 0xDD, 0x55, 0x80, 0x6A, 0x0D, 0xDF, 0x13, 0x00, 0x56, 0x07, 0xF8, 0x6E, 0x8E, +0x7F, 0xDD, 0x11, 0xB0, 0xE4, 0xF6, 0x36, 0x9A, 0x05, 0xDE, 0x95, 0x90, 0x36, 0x03, 0x40, 0x2B, +0x28, 0x64, 0x60, 0x94, 0xFE, 0x20, 0x0C, 0x7F, 0x76, 0x0E, 0x04, 0xB5, 0x52, 0xC0, 0xE1, 0x01, +0xFB, 0x59, 0x60, 0x4E, 0xA4, 0x6C, 0x40, 0x7A, 0x3B, 0xAC, 0x76, 0x2F, 0xB0, 0x65, 0x7E, 0x2D, +0x17, 0x32, 0xE9, 0x96, 0x80, 0xC5, 0x03, 0x16, 0x45, 0x89, 0x90, 0x73, 0x74, 0x14, 0xEC, 0x1A, +0x02, 0x7F, 0x1F, 0xCD, 0xDF, 0x89, 0xD8, 0xA7, 0x45, 0xAB, 0x0C, 0xFF, 0x62, 0x13, 0xC8, 0x4D, +0x51, 0xD5, 0x59, 0xA4, 0xC6, 0xBF, 0x78, 0xC0, 0xCE, 0xF4, 0x1F, 0xFE, 0x4F, 0x11, 0xB8, 0x68, +0x77, 0xC1, 0x01, 0x42, 0x7B, 0x88, 0xFD, 0xB5, 0x21, 0xFF, 0x10, 0x18, 0xC3, 0x0C, 0x36, 0x10, +0xB4, 0x9B, 0x41, 0x4B, 0xDD, 0x20, 0xD0, 0x9E, 0x8B, 0x5D, 0x44, 0xE1, 0xCD, 0x10, 0x90, 0x0D, +0xE1, 0x31, 0x81, 0x8C, 0xEA, 0xF1, 0x7F, 0xEA, 0x01, 0xC7, 0xF1, 0x27, 0xFE, 0x0F, 0x02, 0x86, +0xFE, 0xCF, 0xFE, 0x5C, 0xA5, 0x6F, 0x86, 0x70, 0x08, 0xFA, 0x3A, 0x9A, 0x30, 0x00, 0xB6, 0x4B, +0x16, 0x0B, 0x68, 0x23, 0x9C, 0x7F, 0x2D, 0x09, 0xA2, 0xE5, 0x38, 0xE6, 0x1F, 0x00, 0xCC, 0x2B, +0xE0, 0x5F, 0x29, 0x6C, 0x86, 0x43, 0x38, 0x3F, 0xBA, 0x08, 0xF8, 0xAD, 0x77, 0x19, 0x60, 0x60, +0x00, 0x91, 0xB0, 0x4E, 0x2D, 0x20, 0x99, 0x5F, 0x69, 0x25, 0xF5, 0xF1, 0x05, 0x06, 0xF0, 0x22, +0x93, 0xFE, 0x28, 0xF4, 0x53, 0x0F, 0xB8, 0x17, 0x78, 0x40, 0x05, 0x5F, 0x2D, 0xDF, 0x1F, 0x8D, +0xAC, 0x19, 0x38, 0xB2, 0xAB, 0x69, 0x8E, 0x07, 0x4C, 0x21, 0x30, 0xE6, 0x1F, 0x8A, 0xF8, 0x77, +0x53, 0xA3, 0x28, 0xE0, 0x5F, 0x89, 0xA2, 0xA7, 0xFA, 0x59, 0x1D, 0xF5, 0x35, 0xFA, 0xD9, 0xC7, +0x03, 0x56, 0xD4, 0x21, 0x92, 0x06, 0xF0, 0x0F, 0x0B, 0x18, 0xF3, 0xAF, 0xF4, 0x57, 0x16, 0x40, +0x3B, 0x07, 0xF8, 0x07, 0x0E, 0x90, 0xA1, 0xAF, 0x14, 0xB7, 0x2D, 0xA4, 0x51, 0x78, 0x33, 0x98, +0xE4, 0xED, 0x60, 0x0C, 0x7F, 0x78, 0x40, 0x3F, 0xFE, 0x85, 0x7F, 0xF6, 0xAA, 0x06, 0xBB, 0x41, +0xF4, 0xBD, 0xE2, 0x76, 0x80, 0x91, 0xFD, 0x0B, 0x06, 0xC1, 0xF0, 0x8F, 0x12, 0xFB, 0x3F, 0x0D, +0x69, 0x85, 0x7F, 0x88, 0xF1, 0x2F, 0x00, 0xDC, 0xC8, 0xFC, 0x9F, 0x12, 0x30, 0x7C, 0xA6, 0xF9, +0xBF, 0x89, 0x08, 0xCC, 0x8C, 0x7F, 0x99, 0x07, 0x5C, 0x1D, 0x0F, 0x5B, 0xB4, 0x0A, 0xE6, 0x00, +0x2B, 0xA5, 0xF0, 0x80, 0xEB, 0x97, 0xB2, 0x0F, 0x03, 0x88, 0x23, 0x94, 0xB3, 0xB4, 0x04, 0x7A, +0xE2, 0xFD, 0xAA, 0x0B, 0x7C, 0x1E, 0xDD, 0x10, 0x15, 0x1D, 0xF5, 0xF7, 0x02, 0x9F, 0xC7, 0x37, +0x44, 0x45, 0x4C, 0xD5, 0x48, 0x15, 0xF2, 0x0F, 0x25, 0xFC, 0x9F, 0x39, 0x8B, 0xB1, 0x01, 0xB0, +0x8D, 0x7F, 0xF1, 0x80, 0xFD, 0x05, 0x80, 0x0D, 0x01, 0x17, 0x40, 0xCF, 0x8A, 0x29, 0x77, 0x43, +0x68, 0xF8, 0x87, 0x98, 0xF2, 0xA3, 0xAD, 0x1D, 0x0C, 0xA0, 0x60, 0x50, 0xDB, 0x16, 0x92, 0x0D, +0x06, 0x85, 0xA6, 0x29, 0x02, 0xC2, 0x3F, 0xED, 0xB0, 0xF7, 0x17, 0x73, 0x8B, 0xC5, 0x05, 0x80, +0x72, 0x00, 0x3D, 0x97, 0x0B, 0xE6, 0x6F, 0x8A, 0x6A, 0x8C, 0x80, 0xBC, 0x4F, 0x12, 0x93, 0x6F, +0x88, 0xDA, 0xE5, 0x1F, 0xF8, 0x8B, 0xF8, 0x87, 0xDC, 0x52, 0xAE, 0xF9, 0xA6, 0x1D, 0x20, 0x0C, +0x54, 0x0C, 0x86, 0xF6, 0x8F, 0x92, 0xC6, 0x5F, 0x29, 0x63, 0xB7, 0x43, 0xE5, 0x6E, 0x80, 0x2D, +0xEA, 0xB4, 0x43, 0xE3, 0xEE, 0x88, 0x1A, 0x38, 0x40, 0x62, 0xAD, 0x06, 0x10, 0xED, 0x71, 0x4B, +0x18, 0x69, 0xEC, 0xEC, 0xA2, 0xDD, 0x01, 0x7C, 0x91, 0x31, 0x80, 0x85, 0x7F, 0x9A, 0x06, 0x29, +0x47, 0x3C, 0xFE, 0xF5, 0x1E, 0xF0, 0xDB, 0xCF, 0xB4, 0x41, 0xE6, 0xFF, 0xE8, 0xE5, 0x07, 0xC1, +0x21, 0xFF, 0x50, 0x38, 0xFF, 0x87, 0xB3, 0xE8, 0xEE, 0x00, 0xC1, 0xFF, 0xD5, 0x8A, 0x5B, 0xC2, +0x74, 0x26, 0x00, 0x39, 0x16, 0x8A, 0x3F, 0x04, 0x2F, 0xA6, 0xDF, 0x12, 0x1F, 0x39, 0xF8, 0xD1, +0x69, 0xBE, 0x19, 0x84, 0x6F, 0x84, 0xE3, 0xE7, 0x8C, 0x9C, 0x9D, 0xBA, 0xBF, 0x42, 0x25, 0x1F, +0x6A, 0x72, 0x39, 0x8D, 0x16, 0x0D, 0xFE, 0x16, 0x95, 0x80, 0x70, 0x0F, 0xFF, 0xB7, 0x9C, 0x21, +0x7D, 0x55, 0xF7, 0xC7, 0xFC, 0x9F, 0xC6, 0x5F, 0x8A, 0xF9, 0x17, 0x13, 0x90, 0x0B, 0x2A, 0x9C, +0x06, 0xE4, 0x2A, 0xE5, 0xA2, 0x3D, 0x6F, 0x1D, 0xA0, 0x0D, 0x6D, 0xCE, 0x01, 0xE0, 0x26, 0xE6, +0xFF, 0x76, 0x03, 0xFE, 0x51, 0x26, 0xA7, 0x82, 0x7B, 0x2B, 0x00, 0x8F, 0x75, 0x00, 0x5C, 0xC3, +0x7A, 0x22, 0xE9, 0x50, 0xEB, 0xE1, 0x04, 0xF8, 0x1A, 0xEA, 0xA9, 0xFF, 0x6B, 0xD8, 0xB7, 0xB9, +0x79, 0x40, 0x21, 0x9E, 0x51, 0xCF, 0xEE, 0x05, 0x2D, 0x3C, 0x4C, 0x4B, 0x9D, 0x9F, 0x20, 0x50, +0xD8, 0x27, 0x3E, 0xB0, 0xEF, 0x01, 0x0D, 0x7D, 0x80, 0xB0, 0x7F, 0x3B, 0x84, 0xB9, 0x1C, 0x0D, +0x06, 0x3B, 0xE2, 0x12, 0xA5, 0x1B, 0xF0, 0x0F, 0xF5, 0x17, 0x00, 0x9A, 0x70, 0x16, 0xBD, 0xF1, +0x2F, 0x13, 0x80, 0x4F, 0x83, 0x44, 0x48, 0x01, 0x5E, 0xCB, 0x3F, 0xB3, 0x80, 0xEC, 0x96, 0x30, +0x4D, 0xF9, 0x52, 0x24, 0x2F, 0x48, 0xB6, 0xEA, 0x00, 0xED, 0x4E, 0xD0, 0x12, 0x45, 0xCE, 0x01, +0x42, 0x44, 0xAF, 0xD0, 0xFF, 0xE1, 0x01, 0xF1, 0xB3, 0xDA, 0xA5, 0xE8, 0x02, 0x98, 0xE6, 0xB8, +0xEC, 0x48, 0x5E, 0x4F, 0x39, 0xB4, 0x8C, 0x2E, 0x86, 0x69, 0xDF, 0x27, 0x8D, 0xD1, 0x01, 0x30, +0x3A, 0x2C, 0xC7, 0xF0, 0x00, 0x58, 0x80, 0x17, 0x3B, 0x40, 0xF8, 0x57, 0x19, 0xA8, 0x35, 0x8B, +0x61, 0x64, 0x67, 0x53, 0x7B, 0x69, 0x1F, 0xAD, 0x1F, 0x80, 0xBB, 0x8D, 0x03, 0x24, 0x15, 0x1C, +0x1A, 0x40, 0x00, 0x98, 0x32, 0x81, 0xC1, 0xFA, 0x3F, 0x20, 0xC8, 0xA8, 0xD7, 0xA0, 0x07, 0xFE, +0x9C, 0x94, 0x7D, 0xDE, 0x00, 0x1A, 0xFB, 0x1E, 0x3D, 0x13, 0x38, 0x6E, 0x00, 0xD1, 0x4F, 0x44, +0x4D, 0x00, 0x9B, 0xFF, 0x43, 0x17, 0x11, 0xFF, 0xC4, 0xFF, 0xE9, 0x18, 0x58, 0xFB, 0x89, 0xAF, +0xC5, 0x04, 0x84, 0xA7, 0x9D, 0x0C, 0xF0, 0xBC, 0x84, 0x0A, 0x04, 0xF6, 0xF9, 0x47, 0xB1, 0x2A, +0xE2, 0x1F, 0xEA, 0xCF, 0xFF, 0x11, 0x55, 0x03, 0xA9, 0x48, 0xF8, 0xF7, 0x14, 0xBB, 0x02, 0x01, +0xC9, 0x81, 0x30, 0xFF, 0xD7, 0x1C, 0x4B, 0x37, 0x09, 0x58, 0x17, 0x11, 0x23, 0xC0, 0x12, 0xF2, +0x0F, 0x81, 0x3F, 0xE0, 0xC6, 0xED, 0xA0, 0xB9, 0x27, 0x6A, 0x73, 0x53, 0x40, 0xDA, 0x35, 0x7C, +0x2D, 0xA6, 0xEA, 0x6E, 0xDC, 0xFF, 0x79, 0x0F, 0x88, 0x01, 0xD4, 0x97, 0x15, 0x3D, 0x1D, 0x21, +0x20, 0xD9, 0x7A, 0x14, 0x18, 0xC0, 0xD8, 0x03, 0x72, 0x61, 0x85, 0x14, 0xE4, 0x2F, 0xB5, 0xD6, +0xDA, 0xD8, 0x94, 0xB6, 0x39, 0x40, 0xBE, 0x15, 0x6E, 0xC2, 0xEC, 0xDF, 0xDB, 0x53, 0x1D, 0x20, +0x9D, 0xFE, 0xFC, 0xDF, 0xE3, 0x3D, 0x60, 0xF7, 0x5E, 0xD0, 0x1C, 0x35, 0x20, 0x1F, 0x95, 0xB2, +0x0E, 0xF9, 0x3C, 0xB0, 0xF4, 0x7A, 0xB1, 0x21, 0x0B, 0x68, 0x99, 0x60, 0x82, 0xFC, 0xEF, 0x84, +0xFD, 0x1F, 0x6A, 0xFD, 0xA4, 0x23, 0x6D, 0xDF, 0x03, 0x32, 0xF4, 0x55, 0x59, 0xA7, 0x7F, 0x4F, +0xE8, 0xB9, 0x06, 0x0A, 0xF1, 0x47, 0x15, 0xF2, 0x0F, 0x45, 0xFE, 0x8F, 0xEC, 0xE2, 0x50, 0xF6, +0x71, 0xC6, 0xF0, 0x17, 0xBB, 0x32, 0xEC, 0x01, 0x2D, 0xFF, 0xDB, 0x1C, 0x78, 0xC0, 0x5A, 0x58, +0x00, 0xE3, 0x15, 0xF2, 0x0F, 0x61, 0xED, 0x98, 0xDA, 0x53, 0xEC, 0xC9, 0xA1, 0x8D, 0x82, 0x50, +0xBB, 0x40, 0x92, 0x0C, 0xF2, 0xB0, 0x32, 0xFC, 0x63, 0x1E, 0x10, 0x9C, 0xCB, 0x09, 0xFE, 0x6F, +0xD0, 0x03, 0x9E, 0xF9, 0x05, 0xD0, 0xFA, 0x6A, 0xEA, 0x61, 0x1A, 0xF4, 0xE0, 0xED, 0xFB, 0x84, +0x07, 0x0C, 0xFC, 0x5F, 0xE0, 0x01, 0xB9, 0xAA, 0x28, 0x81, 0x01, 0x04, 0x7F, 0xBD, 0x05, 0xD1, +0xA7, 0x00, 0x70, 0x5D, 0x82, 0x78, 0x38, 0x40, 0xE1, 0x5A, 0xE4, 0xFF, 0x28, 0x79, 0x05, 0x0B, +0x60, 0x00, 0x21, 0x96, 0x8F, 0x05, 0x30, 0x76, 0xD3, 0xD3, 0x84, 0x03, 0x24, 0xFF, 0xF1, 0xE8, +0x4C, 0x48, 0x64, 0x00, 0x41, 0x20, 0xB3, 0x7F, 0xDA, 0xEC, 0xE1, 0xFF, 0x52, 0x16, 0xF0, 0xC8, +0x56, 0x00, 0x6A, 0x47, 0x1B, 0x3D, 0x8B, 0x0D, 0xA0, 0xB5, 0x3D, 0xFF, 0x67, 0x22, 0xC1, 0x96, +0x74, 0x80, 0xA2, 0x98, 0x7F, 0xC8, 0xDB, 0x04, 0xFD, 0x28, 0x11, 0x2C, 0x86, 0xF1, 0x04, 0x2C, +0xFC, 0xC3, 0xA5, 0xD0, 0x72, 0x67, 0xAC, 0xE1, 0xFC, 0x07, 0xC7, 0xD2, 0xAD, 0x04, 0xBC, 0x32, +0xFE, 0x79, 0x45, 0xFC, 0x43, 0xEE, 0xBE, 0xA8, 0xB8, 0x3F, 0xCD, 0x02, 0x5B, 0xB4, 0x5B, 0xE2, +0x98, 0x03, 0xCC, 0x13, 0x70, 0xF0, 0x97, 0xF5, 0x5B, 0x42, 0xD8, 0x00, 0xE2, 0x8F, 0xCE, 0x06, +0x10, 0x64, 0x20, 0x1C, 0xF2, 0x80, 0x80, 0x6F, 0xBB, 0x91, 0x27, 0xA0, 0x87, 0x5F, 0xD5, 0x70, +0xFE, 0x23, 0x44, 0x20, 0xF8, 0xD3, 0x03, 0x08, 0xF6, 0x74, 0x5E, 0xF4, 0xD6, 0x9A, 0xFD, 0xDF, +0x6E, 0x2D, 0xB4, 0x5A, 0x75, 0x00, 0xF8, 0xCF, 0x3C, 0xE0, 0x90, 0xFF, 0x23, 0xF0, 0x7F, 0x20, +0x50, 0xA2, 0x23, 0x2C, 0x60, 0xDF, 0x01, 0x7E, 0xB1, 0x69, 0x0F, 0xB8, 0xA7, 0x35, 0x5F, 0x03, +0xB2, 0x77, 0x31, 0xD1, 0xFF, 0xA9, 0xEB, 0xAB, 0xDC, 0x93, 0x14, 0x88, 0x9E, 0xB3, 0x1C, 0xD0, +0xF9, 0x3F, 0xD8, 0x47, 0xF3, 0x91, 0x57, 0xFB, 0xD7, 0x94, 0x93, 0x10, 0x7F, 0x74, 0x23, 0xFE, +0xA1, 0xCE, 0x06, 0x10, 0xC4, 0xC7, 0x6B, 0x90, 0x7F, 0xD8, 0x14, 0x5A, 0x4F, 0x40, 0x3E, 0xFC, +0xCE, 0x03, 0x42, 0x3E, 0x55, 0x9F, 0x7F, 0x77, 0x21, 0xFF, 0x20, 0xD5, 0xDF, 0xB1, 0x86, 0x07, +0x34, 0xF0, 0x99, 0xFF, 0x93, 0x1A, 0x4A, 0xE2, 0x05, 0xBB, 0xCA, 0xF0, 0x0F, 0x02, 0x62, 0x03, +0x4B, 0xE9, 0xFD, 0xFB, 0x6D, 0x31, 0x8C, 0xF3, 0x7F, 0x78, 0xC0, 0xFE, 0x72, 0x40, 0x16, 0x40, +0x03, 0xC2, 0x87, 0xD8, 0xEA, 0xF2, 0xCF, 0x63, 0x30, 0xB0, 0x7F, 0x94, 0x01, 0x35, 0xF8, 0x03, +0x82, 0x03, 0x1E, 0xF0, 0x08, 0x00, 0xAE, 0x4B, 0x20, 0x50, 0x1B, 0x4E, 0x52, 0xF6, 0x6F, 0xFA, +0x3C, 0xA0, 0xBF, 0x07, 0xAA, 0x1F, 0x02, 0x83, 0x3F, 0x55, 0x06, 0x82, 0xAB, 0xFB, 0xDF, 0x3A, +0x24, 0x94, 0x92, 0x57, 0xC6, 0x00, 0xCA, 0xE3, 0x7B, 0x78, 0x3F, 0x0D, 0x36, 0x00, 0xC7, 0x16, +0x50, 0xF7, 0xFF, 0xE2, 0x01, 0xB5, 0x2B, 0x1D, 0x39, 0xEF, 0xFB, 0x3F, 0xF0, 0x47, 0x2A, 0x78, +0x08, 0x7E, 0xB4, 0x56, 0x79, 0xFC, 0x75, 0x11, 0x18, 0xF2, 0x0F, 0xB9, 0x04, 0x70, 0xC7, 0x01, +0x96, 0xF0, 0xFC, 0x03, 0x7B, 0x5A, 0x61, 0x56, 0xDC, 0x06, 0xB8, 0xEE, 0xC7, 0x5F, 0x11, 0xC1, +0x40, 0x18, 0xA4, 0xF8, 0xB1, 0x65, 0x8A, 0x7F, 0x78, 0xC0, 0x46, 0x06, 0xBE, 0x22, 0x73, 0x7F, +0x98, 0x40, 0x20, 0x59, 0x9A, 0x31, 0x45, 0x03, 0x60, 0x44, 0x1A, 0xA4, 0xFA, 0xBF, 0x1E, 0x00, +0x5D, 0x22, 0xC4, 0xFC, 0x9F, 0x33, 0x81, 0x7E, 0x4B, 0x48, 0x03, 0xBE, 0x56, 0x5B, 0x51, 0x02, +0x04, 0x85, 0xFC, 0xEB, 0xE7, 0x82, 0x1B, 0xEC, 0x59, 0x9F, 0xB6, 0xE1, 0x5F, 0x1E, 0x80, 0x39, +0xFF, 0xE7, 0x9C, 0x1F, 0x25, 0xE3, 0xFF, 0x28, 0x59, 0x39, 0x00, 0xFA, 0x21, 0x30, 0xB5, 0x55, +0xAC, 0x7F, 0xE9, 0xD0, 0x6F, 0xE5, 0x6B, 0x81, 0x01, 0x1D, 0x2D, 0xFC, 0xDB, 0x84, 0x98, 0x01, +0x9C, 0x7A, 0x0F, 0x54, 0x81, 0x9E, 0xAD, 0xFF, 0x2B, 0xD5, 0x83, 0x0B, 0xB4, 0xF3, 0x73, 0xE7, +0xFF, 0x28, 0xA5, 0xAA, 0x8D, 0x1C, 0xED, 0xF8, 0x97, 0xB5, 0x2F, 0x7E, 0x68, 0x91, 0x75, 0x80, +0xA2, 0x3C, 0x00, 0xDD, 0x02, 0x98, 0x41, 0x07, 0xA8, 0xF2, 0x09, 0x90, 0xF6, 0x33, 0x8A, 0x58, +0x0C, 0xC3, 0x06, 0x90, 0xCE, 0xC1, 0xD7, 0xA2, 0x93, 0x00, 0xCE, 0x78, 0xC0, 0x51, 0x50, 0xAD, +0xDC, 0xDA, 0x5E, 0xD1, 0x87, 0x03, 0xD4, 0x73, 0xA6, 0x01, 0xDB, 0x91, 0xF0, 0xA8, 0x22, 0xFF, +0x87, 0x6C, 0x93, 0x8B, 0xD4, 0xF8, 0xBF, 0x41, 0x04, 0xBA, 0x0D, 0x20, 0xDE, 0x02, 0x6A, 0x0D, +0x01, 0xD9, 0x00, 0xE7, 0x1D, 0x20, 0x1E, 0x30, 0xF0, 0x7F, 0x87, 0x56, 0xBB, 0x05, 0x30, 0xD3, +0x06, 0xC0, 0xD4, 0x24, 0xED, 0xE6, 0x9E, 0x7F, 0xC9, 0x21, 0x70, 0xF2, 0xE7, 0x6E, 0xEE, 0xAF, +0x29, 0xC7, 0x79, 0x07, 0xF8, 0x68, 0x0B, 0xC8, 0xB2, 0xBF, 0x06, 0x82, 0xF5, 0x51, 0x6E, 0x87, +0x10, 0xA8, 0x9D, 0x03, 0x14, 0xCE, 0x75, 0xB3, 0x20, 0x4F, 0xD6, 0x69, 0x00, 0xD1, 0xDE, 0x5F, +0x36, 0xB0, 0x73, 0x07, 0xC0, 0x8B, 0x12, 0x5E, 0xA4, 0x7D, 0x6B, 0xEE, 0xE3, 0x54, 0x4F, 0xE5, +0x28, 0xE7, 0xA7, 0x63, 0xFE, 0x0F, 0x0B, 0xE8, 0x53, 0xC1, 0x73, 0x2C, 0x9F, 0x77, 0x82, 0x8E, +0x7E, 0x0E, 0x81, 0x94, 0x88, 0x7F, 0xA8, 0x4D, 0x00, 0x7B, 0x07, 0xC8, 0x43, 0x10, 0xD0, 0x36, +0x80, 0xB4, 0xC3, 0x34, 0xFA, 0x8C, 0x82, 0xFB, 0x13, 0x80, 0x6C, 0x09, 0xF1, 0x1B, 0xE0, 0x62, +0x0F, 0xF8, 0x32, 0x52, 0xA5, 0x1A, 0xDB, 0x7F, 0x99, 0x03, 0x74, 0xD3, 0x80, 0x90, 0xF2, 0x65, +0xA0, 0x8C, 0xFF, 0x83, 0x80, 0x06, 0xC1, 0xE5, 0x28, 0x00, 0x97, 0x8E, 0x7F, 0xBC, 0x8E, 0x74, +0xDD, 0x96, 0x90, 0x15, 0xF0, 0x21, 0xB7, 0x25, 0x64, 0x18, 0x7D, 0x28, 0xE2, 0x1F, 0xA5, 0xB3, +0x01, 0xCE, 0x6A, 0xD5, 0xC0, 0x9D, 0x61, 0xEC, 0x9A, 0x7F, 0x2B, 0xC3, 0xBF, 0x34, 0x24, 0x71, +0x7E, 0x7E, 0x14, 0x9C, 0x35, 0x80, 0x8F, 0x5E, 0x11, 0x6D, 0x3B, 0xE0, 0x38, 0x2C, 0xE8, 0xE3, +0xFF, 0xCA, 0xD1, 0x91, 0x5B, 0x06, 0x48, 0xC7, 0x5A, 0x1E, 0xDE, 0x90, 0xF6, 0x2C, 0xFF, 0x3B, +0xE9, 0x8B, 0xE0, 0xEA, 0x84, 0x5F, 0x69, 0xE4, 0x90, 0x13, 0x68, 0xC8, 0xDD, 0x01, 0x07, 0x0C, +0x60, 0x15, 0x7D, 0x0C, 0x20, 0x49, 0x0F, 0xED, 0xD6, 0x9A, 0x36, 0x1C, 0x00, 0x73, 0x16, 0xF2, +0x0F, 0x35, 0x0B, 0x60, 0xBA, 0x0E, 0x50, 0x35, 0xEA, 0xFF, 0x38, 0x94, 0x80, 0x24, 0x80, 0x03, +0x02, 0x2E, 0xB8, 0x33, 0x02, 0x0A, 0x08, 0xF8, 0x32, 0x14, 0x0E, 0x50, 0x73, 0xBF, 0x40, 0xAF, +0x32, 0xD1, 0xED, 0x8B, 0x53, 0xFF, 0x17, 0x2A, 0xC5, 0x3F, 0xFD, 0x91, 0xE1, 0x8F, 0x04, 0x48, +0xF7, 0x80, 0x7F, 0xE0, 0xCE, 0xBF, 0xBC, 0x10, 0xD0, 0x2D, 0x80, 0x06, 0x84, 0x04, 0x04, 0x44, +0x5D, 0x0F, 0x08, 0xFF, 0xB2, 0xF8, 0x73, 0xB3, 0x7F, 0x5C, 0xBA, 0x78, 0x40, 0xFC, 0x1F, 0x0E, +0x70, 0x2D, 0x23, 0xE0, 0x96, 0x7A, 0x1E, 0x7F, 0xC7, 0x39, 0x03, 0xF8, 0xB8, 0x3D, 0x71, 0xA5, +0x75, 0x0B, 0x00, 0x3D, 0x08, 0xB5, 0x4A, 0x89, 0x5B, 0x03, 0xAE, 0xE4, 0x7E, 0xAD, 0xA5, 0x3F, +0x45, 0x18, 0xC0, 0xD8, 0x01, 0xEA, 0x1C, 0x20, 0xFE, 0x2F, 0x94, 0x1A, 0xBD, 0x9A, 0xFA, 0x68, +0xD8, 0xC7, 0xAE, 0x90, 0xAE, 0x01, 0xF4, 0x1C, 0xE4, 0x06, 0xD0, 0x00, 0x4F, 0x0E, 0xAB, 0x39, +0x6B, 0xF8, 0x37, 0x8E, 0x40, 0xF8, 0x17, 0x8A, 0x05, 0x30, 0x7D, 0x07, 0xA8, 0xB1, 0xB5, 0x0D, +0xFF, 0x9A, 0x8F, 0x26, 0x22, 0x17, 0xBC, 0x74, 0x1B, 0x40, 0xC6, 0x72, 0xC1, 0xF0, 0x2F, 0x26, +0x20, 0x00, 0x8C, 0x2D, 0x20, 0x49, 0x60, 0xA6, 0x00, 0x09, 0x7B, 0xD4, 0x6E, 0x8C, 0x9A, 0x10, +0xFC, 0x8B, 0xC4, 0x0D, 0x10, 0x46, 0x5F, 0x01, 0x79, 0x81, 0xB8, 0x03, 0xAA, 0xCA, 0x0F, 0x81, +0xF1, 0x80, 0x15, 0x80, 0x0E, 0x7C, 0x5E, 0xDD, 0xFC, 0xAF, 0xD5, 0x08, 0xFE, 0x05, 0x08, 0x04, +0x82, 0x18, 0x3E, 0xAE, 0xD2, 0xB6, 0x63, 0xE2, 0x8A, 0x7F, 0x2B, 0x4D, 0xBF, 0xD8, 0xFD, 0x29, +0x03, 0xBB, 0x08, 0x74, 0xEE, 0x6F, 0x4D, 0x1E, 0xB0, 0xFD, 0x2E, 0x74, 0x1F, 0xB0, 0x90, 0x2F, +0x02, 0x0E, 0xD5, 0xB2, 0xCF, 0xFA, 0x84, 0x88, 0xEE, 0x24, 0xBD, 0x10, 0xFE, 0xC5, 0x0A, 0x16, +0x00, 0xF2, 0x13, 0xF2, 0xBF, 0xB6, 0xF6, 0xAF, 0xF4, 0x05, 0x77, 0x78, 0x40, 0x6C, 0xE1, 0x39, +0xFE, 0x2F, 0xB2, 0x80, 0x6C, 0x00, 0x9E, 0x77, 0x43, 0x05, 0xFF, 0x3A, 0xF8, 0xA3, 0xC0, 0xBF, +0x50, 0xC6, 0xBF, 0x9B, 0xC8, 0x01, 0x6E, 0xD5, 0x1B, 0x00, 0xCE, 0xDC, 0x52, 0x35, 0xEB, 0xF1, +0x79, 0x65, 0x01, 0xE0, 0xB3, 0x88, 0x00, 0xCF, 0xAE, 0xE0, 0x5F, 0x82, 0x80, 0x57, 0x2F, 0x53, +0x52, 0xA6, 0xD9, 0x06, 0x10, 0x6D, 0x6B, 0xAF, 0x14, 0x3C, 0x20, 0xA6, 0xF0, 0x65, 0x1A, 0x80, +0xF0, 0x2F, 0xF6, 0x80, 0x2C, 0x80, 0xEE, 0x1F, 0x36, 0x0A, 0xE6, 0x75, 0xEC, 0xD8, 0x6B, 0x91, +0xDD, 0x01, 0xA6, 0x21, 0x1F, 0xA7, 0xC4, 0x36, 0x03, 0xE0, 0x94, 0x07, 0x34, 0xBC, 0x65, 0x1C, +0x60, 0x03, 0x3D, 0xAD, 0xA1, 0x1E, 0x3F, 0xC2, 0x00, 0x06, 0x0E, 0x30, 0x47, 0x41, 0xB0, 0x96, +0x80, 0x64, 0x5E, 0x8A, 0xC0, 0x34, 0x05, 0x1F, 0x36, 0x00, 0x17, 0x08, 0x16, 0xD8, 0x49, 0xBD, +0xAB, 0x8D, 0x15, 0xEB, 0x6B, 0xAB, 0x0B, 0x00, 0xA5, 0x48, 0xD5, 0x2D, 0x8A, 0x40, 0x89, 0x2F, +0xB4, 0x7E, 0xF2, 0xC5, 0xD7, 0xD2, 0x97, 0xD0, 0x56, 0x1F, 0xE5, 0x91, 0x69, 0x06, 0x50, 0xD7, +0xBA, 0xC4, 0x0E, 0xB0, 0x48, 0xAA, 0xB4, 0x24, 0xC9, 0xFB, 0xBC, 0x04, 0xB5, 0x85, 0x35, 0x5A, +0x3F, 0xC0, 0xED, 0xBC, 0x2B, 0x48, 0xA8, 0x3B, 0x86, 0xE6, 0xDF, 0xCE, 0x4B, 0xF9, 0x48, 0xE3, +0x5B, 0x3D, 0xE8, 0xE9, 0x0F, 0x7F, 0x9D, 0xFF, 0x5A, 0x00, 0xF8, 0x4E, 0x29, 0x7A, 0xAD, 0xEA, +0x15, 0x4B, 0xB1, 0x96, 0xF2, 0x41, 0x79, 0xEC, 0xBD, 0x9D, 0x94, 0xEA, 0x37, 0x80, 0x8C, 0x39, +0x40, 0x6E, 0x0F, 0xB8, 0xDD, 0xDC, 0x00, 0xC1, 0xE3, 0xCF, 0x6A, 0x9D, 0x05, 0x5C, 0x2C, 0x33, +0xAA, 0x0B, 0x60, 0xEE, 0xA2, 0xB8, 0x13, 0x02, 0x5E, 0xDD, 0xFE, 0x90, 0x01, 0x95, 0xE6, 0x82, +0x49, 0x78, 0x50, 0x8A, 0x09, 0xC4, 0x08, 0xCA, 0x23, 0x86, 0xBF, 0xDB, 0x14, 0x57, 0xE1, 0x5F, +0x88, 0x6B, 0xF8, 0x17, 0x1C, 0x0B, 0x35, 0x80, 0xA0, 0xCF, 0xFF, 0x79, 0x51, 0x91, 0x0B, 0xDE, +0x8E, 0x1C, 0x20, 0x1E, 0x30, 0x23, 0x08, 0x18, 0xC6, 0xBB, 0x7C, 0x11, 0x7A, 0xAD, 0xA5, 0x91, +0x1E, 0x1D, 0x09, 0x39, 0x35, 0x03, 0x98, 0x03, 0xE0, 0x6E, 0xFA, 0x47, 0xC7, 0x66, 0xFF, 0x34, +0xA4, 0x25, 0x44, 0xDA, 0x2B, 0x4F, 0xCA, 0x6B, 0xC2, 0x9E, 0xB8, 0x63, 0xB5, 0x7F, 0x52, 0x04, +0x77, 0xD2, 0xD4, 0x53, 0x31, 0x7E, 0x56, 0x6B, 0x25, 0x0E, 0x30, 0xAD, 0x2F, 0xB2, 0x31, 0x55, +0x7B, 0x41, 0xA8, 0x2E, 0x26, 0xCC, 0xFF, 0xFD, 0x54, 0xDC, 0x9D, 0xA6, 0x3D, 0xA8, 0xB5, 0x68, +0x9F, 0x5A, 0x53, 0x21, 0xE7, 0x59, 0x7D, 0x14, 0x88, 0x91, 0x71, 0xD6, 0x01, 0x6A, 0xEC, 0xA0, +0xC8, 0x03, 0xB2, 0x03, 0xAE, 0xE3, 0x00, 0xF1, 0x80, 0x7C, 0x48, 0x69, 0x10, 0x24, 0x7C, 0x48, +0x80, 0x44, 0xAA, 0x99, 0x10, 0x90, 0x12, 0x7A, 0xC0, 0x0A, 0xA2, 0xE0, 0x10, 0x0F, 0x18, 0xA8, +0x4D, 0x03, 0xBF, 0x4C, 0x0A, 0xFE, 0x85, 0x26, 0x50, 0xF8, 0x17, 0x87, 0x54, 0x8C, 0x7F, 0xC1, +0x1E, 0x6A, 0x1E, 0x16, 0xFB, 0xC7, 0x72, 0xA5, 0x11, 0x07, 0x78, 0xB3, 0xB5, 0xD5, 0x1F, 0xFF, +0xFA, 0x4C, 0x08, 0x73, 0xCB, 0x7D, 0x19, 0xFE, 0xF2, 0x3A, 0x3F, 0x22, 0xDE, 0xDA, 0x1D, 0xD6, +0xFB, 0xC3, 0x41, 0x91, 0x0A, 0xE4, 0xC9, 0x7F, 0x90, 0x29, 0x93, 0xF4, 0x24, 0x1B, 0x53, 0x74, +0x7D, 0x1D, 0x97, 0xDA, 0xBE, 0xD0, 0xA0, 0x88, 0xB4, 0xE5, 0xB1, 0xFA, 0xA4, 0x17, 0x2F, 0x3E, +0x4D, 0x95, 0x72, 0x7C, 0xFA, 0xE9, 0x8B, 0x6C, 0xC9, 0xEB, 0xBB, 0x6F, 0x8A, 0xBE, 0x93, 0xF2, +0xE9, 0x37, 0xF4, 0xDB, 0x47, 0xA4, 0x29, 0x4F, 0x3C, 0x39, 0x39, 0x3D, 0xC9, 0xE9, 0xF3, 0xCF, +0xBF, 0x94, 0x12, 0xC7, 0xE7, 0xA7, 0x07, 0x59, 0x7D, 0x79, 0x70, 0x98, 0x97, 0x7C, 0x82, 0xB6, +0x32, 0x65, 0x6B, 0xBF, 0x1D, 0xFF, 0xB6, 0xAE, 0x05, 0xC9, 0x93, 0x96, 0x05, 0x00, 0x49, 0xDD, +0xBE, 0x7A, 0x75, 0x9B, 0x8A, 0xAB, 0x57, 0xF7, 0xAF, 0x5F, 0xDF, 0x27, 0xE3, 0xF7, 0xBC, 0x5E, +0xDF, 0x67, 0xFF, 0xA7, 0xAF, 0x5F, 0xDD, 0xD6, 0x5F, 0x26, 0x2A, 0xAF, 0x6E, 0xD3, 0xFF, 0xFE, +0x67, 0xCB, 0xC1, 0xF5, 0x7F, 0xEE, 0x15, 0x56, 0x0B, 0xB8, 0x75, 0x73, 0xB3, 0x1D, 0x1F, 0x02, +0xC1, 0xC3, 0xBC, 0x0E, 0xBE, 0x4C, 0x5F, 0x58, 0x9F, 0x71, 0xAD, 0x06, 0x71, 0xD2, 0x08, 0x00, +0xE6, 0x04, 0x20, 0x9B, 0x99, 0xBF, 0x4D, 0x28, 0x0B, 0xB6, 0x42, 0xC0, 0x6B, 0x0B, 0x1A, 0xFA, +0xED, 0x43, 0x79, 0xBD, 0x98, 0xA0, 0x34, 0xD5, 0xF2, 0x4F, 0xDC, 0x90, 0xBE, 0xC9, 0xEA, 0x53, +0x41, 0xE0, 0x03, 0x09, 0x8D, 0x88, 0x7A, 0xD0, 0xE3, 0xE1, 0xCF, 0xF2, 0xFA, 0xE5, 0xF0, 0xF0, +0x97, 0xC3, 0x03, 0x77, 0x20, 0x84, 0x95, 0x18, 0x14, 0x36, 0xE3, 0x70, 0xFF, 0xE9, 0xC7, 0x19, +0x3D, 0xFD, 0x58, 0x00, 0x28, 0xC3, 0xC0, 0x54, 0x79, 0x75, 0x7F, 0xFF, 0x2A, 0x19, 0xAF, 0x7F, +0xFB, 0xED, 0x75, 0x18, 0xF2, 0x24, 0xF8, 0x97, 0x11, 0xFF, 0xD7, 0xE8, 0xFF, 0x7B, 0xFF, 0xAA, +0xA8, 0xFE, 0x32, 0xFD, 0x22, 0xF1, 0x4A, 0xB6, 0x01, 0x87, 0x51, 0xCA, 0xD5, 0xDD, 0xF2, 0xE9, +0x4C, 0x5E, 0xB4, 0x30, 0xCA, 0x93, 0xF6, 0x4B, 0x36, 0x2A, 0xA7, 0x9B, 0x9B, 0xE4, 0x1F, 0xC1, +0x9B, 0xC3, 0x83, 0x83, 0xCF, 0xD2, 0xFA, 0xFC, 0x24, 0x1B, 0x27, 0xCD, 0x65, 0xFE, 0x48, 0x00, +0x1A, 0xF8, 0x36, 0xC2, 0x3F, 0x0C, 0x60, 0xA2, 0x48, 0x75, 0x0D, 0x02, 0xAD, 0xA1, 0x4F, 0xA3, +0xFE, 0x6F, 0x83, 0x04, 0x8C, 0xE1, 0x67, 0x00, 0x4C, 0xC5, 0x44, 0xB0, 0xA5, 0xCA, 0x37, 0x02, +0xC0, 0x93, 0x44, 0xF9, 0x46, 0xD1, 0x96, 0x52, 0x79, 0x5A, 0xB9, 0x00, 0x0F, 0xE2, 0x90, 0x67, +0x15, 0x1D, 0x26, 0x75, 0xA3, 0x16, 0x30, 0x8E, 0xAD, 0x9B, 0xFD, 0xFD, 0xFD, 0xDC, 0x07, 0xB5, +0xE4, 0x81, 0x97, 0xCB, 0xBB, 0x67, 0x89, 0xD0, 0xFC, 0x87, 0x20, 0x25, 0xA1, 0x82, 0x96, 0xFB, +0x14, 0xA8, 0x84, 0x7F, 0xBF, 0x4D, 0xE3, 0x5F, 0xF2, 0xFF, 0x5B, 0x7E, 0x83, 0xFA, 0xCB, 0xDE, +0xCB, 0xD1, 0x2B, 0xCA, 0xBF, 0x5B, 0x25, 0x60, 0x1C, 0xCF, 0x16, 0x67, 0x4B, 0x81, 0x9B, 0xBC, +0xB4, 0x23, 0x87, 0xBE, 0xF2, 0xE5, 0x1D, 0xD8, 0xBE, 0xC9, 0xC5, 0xD6, 0x4D, 0xF6, 0xFD, 0x3F, +0x28, 0x00, 0xCC, 0x85, 0x12, 0x30, 0xA9, 0x93, 0x42, 0x40, 0x89, 0x5A, 0x1E, 0xED, 0x00, 0x99, +0xDC, 0x93, 0xEE, 0x66, 0x20, 0x08, 0xE6, 0xA2, 0x62, 0xBA, 0xB6, 0x86, 0x3E, 0x8D, 0x1C, 0x1B, +0xF2, 0x80, 0x69, 0xAC, 0x01, 0xCA, 0xA8, 0x8C, 0x72, 0x4D, 0x8E, 0xA9, 0x04, 0x54, 0x00, 0x8A, +0xE4, 0x0A, 0x88, 0x23, 0x4F, 0xC0, 0xCF, 0x54, 0x07, 0x99, 0x50, 0xE5, 0x2E, 0xFF, 0x12, 0x5B, +0xB1, 0x07, 0x54, 0xFE, 0x89, 0xF4, 0x83, 0x3A, 0x56, 0x94, 0x7F, 0x67, 0x65, 0x9F, 0x6B, 0xF1, +0x80, 0xA1, 0xFD, 0x5B, 0x3C, 0x2B, 0x7B, 0x3C, 0x84, 0x80, 0x49, 0xFE, 0x29, 0x01, 0x13, 0xFA, +0xAD, 0x40, 0x2D, 0x8F, 0xBF, 0xF2, 0xEC, 0xD7, 0x29, 0xDD, 0x8B, 0x52, 0xBF, 0xEA, 0x2B, 0xB9, +0x85, 0x83, 0xE0, 0x2D, 0x2C, 0x77, 0x8B, 0xCB, 0xF2, 0x6A, 0x7D, 0x3C, 0xCB, 0x18, 0xC0, 0xFD, +0x22, 0x21, 0x60, 0x42, 0xFA, 0xC6, 0xA6, 0x74, 0x20, 0xCA, 0x12, 0xF0, 0xF3, 0x2C, 0x01, 0x4F, +0x54, 0x5C, 0xE6, 0x8F, 0x06, 0xA0, 0x48, 0xB0, 0xB7, 0x49, 0xFC, 0xA5, 0xE2, 0x7A, 0xB7, 0xE2, +0x4E, 0xA2, 0xE3, 0x00, 0x69, 0xA4, 0x6C, 0x82, 0x80, 0xD7, 0x39, 0xFC, 0xAD, 0x9A, 0x40, 0x2D, +0xFD, 0x07, 0x03, 0xB5, 0x44, 0xCC, 0x84, 0x28, 0x47, 0xC0, 0x29, 0x00, 0x94, 0xF8, 0xC7, 0x00, +0x3C, 0x70, 0x00, 0x4C, 0x7A, 0xC0, 0xED, 0x7D, 0xD1, 0xCF, 0xF2, 0x51, 0x0C, 0xF8, 0xF7, 0x74, +0x59, 0x74, 0x76, 0xB6, 0xE0, 0xAE, 0xA0, 0xBD, 0xB2, 0x28, 0x98, 0xB8, 0x2A, 0xC2, 0x02, 0x06, +0xFC, 0x53, 0x02, 0x8E, 0x16, 0xE3, 0x5F, 0x96, 0x80, 0x82, 0xCA, 0x0C, 0x01, 0xD5, 0xFF, 0xA9, +0xEC, 0xF7, 0x19, 0xE7, 0xDF, 0x6D, 0x89, 0xAB, 0x45, 0xC8, 0xBF, 0x2B, 0xE5, 0xDF, 0xF2, 0x8C, +0xD7, 0xAF, 0x5F, 0x7E, 0xDE, 0x57, 0xC9, 0x9B, 0x11, 0xFA, 0xBF, 0xFA, 0xC6, 0xA6, 0xF8, 0x97, +0x44, 0xE0, 0x81, 0x5C, 0x7E, 0xE5, 0x48, 0xF1, 0x6F, 0x3D, 0x00, 0xC4, 0x01, 0x6A, 0xE7, 0x8D, +0x32, 0xF0, 0x89, 0x1D, 0x60, 0x4F, 0x5B, 0xA9, 0x69, 0x00, 0xE1, 0xA6, 0x3C, 0x60, 0x6C, 0x02, +0x47, 0xC6, 0xC4, 0xAE, 0x37, 0x5D, 0x29, 0xFE, 0xA5, 0x09, 0x68, 0xCA, 0xF1, 0xEF, 0x33, 0x39, +0xC6, 0xAE, 0x55, 0x6B, 0x72, 0x16, 0x10, 0x00, 0x6E, 0x85, 0x0E, 0x70, 0x6B, 0xBF, 0xEA, 0xE7, +0xF8, 0x93, 0x7A, 0x29, 0x9F, 0xE8, 0xE5, 0x65, 0x40, 0x40, 0xAD, 0x14, 0x80, 0xA9, 0x51, 0xF0, +0xBD, 0xC9, 0x30, 0xD7, 0xAF, 0x05, 0x69, 0xA2, 0xAC, 0x01, 0x34, 0x0F, 0x38, 0xC6, 0x55, 0xF8, +0x67, 0xA3, 0xE0, 0xC8, 0xFF, 0x49, 0x19, 0xC7, 0x9F, 0x7A, 0xE0, 0xB3, 0xB3, 0xA5, 0x10, 0xF0, +0x72, 0xF4, 0x15, 0x7D, 0x0A, 0xFF, 0xF0, 0x80, 0x81, 0xFF, 0x5B, 0x3B, 0x00, 0xE5, 0xF2, 0x2B, +0x91, 0x05, 0xA0, 0x6A, 0x3D, 0x0E, 0x50, 0x9A, 0xCD, 0xF1, 0xEF, 0x49, 0x02, 0x80, 0xCD, 0x80, +0x17, 0x04, 0x62, 0x09, 0x69, 0xC8, 0xF0, 0x6E, 0xC6, 0x03, 0x26, 0xE8, 0x07, 0xE0, 0x86, 0x0C, +0x20, 0xA7, 0xF6, 0xEC, 0x5A, 0x7F, 0x33, 0x74, 0x48, 0x99, 0x4A, 0x40, 0x14, 0x11, 0x10, 0x7D, +0x1E, 0xCA, 0x2E, 0x3F, 0xC5, 0xDC, 0x38, 0x06, 0x4D, 0x09, 0xFE, 0x59, 0x44, 0x8E, 0xA2, 0xF8, +0x3F, 0x53, 0xE4, 0x00, 0xD5, 0xD1, 0x48, 0x5C, 0x2E, 0xEE, 0x04, 0x73, 0xFD, 0xCF, 0xBF, 0x2C, +0x6C, 0xA9, 0x5E, 0x29, 0xF6, 0x7F, 0xAF, 0x21, 0x60, 0x9F, 0x7E, 0xF8, 0x3F, 0x51, 0x8A, 0x7F, +0x10, 0xB0, 0x4B, 0x55, 0xFC, 0x1F, 0x1E, 0x30, 0xF2, 0x7F, 0x72, 0xC8, 0x34, 0xE0, 0xA8, 0xFD, +0x93, 0xDD, 0xC0, 0xFA, 0x52, 0x95, 0x57, 0x2C, 0xFA, 0xBB, 0x32, 0xE3, 0x1D, 0xD8, 0x8A, 0xFD, +0x5F, 0x8D, 0x98, 0x7F, 0x28, 0xF4, 0x7F, 0x25, 0x72, 0x16, 0xF0, 0x04, 0xAD, 0xC7, 0x01, 0x6A, +0x43, 0xD9, 0x84, 0x62, 0x00, 0xCA, 0x28, 0x58, 0xEA, 0xC6, 0x01, 0xD2, 0xC3, 0x08, 0x5A, 0x4C, +0x1C, 0x05, 0x97, 0x92, 0x39, 0xAE, 0x43, 0x0B, 0xC8, 0x18, 0x18, 0x14, 0x3A, 0x47, 0xD8, 0x3C, +0x23, 0x12, 0x3C, 0xCC, 0x10, 0x10, 0xC5, 0xFE, 0x0F, 0x25, 0xF0, 0x57, 0x04, 0x01, 0x3B, 0x21, +0x05, 0xE5, 0xF8, 0x17, 0x7B, 0xC0, 0x9B, 0xED, 0x7D, 0x34, 0x1B, 0xFD, 0x98, 0xCE, 0xE4, 0xC3, +0xAC, 0x21, 0x04, 0x14, 0x0F, 0xD4, 0x77, 0x80, 0x57, 0x86, 0xBF, 0xD2, 0x44, 0xAE, 0x4A, 0x04, +0x01, 0x8D, 0x81, 0x72, 0xAC, 0xF4, 0x75, 0x48, 0x9B, 0x25, 0xA0, 0x3D, 0x0F, 0x0F, 0xD8, 0xAB, +0x01, 0x60, 0xE8, 0x01, 0x8D, 0x7E, 0xD5, 0x03, 0x8E, 0xCD, 0x81, 0x0A, 0xFE, 0x34, 0x42, 0x02, +0x2A, 0xFF, 0x62, 0x0B, 0x28, 0x3F, 0x2A, 0xF9, 0x0F, 0x22, 0xE2, 0x5F, 0x0C, 0xC0, 0x5A, 0x55, +0xF8, 0x49, 0x15, 0x03, 0x10, 0xAD, 0xC1, 0x01, 0x82, 0xBF, 0x4D, 0x10, 0xF0, 0x49, 0x0C, 0x40, +0xE8, 0x57, 0x54, 0xE7, 0x02, 0x41, 0x1E, 0x3D, 0x26, 0x00, 0xDF, 0xE0, 0x3C, 0x20, 0xFC, 0xB3, +0x42, 0x45, 0xE8, 0x49, 0x86, 0x7B, 0x08, 0x85, 0xFC, 0x43, 0x11, 0xFE, 0xF2, 0x00, 0xC4, 0x01, +0x32, 0x0A, 0x1E, 0xF3, 0x7F, 0xE1, 0x3C, 0xA0, 0xE2, 0x8F, 0xD8, 0x1A, 0x35, 0x15, 0xFB, 0xC8, +0x72, 0xC1, 0x7D, 0xFE, 0x2D, 0xCF, 0x2C, 0xCE, 0x16, 0x23, 0x83, 0x60, 0xE5, 0x1F, 0xB0, 0x18, +0x65, 0x4A, 0xF1, 0x7F, 0xC8, 0x70, 0x57, 0x05, 0x02, 0x6D, 0xFC, 0x8B, 0x92, 0xFE, 0xAF, 0xCE, +0x03, 0x02, 0x54, 0xFA, 0xB5, 0x69, 0xF8, 0x37, 0xFA, 0x9B, 0x56, 0xFE, 0xD9, 0x28, 0x78, 0x94, +0x7F, 0xFA, 0x67, 0x42, 0x43, 0x3D, 0xE0, 0x2C, 0xE4, 0x1F, 0x04, 0xEC, 0xCF, 0xD5, 0x8A, 0xFF, +0x23, 0x22, 0xFE, 0xA1, 0x96, 0x79, 0x6D, 0x48, 0xFE, 0x43, 0x23, 0x43, 0xC0, 0x93, 0xF5, 0x01, +0xD0, 0xD6, 0x42, 0xEF, 0xBA, 0xB2, 0x6E, 0x45, 0x09, 0x10, 0xAD, 0x8C, 0x82, 0xF8, 0xBE, 0x21, +0xFB, 0x47, 0x6C, 0xC0, 0x03, 0xC6, 0xA3, 0x60, 0xAD, 0x8C, 0x83, 0x34, 0xCE, 0x04, 0xF2, 0xAC, +0x4E, 0x2E, 0xD8, 0x43, 0x30, 0xE3, 0x01, 0x51, 0x34, 0x0A, 0xCE, 0x13, 0xB0, 0x9A, 0x3F, 0x8A, +0xBF, 0x4A, 0x6B, 0x55, 0x8E, 0x56, 0xA1, 0xFF, 0x23, 0x32, 0xFE, 0x0F, 0x0F, 0xD8, 0xCF, 0xFF, +0x9E, 0x11, 0x97, 0xCB, 0x2E, 0x01, 0x17, 0xCF, 0x14, 0x7C, 0xB5, 0x04, 0x1E, 0xF0, 0xBE, 0x55, +0x03, 0x28, 0xE8, 0x07, 0xFF, 0x92, 0x04, 0xE4, 0x59, 0x0F, 0x87, 0x03, 0x2A, 0xE7, 0xF7, 0x8D, +0x02, 0xFF, 0xA7, 0xC5, 0xDA, 0xEE, 0x04, 0xC0, 0x55, 0xE1, 0x9F, 0x04, 0x1E, 0x70, 0xD6, 0x99, +0x00, 0x84, 0x7F, 0x10, 0x30, 0xF0, 0x7F, 0x44, 0xC4, 0x3F, 0x14, 0x0C, 0x80, 0xFF, 0x5E, 0x62, +0xFE, 0xA1, 0x7F, 0xE8, 0x00, 0x07, 0xD8, 0xB7, 0x4E, 0x00, 0x3E, 0x09, 0x09, 0x68, 0xF6, 0x0F, +0xF5, 0x07, 0xC1, 0x1A, 0xD3, 0xF8, 0x87, 0x92, 0xFE, 0x6F, 0x94, 0x80, 0x45, 0x1D, 0xD3, 0xE7, +0xF3, 0x20, 0x69, 0x01, 0xC5, 0xD8, 0x03, 0x4E, 0x06, 0x20, 0x8A, 0x12, 0xC0, 0x98, 0xC0, 0x7E, +0x26, 0xC4, 0xAB, 0x77, 0xED, 0xC3, 0x3F, 0x08, 0x18, 0xCC, 0xFF, 0xA1, 0x59, 0x27, 0x17, 0x6C, +0xFE, 0x8F, 0x90, 0xC5, 0x30, 0x83, 0x9F, 0xFF, 0x85, 0xCE, 0xFF, 0x5D, 0x81, 0x8B, 0x11, 0x02, +0xDE, 0x3B, 0x31, 0x08, 0xB6, 0x9A, 0xF1, 0x2F, 0x0A, 0x08, 0xD8, 0x3C, 0x4D, 0x0B, 0xD8, 0x93, +0x96, 0x04, 0xC8, 0xBD, 0xD3, 0xA8, 0xFF, 0xC3, 0x01, 0xEA, 0x3C, 0xE0, 0xA2, 0x33, 0x01, 0x58, +0xFE, 0x40, 0xB4, 0x04, 0xEC, 0xD9, 0x3F, 0xF8, 0x17, 0x7A, 0xC0, 0x6D, 0xF7, 0xAE, 0x66, 0xF9, +0x07, 0x01, 0x03, 0xFC, 0x05, 0x04, 0x3C, 0x59, 0x1F, 0x00, 0xDF, 0x27, 0x09, 0xB2, 0x71, 0x0F, +0xF8, 0xA4, 0x47, 0x40, 0xC1, 0x9F, 0x14, 0x11, 0x63, 0x61, 0x88, 0xC7, 0x09, 0xB1, 0x61, 0x0F, +0x78, 0xDD, 0xCD, 0x05, 0x7B, 0xFA, 0x35, 0xE7, 0x2E, 0x23, 0x12, 0x4F, 0xFC, 0x75, 0x1E, 0x4F, +0xF0, 0x0F, 0x02, 0x06, 0xF8, 0x8B, 0x08, 0xD8, 0xA0, 0x4F, 0x0E, 0x51, 0x04, 0x40, 0x14, 0xFA, +0x3F, 0xA2, 0xBF, 0x00, 0xD0, 0x13, 0xD0, 0xDB, 0x14, 0x19, 0xC1, 0x2D, 0x57, 0x01, 0x28, 0xCB, +0x01, 0x9D, 0x09, 0xBA, 0x13, 0xFF, 0x87, 0xFD, 0x0B, 0x3C, 0x20, 0xE3, 0x5F, 0xA4, 0x58, 0x02, +0x55, 0x3E, 0x01, 0x82, 0x32, 0xFC, 0xFB, 0xDD, 0x6A, 0x37, 0xAB, 0x88, 0xFF, 0xCB, 0x11, 0x10, +0xF3, 0x07, 0xDA, 0x17, 0x03, 0xF8, 0x13, 0xFE, 0x19, 0xFE, 0x40, 0xE0, 0x99, 0x7F, 0x5D, 0xB5, +0xD9, 0x37, 0x45, 0x1E, 0x10, 0xFE, 0x11, 0x09, 0xFE, 0x21, 0xF0, 0x67, 0x5D, 0x2D, 0x90, 0x2F, +0x22, 0xE0, 0xC9, 0xFA, 0x00, 0x48, 0xFE, 0xC3, 0xC1, 0x6F, 0x6D, 0x00, 0x7C, 0x12, 0x8F, 0x82, +0xAF, 0x5B, 0x07, 0xD8, 0xF0, 0xCF, 0x0D, 0x87, 0xAF, 0x63, 0x00, 0xC6, 0x1E, 0xF0, 0xCF, 0xEE, +0xCE, 0x58, 0xB7, 0x91, 0x1B, 0x08, 0xC3, 0x79, 0x04, 0x03, 0xAE, 0x53, 0x04, 0x6A, 0x5C, 0x08, +0x08, 0xD2, 0x18, 0x38, 0x04, 0x81, 0x4B, 0x39, 0x9D, 0xA1, 0x17, 0xB8, 0xE2, 0x7A, 0x17, 0x17, +0x35, 0xAE, 0xDC, 0xB8, 0xB9, 0xEE, 0x94, 0x00, 0xAE, 0x94, 0xC6, 0x4D, 0x80, 0xE0, 0xE0, 0x22, +0x4F, 0x18, 0xCE, 0x64, 0x27, 0x9F, 0xA8, 0xD9, 0xD9, 0x19, 0x39, 0xAB, 0x38, 0xCE, 0x3F, 0x5C, +0x2E, 0x57, 0x16, 0x70, 0xB8, 0xB5, 0xF4, 0xF9, 0x27, 0x87, 0xE4, 0x5E, 0x27, 0xE7, 0x49, 0xFE, +0x39, 0xFC, 0x79, 0x28, 0x62, 0x00, 0x41, 0x20, 0x6D, 0xC0, 0xE7, 0xC4, 0x0F, 0x12, 0xFC, 0xA5, +0xC3, 0x80, 0x00, 0x30, 0x27, 0x20, 0xE8, 0x63, 0x14, 0x3A, 0x07, 0x20, 0xAA, 0xF2, 0x4F, 0xC6, +0x01, 0xC7, 0x8C, 0xC5, 0x05, 0x42, 0x7C, 0x3B, 0xAD, 0xC8, 0x21, 0xF8, 0x73, 0x61, 0x79, 0x60, +0xBE, 0xFC, 0xC3, 0x04, 0x40, 0x2B, 0x89, 0x07, 0x1C, 0xA3, 0xCF, 0x93, 0xCB, 0x80, 0x68, 0xA5, +0xB3, 0xFA, 0x8A, 0x04, 0x3C, 0x78, 0x13, 0xA9, 0x60, 0xD0, 0x47, 0xFE, 0xA3, 0x48, 0xC0, 0x27, +0xFC, 0x9F, 0x9C, 0xAC, 0x7C, 0x1C, 0x43, 0xE0, 0xDD, 0xAD, 0xBF, 0x55, 0x77, 0x23, 0xB6, 0x1A, +0xFE, 0xF5, 0x0A, 0x13, 0xC0, 0x3E, 0xEA, 0xFC, 0x83, 0x7B, 0x1D, 0x02, 0xE1, 0x1E, 0x24, 0xAC, +0xF0, 0x0F, 0x02, 0xFE, 0x93, 0x2E, 0xF0, 0xA9, 0xFD, 0x5F, 0xEE, 0x01, 0x91, 0xC0, 0x50, 0xAA, +0xB8, 0x03, 0xEC, 0xA3, 0x2E, 0x18, 0x17, 0xC0, 0x0F, 0x0F, 0xE8, 0x11, 0x38, 0x4E, 0x3F, 0x47, +0x3E, 0x60, 0x19, 0x03, 0x2E, 0x4E, 0x00, 0xA3, 0x3A, 0x01, 0x53, 0x03, 0x88, 0x26, 0xC7, 0xFF, +0xFA, 0x0F, 0xE0, 0x32, 0xC3, 0x1F, 0x9A, 0xC4, 0x1F, 0x21, 0x5F, 0x9E, 0x78, 0x02, 0xA0, 0x27, +0xE0, 0xA1, 0x53, 0x91, 0x05, 0x70, 0xB7, 0x3E, 0x58, 0x12, 0x02, 0x08, 0x85, 0x7F, 0xF0, 0x41, +0xC4, 0x74, 0xC0, 0x84, 0x7F, 0xA4, 0x82, 0xBD, 0x03, 0x24, 0xFF, 0x9B, 0x03, 0xD0, 0xE3, 0x0F, +0x02, 0xF6, 0x39, 0x10, 0xF8, 0x97, 0x10, 0xB0, 0xBD, 0x02, 0xCE, 0x5B, 0x50, 0x36, 0x7E, 0x18, +0x80, 0x1B, 0xD4, 0xF7, 0x82, 0x17, 0xDE, 0x01, 0x5E, 0xA0, 0xCC, 0x03, 0xF2, 0xCB, 0x7C, 0x21, +0x00, 0x9D, 0xFB, 0xC3, 0xFF, 0x75, 0xA5, 0xC2, 0x3F, 0xF4, 0x52, 0x00, 0x1A, 0xFD, 0x4E, 0xC6, +0xBF, 0xAB, 0x2C, 0x11, 0x32, 0x78, 0x3E, 0x13, 0x57, 0x80, 0x2F, 0x40, 0xE0, 0x8B, 0x2D, 0xA0, +0x54, 0xF9, 0x28, 0x60, 0x60, 0x00, 0x3D, 0x03, 0x83, 0x2E, 0x70, 0x71, 0xE8, 0xCF, 0xBF, 0x44, +0xED, 0x23, 0xD2, 0xCA, 0xDB, 0xBF, 0x3A, 0x01, 0x0F, 0xD0, 0x47, 0x22, 0xE4, 0x00, 0x81, 0xF0, +0xAF, 0x0C, 0x40, 0xEF, 0x01, 0x0F, 0x0D, 0xE0, 0x99, 0x19, 0x40, 0xAF, 0x43, 0x07, 0xB8, 0xA0, +0xFF, 0x4B, 0x8C, 0x4F, 0x88, 0xDE, 0xEC, 0xAC, 0xE7, 0xDB, 0xD1, 0xA2, 0x29, 0xF5, 0x7F, 0xC8, +0x1B, 0x40, 0xE5, 0x58, 0x15, 0x81, 0x87, 0x6F, 0x81, 0x80, 0xD8, 0x40, 0xFA, 0xBF, 0x45, 0x0F, +0x38, 0xB0, 0xBC, 0x77, 0x80, 0x4A, 0x40, 0xB7, 0x00, 0x04, 0xFF, 0xD7, 0xC7, 0xB7, 0x8B, 0x60, +0x01, 0x88, 0x13, 0x4B, 0x42, 0x22, 0xFF, 0x47, 0x64, 0xFC, 0x43, 0x2E, 0x13, 0x8C, 0xFF, 0xEB, +0x0B, 0x0C, 0x44, 0xAB, 0x93, 0x00, 0x30, 0x2A, 0xF3, 0x2B, 0x4A, 0x81, 0x38, 0x07, 0xD8, 0x4E, +0x1E, 0x7F, 0x41, 0xBC, 0x60, 0x32, 0x8C, 0x81, 0x70, 0xE4, 0x0C, 0x05, 0xF3, 0x0C, 0xC8, 0x48, +0xE2, 0x17, 0xAB, 0x58, 0x24, 0x1F, 0xCA, 0x3D, 0x20, 0xF2, 0x04, 0x74, 0x00, 0x2C, 0x11, 0x70, +0xB5, 0x67, 0xF9, 0xDC, 0xD9, 0x7D, 0x56, 0x43, 0x25, 0x00, 0x8C, 0xA6, 0x03, 0xC6, 0x1D, 0x60, +0xBF, 0x24, 0xE4, 0x66, 0x48, 0x00, 0xE7, 0x04, 0xB4, 0x04, 0x70, 0xEF, 0x00, 0x99, 0x0C, 0xF3, +0x54, 0xE3, 0x1F, 0xB3, 0x61, 0xAC, 0xB2, 0x4C, 0x46, 0x09, 0x80, 0xE3, 0xF8, 0xC3, 0x03, 0x92, +0x01, 0x79, 0x8A, 0x35, 0xB6, 0x00, 0xA4, 0xC5, 0x81, 0x03, 0x64, 0x49, 0x08, 0x4F, 0xCC, 0xDC, +0x58, 0xFE, 0xC3, 0x7B, 0x40, 0xBF, 0x00, 0x24, 0x54, 0xE6, 0xFF, 0x88, 0x84, 0x7F, 0x51, 0x22, +0x84, 0x09, 0x80, 0xBE, 0x54, 0xF8, 0x87, 0x8E, 0x07, 0x20, 0xD6, 0xEF, 0x74, 0x04, 0xBC, 0x4A, +0x08, 0xA8, 0x86, 0x6F, 0xDC, 0x01, 0xB2, 0x22, 0x24, 0xE6, 0x1F, 0xA7, 0xBA, 0x00, 0x9C, 0x3F, +0xAB, 0xAE, 0x03, 0x0F, 0x08, 0xFD, 0xA0, 0x9D, 0xCB, 0xFC, 0x52, 0xCA, 0xF2, 0x09, 0x60, 0xAA, +0x3E, 0x26, 0x94, 0xF2, 0x0F, 0xB9, 0xFC, 0x87, 0x2B, 0xDD, 0x92, 0x10, 0x3E, 0xAF, 0x53, 0x4A, +0xF9, 0x47, 0x24, 0x09, 0xE0, 0x9E, 0x80, 0x20, 0x70, 0xC1, 0x02, 0x10, 0x1F, 0xF7, 0x1B, 0x3A, +0xC1, 0x22, 0x67, 0x91, 0x62, 0x0F, 0xF8, 0x34, 0x21, 0x05, 0x94, 0x5F, 0x00, 0x57, 0x21, 0xA0, +0x7F, 0x07, 0xD3, 0x01, 0xB1, 0x7F, 0xF0, 0x2F, 0xD0, 0xF8, 0x02, 0x10, 0xF7, 0xDF, 0xEB, 0x97, +0x84, 0xE8, 0x04, 0x98, 0xFB, 0xE0, 0x66, 0xB5, 0x97, 0xDD, 0x02, 0x90, 0x58, 0x67, 0x89, 0xFF, +0x23, 0x3C, 0xFF, 0xAA, 0x08, 0xB4, 0x2E, 0x08, 0x85, 0x66, 0x99, 0x7F, 0x2F, 0x4C, 0x82, 0x24, +0x65, 0x7E, 0x79, 0x02, 0xC6, 0x0E, 0xB0, 0x89, 0x2C, 0xB0, 0x91, 0x2E, 0x8A, 0xBA, 0x40, 0x5D, +0xD0, 0xFB, 0xA5, 0xED, 0x7B, 0xC0, 0xBE, 0xB2, 0x23, 0x1D, 0xFD, 0xCB, 0x73, 0xC0, 0xEE, 0x05, +0xC7, 0xBF, 0xA2, 0x05, 0x44, 0x09, 0x01, 0x57, 0xA3, 0x7F, 0x79, 0xFD, 0x92, 0x10, 0xAD, 0x26, +0x95, 0xF1, 0x8F, 0x38, 0xCB, 0xFC, 0x1F, 0x5A, 0xB8, 0x09, 0xD0, 0x29, 0x01, 0xB5, 0x02, 0x79, +0xC0, 0x82, 0x06, 0xC3, 0x80, 0x24, 0x80, 0x03, 0x75, 0x93, 0x56, 0xE8, 0x00, 0xE7, 0x04, 0x0C, +0xF1, 0xA7, 0xDA, 0xF7, 0x7F, 0x29, 0x00, 0xD1, 0x58, 0xAF, 0x1E, 0x16, 0x92, 0x05, 0xD2, 0x05, +0xC0, 0x76, 0x6B, 0x32, 0x02, 0xC2, 0xBF, 0x78, 0x18, 0x90, 0x09, 0x80, 0x13, 0x51, 0xE7, 0x5F, +0x37, 0x04, 0x68, 0x1F, 0x35, 0xAA, 0x7D, 0x04, 0x9E, 0x12, 0x80, 0x5F, 0x9F, 0x1E, 0x80, 0x57, +0xD3, 0x04, 0x34, 0xBB, 0x17, 0x3A, 0x40, 0x26, 0x45, 0x1B, 0xFD, 0xA2, 0x38, 0x46, 0x71, 0xE7, +0xD7, 0x3A, 0xC8, 0x78, 0xC0, 0xCE, 0x00, 0xC6, 0x0C, 0x74, 0x25, 0x80, 0x20, 0x13, 0xA2, 0x45, +0x51, 0x93, 0x56, 0xCA, 0x3F, 0xB4, 0x22, 0x12, 0xF5, 0x06, 0x30, 0x40, 0x20, 0x4B, 0x42, 0x86, +0xC8, 0x54, 0xC1, 0x1F, 0x4B, 0x42, 0xF0, 0x7F, 0x93, 0x62, 0xB8, 0x2A, 0xE2, 0x1F, 0x4B, 0x42, +0xF0, 0x7F, 0x32, 0x01, 0x30, 0x70, 0x80, 0xFA, 0x83, 0x8C, 0x7F, 0xC8, 0x40, 0xD5, 0x2F, 0x00, +0xCE, 0x09, 0xC8, 0xCB, 0x0E, 0x81, 0x5A, 0xE8, 0x02, 0x3F, 0x65, 0xC2, 0xFF, 0x91, 0xCF, 0x1E, +0x37, 0xB8, 0xF0, 0x2F, 0xF2, 0x7F, 0x4C, 0x86, 0xC9, 0xF8, 0xE7, 0x53, 0xC1, 0x2C, 0x00, 0x09, +0x22, 0xE7, 0x1F, 0xA2, 0x6F, 0xD1, 0x51, 0x4F, 0x6A, 0x0D, 0xA8, 0xE8, 0xF8, 0x37, 0x2F, 0x00, +0x5F, 0xD9, 0x04, 0x92, 0xF2, 0x45, 0x4C, 0x8B, 0x69, 0x95, 0x75, 0x80, 0xD3, 0x38, 0x0A, 0x81, +0x51, 0x1A, 0xD8, 0x7B, 0xC0, 0x7E, 0x50, 0x6F, 0xCA, 0x06, 0x96, 0xF3, 0x1F, 0x71, 0x66, 0x98, +0x36, 0x67, 0xCF, 0xBF, 0xDC, 0x03, 0xA2, 0x94, 0x80, 0xB0, 0xCE, 0x95, 0xE1, 0x0C, 0x00, 0x33, +0xA5, 0x00, 0x24, 0xDC, 0x04, 0xC0, 0x8C, 0x80, 0xF8, 0xBF, 0x28, 0xEE, 0x87, 0xE7, 0xBF, 0xED, +0x06, 0xFE, 0x8D, 0x3A, 0x40, 0x37, 0x19, 0x26, 0xC5, 0x0F, 0xFD, 0x5F, 0xDF, 0x01, 0x8E, 0x09, +0x38, 0x85, 0x3F, 0x55, 0x9A, 0x00, 0x41, 0xF8, 0x3F, 0x88, 0x17, 0xFC, 0xF7, 0xDC, 0x02, 0x90, +0x20, 0x84, 0x80, 0x2C, 0x00, 0x49, 0x09, 0x88, 0xFF, 0xCB, 0xC2, 0xF3, 0x2F, 0x4F, 0x84, 0xC0, +0x3A, 0x6A, 0x09, 0xBF, 0x31, 0xC2, 0x6A, 0x4E, 0x00, 0x7E, 0xFD, 0x6F, 0x00, 0xF0, 0x6A, 0x12, +0x80, 0xCC, 0x7B, 0x76, 0x0E, 0x10, 0x63, 0xC8, 0x50, 0xE0, 0x68, 0xD0, 0x98, 0x75, 0x59, 0x30, +0x1E, 0xD0, 0xE7, 0x7F, 0xE3, 0xCA, 0x68, 0x99, 0x88, 0xE9, 0x80, 0x8E, 0x7C, 0xAE, 0x05, 0x01, +0x0B, 0x02, 0x80, 0x99, 0xDC, 0x0E, 0x08, 0xAE, 0xF0, 0x32, 0xFC, 0xCB, 0x04, 0xFF, 0x4A, 0x04, +0x84, 0x7F, 0x49, 0x2F, 0x98, 0x05, 0x20, 0x13, 0xA1, 0x8B, 0xE2, 0x34, 0x01, 0x3C, 0x80, 0x2E, +0x76, 0x80, 0x42, 0x40, 0x15, 0xFC, 0x8B, 0xD5, 0xF3, 0x6F, 0x12, 0x81, 0x8E, 0x7F, 0x21, 0x02, +0xD9, 0x1B, 0x2B, 0xFF, 0xF7, 0x9F, 0xF0, 0x7F, 0xA2, 0xC8, 0x01, 0xB2, 0x24, 0x44, 0x17, 0x80, +0x24, 0x08, 0xB4, 0x5C, 0x30, 0x13, 0x60, 0xD2, 0x5E, 0x70, 0xE1, 0xB7, 0x0A, 0xFF, 0x52, 0xC1, +0x3F, 0x1C, 0x60, 0x57, 0x83, 0x41, 0xF8, 0x37, 0x23, 0x00, 0x21, 0x5C, 0x5E, 0x66, 0x16, 0x00, +0x34, 0xB9, 0x65, 0x20, 0x76, 0x88, 0x0C, 0x81, 0x85, 0x38, 0x42, 0x61, 0x0F, 0xF8, 0xDA, 0x79, +0xC0, 0xAE, 0xFF, 0x9B, 0x56, 0xA0, 0x30, 0x37, 0x7D, 0x34, 0xA8, 0x51, 0xEF, 0x01, 0x51, 0x4A, +0xC0, 0x8A, 0xC0, 0xDF, 0xA4, 0x03, 0x24, 0x13, 0x52, 0x12, 0xFC, 0x4B, 0x03, 0xFF, 0x97, 0x49, +0xF0, 0xC7, 0x04, 0xE8, 0x30, 0x64, 0x18, 0x70, 0xF3, 0x30, 0x2C, 0x80, 0x8B, 0x1D, 0x20, 0x1E, +0xB0, 0xEB, 0xFF, 0xA6, 0xA9, 0xE0, 0x1C, 0x7F, 0x10, 0x30, 0xC3, 0x9F, 0x36, 0xF0, 0x7F, 0xA9, +0xF0, 0x7F, 0x81, 0x03, 0x04, 0x86, 0x9B, 0x8F, 0xCA, 0xBF, 0x34, 0xEE, 0xEE, 0x98, 0x00, 0x5D, +0x23, 0x60, 0xE9, 0xB7, 0x5A, 0xE5, 0x1F, 0xE3, 0x80, 0xA0, 0xAE, 0x67, 0xA0, 0x35, 0x20, 0xE0, +0xEA, 0xED, 0x01, 0xF0, 0x6A, 0x12, 0x81, 0xBD, 0xEF, 0xB3, 0x2B, 0x3D, 0x69, 0x27, 0x58, 0x9B, +0x85, 0xE4, 0x07, 0xCD, 0x13, 0x79, 0x40, 0xD2, 0x1C, 0x69, 0x25, 0x75, 0x5D, 0x91, 0xE3, 0xF3, +0xA9, 0xE0, 0xA2, 0xC0, 0x5F, 0x2A, 0xF8, 0x97, 0x22, 0x10, 0xFE, 0x95, 0x08, 0x28, 0x3D, 0xA5, +0x3C, 0xE4, 0x19, 0x70, 0x17, 0x99, 0x98, 0x0E, 0x08, 0xFF, 0xC2, 0x90, 0x61, 0x7F, 0xE9, 0x02, +0x0B, 0x09, 0x42, 0x07, 0xA8, 0x21, 0xC2, 0xFF, 0x95, 0x3C, 0xA0, 0x50, 0xAD, 0x80, 0x40, 0xF8, +0x17, 0x23, 0xD0, 0xEA, 0x8A, 0xFF, 0x63, 0x6F, 0x2C, 0xFA, 0xBF, 0x91, 0x03, 0x7C, 0xD0, 0x63, +0xA3, 0x3B, 0xE0, 0x57, 0x10, 0xC8, 0x04, 0xE8, 0x54, 0x24, 0x80, 0xD3, 0x00, 0x80, 0xA9, 0xE0, +0x5F, 0x37, 0x13, 0xBF, 0x3B, 0x41, 0xC0, 0xD5, 0x1B, 0x04, 0xE0, 0x34, 0x1C, 0x83, 0xDC, 0x2F, +0x27, 0x39, 0xD8, 0x21, 0xBA, 0x14, 0x65, 0x99, 0xE7, 0xBB, 0xEE, 0xCE, 0xAD, 0xC2, 0x07, 0xA2, +0x12, 0xF8, 0xAC, 0xD4, 0xE5, 0x0D, 0x5F, 0x9C, 0x0A, 0x2E, 0x6B, 0x55, 0x27, 0xA0, 0xA3, 0x5D, +0x58, 0x96, 0x65, 0xC1, 0xBF, 0x24, 0xCE, 0xF0, 0x7F, 0xA9, 0xD8, 0x01, 0x26, 0x1B, 0xD9, 0xDA, +0xB0, 0x01, 0x42, 0xE8, 0x00, 0x8D, 0x16, 0xF0, 0x2F, 0x95, 0x00, 0x2B, 0xC1, 0x1F, 0x04, 0x4C, +0xF1, 0x67, 0x2D, 0xFC, 0x5F, 0x4E, 0x40, 0x9C, 0x5F, 0xEC, 0x00, 0xF5, 0xC0, 0xFF, 0xE5, 0x1E, +0x10, 0xFE, 0x65, 0xFA, 0xC4, 0x04, 0xC0, 0x2C, 0xE0, 0x5F, 0x2E, 0x97, 0x73, 0xE3, 0x24, 0x15, +0x05, 0xFE, 0xCD, 0x02, 0xC0, 0xD7, 0x37, 0x80, 0x4D, 0x41, 0xEE, 0x97, 0x93, 0x1E, 0x52, 0x63, +0xF3, 0xE6, 0xF4, 0x80, 0xC1, 0x54, 0x40, 0x04, 0x11, 0x6B, 0x1D, 0x60, 0x06, 0x0B, 0xEB, 0xC2, +0xE5, 0x71, 0xE5, 0xB5, 0x9E, 0x91, 0x7F, 0xC8, 0xE1, 0x2F, 0xF6, 0x81, 0xCB, 0xB2, 0xE0, 0x5F, +0x16, 0x97, 0x17, 0x55, 0x9D, 0x2F, 0x6E, 0x37, 0xB5, 0x6F, 0xF5, 0xFD, 0xFD, 0x9D, 0xF0, 0x6F, +0x72, 0x0C, 0x90, 0xE9, 0x80, 0x75, 0xFE, 0x28, 0xB7, 0x12, 0x04, 0x02, 0xC0, 0x9A, 0x03, 0x6C, +0x6F, 0x2C, 0xFF, 0xFB, 0xCF, 0xBA, 0x00, 0x24, 0x77, 0x80, 0x8D, 0xFE, 0x8F, 0x9B, 0xFB, 0xFB, +0x2A, 0x01, 0x3F, 0x9F, 0x5F, 0x54, 0x75, 0x59, 0x05, 0xE0, 0xD9, 0xF1, 0xFC, 0xA3, 0x68, 0xB8, +0x4A, 0xCA, 0x6A, 0xF5, 0x7F, 0x73, 0x80, 0x0D, 0x6E, 0x81, 0x03, 0xEC, 0xC7, 0x01, 0xB5, 0x2F, +0x5C, 0x8F, 0xBA, 0xC2, 0xAE, 0x2F, 0x27, 0x80, 0x38, 0xB7, 0x03, 0x8C, 0xBD, 0x1E, 0x8D, 0x35, +0xD7, 0x27, 0x02, 0xA0, 0x9B, 0xFA, 0x9C, 0x3A, 0xC0, 0x5C, 0x74, 0x95, 0xB2, 0xB8, 0x28, 0xEB, +0xB3, 0x19, 0xC0, 0x2C, 0xDA, 0xFB, 0x4A, 0x0E, 0x50, 0x5B, 0x8C, 0x00, 0xE6, 0x00, 0x7A, 0x03, +0x0E, 0xD0, 0x2E, 0x36, 0x24, 0x40, 0xD2, 0x4C, 0xF0, 0x45, 0x59, 0xD5, 0x3F, 0x6B, 0x67, 0x9F, +0x96, 0x75, 0x8D, 0x66, 0xDE, 0xF4, 0x70, 0x7F, 0x94, 0x57, 0xA2, 0x37, 0x96, 0x05, 0xBE, 0xCA, +0x7A, 0xC0, 0xA1, 0x03, 0x1C, 0xD9, 0x1B, 0x70, 0x76, 0x0B, 0x08, 0xE3, 0x38, 0xF7, 0x33, 0x61, +0xAE, 0xB3, 0x1E, 0xF0, 0x0B, 0x37, 0x01, 0x8C, 0x27, 0xBC, 0xCC, 0xD1, 0x03, 0x5E, 0x1F, 0x31, +0x06, 0xE8, 0xFE, 0xF6, 0x06, 0xC3, 0x80, 0xCB, 0x3A, 0x01, 0xB7, 0xCB, 0xB3, 0x92, 0x07, 0x6C, +0xFC, 0x2B, 0x13, 0x70, 0xC1, 0x18, 0x60, 0x16, 0x9B, 0x8D, 0x12, 0xF0, 0x31, 0x1F, 0x03, 0x7C, +0xAC, 0x8F, 0x01, 0x6A, 0x12, 0x78, 0xBE, 0x31, 0x40, 0xF8, 0x07, 0x01, 0xF3, 0x2C, 0x48, 0x3E, +0x06, 0xA8, 0x06, 0xF0, 0x41, 0x6E, 0x41, 0x95, 0x7F, 0x37, 0x8B, 0x32, 0xFF, 0xCA, 0x04, 0xBC, +0xDC, 0xD6, 0xF9, 0x17, 0xEC, 0x81, 0x20, 0x15, 0x20, 0xD4, 0xD2, 0xF4, 0xF6, 0x00, 0xF8, 0xE2, +0x31, 0x40, 0x9A, 0x2D, 0x72, 0x02, 0xBE, 0x08, 0x7F, 0xA4, 0x81, 0x3B, 0xD6, 0xF5, 0x17, 0xF0, +0x31, 0xCB, 0x82, 0x74, 0x10, 0x7C, 0x89, 0xD6, 0xB1, 0x29, 0x5C, 0xCB, 0x2B, 0x55, 0xFC, 0xD5, +0x01, 0x08, 0x01, 0xFD, 0xF4, 0x7B, 0x4A, 0xAB, 0x7E, 0x64, 0x1B, 0x84, 0x4C, 0x97, 0x2D, 0x8A, +0x1E, 0xF0, 0xFC, 0xE2, 0x1C, 0x02, 0x66, 0x33, 0x01, 0x6F, 0xA6, 0x67, 0xC1, 0xB0, 0x22, 0x78, +0xB3, 0x69, 0x1E, 0xF0, 0x4B, 0x9C, 0x05, 0x06, 0x1B, 0xC2, 0x94, 0x2F, 0x55, 0x00, 0x9E, 0x24, +0x0B, 0x2C, 0xAA, 0xFA, 0x3F, 0x08, 0x18, 0x3A, 0x40, 0x69, 0x08, 0xFF, 0x9A, 0xEE, 0xEE, 0x0B, +0x00, 0xBC, 0xBD, 0x91, 0xFB, 0x5A, 0x4D, 0x82, 0xB4, 0x52, 0x03, 0xE0, 0xB2, 0x4C, 0xC0, 0xEF, +0x45, 0x93, 0xD3, 0xF0, 0xAD, 0x2D, 0x9A, 0x17, 0x80, 0xAF, 0x6F, 0x00, 0x1B, 0xFF, 0x30, 0x81, +0xCE, 0x01, 0xD2, 0x2C, 0xCE, 0x83, 0x7E, 0xC9, 0x62, 0x90, 0xB8, 0x07, 0xEC, 0x4D, 0x60, 0xDD, +0x00, 0x1E, 0x9F, 0x08, 0x89, 0x38, 0x68, 0x87, 0x46, 0x1D, 0x80, 0x35, 0x02, 0xBA, 0x8D, 0x50, +0xA9, 0x28, 0x1A, 0x83, 0x6A, 0xFE, 0x4F, 0x3E, 0xFF, 0x97, 0x15, 0x02, 0x9E, 0x8B, 0xA9, 0x28, +0x11, 0xF0, 0xF3, 0xCD, 0x8D, 0xAD, 0x83, 0xCB, 0xF8, 0xF7, 0xD7, 0xB7, 0x7F, 0x63, 0x2E, 0x2F, +0x74, 0x80, 0xCA, 0xBF, 0x32, 0x01, 0xD9, 0x08, 0x75, 0xCE, 0x79, 0x80, 0x62, 0x00, 0x8B, 0x08, +0x64, 0x1E, 0x74, 0xEC, 0x00, 0x35, 0xBE, 0x3C, 0xB4, 0xFF, 0xBD, 0xE8, 0xB6, 0xE0, 0x01, 0x17, +0x8B, 0x32, 0x01, 0x3F, 0x69, 0x94, 0xFC, 0xDF, 0x72, 0x2B, 0x7F, 0x05, 0x6B, 0xFC, 0x8B, 0x1C, +0x60, 0xC7, 0x45, 0xB6, 0x84, 0x79, 0x6B, 0x00, 0x9C, 0x14, 0x5B, 0x41, 0x4F, 0x3A, 0x40, 0x1E, +0x91, 0x34, 0xAF, 0xFF, 0x73, 0x8B, 0xE1, 0xF6, 0x5F, 0xE1, 0x74, 0x74, 0x22, 0xB8, 0x4E, 0x40, +0xF7, 0x50, 0x90, 0x18, 0x84, 0x16, 0x89, 0xDE, 0x09, 0xFE, 0x8E, 0x9D, 0x08, 0xED, 0x27, 0x9F, +0xFA, 0x3D, 0x11, 0x44, 0x35, 0x0F, 0x28, 0x9F, 0x7F, 0x39, 0xA5, 0x4B, 0xA6, 0x1A, 0xFA, 0xB6, +0x39, 0x01, 0x79, 0x4C, 0x7A, 0xC9, 0x03, 0x2A, 0xFF, 0x54, 0x8D, 0x04, 0xC1, 0x5A, 0x60, 0xAB, +0x8D, 0x29, 0x29, 0x01, 0x7F, 0x17, 0x48, 0x41, 0xC0, 0x19, 0x56, 0x82, 0xC0, 0x3F, 0x00, 0x58, +0x5E, 0x09, 0x12, 0x3B, 0x40, 0xBD, 0xDC, 0x98, 0x6E, 0xEF, 0xF3, 0xFE, 0xEF, 0xB7, 0x1A, 0x9F, +0x4B, 0xFE, 0x4F, 0xA2, 0xB2, 0x12, 0x64, 0x29, 0x06, 0xB0, 0x95, 0x12, 0x00, 0xA5, 0x8C, 0x76, +0x3C, 0x34, 0x68, 0xCF, 0x3F, 0x11, 0xFA, 0xB5, 0x0D, 0xE0, 0x95, 0x7B, 0x18, 0x48, 0xE8, 0x00, +0x95, 0x6C, 0xDF, 0xCC, 0x42, 0x3F, 0x04, 0xEF, 0x02, 0xF1, 0x23, 0xDE, 0x3A, 0xD9, 0x09, 0xD6, +0xA0, 0x39, 0xC7, 0x1A, 0x38, 0xBB, 0x20, 0x12, 0xFE, 0xB1, 0x17, 0x4C, 0x7D, 0x21, 0x88, 0x9F, +0x7C, 0xEA, 0x06, 0x63, 0x96, 0x65, 0x0F, 0x78, 0x29, 0x0E, 0x50, 0x18, 0x58, 0xE0, 0x9F, 0xC4, +0xB6, 0x42, 0xC0, 0xC6, 0xBE, 0x6F, 0xD5, 0x02, 0xDE, 0x24, 0x04, 0xBC, 0x37, 0xFE, 0xE1, 0x01, +0xF3, 0xB5, 0xC0, 0x39, 0x01, 0x01, 0x20, 0xE8, 0x9B, 0x65, 0x2D, 0xB0, 0xA9, 0x00, 0x40, 0x53, +0x30, 0x06, 0x88, 0xFF, 0xE3, 0x16, 0x64, 0xFC, 0xBB, 0x59, 0xE8, 0x7D, 0x6D, 0x55, 0x4A, 0x40, +0xFD, 0x45, 0x49, 0x9D, 0xCF, 0x85, 0x5E, 0xAA, 0x01, 0x5C, 0xCA, 0x51, 0xF1, 0x7F, 0x52, 0x77, +0x5B, 0xF0, 0xBA, 0xF4, 0xC7, 0x69, 0x96, 0xC2, 0xBD, 0xFA, 0x0C, 0x40, 0x08, 0xA8, 0x26, 0xD0, +0x39, 0x40, 0x32, 0xC1, 0x83, 0x03, 0xD4, 0x1F, 0xCD, 0x6E, 0x00, 0xFB, 0xFE, 0xEE, 0x35, 0xB4, +0xEB, 0x66, 0x42, 0xA3, 0xC2, 0x66, 0x08, 0x9C, 0x2B, 0x8A, 0xD9, 0x47, 0x13, 0x00, 0xA6, 0xFC, +0x2B, 0x13, 0x30, 0xDC, 0x0E, 0x4B, 0xC3, 0x8A, 0x2D, 0x84, 0x33, 0x08, 0xA6, 0xFD, 0x5F, 0xAB, +0xB6, 0x78, 0xC0, 0x88, 0x7F, 0xDA, 0x03, 0xAE, 0x78, 0xC0, 0xE1, 0x6B, 0xDA, 0x8A, 0x10, 0x70, +0x7A, 0x21, 0x1C, 0xC2, 0x03, 0x3A, 0x07, 0xE8, 0x1E, 0x91, 0xFE, 0x9C, 0xF2, 0x0F, 0x0B, 0x38, +0xE3, 0x6E, 0x30, 0xA8, 0x30, 0x00, 0x68, 0x8A, 0xC6, 0x00, 0xF5, 0x52, 0xF8, 0x87, 0x26, 0x86, +0x01, 0x9B, 0x6E, 0x64, 0x9B, 0x9D, 0xE1, 0xDE, 0xA6, 0xFE, 0x4F, 0xED, 0x9F, 0xE4, 0xAC, 0x3E, +0x25, 0x13, 0x60, 0xB6, 0xCA, 0x3E, 0xB5, 0x80, 0x39, 0x00, 0x4D, 0x4B, 0x97, 0x05, 0x1E, 0x6A, +0xAB, 0xF6, 0xF4, 0x86, 0x00, 0x38, 0xB5, 0x08, 0x84, 0x10, 0xCA, 0x39, 0x07, 0xC8, 0xD1, 0x2A, +0x9E, 0x0B, 0x92, 0xC4, 0xCB, 0xF8, 0x07, 0xFA, 0xA0, 0x1D, 0xE9, 0x60, 0x94, 0xAD, 0x08, 0xA9, +0xF3, 0xEF, 0x67, 0xF8, 0xE6, 0xB2, 0xBF, 0xFC, 0x80, 0x0B, 0x02, 0x02, 0x66, 0x1B, 0x02, 0x56, +0xF7, 0x03, 0xF4, 0x89, 0x10, 0x77, 0x21, 0x82, 0x80, 0x49, 0xFF, 0xD7, 0xA2, 0x39, 0xC1, 0xB3, +0x09, 0x00, 0xCA, 0x57, 0xC9, 0x22, 0xC9, 0x84, 0x0C, 0xF8, 0xD3, 0xDE, 0xDA, 0x67, 0x59, 0x0E, +0x97, 0xFA, 0xBF, 0xDD, 0x5F, 0x1E, 0xF0, 0x71, 0xC2, 0x01, 0x42, 0x94, 0xD4, 0x02, 0x3E, 0x77, +0x9A, 0x1C, 0x03, 0x3C, 0x6A, 0x3F, 0xC0, 0x4E, 0x29, 0xFF, 0xD0, 0x83, 0x28, 0xCA, 0x02, 0xF7, +0xB7, 0x60, 0x62, 0x1C, 0x50, 0xF9, 0xA7, 0xF8, 0xD3, 0x98, 0xE6, 0xDF, 0x96, 0xBF, 0x56, 0x09, +0x01, 0xE9, 0x04, 0x48, 0x49, 0xFB, 0xBF, 0xE8, 0x87, 0x68, 0x2E, 0xC2, 0x89, 0xF6, 0x03, 0x7C, +0xF5, 0x04, 0xF0, 0x80, 0x3F, 0xB5, 0x80, 0xB1, 0x03, 0x34, 0xEE, 0x59, 0x3D, 0xBF, 0xFF, 0x83, +0x79, 0x3E, 0x1D, 0x8C, 0x31, 0xB4, 0x9F, 0x19, 0xFE, 0x5C, 0xE5, 0xF6, 0x83, 0x4E, 0x18, 0x98, +0xAD, 0xFE, 0x40, 0xAB, 0x22, 0x01, 0xDF, 0x15, 0x37, 0x44, 0x85, 0x7F, 0xC8, 0x99, 0x3E, 0xDF, +0x01, 0xB6, 0xFE, 0x4A, 0x92, 0x00, 0xDE, 0xB6, 0x4A, 0x0F, 0x26, 0x44, 0x07, 0xFC, 0x93, 0x3E, +0x95, 0xC5, 0xF9, 0x54, 0x02, 0xF8, 0x76, 0x20, 0xA0, 0xC6, 0x62, 0x6A, 0x32, 0xCC, 0xF0, 0xCD, +0x37, 0x7D, 0x1C, 0x3C, 0xA0, 0x73, 0x80, 0xC6, 0x3F, 0x10, 0x58, 0xE5, 0x1F, 0x3B, 0x42, 0x23, +0x54, 0xDD, 0x11, 0x1A, 0xFF, 0x57, 0x22, 0xE0, 0xA3, 0xDB, 0x11, 0x3F, 0x70, 0x80, 0x8F, 0xBB, +0xC3, 0x5B, 0x10, 0x0D, 0x03, 0x0E, 0xFC, 0x23, 0x6E, 0x0A, 0x09, 0x10, 0xFD, 0x95, 0xB5, 0xCC, +0x7D, 0x8C, 0x3F, 0xB3, 0x7E, 0xF6, 0x39, 0x98, 0xE4, 0x1F, 0xD2, 0x76, 0x38, 0x1B, 0xF5, 0x04, +0x3B, 0x42, 0xBF, 0x3A, 0xFF, 0x04, 0x72, 0xFE, 0xA1, 0xC0, 0xDE, 0x01, 0xD2, 0x03, 0xA6, 0x1B, +0x9C, 0xE0, 0xEF, 0x85, 0x00, 0x44, 0xF1, 0xB6, 0x58, 0xAD, 0x04, 0x16, 0x90, 0xA0, 0xCA, 0x9F, +0x87, 0x19, 0x5C, 0x63, 0xFD, 0x8E, 0xDD, 0x11, 0x9F, 0x48, 0x10, 0x18, 0x3E, 0x13, 0xF3, 0x20, +0x1D, 0xC2, 0x07, 0x14, 0x4D, 0x8E, 0xFF, 0xFD, 0x65, 0xFD, 0xA4, 0xA9, 0x17, 0x67, 0x21, 0xFF, +0xD4, 0x51, 0x10, 0x53, 0xFC, 0xB3, 0xEF, 0x68, 0x42, 0x40, 0xFC, 0x9F, 0x55, 0x77, 0xFE, 0x99, +0x20, 0x43, 0x1B, 0x98, 0xE0, 0x01, 0x8B, 0xFC, 0x4B, 0x9E, 0x09, 0x92, 0x76, 0x82, 0xB5, 0xC6, +0xFF, 0x15, 0x08, 0x18, 0x3C, 0x13, 0xDD, 0x39, 0xC0, 0x06, 0x46, 0x7F, 0x0B, 0xE2, 0x1D, 0xF1, +0x0D, 0x80, 0x5A, 0x5A, 0x64, 0xF9, 0x0F, 0x22, 0xE6, 0x9F, 0x3A, 0x3F, 0x43, 0x9F, 0xF8, 0xC0, +0x9A, 0xFF, 0xD3, 0x76, 0xBC, 0x1E, 0xC9, 0xE9, 0x9F, 0x02, 0xF0, 0xF5, 0xF9, 0xD7, 0x87, 0xF6, +0x83, 0xB1, 0x7D, 0xE0, 0x6F, 0x20, 0x9F, 0x14, 0xBA, 0xC1, 0x33, 0x76, 0x80, 0x29, 0x76, 0x48, +0xA1, 0x62, 0x1A, 0x4C, 0x29, 0x17, 0xEC, 0x2F, 0xD2, 0xBD, 0xB0, 0x82, 0x55, 0x70, 0xB0, 0x71, +0xF5, 0x4F, 0x9E, 0x8B, 0x99, 0xF3, 0x0F, 0x1D, 0x0E, 0x3E, 0xDB, 0x85, 0xFF, 0xA4, 0x26, 0x06, +0x50, 0x4F, 0xC3, 0x68, 0x60, 0xC4, 0x3F, 0xEB, 0x00, 0x63, 0x01, 0x23, 0x0F, 0x68, 0xE3, 0xF4, +0x58, 0xC0, 0x6F, 0x6D, 0x1C, 0x30, 0xF2, 0x7F, 0x9C, 0xD8, 0x14, 0xA6, 0x77, 0x80, 0x58, 0x2A, +0x08, 0x58, 0xE3, 0x1F, 0x4F, 0x85, 0xF3, 0xAA, 0x3F, 0x15, 0x0E, 0xFF, 0x97, 0x13, 0xF0, 0x77, +0xFA, 0xBF, 0x28, 0x7A, 0x2A, 0x9C, 0x01, 0x90, 0x5B, 0x70, 0x77, 0x1F, 0x6C, 0x03, 0x73, 0x60, +0x00, 0xE3, 0x4D, 0xF1, 0xCD, 0xFB, 0xB5, 0xE3, 0xDC, 0xEA, 0xA9, 0xFC, 0xC7, 0x76, 0x7F, 0x18, +0x24, 0xF5, 0x7F, 0x28, 0x98, 0x8D, 0x75, 0x8A, 0xA7, 0xC2, 0xBD, 0x7A, 0x02, 0x64, 0x34, 0xE0, +0x1E, 0x9D, 0x60, 0xCC, 0x1F, 0x0E, 0x70, 0x06, 0xFE, 0x79, 0x00, 0x22, 0xE7, 0x08, 0xDD, 0x9B, +0xDE, 0x45, 0x0E, 0x90, 0x8A, 0x6E, 0x30, 0x07, 0xAD, 0x92, 0xD6, 0x73, 0x3C, 0x17, 0xF8, 0x08, +0xFE, 0xF9, 0xBF, 0xBC, 0x43, 0xE5, 0x15, 0x27, 0x40, 0xB6, 0x6A, 0x00, 0x5B, 0x31, 0x0E, 0x8E, +0x5A, 0x40, 0xF0, 0x47, 0x7C, 0x8A, 0xF9, 0x47, 0x30, 0x19, 0xC6, 0x8F, 0xFF, 0xDD, 0xF2, 0xDD, +0x07, 0x01, 0x77, 0x6E, 0xF7, 0x50, 0xF8, 0xE7, 0x08, 0xF8, 0x9C, 0xF1, 0x0F, 0x02, 0xCE, 0xF1, +0x5C, 0x60, 0xAF, 0xCC, 0xFF, 0xA1, 0xB1, 0xE7, 0x02, 0x7F, 0x79, 0xB8, 0x13, 0xFE, 0xED, 0xB4, +0xA0, 0xDB, 0x70, 0x02, 0x8C, 0x85, 0x9D, 0x16, 0x11, 0xFF, 0x08, 0x1B, 0x0B, 0x9C, 0xF0, 0x7F, +0x5B, 0xF5, 0x7E, 0x7C, 0x0A, 0xAA, 0xFC, 0x5B, 0xBA, 0x64, 0x70, 0xF9, 0xB9, 0xC0, 0xF0, 0x6F, +0x5E, 0x00, 0x9E, 0x48, 0xE6, 0xF9, 0x5C, 0x80, 0x3F, 0x3B, 0x29, 0xF7, 0x5A, 0x0C, 0x04, 0x34, +0x06, 0xCE, 0xD8, 0x01, 0xA6, 0xB8, 0x5C, 0x48, 0xB8, 0x22, 0x04, 0x06, 0x52, 0xC5, 0x7E, 0xD0, +0x0B, 0xEF, 0x47, 0xBB, 0x7F, 0xC1, 0xFB, 0xBF, 0x7C, 0x1C, 0x70, 0x35, 0xC3, 0x83, 0xD1, 0x83, +0x04, 0xB0, 0xFB, 0xA4, 0xC6, 0x09, 0x90, 0x56, 0xC8, 0x03, 0x4A, 0x8C, 0xF2, 0xAF, 0xEB, 0xFF, +0xDA, 0x55, 0x38, 0x01, 0xB0, 0xFF, 0x9E, 0x06, 0x1B, 0xE3, 0x2B, 0xFF, 0x76, 0x00, 0x40, 0x2B, +0x4D, 0x05, 0xFB, 0xED, 0x52, 0x00, 0x49, 0xEA, 0x01, 0x9F, 0x43, 0x02, 0x26, 0xFC, 0x43, 0x23, +0x63, 0x80, 0xCF, 0xE3, 0x4A, 0xF3, 0x1F, 0x08, 0xA6, 0xB3, 0xEF, 0xC3, 0x06, 0x71, 0x27, 0x98, +0x0E, 0x18, 0xF1, 0x8F, 0x58, 0x4C, 0x76, 0x80, 0x89, 0x60, 0x49, 0x88, 0xD2, 0xCF, 0xA0, 0x47, +0x47, 0xA0, 0xC0, 0xBF, 0x25, 0xC3, 0x80, 0x6E, 0x1A, 0x60, 0xA0, 0x7F, 0xF0, 0x60, 0xF4, 0xFF, +0x40, 0xFF, 0x77, 0x8C, 0x7F, 0xEC, 0x00, 0x68, 0xCD, 0x7E, 0xEA, 0x8B, 0xBC, 0x62, 0x2C, 0x9C, +0xD1, 0xFF, 0x51, 0xBC, 0xEF, 0x8B, 0x56, 0xCA, 0xF9, 0x8C, 0x07, 0x2F, 0xF8, 0x2A, 0xD1, 0x7A, +0x7A, 0x76, 0x74, 0x1D, 0x80, 0x44, 0x42, 0xC0, 0x1F, 0x22, 0x91, 0x7D, 0x03, 0x7F, 0x45, 0x0F, +0x68, 0xA9, 0x0F, 0xA6, 0x01, 0x9A, 0x25, 0x1C, 0x79, 0x1E, 0x9C, 0x75, 0xAA, 0x24, 0x68, 0x9D, +0x8F, 0xF2, 0x0F, 0xFA, 0x11, 0x4C, 0x07, 0xEC, 0x17, 0x80, 0xA0, 0x1D, 0x4D, 0xE3, 0x83, 0xF3, +0x7F, 0x15, 0x02, 0x3E, 0x47, 0xA2, 0x13, 0x0C, 0xFF, 0x52, 0x02, 0x32, 0x01, 0x30, 0x52, 0xEE, +0xFF, 0x20, 0x20, 0x0E, 0x90, 0x09, 0x30, 0xC3, 0x7F, 0xFC, 0xA3, 0xD6, 0x78, 0xC0, 0x98, 0x7F, +0x52, 0x26, 0x09, 0xE8, 0xE1, 0xB7, 0x0D, 0x3C, 0xE0, 0xA5, 0xFA, 0xFF, 0xBF, 0x3F, 0x06, 0xD0, +0xB0, 0xD4, 0xFF, 0xFD, 0x70, 0x30, 0x1F, 0x9A, 0x05, 0x20, 0x65, 0x00, 0xAE, 0xDF, 0x0E, 0x00, +0x47, 0x63, 0x8F, 0x7B, 0x22, 0x7A, 0xBD, 0x3D, 0x05, 0xC7, 0x13, 0x21, 0x73, 0x00, 0x50, 0x8E, +0x90, 0x85, 0xB4, 0x27, 0x7A, 0xC1, 0xAE, 0x92, 0x88, 0xA9, 0x47, 0x83, 0xEB, 0xC4, 0xFF, 0x11, +0x09, 0xFE, 0x88, 0x8C, 0x7F, 0x08, 0x07, 0x28, 0x22, 0xFF, 0x3B, 0xA2, 0xD1, 0xF1, 0x3F, 0xA9, +0xCD, 0xFB, 0x49, 0x25, 0xE1, 0x3C, 0x20, 0xE8, 0x73, 0x11, 0xF1, 0xCF, 0x23, 0xD0, 0x79, 0x40, +0x1B, 0x00, 0xDC, 0xF1, 0xED, 0xC7, 0x03, 0xE2, 0x00, 0x03, 0xFF, 0xC7, 0xC3, 0x91, 0x52, 0xFC, +0xE1, 0x01, 0x33, 0xFE, 0x21, 0xDE, 0xC5, 0x02, 0x90, 0x22, 0x00, 0x1F, 0x13, 0x02, 0x4A, 0xC0, +0x3F, 0x6E, 0x02, 0x2E, 0xD8, 0x3C, 0x20, 0xFC, 0xBB, 0xB7, 0x09, 0x30, 0xAD, 0x10, 0x10, 0x30, +0xF0, 0x7F, 0x74, 0x82, 0xCF, 0xC7, 0x96, 0x84, 0x28, 0xFC, 0xF8, 0x18, 0x68, 0x0B, 0x0F, 0x98, +0x76, 0x80, 0x7D, 0x2A, 0x44, 0xAB, 0x09, 0x39, 0xFE, 0x95, 0x1C, 0xE0, 0x7F, 0x16, 0x7F, 0x6E, +0x1B, 0x7C, 0x85, 0x5D, 0x0F, 0x41, 0xAE, 0x67, 0xCC, 0x7F, 0x50, 0x10, 0xD3, 0x00, 0xF5, 0x65, +0x8F, 0xC6, 0xF1, 0x01, 0xC0, 0xE0, 0xD5, 0x64, 0x15, 0x5C, 0xB8, 0x22, 0x24, 0xC1, 0x5F, 0x11, +0x80, 0xEB, 0x9C, 0x7F, 0xC8, 0x2D, 0x00, 0x46, 0x3D, 0x0D, 0xA3, 0x05, 0x20, 0x5A, 0x96, 0x5A, +0xD9, 0x6C, 0x18, 0xBF, 0x01, 0x42, 0x80, 0x40, 0xE7, 0x01, 0x87, 0xC9, 0x7F, 0x04, 0x16, 0xD0, +0x3C, 0x60, 0xE4, 0xFF, 0x3E, 0x1A, 0x01, 0x58, 0x12, 0x82, 0xFF, 0x0B, 0x2D, 0x20, 0x1E, 0xB0, +0x0A, 0x40, 0xF8, 0x97, 0x13, 0x90, 0x09, 0x80, 0xB1, 0x52, 0xFE, 0xA1, 0xFD, 0xF5, 0x6F, 0xF0, +0x0F, 0xED, 0x3E, 0x6E, 0xEC, 0x16, 0xB8, 0x05, 0x20, 0xE3, 0xB7, 0xD5, 0x2D, 0x09, 0xC1, 0xEF, +0x39, 0x0F, 0x78, 0xB1, 0x75, 0x09, 0x90, 0x96, 0xFE, 0x30, 0xDB, 0xD7, 0x5A, 0x70, 0x30, 0xE7, +0x1F, 0xBD, 0xE0, 0xCE, 0x01, 0x56, 0x01, 0x08, 0xFF, 0x0A, 0x59, 0xE0, 0x18, 0x78, 0xAF, 0x0D, +0x40, 0xAD, 0xBC, 0x03, 0x34, 0xE3, 0xD7, 0x39, 0xC0, 0x39, 0x26, 0x00, 0xFA, 0xE2, 0x66, 0xFD, +0xD1, 0x07, 0x76, 0x96, 0x30, 0x5D, 0x16, 0x5C, 0x9F, 0x0D, 0x13, 0x7A, 0xC0, 0x75, 0x05, 0x81, +0xDA, 0x5C, 0x25, 0x04, 0x2C, 0xF2, 0x8F, 0x01, 0xC0, 0xCC, 0x00, 0xF6, 0x08, 0xD4, 0x4F, 0xBB, +0xD6, 0x66, 0x03, 0x30, 0x03, 0x07, 0x04, 0x64, 0xD8, 0x2F, 0x21, 0xE0, 0x77, 0x36, 0xFE, 0x47, +0x70, 0xDD, 0x2F, 0x8A, 0xBB, 0x37, 0xFF, 0x67, 0xDC, 0xA3, 0x0F, 0x6C, 0x1E, 0x90, 0x05, 0x20, +0x53, 0x7A, 0xAC, 0xF1, 0x8F, 0x25, 0x21, 0xF0, 0x2F, 0x27, 0x20, 0x13, 0x00, 0xAB, 0x04, 0x54, +0x26, 0xC7, 0xDA, 0x77, 0x80, 0xBB, 0xEE, 0x16, 0x48, 0x51, 0x59, 0xA3, 0x7F, 0x1C, 0xB0, 0x85, +0x73, 0xD6, 0xED, 0xCA, 0xF9, 0xBF, 0xD0, 0xB0, 0x9F, 0xF3, 0x4B, 0x3D, 0xD3, 0x04, 0x30, 0x23, +0x7F, 0x36, 0x18, 0x6C, 0x25, 0xE7, 0x1F, 0x13, 0x4D, 0xBB, 0xAD, 0xF0, 0x27, 0x75, 0x00, 0xC0, +0x9A, 0x03, 0x8C, 0xDD, 0xDE, 0xBF, 0x97, 0x00, 0x86, 0x79, 0xE1, 0x64, 0x98, 0x76, 0x45, 0xF2, +0x97, 0x0A, 0x04, 0xCE, 0xB0, 0x02, 0x78, 0xAC, 0x04, 0xBA, 0x36, 0x4B, 0xD8, 0xE7, 0x41, 0x40, +0x1D, 0x4D, 0x2A, 0x8A, 0x67, 0x5E, 0x7A, 0x0D, 0xFE, 0x2A, 0xE3, 0x80, 0xAB, 0x32, 0x00, 0x7F, +0x48, 0xE4, 0xF1, 0xB7, 0xD4, 0xC3, 0x9A, 0xE8, 0x20, 0xFF, 0x61, 0x49, 0x3F, 0x33, 0x80, 0x06, +0xC1, 0x6D, 0xB7, 0x24, 0xE4, 0x52, 0x27, 0x52, 0x0C, 0x07, 0xC1, 0x4A, 0xD3, 0x0B, 0xE4, 0xC8, +0x47, 0xB0, 0x24, 0x04, 0xFE, 0x89, 0x76, 0xD4, 0xD6, 0xC0, 0x03, 0x4E, 0xF6, 0x7F, 0x19, 0x06, +0x7C, 0x4E, 0xF9, 0xE7, 0x97, 0x05, 0xA7, 0xE2, 0x9D, 0xF0, 0x2F, 0x50, 0x9A, 0x00, 0x41, 0x96, +0xD7, 0x61, 0x01, 0x48, 0x4F, 0x7E, 0x2E, 0xC4, 0x24, 0xB3, 0x00, 0x64, 0x71, 0x70, 0x43, 0x29, +0xED, 0xAA, 0x5F, 0x00, 0xC2, 0x6F, 0x47, 0x83, 0x2B, 0xB1, 0x87, 0x00, 0x50, 0x69, 0x27, 0x15, +0x16, 0x50, 0x8A, 0x92, 0xF0, 0xB0, 0x13, 0x3C, 0x81, 0x3F, 0x12, 0x21, 0x7A, 0xCE, 0xE4, 0xF0, +0x97, 0x03, 0x70, 0x92, 0x80, 0xAF, 0x95, 0x00, 0x21, 0x48, 0x81, 0x48, 0xF4, 0x19, 0x60, 0x03, +0x9F, 0x95, 0xD3, 0x00, 0x50, 0xAB, 0xFE, 0x39, 0x21, 0x81, 0x48, 0x00, 0x83, 0xBF, 0xB0, 0x63, +0x1C, 0x66, 0x81, 0xD7, 0x61, 0x9F, 0x78, 0x95, 0x11, 0x10, 0x04, 0xAE, 0x92, 0x58, 0x7B, 0xFE, +0xE5, 0x08, 0xFC, 0xD1, 0x19, 0x40, 0x2E, 0x41, 0xA0, 0x79, 0xBE, 0x2D, 0xD3, 0xA0, 0x19, 0xFD, +0x61, 0x3C, 0xE8, 0x8C, 0x04, 0x48, 0x4F, 0xBE, 0xD8, 0x03, 0xFA, 0x1E, 0x5A, 0x38, 0x21, 0xDA, +0x7F, 0xF1, 0x0F, 0x5F, 0xD0, 0xE9, 0x80, 0x74, 0x80, 0x2B, 0x1E, 0xF0, 0x39, 0x15, 0x59, 0xDD, +0x5C, 0x4C, 0x00, 0x4C, 0x95, 0xF6, 0x7F, 0x91, 0x0D, 0x03, 0xE2, 0xFF, 0x54, 0xD8, 0x40, 0x3C, +0xF1, 0xBD, 0x5F, 0x00, 0x62, 0x0D, 0x42, 0x5F, 0x8D, 0x12, 0x20, 0xD0, 0x8F, 0x44, 0x88, 0xF1, +0x4F, 0xBB, 0x00, 0x2D, 0x7A, 0x0B, 0xB8, 0xA5, 0x27, 0x90, 0xF0, 0x8F, 0x3C, 0x08, 0x0C, 0xFC, +0x21, 0xD7, 0xB1, 0x00, 0x8C, 0xF1, 0x47, 0x75, 0x6A, 0x03, 0x98, 0x87, 0x8E, 0xFF, 0x29, 0xDA, +0x0C, 0x73, 0xDE, 0x01, 0xCE, 0x3A, 0xFF, 0x85, 0xE2, 0xB6, 0xC4, 0xB7, 0xDA, 0xCF, 0x14, 0x34, +0xCC, 0x11, 0xE5, 0x3E, 0x30, 0x98, 0x43, 0x7E, 0x66, 0x74, 0x1A, 0xF0, 0x2F, 0x27, 0x60, 0x99, +0x7F, 0xEC, 0x91, 0xEF, 0xE4, 0x81, 0xC8, 0x00, 0xA0, 0xFD, 0xD5, 0x67, 0x04, 0x10, 0x0B, 0x78, +0xC9, 0x1E, 0xF9, 0x01, 0xF5, 0xE8, 0x13, 0x37, 0x42, 0xB2, 0x00, 0xCE, 0x77, 0x7F, 0x3D, 0x01, +0xD9, 0x00, 0x8B, 0xA9, 0x1F, 0x60, 0xC0, 0x2E, 0xEE, 0x76, 0x5F, 0xF0, 0x7F, 0x89, 0x07, 0xAC, +0xF2, 0x8F, 0x25, 0x21, 0x15, 0xB1, 0x01, 0x60, 0x2E, 0x12, 0xC0, 0xA9, 0xD8, 0x01, 0x7A, 0xFC, +0x1E, 0xE0, 0x89, 0xBB, 0x67, 0xA1, 0xFB, 0xD8, 0x3F, 0xD1, 0xFF, 0x9D, 0x0E, 0x26, 0xC3, 0x90, +0xF3, 0xD7, 0x1A, 0x0B, 0xA8, 0xA1, 0x8D, 0x42, 0xFF, 0xD7, 0x6A, 0x12, 0x20, 0xA9, 0xC0, 0x5F, +0x05, 0x80, 0x59, 0xC6, 0xA3, 0xCE, 0xBF, 0x53, 0xE2, 0xAF, 0xDF, 0x04, 0x50, 0x1B, 0xD8, 0x40, +0x95, 0xB5, 0xE6, 0x4C, 0x80, 0x50, 0xB4, 0xF2, 0xF2, 0x6F, 0x62, 0x55, 0x5C, 0x61, 0x28, 0x30, +0x47, 0x5E, 0xAF, 0xD5, 0xBA, 0x8C, 0xC0, 0xD5, 0x2A, 0x2D, 0x65, 0x00, 0x92, 0x07, 0x59, 0x5A, +0x31, 0x2D, 0xBB, 0x0B, 0x8D, 0xFD, 0x0D, 0x50, 0x07, 0xDF, 0x27, 0x87, 0x56, 0x2C, 0x08, 0xD0, +0xD6, 0xA5, 0x12, 0x70, 0x48, 0x20, 0x9E, 0x1F, 0x16, 0x45, 0xA0, 0xFE, 0xC8, 0x3C, 0xA0, 0x7C, +0x4F, 0x0B, 0x1E, 0x90, 0xF1, 0x3F, 0x13, 0xE0, 0xD3, 0xC3, 0x6A, 0xC1, 0x04, 0xFE, 0x2F, 0x25, +0x20, 0xFC, 0xCB, 0x09, 0xF8, 0x47, 0x4D, 0xF8, 0xBF, 0x54, 0xD6, 0xFF, 0x9D, 0x88, 0xFD, 0xE9, +0x80, 0xBB, 0xCD, 0x1D, 0xE8, 0x0B, 0xC5, 0x04, 0x98, 0x2C, 0x16, 0xF8, 0xBF, 0x20, 0x18, 0xC3, +0x3D, 0x13, 0xFF, 0x27, 0xD8, 0x6B, 0xD5, 0xA5, 0x1C, 0xDA, 0x20, 0xB6, 0xD4, 0x1D, 0x00, 0x97, +0x3E, 0x8C, 0x81, 0x96, 0x0A, 0x29, 0x89, 0x04, 0xC8, 0x5F, 0xE5, 0x2B, 0xF5, 0x48, 0x7D, 0xD1, +0xB8, 0x92, 0x46, 0x3D, 0xE4, 0xFD, 0x59, 0xB1, 0xB7, 0x56, 0xCA, 0x51, 0x36, 0x4D, 0x4A, 0x18, +0xFD, 0x85, 0x1C, 0x27, 0xD1, 0xBB, 0xD2, 0x9B, 0x8E, 0x09, 0xD1, 0x4F, 0xAD, 0xB8, 0x98, 0x7A, +0x35, 0x39, 0xB4, 0xAC, 0x0B, 0xA5, 0xB1, 0xF2, 0xFD, 0xBB, 0xF7, 0xEF, 0x57, 0x85, 0x58, 0xBF, +0xFF, 0xF5, 0xD7, 0xD5, 0xAF, 0x35, 0xB5, 0x5E, 0xCB, 0x87, 0x7D, 0x6D, 0xF5, 0xB0, 0xAA, 0xD3, +0x76, 0xFB, 0x61, 0xFB, 0x4B, 0x45, 0x1F, 0xDA, 0xF1, 0xF9, 0x46, 0x0C, 0x4B, 0xA1, 0xB4, 0x04, +0xE7, 0x66, 0x37, 0xE8, 0x41, 0x8E, 0x56, 0xB8, 0x44, 0x9B, 0x8D, 0xF2, 0xA2, 0x61, 0x25, 0x09, +0x79, 0x47, 0x23, 0x50, 0x63, 0xDB, 0xDF, 0xF1, 0x1C, 0x1C, 0xB6, 0x22, 0xA4, 0x2C, 0x4D, 0x00, +0xFF, 0x96, 0xC7, 0x6F, 0xF2, 0xEF, 0x3F, 0x7D, 0x29, 0x3F, 0x2E, 0x7D, 0xB3, 0x33, 0x71, 0x07, +0xA4, 0xD2, 0x82, 0xEE, 0xEE, 0x04, 0x82, 0x95, 0x68, 0xBF, 0x81, 0x9B, 0x5F, 0x6A, 0xFA, 0xB0, +0x6D, 0xBF, 0xD8, 0x9A, 0xE4, 0xC3, 0xF2, 0x6B, 0x59, 0xEF, 0x6B, 0x6A, 0x39, 0xC0, 0xF7, 0xFB, +0x1F, 0xF5, 0x3F, 0x01, 0x8F, 0x16, 0xBC, 0x91, 0xB3, 0x39, 0x99, 0xAD, 0x00, 0x00, 0x00, 0x00, +0x49, 0x45, 0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82 +}; \ No newline at end of file diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/PlayDisable_png.cpp b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/PlayDisable_png.cpp new file mode 100644 index 0000000000..c8f2249637 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/PlayDisable_png.cpp @@ -0,0 +1,1514 @@ +#include "ResData.h" +const unsigned char __playDisablePngData[24174] = { +0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, +0x00, 0x00, 0x01, 0xC4, 0x00, 0x00, 0x02, 0x20, 0x08, 0x03, 0x00, 0x00, 0x00, 0x2C, 0xBC, 0xE9, +0x24, 0x00, 0x00, 0x01, 0x65, 0x50, 0x4C, 0x54, 0x45, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x8F, 0x8F, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x91, 0x91, 0x91, 0xFF, 0xFF, 0xFF, +0x97, 0x97, 0x97, 0x94, 0x94, 0x94, 0xA4, 0xA4, 0xA4, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xC4, +0xC4, 0xC4, 0x8B, 0x8B, 0x8B, 0xCB, 0xCB, 0xCB, 0xFF, 0xFF, 0xFF, 0xC8, 0xC8, 0xC8, 0x99, 0x99, +0x99, 0xBC, 0xBC, 0xBC, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0x9C, 0x9C, 0x9C, 0x9E, 0x9E, 0x9E, +0xAF, 0xAF, 0xAF, 0xB8, 0xB8, 0xB8, 0xA7, 0xA7, 0xA7, 0xBA, 0xBA, 0xBA, 0xFF, 0xFF, 0xFF, 0xA2, +0xA2, 0xA2, 0xB1, 0xB1, 0xB1, 0xAD, 0xAD, 0xAD, 0xB6, 0xB6, 0xB6, 0xAB, 0xAB, 0xAB, 0xC0, 0xC0, +0xC0, 0xC2, 0xC2, 0xC2, 0x88, 0x88, 0x88, 0xA0, 0xA0, 0xA0, 0xFE, 0xFE, 0xFE, 0xA9, 0xA9, 0xA9, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8C, 0x8C, 0x8C, 0xFE, 0xFE, 0xFE, 0xB4, 0xB4, 0xB4, 0xFE, +0xFE, 0xFE, 0x92, 0x92, 0x92, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xCF, +0xCF, 0xDA, 0xDA, 0xDA, 0x8D, 0x8D, 0x8D, 0xD1, 0xD1, 0xD1, 0xFF, 0xFF, 0xFF, 0xD3, 0xD3, 0xD3, +0x95, 0x95, 0x95, 0xFE, 0xFE, 0xFE, 0xD5, 0xD5, 0xD5, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xBE, +0xBE, 0xBE, 0xFE, 0xFE, 0xFE, 0xBD, 0xBD, 0xBD, 0x86, 0x85, 0x85, 0x89, 0x89, 0x89, 0xFE, 0xFE, +0xFE, 0xB2, 0xB2, 0xB2, 0xC6, 0xC6, 0xC6, 0x9A, 0x9A, 0x9A, 0xCD, 0xCD, 0xCD, 0xD6, 0xD6, 0xD6, +0xE4, 0xE4, 0xE4, 0xD7, 0xD7, 0xD7, 0xD8, 0xD8, 0xD8, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xCA, +0xCA, 0xCA, 0x55, 0x55, 0x55, 0x5C, 0x5C, 0x5C, 0xA1, 0xA1, 0xA1, 0x6B, 0x6B, 0x6B, 0x99, 0x99, +0x99, 0x65, 0x65, 0x65, 0xB4, 0xB4, 0xB4, 0x84, 0x84, 0x84, 0xF6, 0xF6, 0xF6, 0x82, 0x81, 0x81, +0x83, 0x83, 0x83, 0x76, 0x76, 0x76, 0x5F, 0x5F, 0x5F, 0xBB, 0xBB, 0xBB, 0xD4, 0xD4, 0xD4, 0xB3, +0xB3, 0xB3, 0x6F, 0x6F, 0x6F, 0xD8, 0xD8, 0xD8, 0xAE, 0xAE, 0xAE, 0xCC, 0xCC, 0xCC, 0x80, 0x80, +0x80, 0x9C, 0x9C, 0x9C, 0xB8, 0xB8, 0xB8, 0x96, 0x96, 0x96, 0x51, 0x51, 0x51, 0xAC, 0xAC, 0xAC, +0xA9, 0xA9, 0xA9, 0x98, 0x98, 0x98, 0xA9, 0xA9, 0xA9, 0x93, 0x93, 0x93, 0xA8, 0xA8, 0xA8, 0xAC, +0xAC, 0xAC, 0xB2, 0xB2, 0xB2, 0x94, 0x94, 0x94, 0x91, 0x91, 0x91, 0x96, 0x96, 0x96, 0x78, 0xD9, +0x1B, 0xEA, 0x00, 0x00, 0x00, 0x77, 0x74, 0x52, 0x4E, 0x53, 0x00, 0x04, 0x12, 0x0A, 0x03, 0x05, +0xD5, 0x02, 0x01, 0x06, 0x15, 0xD5, 0x0E, 0xD5, 0xD5, 0xD5, 0x09, 0x10, 0xD5, 0xD5, 0xD5, 0x07, +0xD5, 0xD5, 0xD5, 0x1D, 0x08, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0x21, 0xD5, 0xD5, 0xD5, 0xD5, +0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0x18, 0xD5, 0x1A, 0x25, 0xD5, 0x0B, 0xD5, 0x0C, 0xD5, 0x0D, 0x1F, +0x1B, 0xD5, 0xD5, 0xD5, 0xD5, 0x23, 0xD5, 0xD5, 0x0F, 0xD5, 0x27, 0x29, 0xD5, 0x14, 0xD5, 0xD5, +0xD5, 0x17, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0x2F, 0xD5, 0xD5, 0x30, 0x2C, 0x34, 0x54, 0x4B, 0x06, +0x29, 0x0D, 0x36, 0x16, 0x13, 0x2F, 0xD5, 0x22, 0x1B, 0x42, 0x3B, 0x1D, 0x23, 0x40, 0x36, 0x09, +0x29, 0x33, 0x2B, 0x03, 0x02, 0x5F, 0x4D, 0x5F, 0x3B, 0x79, 0x74, 0xAD, 0x94, 0xBE, 0x91, 0xA9, +0xBF, 0x8A, 0xC6, 0x1C, 0xBB, 0x00, 0x00, 0x5C, 0x41, 0x49, 0x44, 0x41, 0x54, 0x78, 0xDA, 0xEC, +0xD7, 0xBD, 0x4E, 0x1B, 0x41, 0x18, 0x85, 0x61, 0xF2, 0x83, 0x62, 0x10, 0x92, 0x43, 0x41, 0x43, +0xB3, 0x17, 0x10, 0x8A, 0x28, 0xA2, 0xA6, 0xA1, 0xC8, 0x35, 0x4C, 0x24, 0x5B, 0xC2, 0x15, 0x05, +0x36, 0xC1, 0xF7, 0x5F, 0x64, 0x27, 0xE0, 0x3D, 0xF6, 0x9C, 0x99, 0xF9, 0xBC, 0x3F, 0xB3, 0xB0, +0xD2, 0x79, 0x6F, 0xE1, 0xD1, 0xF9, 0x76, 0xF6, 0x64, 0xB2, 0xCD, 0x32, 0x9D, 0xA8, 0x0F, 0x5E, +0x00, 0x26, 0xCC, 0x69, 0x75, 0x00, 0x24, 0xCB, 0xC9, 0x35, 0x43, 0xA2, 0x9C, 0x62, 0x0D, 0x83, +0x24, 0xA7, 0xD9, 0x6C, 0x97, 0x24, 0x27, 0xDA, 0x0C, 0x09, 0x72, 0x92, 0xCD, 0xC2, 0xE4, 0x38, +0xB5, 0x66, 0xD1, 0xE4, 0x38, 0xA1, 0x8E, 0x46, 0xF8, 0x96, 0x4A, 0x8E, 0xEF, 0x5C, 0x67, 0x3F, +0x4E, 0x8E, 0xEF, 0x53, 0x5F, 0x3F, 0x4E, 0x8C, 0x63, 0x37, 0x2C, 0x20, 0x12, 0xE3, 0x78, 0x95, +0x00, 0x44, 0x62, 0x1C, 0xA3, 0x62, 0x82, 0x48, 0x8C, 0x85, 0x2B, 0x2A, 0x88, 0xC4, 0x58, 0xB0, +0xF2, 0x84, 0x48, 0x8A, 0x65, 0x2A, 0x4B, 0xC8, 0x89, 0x71, 0xF8, 0xCA, 0x13, 0x72, 0x52, 0x1C, +0xB6, 0x3E, 0x84, 0x5F, 0x83, 0x5A, 0x30, 0x4A, 0xB1, 0x30, 0x62, 0x4B, 0x3F, 0x4E, 0x8C, 0xD9, +0x3E, 0x84, 0x21, 0xB4, 0x7A, 0x4A, 0x4A, 0xB1, 0x90, 0x61, 0x1F, 0x41, 0x4E, 0x8C, 0x5C, 0x79, +0xC4, 0x76, 0x82, 0x9F, 0xC2, 0xDA, 0x43, 0x4A, 0x71, 0x54, 0xC3, 0xB4, 0x9F, 0x6D, 0x29, 0xC5, +0x72, 0x1D, 0x6F, 0x68, 0x01, 0xDA, 0x94, 0x62, 0xA4, 0xC6, 0x35, 0xCC, 0x09, 0x9E, 0x36, 0xA5, +0x20, 0x6D, 0x47, 0x29, 0x0E, 0x86, 0x78, 0x04, 0x21, 0xE9, 0x45, 0xCB, 0x40, 0x4A, 0x71, 0x34, +0x43, 0x9B, 0xF0, 0xD4, 0x2E, 0x05, 0x29, 0xC6, 0x21, 0x3B, 0xC6, 0xD0, 0x10, 0xB4, 0x8A, 0x3B, +0x4A, 0xB1, 0x10, 0xA2, 0x41, 0x98, 0x12, 0x3C, 0x0B, 0x63, 0xC8, 0xA8, 0xA3, 0x14, 0x47, 0x37, +0x8C, 0x0A, 0x9E, 0xE5, 0x4A, 0x42, 0xE6, 0x18, 0xA5, 0x38, 0x1C, 0xA2, 0x4D, 0xC8, 0x82, 0xB6, +0x24, 0x33, 0x6A, 0x8C, 0xE5, 0x0D, 0x99, 0x90, 0x05, 0xED, 0xB2, 0x8E, 0x52, 0x1C, 0x10, 0xD1, +0x9C, 0x21, 0x0B, 0x76, 0x84, 0x0C, 0x19, 0x75, 0x52, 0x4B, 0x21, 0xF2, 0x0C, 0x33, 0x84, 0x57, +0x41, 0x06, 0x24, 0x31, 0x4A, 0xB1, 0xA4, 0xA1, 0x4D, 0x78, 0x95, 0xC9, 0x72, 0x04, 0xA3, 0x4E, +0x6A, 0xE7, 0x8E, 0x35, 0x04, 0x61, 0x12, 0xF0, 0x7A, 0x3F, 0x92, 0xCC, 0x31, 0x6A, 0x8C, 0x65, +0x10, 0x61, 0x98, 0x59, 0x21, 0xF1, 0x51, 0x49, 0xC8, 0x80, 0x51, 0x8A, 0x65, 0x0C, 0xCD, 0x19, +0x12, 0xE0, 0x77, 0x14, 0xA7, 0x8C, 0x3A, 0x1E, 0x8C, 0x51, 0x8A, 0x43, 0x22, 0xC2, 0xD0, 0x26, +0x04, 0x1F, 0x17, 0x42, 0xA6, 0x19, 0xA5, 0xD8, 0xB5, 0x36, 0x86, 0x24, 0x08, 0x40, 0xA3, 0x43, +0xC8, 0x24, 0xA3, 0x4E, 0xEA, 0x88, 0x86, 0x20, 0x84, 0xE0, 0x97, 0x58, 0x01, 0x24, 0x1C, 0x99, +0x51, 0x63, 0x1C, 0x16, 0x11, 0x86, 0x36, 0x21, 0x03, 0x72, 0x21, 0x64, 0xC8, 0x28, 0xC5, 0x7E, +0x75, 0x33, 0x64, 0x41, 0xBB, 0xB8, 0x23, 0x33, 0x4A, 0xB1, 0xEF, 0x10, 0xD9, 0x90, 0x08, 0x77, +0x86, 0x31, 0xC1, 0x9F, 0x07, 0x25, 0x21, 0x63, 0x8C, 0x52, 0xEC, 0x5C, 0x3B, 0x43, 0x26, 0x64, +0x3E, 0x2E, 0xE9, 0x08, 0x46, 0x8C, 0x31, 0x79, 0x52, 0xA5, 0xD8, 0x62, 0x88, 0x86, 0x21, 0x13, +0x42, 0xF0, 0x57, 0xA4, 0x98, 0x64, 0x30, 0x47, 0x8D, 0xB1, 0xCC, 0x10, 0x61, 0x68, 0x13, 0x06, +0x7E, 0xB7, 0x4D, 0x44, 0x19, 0x38, 0x82, 0x51, 0x8A, 0x03, 0x23, 0xDA, 0x86, 0x44, 0x08, 0xBD, +0x68, 0x0C, 0x89, 0x39, 0x46, 0x19, 0xA5, 0x58, 0xC6, 0x90, 0x09, 0x21, 0x08, 0xC0, 0x0B, 0xAE, +0x91, 0x04, 0x24, 0xCF, 0x31, 0xAE, 0xE8, 0x93, 0x62, 0x3B, 0x44, 0xDB, 0x30, 0x41, 0x48, 0x7E, +0x1C, 0x20, 0xE1, 0x08, 0x46, 0x8C, 0x11, 0x8A, 0x75, 0x52, 0xEC, 0x35, 0x44, 0x36, 0xC4, 0x0C, +0x89, 0x10, 0x82, 0xF9, 0xE0, 0x78, 0xC0, 0xC8, 0x37, 0xB5, 0x51, 0xD4, 0x23, 0xB5, 0xCF, 0x10, +0x43, 0xC3, 0x2B, 0x36, 0x04, 0xE1, 0x3E, 0xD4, 0x5D, 0x18, 0x41, 0x92, 0x23, 0x18, 0xA1, 0xE8, +0x93, 0x62, 0x09, 0x43, 0x26, 0xF4, 0x24, 0xE4, 0x77, 0x89, 0x40, 0x49, 0x8E, 0xC4, 0x28, 0xC5, +0x6E, 0xC1, 0x10, 0xB1, 0x21, 0x9F, 0x52, 0xAC, 0xB0, 0x61, 0x04, 0x5F, 0x2C, 0x48, 0xC2, 0x11, +0x8C, 0x34, 0x46, 0x7E, 0xDE, 0x48, 0xD1, 0x1C, 0xA2, 0x61, 0x98, 0x99, 0xA1, 0xAB, 0xAB, 0x05, +0x77, 0x80, 0x9F, 0xA3, 0x41, 0x72, 0x0F, 0x12, 0x73, 0x4C, 0x8C, 0x51, 0xCF, 0x9B, 0xA3, 0xEA, +0x66, 0x08, 0xC2, 0x8B, 0x5B, 0xB7, 0x5E, 0x2F, 0xFF, 0x38, 0x77, 0xC7, 0x80, 0x5C, 0x03, 0x99, +0x62, 0x94, 0x62, 0xAF, 0x21, 0xF2, 0x07, 0x31, 0x63, 0xB8, 0x23, 0xF4, 0x0C, 0x6E, 0x33, 0x7F, +0x79, 0x5A, 0x3A, 0xE7, 0x60, 0x98, 0x0D, 0x8E, 0x87, 0x8C, 0x18, 0x23, 0x9D, 0x54, 0x29, 0x76, +0x1C, 0x22, 0x1B, 0xD2, 0x0C, 0x5F, 0x15, 0xDC, 0x72, 0x3E, 0x9F, 0x6F, 0x37, 0x35, 0x63, 0xA0, +0x75, 0xEF, 0x4B, 0x3A, 0x06, 0x8C, 0x18, 0xA3, 0x14, 0xFB, 0x0F, 0xD1, 0x36, 0xC4, 0x0C, 0x7D, +0x77, 0x6E, 0xB9, 0xAD, 0xAA, 0x6A, 0xFE, 0xBC, 0x70, 0xCE, 0x35, 0x76, 0x5C, 0xC6, 0x11, 0x8C, +0x52, 0xEC, 0x50, 0xFA, 0x98, 0x9E, 0xFA, 0xC8, 0x90, 0x66, 0x58, 0x3B, 0xB8, 0xE5, 0xDF, 0xCA, +0x37, 0x5F, 0xD7, 0x8C, 0x20, 0xB4, 0x25, 0x63, 0x8C, 0x38, 0xA9, 0x50, 0x3C, 0xD3, 0xAF, 0x46, +0xFB, 0x21, 0xB2, 0xA1, 0x27, 0x84, 0x21, 0x66, 0xF8, 0xFF, 0x41, 0xEA, 0xDC, 0xA6, 0x7A, 0xED, +0x65, 0x53, 0x33, 0xD6, 0x54, 0xE7, 0x91, 0x18, 0x92, 0x19, 0x69, 0x8C, 0xF4, 0xBC, 0xD1, 0xAF, +0x06, 0x67, 0x1D, 0x53, 0x36, 0x0C, 0x66, 0xE8, 0x1F, 0xA4, 0x97, 0x6E, 0x31, 0xAF, 0xDE, 0x7A, +0x7E, 0x5C, 0xB9, 0x87, 0xFB, 0xF3, 0xDF, 0x14, 0x24, 0xC9, 0x11, 0x8C, 0x18, 0x23, 0x4E, 0xAA, +0x14, 0xDB, 0x0F, 0xD1, 0x30, 0xA4, 0x19, 0x7A, 0x07, 0xB7, 0xD8, 0x56, 0xBB, 0x5E, 0xD6, 0x8B, +0xD5, 0xC3, 0x03, 0xF0, 0x98, 0x12, 0x8E, 0xC4, 0x88, 0x31, 0xB2, 0xA2, 0x4F, 0x8A, 0xED, 0x8E, +0x29, 0x1B, 0xF2, 0x29, 0xF5, 0x84, 0x3E, 0xE7, 0x9E, 0x77, 0x86, 0x37, 0x37, 0x37, 0xDB, 0xCD, +0x6A, 0x05, 0xC5, 0x1C, 0x24, 0x31, 0xD2, 0x18, 0xA5, 0x38, 0xC4, 0xCB, 0x94, 0x0D, 0xC3, 0x19, +0xFA, 0xDC, 0xD3, 0x8E, 0xD0, 0x57, 0xAD, 0x1F, 0xEB, 0x31, 0xFE, 0xD8, 0x2B, 0xE6, 0x18, 0x32, +0xE2, 0xA6, 0x4A, 0xB1, 0x37, 0x22, 0x1B, 0x5E, 0xC7, 0x0C, 0x41, 0x78, 0xFF, 0x8F, 0x9D, 0xBB, +0x79, 0x6D, 0x22, 0x8A, 0xA2, 0x00, 0x8E, 0x5F, 0x50, 0x5C, 0xE9, 0x42, 0x68, 0x0A, 0x8A, 0xC1, +0x4F, 0xA8, 0x06, 0x15, 0xCD, 0x26, 0x20, 0x89, 0xBA, 0xC8, 0x26, 0x60, 0xB2, 0x93, 0x20, 0x44, +0x29, 0x43, 0x17, 0x89, 0xC3, 0x24, 0xFF, 0x3F, 0x78, 0x6F, 0xA6, 0xE6, 0x24, 0xEF, 0x3C, 0xDF, +0x7D, 0x33, 0x13, 0xA5, 0xC9, 0xCC, 0x59, 0xB7, 0xDD, 0xFC, 0xB8, 0xF7, 0xDC, 0x97, 0xD2, 0xDE, +0xFC, 0xF1, 0xED, 0xBB, 0x0A, 0x22, 0x99, 0x0E, 0xE3, 0xF9, 0xEB, 0x4D, 0x3C, 0x96, 0x18, 0x47, +0x87, 0x91, 0x14, 0xCF, 0x1A, 0xC5, 0xAA, 0xCB, 0x14, 0x86, 0x42, 0xE8, 0x35, 0x94, 0x48, 0x29, +0xBE, 0xDA, 0x4D, 0xAA, 0xC3, 0xF8, 0x1A, 0x81, 0x25, 0x3B, 0x3A, 0x3B, 0x15, 0x2B, 0x95, 0x8E, +0xD4, 0x46, 0xD1, 0x6B, 0xA8, 0xA1, 0x65, 0x1A, 0x34, 0x64, 0xC2, 0xBB, 0x9F, 0x7F, 0xFC, 0x4C, +0x77, 0x0D, 0x9F, 0x3F, 0xCF, 0xE6, 0x32, 0x8C, 0xF0, 0x43, 0x1C, 0x47, 0x30, 0xFA, 0x86, 0x11, +0xE7, 0x4D, 0xA3, 0x18, 0x61, 0xC8, 0x83, 0xC8, 0x86, 0xEF, 0xBD, 0x86, 0x32, 0x50, 0x3F, 0x7E, +0xCE, 0xB7, 0x05, 0xF3, 0xAC, 0x87, 0xB1, 0x2B, 0xF1, 0x39, 0xBA, 0x8C, 0x8D, 0x62, 0x19, 0x43, +0x24, 0x60, 0xF8, 0x00, 0x86, 0x6E, 0x1D, 0x82, 0x50, 0x24, 0x7E, 0xFC, 0xBC, 0x74, 0x04, 0x25, +0xF9, 0x30, 0x76, 0x5B, 0xDD, 0x3F, 0x71, 0x1C, 0xC1, 0xE8, 0x0C, 0x23, 0x17, 0x63, 0xA3, 0x68, +0x18, 0xD2, 0x55, 0x53, 0xDC, 0x50, 0x15, 0xB3, 0x1D, 0x41, 0x0C, 0xA3, 0x28, 0xE6, 0x8C, 0x24, +0xC9, 0x8C, 0xF1, 0x8A, 0x9A, 0xBA, 0x2B, 0xFA, 0x0D, 0x25, 0x4E, 0x21, 0x7A, 0x0D, 0x1D, 0x42, +0xCD, 0xB9, 0x96, 0xE2, 0x73, 0xCE, 0x53, 0x19, 0xC6, 0x24, 0x69, 0xFD, 0x09, 0x1C, 0x31, 0x8E, +0x16, 0x63, 0xA3, 0x68, 0x18, 0x6A, 0xAC, 0x42, 0xBC, 0x95, 0x23, 0x6E, 0x0C, 0xEF, 0xFB, 0x0C, +0x05, 0x71, 0x4E, 0x80, 0x79, 0x64, 0x18, 0x93, 0xD6, 0x87, 0x96, 0x0B, 0x09, 0xC7, 0x12, 0x8A, +0x9A, 0xBA, 0x2B, 0x9E, 0x94, 0x59, 0xA6, 0x6C, 0x08, 0xC2, 0xD7, 0xAF, 0xA5, 0x14, 0x19, 0x30, +0x4F, 0xF6, 0xEB, 0x4A, 0x11, 0x09, 0x30, 0x36, 0x8A, 0xE5, 0x0D, 0x79, 0x99, 0xC6, 0x1B, 0x0A, +0x84, 0x2A, 0x66, 0x2C, 0x98, 0xE7, 0xF9, 0xE2, 0x32, 0x49, 0x3E, 0xAC, 0x43, 0x8E, 0xCC, 0x98, +0xFF, 0x7C, 0xBF, 0xE2, 0x59, 0xA3, 0xE8, 0x33, 0x44, 0x78, 0x99, 0x72, 0x21, 0xB2, 0xA1, 0x8E, +0xE1, 0x15, 0x62, 0x9A, 0x0B, 0x72, 0x1E, 0x3E, 0x5C, 0xFE, 0x12, 0xC5, 0x76, 0x1B, 0x90, 0xC4, +0xE8, 0x19, 0xC6, 0xB2, 0x8A, 0x75, 0x40, 0x3C, 0x31, 0x07, 0x11, 0x85, 0xC8, 0x86, 0xA8, 0x43, +0x8C, 0xA1, 0xA4, 0xDB, 0xCD, 0x4B, 0x91, 0xFD, 0xF2, 0xAC, 0xE6, 0x49, 0x92, 0xB4, 0x85, 0x91, +0x1D, 0x79, 0x18, 0xB1, 0x52, 0x1B, 0xC5, 0x6A, 0x86, 0x0F, 0x62, 0x0C, 0xCF, 0x37, 0x86, 0xAD, +0xEE, 0xCF, 0x4B, 0x0F, 0x20, 0x92, 0x5E, 0xAA, 0xA2, 0x06, 0x8E, 0xC4, 0xC8, 0x8A, 0x12, 0x3C, +0x35, 0x1A, 0x45, 0x18, 0x16, 0x59, 0xA6, 0x6C, 0xC8, 0xAB, 0x54, 0x1C, 0x84, 0x23, 0xB9, 0xCC, +0x3C, 0x82, 0x48, 0x36, 0x13, 0xC5, 0x9E, 0xEB, 0x08, 0x46, 0xEC, 0x54, 0x2E, 0x46, 0x47, 0xF1, +0x41, 0xBD, 0x15, 0xC9, 0x90, 0x06, 0x91, 0x0B, 0x31, 0xC6, 0x50, 0x11, 0x93, 0x14, 0x82, 0xBE, +0xAC, 0x16, 0x09, 0x18, 0xDB, 0xC4, 0xE8, 0x1D, 0x46, 0x9C, 0x37, 0x9B, 0x67, 0x7F, 0xED, 0x15, +0x63, 0x0D, 0x15, 0xD1, 0x35, 0xFC, 0x48, 0x86, 0xDB, 0x84, 0xF2, 0x86, 0x48, 0xE6, 0x01, 0xC1, +0x27, 0x9A, 0xA5, 0x0C, 0x63, 0xAF, 0x27, 0x8C, 0x79, 0xC0, 0x88, 0x61, 0x0C, 0x28, 0xBE, 0x69, +0x14, 0xF9, 0x30, 0x35, 0x96, 0x29, 0x0A, 0x31, 0xC6, 0x50, 0x3C, 0x12, 0x29, 0x45, 0x2F, 0x1F, +0x92, 0xCD, 0x45, 0xB1, 0x03, 0x47, 0x30, 0xBA, 0xC3, 0x88, 0x62, 0x6C, 0x14, 0x4D, 0x43, 0x1E, +0x44, 0x2E, 0x44, 0x32, 0xA4, 0x55, 0xAA, 0x18, 0x6D, 0x29, 0x45, 0x1F, 0x20, 0x32, 0x1C, 0x0E, +0xD7, 0x2B, 0xB5, 0xB7, 0x0E, 0x18, 0x9D, 0x9D, 0x1A, 0xAD, 0xA8, 0xA9, 0x9D, 0x22, 0x19, 0x9A, +0xAF, 0x0B, 0xCB, 0x10, 0x63, 0x28, 0x1E, 0x52, 0x8A, 0x8E, 0x20, 0xF4, 0x90, 0xF5, 0x4A, 0xED, +0xF8, 0x18, 0xAB, 0x2B, 0xD6, 0xE0, 0xD1, 0x6F, 0x1B, 0x02, 0x91, 0x8F, 0x1A, 0x8F, 0x61, 0x77, +0xC7, 0xB0, 0xD7, 0x4E, 0x16, 0x0C, 0x38, 0xA4, 0xE8, 0x95, 0xDA, 0x91, 0xF4, 0x34, 0xC4, 0x88, +0x95, 0x2A, 0xC5, 0x88, 0xA7, 0x46, 0xA3, 0x18, 0x30, 0x44, 0x21, 0xFE, 0x65, 0x99, 0x86, 0x0D, +0x41, 0x28, 0x88, 0xBD, 0xE4, 0x17, 0x08, 0x01, 0x48, 0x59, 0x2D, 0x26, 0xC9, 0xA8, 0xA3, 0x21, +0x46, 0x0C, 0x23, 0xCE, 0x9B, 0x42, 0x8A, 0x47, 0xBE, 0x50, 0x43, 0x86, 0xB7, 0x6D, 0x43, 0x4D, +0xC8, 0x50, 0x3D, 0x92, 0x24, 0x0B, 0x09, 0x22, 0xE9, 0x6C, 0x32, 0xEA, 0xF4, 0xFB, 0xFD, 0x5D, +0xC6, 0xC0, 0x4A, 0x0D, 0x2A, 0xDE, 0xA9, 0x8D, 0xA2, 0x69, 0x28, 0xC1, 0xEB, 0x82, 0x0B, 0xD1, +0x36, 0xEC, 0x74, 0xB4, 0x14, 0x21, 0x18, 0xC8, 0xDB, 0xA5, 0x28, 0x8E, 0xFA, 0x60, 0xDC, 0x1D, +0xC6, 0x46, 0xD1, 0x34, 0x8C, 0x2F, 0x44, 0x3A, 0x6A, 0x82, 0x86, 0xFD, 0xCE, 0x28, 0x59, 0x80, +0x90, 0xE5, 0xB6, 0xB3, 0x9A, 0xAB, 0xE2, 0x86, 0xB1, 0xAD, 0x31, 0x15, 0x25, 0x75, 0x56, 0xB4, +0x0C, 0x79, 0x99, 0xE2, 0xA8, 0xF1, 0x1A, 0x3A, 0x84, 0x6A, 0x28, 0x88, 0x93, 0x19, 0x04, 0x1D, +0x3E, 0x4A, 0x3A, 0x99, 0x88, 0x22, 0x18, 0x59, 0xF1, 0xBC, 0x51, 0x2C, 0xBC, 0x4C, 0xF1, 0xBA, +0xA0, 0x42, 0x34, 0x0D, 0x3B, 0x62, 0x28, 0x19, 0x4D, 0xB2, 0x30, 0x20, 0xF2, 0xEC, 0x99, 0xAE, +0xD4, 0xFE, 0x20, 0x67, 0xEC, 0x39, 0x8C, 0xA5, 0x15, 0x6F, 0x1F, 0xAF, 0x62, 0x94, 0xA1, 0x86, +0x0A, 0x31, 0xD2, 0x50, 0x25, 0x06, 0x83, 0xC1, 0x68, 0xB2, 0x34, 0x01, 0xA1, 0x98, 0x69, 0x31, +0x0E, 0x06, 0xFE, 0x61, 0x7C, 0xAD, 0x69, 0x14, 0x2B, 0x19, 0xA2, 0x10, 0x61, 0xA8, 0x09, 0x19, +0x2A, 0xE2, 0xC2, 0x16, 0x04, 0xE3, 0xBA, 0x18, 0xE5, 0xDB, 0x9C, 0x61, 0xBC, 0x5A, 0xA9, 0x8D, +0xA2, 0x69, 0x68, 0x17, 0x22, 0x1F, 0xA6, 0x6C, 0x88, 0x55, 0x3A, 0xC8, 0x11, 0x67, 0x20, 0x8C, +0x50, 0x7C, 0xBB, 0x90, 0x62, 0x54, 0x45, 0xCD, 0xD6, 0x30, 0xBA, 0x8A, 0x77, 0x6B, 0xAF, 0x68, +0x1B, 0xE2, 0x75, 0x41, 0x85, 0x68, 0x1B, 0x82, 0x70, 0x30, 0x1E, 0x8F, 0x66, 0x2B, 0x08, 0xBA, +0x64, 0xBE, 0xA4, 0x33, 0x51, 0x94, 0xB0, 0x62, 0xAB, 0x94, 0xE2, 0x8D, 0xE3, 0x54, 0x0C, 0x18, +0x06, 0x0B, 0x91, 0x8F, 0x1A, 0xDB, 0x70, 0xAA, 0xA5, 0x18, 0xE0, 0xE3, 0x3C, 0x5A, 0xE6, 0x8A, +0x60, 0x34, 0x14, 0xEF, 0xD7, 0x52, 0x31, 0xCE, 0x90, 0x0B, 0xB1, 0xA8, 0xE1, 0x58, 0x32, 0x9D, +0x4E, 0x16, 0x04, 0x68, 0x44, 0x8B, 0x91, 0x86, 0xB1, 0x51, 0x34, 0x06, 0x91, 0x0C, 0x8D, 0x42, +0xB4, 0x0C, 0x07, 0x1B, 0xC3, 0xAF, 0xD3, 0xE9, 0xC5, 0xCC, 0x10, 0xE4, 0x59, 0xDC, 0x55, 0xEC, +0x34, 0x8A, 0xC5, 0x0C, 0x71, 0xD4, 0x70, 0x21, 0xE2, 0xA8, 0xD9, 0x35, 0xEC, 0x7A, 0x0D, 0xC7, +0x6B, 0xC3, 0x35, 0xE2, 0x8A, 0x04, 0x2D, 0xC5, 0x67, 0x7A, 0xDE, 0x8C, 0x37, 0x8C, 0x9B, 0x62, +0x6C, 0x14, 0x63, 0x8E, 0x9A, 0x70, 0x21, 0x3A, 0x86, 0xE7, 0x64, 0xD8, 0x81, 0xA1, 0x12, 0x4A, +0xC4, 0x70, 0x9E, 0x23, 0x7A, 0xB5, 0xFC, 0x11, 0xC5, 0x74, 0xF2, 0xB7, 0x62, 0x74, 0x3F, 0x82, +0xAB, 0xA1, 0xA2, 0x61, 0x68, 0x16, 0x22, 0x0E, 0x53, 0xDB, 0x50, 0x09, 0x2F, 0x66, 0xE9, 0x90, +0x08, 0x89, 0x8F, 0x83, 0xF3, 0x66, 0xD0, 0x28, 0xBA, 0x31, 0x0C, 0xCB, 0x14, 0x22, 0x0C, 0xFB, +0x1E, 0xC3, 0x25, 0x13, 0x3E, 0x8A, 0xC9, 0xE3, 0x4C, 0x14, 0xC7, 0x21, 0xC5, 0xF3, 0xBA, 0x2A, +0x96, 0x33, 0x7C, 0x57, 0xDC, 0xF0, 0x6B, 0x5E, 0x87, 0x8B, 0x15, 0x08, 0x49, 0xD0, 0x50, 0xDC, +0x9C, 0x37, 0x28, 0x46, 0x3C, 0xFB, 0x4B, 0x2A, 0x1E, 0xC3, 0xEF, 0xFA, 0x4F, 0xB6, 0x62, 0x18, +0x52, 0x21, 0x46, 0x19, 0xBA, 0xAB, 0x14, 0x84, 0x24, 0x68, 0x47, 0x15, 0xE9, 0xBC, 0xA9, 0xBD, +0x62, 0xF4, 0xE3, 0x82, 0x3F, 0xF6, 0xC6, 0x51, 0x13, 0x6F, 0x38, 0xCF, 0x0C, 0x42, 0x2B, 0x6F, +0x17, 0xB9, 0xA2, 0xA4, 0x51, 0x04, 0xA2, 0x65, 0xC8, 0xCB, 0x14, 0x47, 0x4D, 0x51, 0x43, 0x59, +0xA5, 0xA6, 0xE0, 0x63, 0x5F, 0x1E, 0x21, 0x7B, 0x54, 0xD4, 0x1C, 0x81, 0x62, 0xB5, 0xA3, 0x86, +0x0F, 0xD3, 0x96, 0xC4, 0x6F, 0xA8, 0x75, 0x98, 0x6E, 0x8F, 0x61, 0xA4, 0x1F, 0x4B, 0xA6, 0xB3, +0x8B, 0xDD, 0xF3, 0xA6, 0xE6, 0x8A, 0x85, 0x0C, 0xCF, 0x42, 0x47, 0x8D, 0x69, 0xA8, 0x57, 0x29, +0x13, 0x32, 0xA0, 0x0D, 0xF9, 0x78, 0x19, 0x52, 0x94, 0x94, 0x54, 0x3C, 0xD0, 0xFF, 0x72, 0xBB, +0xBF, 0xA3, 0x06, 0x0F, 0x44, 0xF7, 0x7D, 0x98, 0x7F, 0xD0, 0xA6, 0x75, 0xB8, 0x82, 0x61, 0x09, +0x41, 0x24, 0x57, 0x9C, 0x8E, 0x49, 0x51, 0x52, 0x43, 0xC5, 0xC2, 0x86, 0x76, 0x21, 0xE2, 0xB3, +0x36, 0x18, 0x5E, 0xBD, 0x2C, 0x30, 0x86, 0x86, 0xA0, 0x99, 0x53, 0x79, 0xF6, 0x57, 0x57, 0x3C, +0x8E, 0xBF, 0x08, 0x2F, 0x78, 0x98, 0xDE, 0xAB, 0x62, 0x98, 0x62, 0x0C, 0x6D, 0x41, 0x3B, 0xD9, +0xBE, 0x14, 0x71, 0xA4, 0x1E, 0xE6, 0x3F, 0x0E, 0xAF, 0x62, 0x88, 0xA3, 0xC6, 0x32, 0x44, 0x1D, +0xC6, 0x13, 0x9E, 0xEE, 0xC6, 0xF7, 0x15, 0xAB, 0x46, 0x31, 0x6A, 0x99, 0xB2, 0x21, 0x1F, 0x35, +0x38, 0x4C, 0xF1, 0xB8, 0x60, 0xC3, 0x79, 0xE6, 0x1D, 0x43, 0x83, 0x2F, 0x4C, 0xB9, 0x9A, 0x43, +0x51, 0x18, 0xFF, 0x91, 0xE2, 0x75, 0x67, 0x8C, 0x2F, 0xC4, 0x33, 0xE3, 0xA8, 0x09, 0x18, 0x5E, +0x9D, 0x34, 0x51, 0x84, 0xA7, 0x76, 0x3C, 0x8A, 0x9A, 0xDA, 0x2A, 0x96, 0x3A, 0x4C, 0xA9, 0x10, +0xE9, 0x71, 0xC1, 0x86, 0xB3, 0x85, 0x6F, 0x95, 0x06, 0x00, 0xBF, 0x70, 0x1C, 0x48, 0x28, 0x8E, +0x8A, 0x2A, 0xBE, 0x3F, 0x26, 0xC5, 0x7F, 0x75, 0x98, 0xB2, 0x21, 0x4E, 0x1A, 0x9B, 0xF0, 0x4B, +0x28, 0x0E, 0xE3, 0xE9, 0x97, 0x7F, 0xA1, 0x78, 0x50, 0x8C, 0x84, 0x58, 0xEE, 0xA8, 0xB1, 0x0D, +0x97, 0x96, 0x21, 0x01, 0xC6, 0x40, 0xE6, 0xDF, 0xF8, 0x68, 0x51, 0x55, 0xF1, 0xEC, 0x90, 0x15, +0xED, 0x3F, 0x9C, 0xB1, 0x8F, 0x9A, 0x48, 0x43, 0x83, 0x90, 0x04, 0x3F, 0xF9, 0xC2, 0x8E, 0xFA, +0xBD, 0x8F, 0xFF, 0x93, 0xE2, 0xF5, 0x64, 0x8C, 0x5C, 0xA6, 0x30, 0xB4, 0x8F, 0x1A, 0x36, 0xD4, +0xA7, 0x45, 0x16, 0x36, 0x04, 0x21, 0xFB, 0x71, 0x1C, 0x46, 0x28, 0x8E, 0x6B, 0xA9, 0x18, 0x6F, +0x68, 0x1F, 0x35, 0x38, 0x4C, 0x7B, 0x8A, 0x08, 0x43, 0x3D, 0x4B, 0x83, 0x86, 0xA6, 0xA0, 0xED, +0x78, 0x5A, 0x5E, 0x51, 0x73, 0xC8, 0x8A, 0x46, 0x21, 0xDA, 0x47, 0x8D, 0xF5, 0xB8, 0x50, 0xC3, +0x11, 0x19, 0x06, 0x08, 0x49, 0xCB, 0x74, 0xAC, 0xA8, 0xF8, 0xCE, 0x54, 0xBC, 0xE6, 0x8C, 0x46, +0x21, 0x92, 0x61, 0xF1, 0xA3, 0x46, 0xE7, 0x70, 0x62, 0x18, 0x1A, 0x84, 0x36, 0x63, 0x55, 0xC5, +0x37, 0x07, 0xAD, 0xB8, 0x8F, 0x4F, 0x6A, 0x6C, 0xC3, 0xC5, 0x90, 0x0C, 0x89, 0x10, 0x82, 0x05, +0xB3, 0xCD, 0x58, 0x55, 0xF1, 0xDE, 0x21, 0x2A, 0x9E, 0x20, 0xB1, 0xBF, 0x06, 0xB6, 0x8F, 0x1A, +0x36, 0x7C, 0x6B, 0x19, 0x86, 0x09, 0x5F, 0xE4, 0x09, 0x33, 0x9E, 0xAE, 0xA3, 0x8A, 0xD3, 0x7A, +0x29, 0x1A, 0x85, 0x48, 0x86, 0x74, 0xD4, 0x54, 0x34, 0x64, 0x42, 0xC6, 0xE3, 0x04, 0x18, 0xF7, +0xAF, 0xA8, 0xB9, 0xDE, 0x8A, 0x65, 0x0A, 0xD1, 0x3E, 0x4C, 0xD9, 0xF0, 0xAD, 0x6D, 0x48, 0x80, +0xE1, 0x04, 0x14, 0xE7, 0xFB, 0x53, 0xD4, 0x5C, 0x77, 0xC5, 0x13, 0x64, 0xBF, 0x47, 0x4D, 0xAC, +0x21, 0x08, 0x49, 0xD0, 0xCE, 0xDF, 0x18, 0x57, 0xB5, 0x52, 0xB4, 0x0B, 0xB1, 0xD2, 0x51, 0x93, +0x1B, 0xA6, 0x6A, 0x98, 0xC7, 0x30, 0x24, 0x42, 0x33, 0x7E, 0xC5, 0x4F, 0xC5, 0x14, 0x63, 0xFF, +0xE1, 0x8D, 0x32, 0x5E, 0xC3, 0xCF, 0xE0, 0x8C, 0x65, 0x5A, 0xF5, 0xA8, 0x89, 0x36, 0x64, 0xC1, +0xF8, 0x10, 0xA3, 0xFE, 0xD0, 0x1A, 0x29, 0x9E, 0x20, 0x86, 0xE1, 0x59, 0xC9, 0xA3, 0x46, 0x0D, +0x25, 0xB6, 0x21, 0x08, 0x8B, 0x87, 0x15, 0xF5, 0x77, 0x1A, 0x17, 0x35, 0x51, 0xB4, 0x96, 0x29, +0x17, 0x62, 0x41, 0xC3, 0xD1, 0x64, 0xB1, 0x1F, 0xC3, 0x97, 0x79, 0x6C, 0x45, 0xCC, 0xE2, 0x2C, +0x56, 0x51, 0x73, 0xB8, 0x8A, 0xB1, 0x85, 0x18, 0x7F, 0xD4, 0xA8, 0x61, 0x2F, 0xDA, 0x90, 0xEB, +0xD0, 0xA3, 0x47, 0xF1, 0x5A, 0x72, 0x31, 0x7E, 0x29, 0xAE, 0x28, 0x39, 0x38, 0x45, 0x63, 0x99, +0x56, 0x38, 0x6A, 0x60, 0x38, 0x04, 0xA2, 0xC7, 0xD0, 0x22, 0x04, 0x9B, 0xED, 0xC8, 0xC3, 0xB8, +0x9C, 0x5D, 0xFC, 0xE6, 0xEE, 0xDE, 0x59, 0x9E, 0x08, 0xA2, 0x30, 0x8E, 0x37, 0x5A, 0x68, 0x23, +0x88, 0x48, 0x9A, 0xD7, 0x0B, 0x5E, 0x1A, 0x45, 0x54, 0xF0, 0x82, 0x0A, 0x8A, 0xA4, 0x50, 0xBC, +0xA7, 0xB5, 0x09, 0x22, 0xC1, 0x22, 0x31, 0x64, 0xF3, 0xFD, 0xC1, 0x3D, 0xBB, 0xBA, 0xFF, 0xCC, +0x3C, 0x33, 0x7B, 0x36, 0xBB, 0x8E, 0x8A, 0xA7, 0xB2, 0x53, 0xF9, 0x71, 0xAE, 0x3B, 0xAF, 0x7E, +0xFE, 0xEF, 0x15, 0x1D, 0x43, 0xE7, 0xF3, 0x93, 0x53, 0x4C, 0x93, 0x86, 0x16, 0x9E, 0x21, 0x82, +0x5E, 0x78, 0x8A, 0xF3, 0x72, 0x8A, 0xFF, 0xCC, 0x33, 0xB8, 0xA1, 0x0D, 0x71, 0xE4, 0x50, 0xE3, +0x1B, 0xCE, 0xC4, 0x50, 0x04, 0xBD, 0xE8, 0x51, 0x9C, 0xFD, 0xAE, 0x5C, 0x3C, 0xF3, 0x2F, 0x2B, +0x66, 0x11, 0xBD, 0x86, 0x38, 0xD4, 0x30, 0xF8, 0x51, 0x7C, 0xCF, 0x30, 0x09, 0x78, 0xBE, 0x8B, +0x63, 0x18, 0x51, 0x9C, 0x6F, 0x17, 0xFF, 0xB7, 0x62, 0x81, 0x86, 0xC8, 0x50, 0x33, 0xC2, 0x10, +0x3D, 0x08, 0x25, 0x3C, 0x46, 0xC9, 0xC5, 0x72, 0x8A, 0xFF, 0xC2, 0x23, 0x7F, 0xBF, 0x98, 0xE6, +0x1F, 0x99, 0x62, 0x28, 0x89, 0x88, 0xE1, 0xD2, 0x0C, 0x05, 0x51, 0x77, 0x0B, 0x0C, 0x1D, 0x41, +0x24, 0x7D, 0x45, 0x36, 0x8D, 0xCD, 0xFF, 0xAC, 0x38, 0x28, 0x11, 0xC7, 0x35, 0x44, 0x33, 0xB4, +0xF7, 0x34, 0xF9, 0x44, 0xC4, 0x10, 0xC2, 0xB4, 0xDF, 0xEB, 0x5F, 0xD1, 0x0B, 0xD9, 0xA3, 0x78, +0x65, 0x63, 0x8B, 0xC6, 0x28, 0x45, 0xFD, 0x4A, 0xFC, 0x8F, 0xFD, 0xFF, 0xD2, 0xC7, 0x14, 0xD3, +0xA3, 0xB7, 0x7C, 0x0C, 0x0D, 0xD1, 0x31, 0xA4, 0x11, 0x02, 0x88, 0x20, 0xA1, 0x94, 0xC3, 0x14, +0xF7, 0xEB, 0x63, 0x15, 0x9D, 0x6F, 0xFD, 0xFF, 0x8E, 0xA2, 0x22, 0x52, 0x4C, 0x9D, 0x86, 0x28, +0x5B, 0xBE, 0x7C, 0x7E, 0xAA, 0x0D, 0xAB, 0x57, 0x6E, 0x31, 0x85, 0xB0, 0x8E, 0x7C, 0x0E, 0x6A, +0x24, 0x1D, 0x13, 0x8A, 0x9C, 0x6E, 0x0A, 0x28, 0x6A, 0x41, 0x1D, 0x81, 0x58, 0x38, 0x11, 0xFD, +0x1F, 0x25, 0xD5, 0x2D, 0xBF, 0x33, 0x7C, 0xB7, 0xD8, 0xBE, 0xF2, 0x12, 0x11, 0x43, 0x2A, 0xA9, +0x12, 0xFA, 0x90, 0xBE, 0xE2, 0x7C, 0x67, 0x8B, 0xC6, 0x6F, 0x56, 0x3C, 0xF5, 0xF7, 0x15, 0xC7, +0x6D, 0x17, 0x7E, 0x31, 0xC5, 0xB0, 0x2F, 0x11, 0x29, 0xA6, 0x08, 0x3A, 0x86, 0xBE, 0xA3, 0x2A, +0xD2, 0x16, 0xAB, 0xAC, 0xE2, 0x43, 0x4F, 0xD1, 0x10, 0x07, 0x2B, 0xFE, 0x7D, 0x44, 0x8A, 0xE9, +0xF8, 0x86, 0xD8, 0x2D, 0xF9, 0x24, 0x62, 0xBA, 0x98, 0xD2, 0x0F, 0x31, 0x4C, 0x11, 0x5E, 0xAC, +0x63, 0x80, 0x63, 0x8F, 0x62, 0xF3, 0xDB, 0x6D, 0x59, 0xFA, 0x4D, 0xF1, 0xE9, 0x60, 0xC5, 0xD1, +0x3F, 0xA7, 0x51, 0x5E, 0x71, 0xF0, 0x7F, 0x87, 0xE8, 0x36, 0x44, 0x1D, 0x6A, 0x9A, 0x05, 0xD1, +0x4B, 0x44, 0xA6, 0x52, 0x10, 0xF1, 0x43, 0x30, 0x0A, 0xCF, 0x31, 0x57, 0x50, 0xAF, 0x34, 0x8B, +0x06, 0x8A, 0x77, 0xCA, 0x2B, 0x96, 0x47, 0x3C, 0xA2, 0x98, 0xFA, 0x0D, 0x31, 0x1E, 0x6A, 0x16, +0xFC, 0x6B, 0xD0, 0x99, 0x44, 0x44, 0x30, 0x32, 0x7C, 0x9D, 0x22, 0xF4, 0x29, 0x45, 0x51, 0x0B, +0xAA, 0x2D, 0x1A, 0xA3, 0x14, 0xEF, 0xFE, 0xAB, 0x8A, 0xC9, 0x44, 0x9C, 0x5A, 0x4C, 0x19, 0x4C, +0x77, 0x18, 0xA6, 0x10, 0xE9, 0x86, 0xF1, 0x48, 0x93, 0xE4, 0xBB, 0xF0, 0x33, 0x7A, 0x1D, 0xFB, +0x14, 0x5B, 0x44, 0x5B, 0x34, 0x58, 0xFA, 0x7D, 0x45, 0x5E, 0xF8, 0x7B, 0xC7, 0xF0, 0xF1, 0x88, +0xE5, 0x8B, 0xA9, 0x6E, 0x17, 0x8E, 0x21, 0xCB, 0x85, 0x22, 0x62, 0x68, 0x13, 0x4D, 0x66, 0xB1, +0x00, 0x10, 0x41, 0x42, 0x28, 0x8F, 0x53, 0x9C, 0xED, 0x19, 0x6E, 0x5C, 0x45, 0x43, 0x1C, 0xA9, +0xF8, 0x37, 0x11, 0xFD, 0x62, 0xEA, 0x36, 0x44, 0x06, 0xD3, 0xFC, 0x58, 0x33, 0x9B, 0x09, 0x62, +0x38, 0xCC, 0xF4, 0x11, 0xAA, 0x64, 0x5E, 0x51, 0x53, 0x71, 0x56, 0x8D, 0x52, 0x1C, 0xF2, 0x04, +0x6E, 0x82, 0x62, 0xF9, 0x62, 0xCA, 0x76, 0x31, 0xBC, 0x21, 0x6E, 0xAE, 0xE5, 0x13, 0x71, 0x26, +0x86, 0x52, 0x48, 0xC1, 0x73, 0x42, 0x18, 0x1B, 0xC4, 0x3E, 0xC5, 0xF9, 0x76, 0x9A, 0xA2, 0xBF, +0x68, 0xF8, 0x88, 0xE5, 0x8B, 0xE9, 0xF4, 0x86, 0xD8, 0x0E, 0xA6, 0xB9, 0xB1, 0x86, 0x43, 0xCD, +0x34, 0x43, 0x75, 0x44, 0x11, 0x46, 0x41, 0xAC, 0x47, 0xD4, 0xAF, 0xFF, 0x8B, 0xE2, 0x98, 0x62, +0x3A, 0xBC, 0x21, 0x62, 0x18, 0x21, 0xAA, 0x21, 0xED, 0x10, 0x41, 0x0C, 0x8F, 0x71, 0x44, 0x11, +0xC6, 0x94, 0xE2, 0xA5, 0x75, 0x8D, 0x38, 0x50, 0x51, 0x96, 0xFE, 0xE1, 0x23, 0xAA, 0x87, 0x58, +0xBE, 0x98, 0xAA, 0x61, 0xBE, 0x98, 0x62, 0xF8, 0x82, 0xA1, 0x26, 0x53, 0x4D, 0x63, 0xC4, 0x68, +0xA2, 0x49, 0x36, 0xC2, 0x37, 0x07, 0xE1, 0x31, 0xB2, 0x6A, 0xA0, 0x18, 0x23, 0xB6, 0xC3, 0xCD, +0xC7, 0x11, 0x8A, 0xCE, 0xBA, 0xE8, 0x21, 0xFE, 0xEB, 0xC5, 0x34, 0xD8, 0xF2, 0xB7, 0xD7, 0x04, +0x91, 0x8E, 0xC8, 0xA5, 0x26, 0x31, 0xD2, 0x20, 0x98, 0x32, 0x24, 0x72, 0x8C, 0x7A, 0xBF, 0x11, +0x44, 0x0B, 0x1B, 0x6E, 0x3E, 0x86, 0x8A, 0x57, 0xD3, 0x8A, 0xFE, 0xBA, 0x78, 0xBA, 0xB4, 0xA2, +0x6F, 0xE8, 0x17, 0xD3, 0xE1, 0xDB, 0x05, 0x43, 0x4D, 0x1A, 0x11, 0xC3, 0x97, 0x62, 0x48, 0x29, +0x85, 0x05, 0xC2, 0x64, 0x0C, 0x53, 0xD4, 0x54, 0xB4, 0xD8, 0xBA, 0x8A, 0xB7, 0x1C, 0x45, 0xA7, +0x2D, 0x16, 0x43, 0xC4, 0x70, 0xEA, 0x76, 0xE1, 0x0C, 0x35, 0x6A, 0x68, 0x88, 0xD1, 0xB5, 0x8D, +0xDD, 0xC2, 0x08, 0x7D, 0x43, 0x1F, 0x92, 0x82, 0xEA, 0xA5, 0xA2, 0x5D, 0x6E, 0x7C, 0x45, 0x43, +0x44, 0x71, 0xC4, 0x70, 0x13, 0x21, 0xFE, 0x3B, 0xC5, 0xD4, 0x6F, 0x88, 0xBB, 0x64, 0x22, 0x82, +0x38, 0x87, 0xD0, 0x02, 0x43, 0x10, 0x31, 0xF4, 0xC3, 0x53, 0x34, 0x44, 0x55, 0xDC, 0xAF, 0x0D, +0x71, 0x90, 0xE2, 0xF0, 0x11, 0x75, 0x44, 0x2A, 0x96, 0xFE, 0x88, 0xA8, 0xC5, 0xD4, 0x6F, 0x88, +0xEF, 0xAC, 0x21, 0xF6, 0x21, 0x06, 0x33, 0xCD, 0x18, 0xC3, 0x47, 0x16, 0x49, 0x47, 0xA6, 0x1B, +0x1D, 0x6E, 0x34, 0x15, 0xF7, 0x4B, 0x57, 0x51, 0x17, 0x0D, 0x46, 0x54, 0x6D, 0x8B, 0x4E, 0x2A, +0xFE, 0x13, 0xC5, 0x74, 0x70, 0x43, 0x3C, 0xE9, 0x45, 0x9C, 0x77, 0x88, 0xC9, 0x5B, 0x69, 0x04, +0x08, 0x9C, 0x86, 0x3A, 0xC2, 0xA8, 0xB7, 0x1B, 0x41, 0xBC, 0x52, 0xF5, 0x29, 0x0E, 0x1F, 0x51, +0xB5, 0xA0, 0x16, 0x4C, 0x45, 0x0C, 0x47, 0xDD, 0xBD, 0xD9, 0x2E, 0xBC, 0x86, 0xD8, 0x21, 0x8A, +0x21, 0xE7, 0x36, 0x36, 0x7C, 0xE9, 0x88, 0x3E, 0x21, 0xE1, 0x31, 0xB2, 0x2E, 0xA2, 0x68, 0x88, +0x5D, 0x5B, 0xFC, 0x38, 0x42, 0xD1, 0x19, 0x6E, 0x4A, 0xA6, 0x22, 0x86, 0x45, 0xB6, 0x0B, 0x1A, +0xE2, 0xC9, 0x89, 0x26, 0x22, 0x2B, 0x22, 0xCB, 0x05, 0x88, 0xA9, 0x23, 0x8D, 0x0A, 0x3E, 0xB1, +0x70, 0x15, 0x61, 0x04, 0x11, 0xC5, 0x20, 0x15, 0x2F, 0xDD, 0x68, 0xDA, 0xA2, 0x2A, 0x3E, 0xB8, +0x2A, 0x8A, 0x32, 0xA2, 0x3A, 0x6D, 0x51, 0x10, 0x8B, 0x1B, 0x4E, 0x2F, 0xA6, 0x07, 0x1B, 0xE2, +0x89, 0x22, 0xB2, 0x23, 0x32, 0x98, 0x82, 0x98, 0xDE, 0x0F, 0xF1, 0x83, 0x90, 0x48, 0x32, 0xA2, +0x08, 0x22, 0x8A, 0x82, 0x48, 0x5B, 0x4C, 0xE5, 0xE2, 0x03, 0x55, 0xD4, 0xE1, 0x86, 0x82, 0xEA, +0x20, 0xD6, 0xF1, 0x37, 0x0D, 0xB5, 0x98, 0x3A, 0x0D, 0x51, 0x10, 0xC3, 0x83, 0x5B, 0x4B, 0xA8, +0xD5, 0x54, 0x04, 0xB3, 0x86, 0x2A, 0x99, 0x56, 0xA4, 0x9E, 0x86, 0x8A, 0x86, 0xC8, 0x3F, 0xDF, +0xAF, 0x8A, 0x35, 0xE3, 0x83, 0xC5, 0x66, 0x45, 0x2E, 0x32, 0xA2, 0x3A, 0xC3, 0x4D, 0xE1, 0x54, +0xC4, 0x70, 0x5A, 0x31, 0x75, 0xB7, 0x8B, 0xBD, 0x19, 0xA6, 0x11, 0x49, 0xC4, 0xCC, 0xC1, 0x34, +0xAE, 0xA4, 0x02, 0x98, 0x87, 0x54, 0x44, 0x14, 0xCF, 0xC7, 0xA9, 0x08, 0xE2, 0xA5, 0xA6, 0x2D, +0x6A, 0x2E, 0xAE, 0x36, 0xBB, 0xD5, 0xCA, 0x72, 0x91, 0x45, 0xA3, 0x67, 0xB8, 0xA1, 0xA0, 0x32, +0xA1, 0x96, 0x40, 0xC4, 0xB0, 0xC0, 0x76, 0xC1, 0x37, 0xC4, 0x65, 0x75, 0x22, 0x88, 0x87, 0xC7, +0x1A, 0x86, 0x9A, 0x78, 0xBB, 0x48, 0xB4, 0x43, 0x11, 0x7C, 0xD6, 0x45, 0xDE, 0x31, 0x79, 0xBB, +0x01, 0x31, 0x4C, 0xC5, 0xFA, 0x4F, 0x65, 0xDB, 0xA2, 0x28, 0xAE, 0x56, 0xD5, 0xC9, 0x06, 0x45, +0x1D, 0x6E, 0xB4, 0x2D, 0xFA, 0xA9, 0x58, 0xC6, 0xB0, 0xC0, 0xA9, 0x66, 0x7B, 0x02, 0x22, 0x86, +0x8C, 0xA6, 0x66, 0x98, 0x42, 0xA4, 0x1D, 0x4A, 0x37, 0x14, 0xC3, 0x94, 0xA4, 0x20, 0xAA, 0x22, +0x7B, 0xC6, 0x21, 0xE2, 0x95, 0x4B, 0x3B, 0x0A, 0x6A, 0xAB, 0x68, 0x88, 0xCB, 0x93, 0x93, 0xDD, +0x17, 0x43, 0x44, 0x91, 0xE1, 0xE6, 0xC8, 0xB6, 0x48, 0x2A, 0x96, 0x37, 0x3C, 0xB2, 0x98, 0x66, +0xB6, 0x8B, 0x10, 0x91, 0xFD, 0xA2, 0x3B, 0xD5, 0x80, 0x88, 0x61, 0xDF, 0x48, 0x23, 0x7C, 0x49, +0x48, 0x4D, 0x45, 0x18, 0x55, 0x11, 0x44, 0x8B, 0xAD, 0x15, 0xD4, 0x40, 0xF1, 0xDD, 0xCA, 0x3A, +0xFB, 0xDA, 0xBA, 0xA2, 0x3B, 0xDC, 0x68, 0x41, 0x2D, 0x88, 0x08, 0x21, 0x86, 0xD3, 0x5F, 0xD5, +0xE8, 0x76, 0x11, 0xCC, 0x35, 0x9C, 0x4D, 0x31, 0x8C, 0x3A, 0xA2, 0xA6, 0xA1, 0x85, 0xA6, 0x60, +0x3E, 0x50, 0x04, 0x31, 0xA5, 0xC8, 0x17, 0x62, 0x6B, 0x8A, 0x28, 0xDE, 0x08, 0x0A, 0xAA, 0x29, +0xAE, 0x56, 0xD6, 0x15, 0x2A, 0x52, 0x51, 0x87, 0x1B, 0x6D, 0x8B, 0x7E, 0x2A, 0x16, 0x37, 0xD4, +0x86, 0xE8, 0x17, 0x53, 0xDD, 0x2E, 0xAE, 0x3B, 0x88, 0xF1, 0xC9, 0x14, 0xC4, 0x44, 0x37, 0xCC, +0x19, 0x3E, 0x6F, 0xC3, 0x51, 0x64, 0x46, 0x05, 0x11, 0x45, 0x10, 0xEB, 0xD8, 0x2F, 0x43, 0xC5, +0xFA, 0xA9, 0xA5, 0xFD, 0x2D, 0xAE, 0x7F, 0x5F, 0x45, 0x4B, 0xBF, 0xB4, 0x45, 0x29, 0xA8, 0xC5, +0x52, 0x11, 0xC3, 0xC2, 0xDB, 0xC5, 0xFA, 0x7A, 0x06, 0xB1, 0xEB, 0x88, 0x7C, 0xCB, 0x87, 0x50, +0x10, 0xE3, 0x5E, 0x18, 0xD2, 0x3D, 0x27, 0x14, 0x11, 0x46, 0x45, 0x0C, 0x52, 0x71, 0x0E, 0x62, +0x1D, 0xD5, 0xB2, 0x2E, 0xA8, 0x28, 0xDA, 0x97, 0x34, 0xFB, 0x6B, 0x6C, 0x57, 0x2B, 0x96, 0xFE, +0x68, 0xB8, 0x19, 0x55, 0x50, 0x0B, 0x1B, 0x8E, 0x38, 0xD5, 0x3C, 0xD0, 0x62, 0x2A, 0x88, 0x5C, +0xDC, 0x98, 0x4C, 0x41, 0xD4, 0xA1, 0x86, 0x34, 0x8C, 0x9A, 0x61, 0x67, 0xF7, 0xF6, 0x67, 0x88, +0x62, 0x9A, 0x31, 0xD3, 0x15, 0xE7, 0xA6, 0x08, 0xE2, 0x8D, 0xCD, 0x57, 0x14, 0x0D, 0xB1, 0x6A, +0x10, 0xF7, 0xDF, 0xEA, 0x54, 0x14, 0xC5, 0x81, 0x05, 0xB5, 0x00, 0x22, 0x7C, 0x85, 0x1A, 0x62, +0x53, 0x4C, 0x23, 0xC4, 0x70, 0x34, 0x9D, 0x25, 0x10, 0x19, 0x6A, 0x62, 0xC4, 0xB8, 0x92, 0x62, +0x48, 0xA0, 0x18, 0x30, 0x2A, 0x22, 0x8A, 0x20, 0xCE, 0x40, 0x64, 0xCF, 0x68, 0x14, 0xAD, 0x9A, +0x36, 0x88, 0xB6, 0x65, 0xD8, 0x19, 0x55, 0xDA, 0xE2, 0x91, 0x05, 0x95, 0x7A, 0x5A, 0xCE, 0xD0, +0x6F, 0x88, 0x7E, 0x31, 0xFD, 0x6C, 0xC5, 0x34, 0x42, 0xBC, 0x07, 0x62, 0xFC, 0xCE, 0x34, 0x9A, +0x6A, 0x10, 0xB4, 0x88, 0x4B, 0xE9, 0x01, 0xDE, 0x7B, 0x8B, 0xC0, 0x51, 0x1A, 0xA3, 0x22, 0xA2, +0x18, 0x20, 0xCE, 0x40, 0xBC, 0x71, 0xA3, 0x5A, 0xA2, 0x68, 0xD5, 0xB4, 0x45, 0xDC, 0x7D, 0x5B, +0x5D, 0xBD, 0x9A, 0x6D, 0x8B, 0xB9, 0x82, 0xEA, 0xA4, 0x62, 0x69, 0x43, 0x1A, 0xA2, 0x7F, 0xAA, +0xD1, 0x27, 0xFB, 0x11, 0x22, 0x4B, 0x62, 0x63, 0x08, 0x62, 0x3C, 0xD5, 0xE8, 0x5C, 0x4A, 0x29, +0x15, 0x44, 0x8B, 0x0F, 0x16, 0x54, 0x55, 0x14, 0x73, 0x88, 0x16, 0x8A, 0x38, 0x03, 0xF1, 0xD2, +0x0D, 0xDB, 0x33, 0xDA, 0xF8, 0x5C, 0x57, 0x53, 0x43, 0xB4, 0x58, 0x5B, 0x2A, 0x3A, 0xDB, 0x22, +0x05, 0xD5, 0x4F, 0xC5, 0xA9, 0x84, 0x6A, 0xE8, 0x37, 0xC4, 0xE3, 0x8A, 0xA9, 0x45, 0x6B, 0xD8, +0x83, 0x18, 0xE4, 0x61, 0x74, 0x6C, 0x63, 0x3B, 0x84, 0x10, 0x44, 0x0C, 0xDB, 0x68, 0x73, 0x92, +0x11, 0x87, 0x7A, 0x4A, 0x57, 0x04, 0x11, 0x45, 0x10, 0x67, 0x64, 0xE2, 0x0D, 0x0A, 0xEA, 0xE7, +0xFA, 0x74, 0x78, 0xED, 0xA7, 0x62, 0x55, 0x23, 0x5E, 0x75, 0xDA, 0xA2, 0x14, 0x54, 0x52, 0x51, +0xEB, 0x69, 0x39, 0x43, 0xBF, 0x21, 0xFA, 0xDB, 0xC5, 0xFA, 0x66, 0x0E, 0xF1, 0x92, 0x20, 0x62, +0x38, 0x04, 0xD1, 0x04, 0xE1, 0xEB, 0x0C, 0xEB, 0x5F, 0x5A, 0x30, 0xE1, 0x88, 0x22, 0xAB, 0xA2, +0x20, 0xBE, 0x14, 0x44, 0x0A, 0xEA, 0xE7, 0xC5, 0xE6, 0xD5, 0x2F, 0xC4, 0xEB, 0xCB, 0x1A, 0xB1, +0x55, 0x74, 0x0A, 0x6A, 0xD1, 0x54, 0x54, 0xC3, 0x51, 0x0D, 0xD1, 0x29, 0xA6, 0xEF, 0x96, 0x3B, +0x41, 0xEC, 0x0C, 0x41, 0x64, 0xD1, 0x27, 0x0F, 0x7B, 0x11, 0x0D, 0x48, 0x72, 0x30, 0x44, 0xAC, +0x03, 0xC4, 0x3A, 0xB2, 0x8A, 0x86, 0x88, 0xA2, 0x20, 0x76, 0x05, 0xF5, 0xEB, 0xA2, 0x02, 0x71, +0x1B, 0xA5, 0xE2, 0xAD, 0x54, 0x41, 0xE5, 0x86, 0xEA, 0xA6, 0xE2, 0x24, 0x42, 0x0C, 0x47, 0x35, +0x44, 0xBF, 0x98, 0xDE, 0x04, 0x91, 0xB9, 0x06, 0x43, 0x43, 0x6C, 0x0C, 0x41, 0x34, 0xC3, 0x31, +0x88, 0x04, 0x53, 0x8E, 0xCC, 0xA8, 0x86, 0x28, 0x1F, 0xA5, 0x02, 0xC5, 0x19, 0x4D, 0xD1, 0x10, +0x29, 0xA8, 0x75, 0x35, 0x05, 0x71, 0x6F, 0x88, 0xC3, 0x0B, 0xAA, 0xA6, 0xA2, 0xD4, 0xD3, 0xF2, +0x86, 0x7E, 0x43, 0xD4, 0x62, 0xFA, 0xA9, 0xF9, 0x00, 0x75, 0x88, 0xD8, 0x2D, 0x18, 0x18, 0x1A, +0x62, 0x60, 0xD8, 0x8B, 0xF8, 0x44, 0x10, 0x91, 0x8B, 0x1C, 0xBB, 0xF9, 0xE6, 0x80, 0x31, 0x8B, +0x88, 0x22, 0x57, 0xF0, 0x0E, 0xF1, 0x9E, 0x15, 0x54, 0x6B, 0x89, 0x9B, 0x57, 0x20, 0x5E, 0xDF, +0xAC, 0xAE, 0x3E, 0x45, 0x71, 0x68, 0x41, 0x75, 0xEA, 0xE9, 0x44, 0xC3, 0x71, 0x0D, 0xB1, 0xFF, +0xEE, 0x6D, 0xE3, 0xDC, 0xCD, 0x43, 0xC4, 0x57, 0x29, 0xC4, 0xE8, 0x61, 0x8D, 0x22, 0x46, 0x27, +0xD3, 0x2C, 0xE2, 0xE3, 0x26, 0xC8, 0x46, 0x56, 0xFF, 0x01, 0x88, 0xB4, 0xC5, 0xEE, 0xAB, 0x62, +0x87, 0xD8, 0xAE, 0xFC, 0x5F, 0xBF, 0x56, 0x87, 0x88, 0xF5, 0x68, 0x63, 0x88, 0x6C, 0x8B, 0x52, +0x50, 0x59, 0xF9, 0x35, 0x15, 0x15, 0xB1, 0x8C, 0xA1, 0xDF, 0x10, 0xFD, 0x62, 0xBA, 0xA9, 0x0D, +0x41, 0xBC, 0x26, 0x88, 0x9C, 0x6B, 0x30, 0xD4, 0x5B, 0x0D, 0x88, 0xAD, 0x21, 0x8A, 0x20, 0xA2, +0xF8, 0x38, 0x9E, 0x6E, 0xB4, 0x9E, 0xBE, 0xE9, 0x47, 0x9C, 0x47, 0x88, 0xF7, 0xEC, 0x86, 0x6A, +0xB3, 0xE9, 0x21, 0x62, 0x3D, 0xDA, 0x3C, 0x7D, 0x2A, 0x05, 0x55, 0x56, 0x7E, 0x27, 0x15, 0x41, +0xFC, 0xCD, 0x86, 0x13, 0xFF, 0xDD, 0x2F, 0xFE, 0x2D, 0xD3, 0x7A, 0x45, 0x04, 0xB1, 0x36, 0x64, +0xD5, 0x07, 0x91, 0x25, 0x51, 0xBE, 0x04, 0xCB, 0xAD, 0x06, 0x42, 0x45, 0x44, 0x91, 0xBE, 0x58, +0x07, 0xC3, 0x8D, 0x1C, 0x6E, 0xA4, 0x29, 0xE6, 0x11, 0xAD, 0xA0, 0x7E, 0xB5, 0x6A, 0xFA, 0xAA, +0x31, 0x6C, 0x11, 0xB7, 0x96, 0x8A, 0x91, 0xA2, 0xDC, 0x50, 0xDD, 0x54, 0xA4, 0x29, 0x4E, 0x35, +0x1C, 0xDD, 0x10, 0x73, 0xA7, 0x1A, 0xA6, 0x1A, 0x10, 0x33, 0xB3, 0xA9, 0x19, 0xF6, 0x22, 0x1A, +0xA1, 0x20, 0x36, 0x80, 0xA6, 0x04, 0xDF, 0x81, 0x20, 0x8E, 0xD1, 0x70, 0x93, 0xC9, 0x45, 0x10, +0xA9, 0xA7, 0x01, 0xE2, 0xBD, 0xBA, 0xA0, 0x2E, 0xAB, 0x10, 0x71, 0x5F, 0x23, 0xB6, 0x8A, 0xCE, +0x6C, 0x23, 0xA9, 0xE8, 0xD4, 0xD3, 0x91, 0x86, 0xD3, 0x1B, 0x22, 0x77, 0x6F, 0x0C, 0xBF, 0xAE, +0x6F, 0xC7, 0x88, 0x9D, 0x21, 0xCF, 0xA3, 0x30, 0xEC, 0x45, 0x8C, 0xAE, 0x6D, 0x2D, 0x62, 0xA4, +0xA8, 0x92, 0xDD, 0x25, 0x15, 0x45, 0x10, 0x51, 0xE4, 0x9D, 0x06, 0xA3, 0x4D, 0x80, 0x78, 0x63, +0xBF, 0x5C, 0x2E, 0xF7, 0x01, 0xA2, 0x8D, 0x36, 0x4F, 0x9D, 0x82, 0x7A, 0x54, 0x2A, 0x96, 0x30, +0x04, 0xF1, 0xC8, 0x86, 0x48, 0x31, 0xAD, 0xD2, 0x88, 0x66, 0x08, 0x22, 0x86, 0x20, 0x46, 0x2D, +0xD1, 0x0C, 0x05, 0x91, 0x54, 0x44, 0x51, 0x18, 0xC3, 0xCF, 0x1A, 0x0E, 0x22, 0x8A, 0x2C, 0x19, +0x0D, 0xA2, 0xC5, 0x76, 0xB9, 0x7E, 0x15, 0x21, 0x56, 0x8B, 0xD5, 0x1D, 0xA7, 0xA0, 0x3A, 0xA9, +0x28, 0xF5, 0xB4, 0xAC, 0xA1, 0xDF, 0x10, 0xB5, 0x98, 0x6E, 0x6E, 0x67, 0x33, 0x11, 0xC4, 0x36, +0x11, 0x79, 0x59, 0x63, 0x86, 0xB9, 0xA9, 0x86, 0x76, 0x68, 0x8A, 0x00, 0x8A, 0x62, 0x94, 0x88, +0xA4, 0xA2, 0x19, 0x66, 0x11, 0x2D, 0xBA, 0x85, 0x9F, 0x75, 0xBF, 0x45, 0x7C, 0xB5, 0xDE, 0xC6, +0x88, 0x37, 0x6D, 0xB4, 0x49, 0x16, 0x54, 0x5D, 0x33, 0x7E, 0x6F, 0x3D, 0xF5, 0x0C, 0xFD, 0x86, +0xE8, 0x9E, 0x6A, 0xBA, 0xA9, 0x06, 0x44, 0x33, 0x14, 0xC4, 0x66, 0x36, 0x15, 0x44, 0x31, 0xF4, +0x1A, 0x22, 0x01, 0xA1, 0x22, 0xEA, 0xF5, 0x4D, 0xBF, 0x0D, 0x83, 0x38, 0x17, 0xC4, 0x7B, 0xD5, +0x2E, 0x42, 0xB4, 0xD1, 0xE6, 0xDD, 0x1D, 0x0A, 0xEA, 0xE4, 0x54, 0x1C, 0x6F, 0xE8, 0x0E, 0x35, +0x99, 0x17, 0x8A, 0x4E, 0x31, 0xB5, 0xA9, 0xE6, 0xB6, 0x20, 0xEA, 0xB9, 0x06, 0x44, 0x8E, 0xDF, +0x20, 0x62, 0x48, 0x31, 0xA5, 0x94, 0xAA, 0xA2, 0x1E, 0x6E, 0xB4, 0x9A, 0xEA, 0x80, 0xAA, 0x47, +0x9B, 0xF6, 0xD3, 0x70, 0x88, 0x68, 0x84, 0x11, 0xE2, 0x6E, 0x41, 0x2A, 0x72, 0x43, 0xF5, 0x53, +0xD1, 0x47, 0x9C, 0x6E, 0xE8, 0x37, 0x44, 0xBF, 0x98, 0xDA, 0x56, 0x05, 0x62, 0x6D, 0x68, 0x21, +0x9F, 0x83, 0x19, 0x6B, 0xF4, 0x03, 0x86, 0x76, 0x44, 0x10, 0x9B, 0xD0, 0x42, 0xAA, 0x86, 0xA6, +0x18, 0x56, 0x53, 0x14, 0x33, 0x8F, 0x6D, 0xA8, 0xA7, 0x57, 0x14, 0xF1, 0x5A, 0x80, 0x78, 0x73, +0xBD, 0xBA, 0x93, 0x4A, 0xC5, 0xB3, 0xF9, 0x54, 0x64, 0xB4, 0x19, 0xBF, 0x2A, 0x8E, 0x6F, 0x88, +0x7A, 0x32, 0xE5, 0x54, 0x93, 0x2A, 0xA6, 0x8B, 0xEA, 0xB6, 0x21, 0xB6, 0x8A, 0x1C, 0xDD, 0x0E, +0xDE, 0xD6, 0x44, 0x4F, 0xF7, 0x75, 0xD3, 0xA7, 0x9C, 0xC6, 0x4F, 0x6A, 0x38, 0x98, 0xA2, 0x88, +0xA4, 0xDC, 0xC1, 0x3B, 0x43, 0xC9, 0xC4, 0x3A, 0x04, 0xB1, 0x51, 0x64, 0xC9, 0xC8, 0x23, 0xDE, +0xBC, 0xB9, 0x5D, 0xBC, 0xBB, 0xA3, 0xB3, 0x0D, 0x6B, 0x46, 0x81, 0x54, 0x2C, 0xD6, 0x10, 0xB5, +0x98, 0x7E, 0xAE, 0xD7, 0x0B, 0x10, 0xA9, 0xA6, 0xF2, 0xCA, 0x2D, 0x7A, 0x96, 0x81, 0x61, 0x72, +0xAA, 0xB1, 0x88, 0xAF, 0xDE, 0x28, 0x12, 0x38, 0xEA, 0x8E, 0xE1, 0x20, 0x32, 0x9F, 0xB2, 0x64, +0x74, 0x86, 0x1C, 0x6C, 0x5A, 0xC4, 0xFD, 0x62, 0x51, 0x23, 0xEA, 0x6C, 0xE3, 0xA5, 0xE2, 0x74, +0xC4, 0xE1, 0x86, 0xD9, 0x9F, 0x7F, 0xCA, 0xDE, 0xBD, 0x29, 0xA6, 0x95, 0x83, 0x98, 0x79, 0xE5, +0x96, 0x1F, 0x6B, 0xB8, 0xD3, 0xA0, 0xE8, 0x32, 0x76, 0x9F, 0x87, 0x51, 0xA4, 0x9A, 0xF6, 0x21, +0xCE, 0x07, 0x21, 0xDE, 0xDC, 0x34, 0xA9, 0xF8, 0x74, 0x44, 0x2A, 0x8E, 0x46, 0xFC, 0x43, 0x0D, +0xD1, 0xF6, 0xFC, 0xCD, 0x65, 0x10, 0x59, 0x30, 0xA2, 0x72, 0x7A, 0x25, 0xF3, 0xB6, 0xE6, 0x42, +0x72, 0xAC, 0x09, 0x11, 0xD3, 0x7C, 0x10, 0x52, 0x50, 0x0F, 0x9E, 0x31, 0xF6, 0x7C, 0x8F, 0x92, +0x57, 0x6F, 0xD1, 0xCD, 0x46, 0xE7, 0x1A, 0x43, 0xAC, 0x16, 0xEF, 0x5E, 0xBC, 0x18, 0x9E, 0x8A, +0xBF, 0xA3, 0x9E, 0x0E, 0x36, 0xF4, 0x5F, 0x28, 0x3A, 0xC5, 0x74, 0xB9, 0xAB, 0x11, 0x2D, 0xBA, +0x35, 0x91, 0xD9, 0x14, 0x43, 0xEF, 0x5D, 0x46, 0xE2, 0xF0, 0xAD, 0x1B, 0xA2, 0x2A, 0xCA, 0x87, +0xC5, 0xC0, 0x50, 0x36, 0x45, 0x55, 0xEC, 0xEE, 0xA7, 0x2E, 0xE2, 0x7E, 0xB9, 0xB8, 0xE3, 0xA4, +0xA2, 0x9C, 0x6D, 0x1C, 0xC4, 0x49, 0x86, 0xC7, 0x6E, 0x17, 0xB7, 0x52, 0xC5, 0xB4, 0x5B, 0x2F, +0x2E, 0x77, 0x88, 0xD7, 0x41, 0xE4, 0x99, 0x5B, 0x6B, 0x08, 0x22, 0x86, 0xA9, 0x05, 0x23, 0x5A, +0x11, 0x75, 0xB9, 0xC8, 0xA5, 0x22, 0x5D, 0xF1, 0x59, 0xDF, 0xA7, 0x0C, 0x14, 0x39, 0x82, 0x77, +0xFB, 0x7E, 0x0F, 0x62, 0x1D, 0x9B, 0x41, 0xA9, 0xF8, 0x1B, 0xEB, 0xA9, 0xD3, 0x10, 0x39, 0x99, +0x3A, 0x3F, 0xFF, 0x94, 0x2F, 0xA6, 0x24, 0xA2, 0x22, 0xF2, 0xBA, 0x26, 0xFD, 0xCC, 0x2D, 0x32, +0x34, 0x42, 0x41, 0x3C, 0xE8, 0x88, 0xCA, 0x97, 0xED, 0x8A, 0x28, 0x32, 0xDA, 0xA4, 0x11, 0xE5, +0xE5, 0x22, 0x88, 0xA9, 0x0D, 0xE3, 0x57, 0x3D, 0xFD, 0x0D, 0xA9, 0x38, 0x18, 0xB1, 0x40, 0x31, +0xD5, 0xF7, 0xDE, 0xB6, 0x5E, 0xD4, 0x89, 0x18, 0x21, 0x9E, 0xC4, 0x88, 0x76, 0x72, 0x0B, 0x5F, +0xD7, 0xE4, 0x76, 0x44, 0x3A, 0x62, 0xF7, 0x4A, 0x58, 0x8B, 0x69, 0xBE, 0x29, 0xB2, 0x2B, 0x92, +0x8B, 0x20, 0xC6, 0x4D, 0x11, 0xC4, 0xEE, 0x91, 0x86, 0x20, 0x62, 0x68, 0xB1, 0x6C, 0x15, 0xFD, +0x54, 0x1C, 0x54, 0x4F, 0x0B, 0x1A, 0xDE, 0x0F, 0x0D, 0x73, 0xFF, 0xDF, 0x05, 0x89, 0x78, 0x0E, +0x44, 0xE6, 0x9A, 0x24, 0x62, 0xB0, 0xEA, 0x0F, 0xFA, 0x7C, 0x21, 0xC5, 0xD4, 0x41, 0xB4, 0x08, +0x11, 0x93, 0xE3, 0x29, 0xF3, 0x29, 0x88, 0x32, 0x9E, 0x26, 0x10, 0xB7, 0xBD, 0xA9, 0xC8, 0xD9, +0x46, 0x47, 0x9B, 0x51, 0x88, 0xA5, 0xB6, 0x0B, 0x8A, 0x29, 0x89, 0x68, 0x91, 0x44, 0xC4, 0xB0, +0x51, 0x94, 0x73, 0x4D, 0xEE, 0x5A, 0x93, 0x3D, 0x9A, 0xFA, 0xE5, 0xF4, 0xE7, 0x9A, 0x71, 0x60, +0xA8, 0x99, 0x28, 0x8A, 0x1D, 0x22, 0x17, 0x70, 0x6D, 0x89, 0x5D, 0x3D, 0x9D, 0x90, 0x8A, 0xA3, +0x11, 0xD5, 0xD0, 0x3F, 0xD5, 0x38, 0x86, 0x14, 0xD3, 0x7A, 0xCF, 0x3F, 0xD7, 0x21, 0xB2, 0x61, +0x24, 0x0E, 0xA7, 0x6D, 0x22, 0xCA, 0x6C, 0x8A, 0x22, 0x88, 0xBC, 0x33, 0x45, 0x11, 0xC0, 0x74, +0xE8, 0x68, 0xA3, 0x8A, 0xF9, 0xA7, 0xE0, 0x8D, 0xA1, 0x8F, 0x78, 0xFB, 0xF6, 0x72, 0x48, 0x2A, +0x82, 0x38, 0xAD, 0x29, 0x96, 0x68, 0x88, 0x5A, 0x4C, 0x7F, 0xD0, 0x76, 0x2F, 0xBB, 0x71, 0x14, +0x51, 0x00, 0x86, 0x77, 0x2C, 0x40, 0x60, 0xB1, 0x0A, 0x91, 0x0D, 0x16, 0x26, 0x2B, 0x83, 0x90, +0x00, 0xC1, 0x26, 0x8A, 0xB8, 0x6D, 0xD0, 0x48, 0x96, 0x20, 0xDB, 0x6C, 0xC6, 0x91, 0x65, 0xB1, +0x98, 0x89, 0x93, 0xE0, 0xF8, 0xF9, 0xE9, 0xE3, 0x9A, 0xF8, 0x57, 0xF5, 0x5F, 0xE5, 0xD3, 0xD3, +0x1D, 0xD7, 0x03, 0x20, 0xA1, 0x2F, 0xE7, 0x56, 0xA7, 0x7A, 0x3C, 0xBC, 0x09, 0xBB, 0x78, 0x7B, +0x5C, 0x10, 0x8B, 0x21, 0x88, 0xC3, 0xB9, 0x0B, 0x44, 0x26, 0x0C, 0x10, 0x0B, 0xA1, 0xF2, 0xA9, +0xBE, 0xBC, 0x20, 0x0E, 0x73, 0x41, 0x06, 0xFE, 0xB6, 0x22, 0x91, 0xC8, 0x90, 0xE1, 0xED, 0x7E, +0x20, 0x86, 0x61, 0x0B, 0x71, 0xC8, 0xA7, 0xBF, 0xDF, 0x17, 0x8A, 0x6A, 0x6D, 0x96, 0xE4, 0xD3, +0xE5, 0xC9, 0xD4, 0x05, 0xD1, 0xC9, 0xF4, 0xEF, 0x08, 0x44, 0x21, 0x3E, 0x61, 0xD6, 0x17, 0xE2, +0x1F, 0x42, 0x6C, 0xED, 0x83, 0x51, 0xD4, 0x7D, 0x5B, 0xDF, 0x90, 0xAA, 0xC8, 0x2A, 0x23, 0x7F, +0xA3, 0x51, 0x21, 0xD2, 0xD9, 0xB8, 0x24, 0x16, 0xC4, 0xC8, 0xA7, 0x0E, 0xC5, 0x89, 0xF9, 0x74, +0x06, 0xE2, 0x83, 0x27, 0xD3, 0x30, 0x5C, 0x0F, 0x81, 0xA8, 0x74, 0x0A, 0x62, 0xFD, 0x46, 0x8A, +0x9A, 0x68, 0xC4, 0xFA, 0x95, 0x9B, 0xAE, 0xBE, 0xF1, 0x4B, 0x1C, 0x69, 0x4F, 0xB5, 0xDD, 0x2F, +0xC7, 0x88, 0xBB, 0x65, 0x14, 0xA1, 0x48, 0x36, 0x15, 0x62, 0xE4, 0x53, 0x42, 0x51, 0x7B, 0x45, +0xA6, 0x8C, 0x45, 0x45, 0xD1, 0x81, 0x38, 0xBF, 0x33, 0xC5, 0xD0, 0x57, 0x35, 0x91, 0x4C, 0x09, +0xC4, 0x50, 0xA4, 0xAF, 0x61, 0xC4, 0x68, 0xED, 0xA1, 0xA8, 0x89, 0x32, 0x04, 0x51, 0x8A, 0x93, +0x19, 0x4B, 0x25, 0xC5, 0x50, 0x9D, 0xCD, 0x70, 0x40, 0x24, 0x14, 0x8B, 0x21, 0x88, 0x83, 0xA2, +0x11, 0xC9, 0xA7, 0x33, 0x42, 0x71, 0xDF, 0xA2, 0xF8, 0xD0, 0xC9, 0x94, 0x40, 0xEC, 0x20, 0xFE, +0xE5, 0x45, 0x54, 0x6D, 0xA8, 0xAD, 0x3E, 0x86, 0xF3, 0x14, 0x47, 0x1F, 0x49, 0xF5, 0x14, 0x2B, +0x43, 0x16, 0xC3, 0x20, 0x32, 0x27, 0xBA, 0x24, 0x0E, 0xE7, 0x4D, 0xE4, 0x53, 0x85, 0x62, 0xD2, +0xDA, 0xCC, 0x2B, 0x8A, 0x1F, 0x2C, 0x99, 0x7E, 0xDB, 0x4F, 0xA6, 0x25, 0x10, 0x0F, 0xEA, 0x74, +0xEA, 0x8D, 0x70, 0x09, 0x45, 0xB2, 0x69, 0x31, 0x14, 0xA2, 0x47, 0x0C, 0x6E, 0xDD, 0x72, 0xC5, +0xA4, 0x28, 0x0E, 0x27, 0x79, 0xA2, 0x11, 0xED, 0xA9, 0x10, 0x1D, 0x88, 0xE4, 0x53, 0x42, 0x51, +0xAD, 0x8D, 0x46, 0xC5, 0x99, 0xF9, 0x74, 0x46, 0x32, 0xCD, 0xBE, 0xEA, 0x76, 0x32, 0x8D, 0xD6, +0x14, 0xC4, 0xA2, 0xC8, 0xEB, 0x6F, 0x10, 0xF9, 0x52, 0x7F, 0x50, 0x04, 0xB1, 0x1D, 0x8A, 0x18, +0xF2, 0x30, 0x43, 0x8C, 0xE9, 0xA0, 0x28, 0x44, 0x2F, 0xF7, 0xF5, 0x75, 0x54, 0xF5, 0x42, 0xA3, +0x8F, 0x18, 0xF9, 0x94, 0x50, 0x4C, 0xF2, 0x29, 0xFD, 0xE9, 0xFE, 0x88, 0x7B, 0x3C, 0xF7, 0xF6, +0x9D, 0x29, 0x86, 0xFD, 0x64, 0x4A, 0x20, 0xD2, 0x9C, 0x82, 0xA8, 0x37, 0xA7, 0xEA, 0x6B, 0x34, +0x27, 0xEA, 0xE1, 0xB7, 0x67, 0x0C, 0x2B, 0xDA, 0x91, 0x6F, 0x6B, 0x9A, 0x81, 0x88, 0xA2, 0x3B, +0x1B, 0xBE, 0x17, 0x66, 0xC6, 0x68, 0x21, 0xBE, 0x1D, 0x10, 0x15, 0x8A, 0xBC, 0xD3, 0xA0, 0xB5, +0x59, 0x5A, 0x14, 0x13, 0xC3, 0x74, 0x44, 0xF4, 0x32, 0xDF, 0xC9, 0x34, 0xBE, 0x39, 0xB9, 0x3A, +0x18, 0x8E, 0x2E, 0x6C, 0x84, 0xA8, 0xF7, 0x35, 0x32, 0xD4, 0x32, 0x51, 0x33, 0x46, 0xA6, 0x48, +0x3E, 0xD5, 0xB8, 0x6F, 0xC4, 0xE6, 0xC7, 0xFB, 0x4D, 0xC4, 0x30, 0xA4, 0x24, 0xC6, 0x39, 0x2E, +0xF9, 0xB4, 0x2C, 0x33, 0xD4, 0xDA, 0x38, 0x9F, 0x3E, 0x00, 0xA2, 0x0C, 0xF7, 0xFC, 0x5B, 0x09, +0x24, 0xD3, 0x68, 0x6B, 0x4E, 0x76, 0x88, 0xF4, 0x35, 0xA4, 0x53, 0x10, 0xEB, 0x4B, 0xB7, 0x50, +0x4C, 0xFA, 0x1A, 0xBE, 0x0D, 0x66, 0x11, 0x05, 0x60, 0x36, 0x28, 0x7A, 0xDC, 0x57, 0x67, 0xA3, +0x67, 0x36, 0x7E, 0x2B, 0x55, 0xE6, 0x44, 0x02, 0x11, 0xC4, 0x2D, 0xA1, 0xD8, 0x6B, 0x6D, 0x94, +0x4F, 0xE7, 0x14, 0xC5, 0x09, 0xC9, 0xB4, 0xF7, 0x56, 0xD8, 0x86, 0x4E, 0xA6, 0x04, 0xA2, 0x11, +0x8B, 0x22, 0x3F, 0x8F, 0x49, 0x24, 0x82, 0xD8, 0xBE, 0x3A, 0xED, 0x3E, 0x38, 0x45, 0xD1, 0x8C, +0xDE, 0x0A, 0xB3, 0xDE, 0xD7, 0x22, 0xA3, 0x3D, 0x27, 0xFA, 0xE2, 0x8D, 0x40, 0x6C, 0x21, 0x3A, +0x9F, 0xFE, 0x42, 0x6B, 0x93, 0xE4, 0xD3, 0x59, 0x88, 0xB3, 0xEF, 0xDB, 0xF2, 0x64, 0x1A, 0x81, +0x78, 0x82, 0xA2, 0x11, 0xD9, 0x09, 0xEB, 0x6D, 0x86, 0x10, 0xB5, 0x4D, 0xEC, 0x7F, 0x58, 0x9A, +0x34, 0xA6, 0x6A, 0x4E, 0xB5, 0xC8, 0x40, 0x11, 0x44, 0x3D, 0x78, 0xEB, 0x67, 0xD3, 0xE3, 0xFF, +0xD6, 0x03, 0xE2, 0xEF, 0x49, 0x6B, 0xB3, 0xBC, 0x28, 0xCE, 0xED, 0x6A, 0xA6, 0x27, 0xD3, 0x12, +0x88, 0x20, 0x0E, 0x87, 0x74, 0xCA, 0x5E, 0x9F, 0x9A, 0xD8, 0x7E, 0x9B, 0xA1, 0x97, 0x6E, 0x84, +0x22, 0xAF, 0xF7, 0xFD, 0x66, 0x38, 0xD9, 0x27, 0x36, 0x0D, 0x41, 0xB4, 0x22, 0xD3, 0x3E, 0x0F, +0x34, 0x88, 0xC4, 0x62, 0x08, 0xA2, 0xF2, 0xE9, 0x63, 0x10, 0x43, 0x51, 0xF9, 0x54, 0x37, 0x6F, +0xCB, 0x10, 0xA7, 0x8F, 0x88, 0x9E, 0x2E, 0x46, 0xC9, 0x34, 0x16, 0xFA, 0x42, 0x0C, 0x45, 0xBF, +0xFE, 0xD6, 0x1F, 0xC1, 0xF0, 0x0E, 0xA3, 0x39, 0xEA, 0xB7, 0x1E, 0x67, 0x80, 0x06, 0xA1, 0x3F, +0x6F, 0xCB, 0x0D, 0x8D, 0x48, 0x36, 0x7D, 0x7F, 0x67, 0xF3, 0x65, 0x07, 0x31, 0x86, 0x0C, 0xB5, +0x36, 0x79, 0x28, 0x4E, 0x2B, 0x8A, 0x46, 0x9C, 0x3D, 0x22, 0x7E, 0x9C, 0x24, 0xD3, 0x08, 0xC4, +0xED, 0x89, 0xD2, 0x69, 0x20, 0x72, 0xFD, 0xDD, 0xFF, 0xE5, 0x93, 0xFB, 0xDF, 0x7E, 0xF3, 0xE4, +0x34, 0x19, 0xF6, 0xBB, 0x1F, 0xEF, 0x27, 0x86, 0xAD, 0x40, 0x34, 0x22, 0x73, 0x62, 0x6D, 0x78, +0xFC, 0xE6, 0x2E, 0x9F, 0x3E, 0x9D, 0x9D, 0x4F, 0xA7, 0x23, 0xEE, 0xFF, 0xAC, 0x06, 0xC3, 0xF3, +0x50, 0xEC, 0x24, 0xD3, 0x38, 0x11, 0x88, 0xC3, 0xE9, 0x20, 0xFE, 0xD5, 0x41, 0xFC, 0xC3, 0x88, +0x5E, 0xEC, 0xF3, 0xC0, 0x26, 0x99, 0x13, 0x81, 0x4C, 0x5B, 0x53, 0x8F, 0x89, 0x23, 0xC4, 0xD1, +0xFB, 0x61, 0x10, 0x47, 0x81, 0x18, 0x67, 0x33, 0x23, 0x9F, 0xBA, 0x28, 0xCE, 0x43, 0x9C, 0x3E, +0x22, 0x7E, 0x7C, 0x7E, 0xBE, 0x3D, 0x3F, 0xAF, 0x93, 0x69, 0x18, 0x12, 0x88, 0x2F, 0x86, 0x40, +0x2C, 0x88, 0x18, 0xF2, 0x74, 0x98, 0x1F, 0x57, 0x6C, 0x3E, 0xCE, 0xB0, 0x22, 0x25, 0xD1, 0x6F, +0x4E, 0x41, 0x4C, 0x1D, 0x55, 0x13, 0x7B, 0xEF, 0xDD, 0xB2, 0x07, 0x1A, 0xAC, 0xA2, 0x9C, 0x4D, +0x4B, 0x3E, 0xCD, 0x5B, 0x9B, 0xF6, 0x90, 0x31, 0x03, 0x71, 0x6E, 0x57, 0x73, 0xFE, 0xF2, 0xD9, +0xAB, 0x97, 0xE7, 0x61, 0xE8, 0xE9, 0x62, 0x17, 0x88, 0x6F, 0x41, 0x2C, 0x8A, 0xC5, 0x10, 0x44, +0x3E, 0x6B, 0xD3, 0xE3, 0x8C, 0x64, 0xD6, 0x47, 0x71, 0xEA, 0x9D, 0x1B, 0x8A, 0x94, 0x44, 0x23, +0x16, 0x43, 0x14, 0x09, 0x45, 0x5E, 0x4A, 0x69, 0x4E, 0x54, 0x36, 0x1D, 0xF2, 0xE9, 0x73, 0xE5, +0xD3, 0xD9, 0x45, 0xF1, 0x83, 0x07, 0x62, 0x31, 0xDC, 0x21, 0xBE, 0xFB, 0xF7, 0xE5, 0x79, 0x2F, +0x99, 0xC6, 0x8D, 0xDB, 0xE9, 0xC9, 0xED, 0x01, 0xB1, 0x99, 0x4E, 0x41, 0xD4, 0x4A, 0x38, 0x9D, +0xF5, 0x75, 0x73, 0x2A, 0xC7, 0xD6, 0xD7, 0x6D, 0x71, 0x64, 0x38, 0x8A, 0x44, 0x6F, 0x14, 0xFD, +0x52, 0x2A, 0x14, 0x6F, 0x0D, 0x8D, 0x78, 0xB0, 0x3E, 0xA3, 0xB5, 0xD1, 0xD5, 0x1B, 0xF9, 0x54, +0x97, 0x36, 0x69, 0x51, 0xCC, 0x11, 0x31, 0x4C, 0xFF, 0x58, 0xC2, 0xF9, 0xBF, 0xCF, 0x9E, 0xBD, +0x0E, 0x44, 0xEE, 0xBD, 0x09, 0xC4, 0x32, 0x5F, 0x18, 0xB1, 0xD3, 0xD7, 0x70, 0x77, 0xAA, 0xD7, +0x19, 0x1A, 0x13, 0x31, 0xE4, 0xFE, 0x3B, 0x1D, 0x2F, 0xF4, 0x62, 0x31, 0xAB, 0x89, 0x81, 0xE8, +0xD5, 0xBE, 0xBE, 0x8B, 0xE2, 0xC2, 0x06, 0xC4, 0x72, 0xB6, 0x7B, 0xE6, 0xD3, 0xE5, 0x88, 0xD3, +0xC7, 0x0B, 0x0C, 0x5F, 0x0E, 0x88, 0xCF, 0x36, 0xC3, 0x2F, 0x98, 0x3B, 0x99, 0xEE, 0xB2, 0xE9, +0x69, 0x20, 0xAA, 0x28, 0xB6, 0x5E, 0xD8, 0x68, 0x8B, 0x01, 0xA2, 0x15, 0x99, 0xF5, 0xE3, 0x08, +0xB1, 0x09, 0x29, 0xC4, 0xB6, 0xA2, 0x0C, 0x85, 0x88, 0x62, 0x59, 0x63, 0x80, 0x58, 0x1B, 0xC6, +0xA5, 0xCD, 0x3F, 0xFB, 0xE6, 0x53, 0x77, 0x36, 0x73, 0x10, 0x93, 0x4B, 0xD3, 0xCF, 0x2B, 0xC4, +0x57, 0x03, 0xE2, 0xCD, 0xBF, 0x97, 0x8F, 0xBF, 0x76, 0x32, 0xDD, 0x05, 0x62, 0x51, 0xAC, 0x6E, +0xC0, 0x03, 0x51, 0xA1, 0xD8, 0xBF, 0x00, 0x27, 0x14, 0x51, 0xF4, 0x77, 0x18, 0x28, 0x26, 0x87, +0x0D, 0x86, 0x10, 0x51, 0xC4, 0x30, 0x4E, 0xF3, 0x7D, 0x06, 0xE9, 0xB4, 0x87, 0x78, 0x10, 0x43, +0x06, 0xF9, 0xD4, 0xFD, 0x29, 0xFB, 0x28, 0x17, 0xC5, 0xA9, 0x88, 0x79, 0x20, 0x26, 0x1B, 0xA8, +0x40, 0x1C, 0xCE, 0xF5, 0x10, 0x8A, 0x4E, 0xA6, 0x65, 0xBE, 0x00, 0x31, 0x14, 0xC3, 0x50, 0xA1, +0x28, 0x44, 0x0C, 0x27, 0x29, 0xDE, 0xFF, 0x6D, 0xA2, 0x09, 0x4B, 0x1C, 0xFA, 0x19, 0xBF, 0xDF, +0x2C, 0x82, 0xC8, 0x8F, 0x2F, 0x14, 0x43, 0x3D, 0xB2, 0x29, 0x88, 0x18, 0x16, 0xC5, 0x4D, 0x92, +0x4F, 0x3F, 0x4F, 0xF2, 0xE9, 0x7C, 0xC4, 0xE9, 0x1B, 0xA8, 0x1D, 0xE2, 0xA7, 0x9B, 0xCB, 0x4B, +0x5D, 0xD5, 0x94, 0xF9, 0xE2, 0x34, 0x10, 0xC3, 0x30, 0x4E, 0xE7, 0x01, 0x38, 0x23, 0x06, 0x88, +0xDA, 0x09, 0x77, 0x7B, 0x1B, 0xFD, 0xF0, 0x89, 0x1D, 0x3D, 0x25, 0x16, 0x45, 0xFF, 0x38, 0x98, +0x37, 0x51, 0xE3, 0x50, 0xF4, 0xDD, 0x29, 0xDD, 0xA9, 0x11, 0xAF, 0xF6, 0xED, 0x4F, 0x17, 0x21, +0xE6, 0x81, 0xE8, 0xAE, 0x06, 0xC4, 0x9B, 0x57, 0x97, 0x4A, 0xA6, 0x65, 0xBE, 0x38, 0x8D, 0x43, +0x20, 0x86, 0xA2, 0x2E, 0xC0, 0xFD, 0x3A, 0x03, 0xC5, 0x74, 0xC8, 0xF8, 0x75, 0xB4, 0x14, 0xF6, +0x91, 0xA3, 0x56, 0x18, 0x7D, 0xC4, 0x50, 0xC4, 0x50, 0xAB, 0x28, 0x5E, 0xF1, 0x3B, 0x9B, 0x86, +0xE1, 0x41, 0x14, 0x45, 0xE5, 0xD3, 0xB4, 0x28, 0xE6, 0x9D, 0x4D, 0x8E, 0x38, 0x7D, 0x15, 0x7C, +0xFE, 0x72, 0x73, 0x8B, 0xF8, 0xE9, 0xF5, 0xE5, 0x25, 0x86, 0x20, 0x6E, 0x06, 0x41, 0x42, 0x31, +0x47, 0xA4, 0xB1, 0xE9, 0x7D, 0xD8, 0x36, 0x36, 0x0C, 0xC4, 0x38, 0xD3, 0x8A, 0x22, 0x8C, 0x2A, +0x89, 0x52, 0xF4, 0x5F, 0xAB, 0x61, 0xB3, 0xDF, 0x9D, 0xF5, 0x8B, 0x21, 0x88, 0x27, 0xEB, 0x40, +0x6C, 0xE6, 0x53, 0x86, 0x8C, 0x25, 0x45, 0x71, 0xD9, 0x5F, 0x09, 0x0E, 0xC3, 0x1D, 0x62, 0x28, +0x6E, 0x2F, 0x87, 0x9F, 0x8C, 0x18, 0x1B, 0x5E, 0x5C, 0x1D, 0xBD, 0x57, 0x6C, 0xAE, 0xA2, 0xD8, +0x09, 0x0F, 0x27, 0x6D, 0x6C, 0xA4, 0x18, 0x86, 0x28, 0xF6, 0x16, 0x8A, 0x4D, 0x43, 0x97, 0x44, +0x10, 0x6D, 0xD8, 0x47, 0x0C, 0x45, 0xCD, 0xFA, 0x77, 0x86, 0xC3, 0xD9, 0xE6, 0xF9, 0xD4, 0x45, +0x31, 0x1F, 0xF7, 0xF3, 0x6C, 0x9A, 0xCE, 0xF9, 0x46, 0x8C, 0x84, 0xFA, 0x3D, 0xC9, 0xF4, 0xAE, +0xAD, 0x39, 0x22, 0x14, 0xDD, 0x9D, 0x52, 0x13, 0x31, 0xD4, 0x52, 0x58, 0x8D, 0x8D, 0x14, 0x61, +0xC4, 0xD0, 0x90, 0x00, 0x32, 0x61, 0x24, 0xBF, 0xBC, 0xE0, 0x9D, 0x70, 0x19, 0x31, 0x7C, 0xFF, +0x0D, 0x62, 0x31, 0x04, 0xF1, 0x6A, 0x6A, 0x3E, 0x9D, 0xD9, 0xD9, 0x2C, 0x0E, 0xC4, 0x40, 0xDC, +0xEE, 0x10, 0x23, 0xA1, 0x9E, 0x11, 0x88, 0xBB, 0xB6, 0xE6, 0xA8, 0x20, 0x32, 0x27, 0xB6, 0x06, +0x45, 0x16, 0xFB, 0x34, 0x36, 0xF9, 0x56, 0x98, 0xCE, 0x86, 0x4F, 0x14, 0xB3, 0x92, 0xE8, 0x6D, +0x62, 0xFA, 0x4C, 0x2A, 0xFF, 0xE9, 0x05, 0x56, 0x51, 0x0A, 0xC4, 0xE1, 0x0C, 0x37, 0x6F, 0xE4, +0x53, 0xF6, 0x51, 0xEC, 0xF7, 0x55, 0x14, 0x17, 0x22, 0x2A, 0x10, 0x0B, 0xA2, 0x02, 0xD1, 0x88, +0xA1, 0xB8, 0xBD, 0x3C, 0xFB, 0xAD, 0x18, 0xD2, 0xD6, 0x1C, 0x85, 0x22, 0x33, 0x86, 0x11, 0xBD, +0xC6, 0xF0, 0x9F, 0xA5, 0xE9, 0xBF, 0x76, 0xD3, 0xB3, 0x45, 0x18, 0xF3, 0x8A, 0xC8, 0xD5, 0xA9, +0x15, 0xFD, 0x2D, 0x46, 0x1B, 0xB1, 0xDE, 0x44, 0x39, 0x10, 0x29, 0x8A, 0xE4, 0x53, 0x0D, 0x19, +0x2A, 0x8A, 0xBA, 0x03, 0x57, 0x67, 0x23, 0xC4, 0x05, 0x81, 0xF8, 0xCB, 0x80, 0xF8, 0xD9, 0x7B, +0xC4, 0x9B, 0x78, 0xDD, 0x55, 0x23, 0x1E, 0x55, 0x88, 0x18, 0xB2, 0x15, 0x0E, 0x43, 0x10, 0xF9, +0xC9, 0x61, 0x1B, 0xFA, 0x57, 0xA3, 0xF5, 0xCC, 0x26, 0x65, 0xF4, 0x94, 0xD8, 0xC9, 0xA7, 0x18, +0xFA, 0x47, 0x4F, 0xFD, 0x55, 0x14, 0xF9, 0xF4, 0x3B, 0x23, 0x2E, 0x29, 0x8A, 0x74, 0x36, 0xCB, +0x11, 0xDD, 0x9A, 0x82, 0xF8, 0x7A, 0x87, 0x18, 0x09, 0xF5, 0xF9, 0xD9, 0xD9, 0xAD, 0x21, 0x6D, +0x4D, 0x9C, 0x3E, 0x62, 0x34, 0x36, 0x5E, 0x28, 0x8E, 0x14, 0x41, 0xEC, 0x2A, 0x32, 0x66, 0xE4, +0x8E, 0x54, 0xC4, 0x38, 0x26, 0x04, 0x11, 0x43, 0xEF, 0x84, 0xB9, 0x3A, 0xF5, 0x98, 0x58, 0x1B, +0x9E, 0x5C, 0x29, 0x9F, 0x7E, 0xD0, 0xA2, 0x98, 0x66, 0x53, 0xDA, 0x1A, 0x5D, 0xD6, 0x14, 0xC3, +0xC7, 0x05, 0xF1, 0xBD, 0xE2, 0xF0, 0x8F, 0xEE, 0xC5, 0x8B, 0x81, 0x8F, 0xB6, 0x06, 0xC4, 0x6A, +0x15, 0x05, 0xA2, 0x3E, 0x4F, 0x14, 0xA2, 0x77, 0xFB, 0x81, 0x68, 0x45, 0x5E, 0x69, 0xC4, 0x49, +0x18, 0xF9, 0x6B, 0x7C, 0x41, 0x28, 0xC3, 0xDE, 0x03, 0x1B, 0x23, 0x96, 0x74, 0x4A, 0x20, 0x1A, +0xB1, 0x2A, 0x8A, 0x0A, 0xC5, 0xC5, 0x45, 0x71, 0x8F, 0x40, 0xFC, 0x51, 0x81, 0x08, 0x22, 0xA1, +0x78, 0x33, 0x5C, 0x32, 0x15, 0xC4, 0xB2, 0x84, 0x3A, 0x2C, 0x88, 0xC3, 0x19, 0xF5, 0x35, 0x18, +0xBA, 0x3B, 0x1D, 0x14, 0xF5, 0xAB, 0xC3, 0x28, 0x62, 0x08, 0x62, 0x61, 0x04, 0x31, 0x81, 0x2C, +0x31, 0x88, 0x21, 0x84, 0x18, 0xF6, 0xDE, 0x7F, 0xB3, 0xD8, 0x6F, 0x2C, 0x31, 0x18, 0x13, 0x31, +0x1C, 0xCE, 0xFA, 0x62, 0x5E, 0x51, 0x5C, 0x8E, 0xD8, 0x9F, 0x2F, 0xEA, 0xC7, 0x51, 0x20, 0xC6, +0x79, 0xB7, 0x1E, 0x10, 0xC9, 0xA6, 0x87, 0x87, 0xBD, 0x50, 0x64, 0x17, 0xC5, 0xEF, 0x49, 0xA1, +0xD8, 0x29, 0x8A, 0xDD, 0x40, 0xE4, 0xA9, 0x0D, 0x8C, 0xC6, 0xE4, 0xAF, 0xB7, 0x05, 0x63, 0xF7, +0xEE, 0x1B, 0x43, 0x87, 0xE2, 0xAD, 0x21, 0xA1, 0xE8, 0xFB, 0x6F, 0x0C, 0x41, 0x8C, 0xA2, 0x98, +0x0C, 0x19, 0x14, 0x45, 0x8D, 0xFB, 0xF3, 0x10, 0xDD, 0xD6, 0x28, 0x10, 0x41, 0xBC, 0xBC, 0x0C, +0x44, 0x14, 0x5F, 0x13, 0x8A, 0x17, 0xEB, 0x9B, 0x82, 0x78, 0xEA, 0x50, 0xD4, 0x37, 0xA6, 0xB5, +0xA2, 0x02, 0x11, 0xC3, 0xF4, 0x67, 0xF8, 0x71, 0xF4, 0x81, 0x51, 0x7F, 0x10, 0x13, 0xC4, 0xA6, +0x21, 0x2B, 0xE1, 0xE6, 0xDB, 0x61, 0x96, 0x18, 0x0A, 0xC4, 0x66, 0x51, 0xFC, 0x65, 0x46, 0x67, +0x33, 0x0D, 0x31, 0x6B, 0x6B, 0xFC, 0xD4, 0xF4, 0x71, 0x41, 0x24, 0x14, 0x87, 0x84, 0xCA, 0xDF, +0x32, 0xDB, 0x1E, 0x0A, 0xB1, 0x18, 0x2A, 0x14, 0xF5, 0x47, 0xA2, 0x40, 0xD4, 0x05, 0xB8, 0xFE, +0x22, 0x06, 0x88, 0x95, 0x23, 0x5D, 0x8C, 0x18, 0x03, 0x51, 0x77, 0x35, 0x6A, 0x4D, 0x6D, 0x18, +0x88, 0x18, 0x1A, 0x31, 0xFE, 0xAF, 0x1C, 0x88, 0x27, 0x6F, 0x9F, 0x27, 0x43, 0xC6, 0xEC, 0xCE, +0x06, 0xC4, 0x2C, 0x9B, 0xF6, 0xE7, 0x0B, 0x23, 0x46, 0x42, 0x1D, 0x14, 0x4B, 0x36, 0xBD, 0x3E, +0x2C, 0x8A, 0xBA, 0x3C, 0x6D, 0x4D, 0xFB, 0xF5, 0x6A, 0xBF, 0xA3, 0x88, 0xA1, 0x12, 0x2A, 0x8C, +0x75, 0x1E, 0x35, 0xE5, 0xAF, 0xCA, 0xA5, 0x18, 0x82, 0xD8, 0xBC, 0xFD, 0x66, 0xAF, 0x4F, 0x20, +0xA2, 0x58, 0x0C, 0x15, 0x88, 0x27, 0xA7, 0x43, 0x8D, 0x49, 0x10, 0xEB, 0xA2, 0x98, 0x20, 0xCA, +0xD0, 0x88, 0xFD, 0xB6, 0xC6, 0x81, 0x08, 0x22, 0x8A, 0x57, 0x17, 0x17, 0x64, 0x53, 0x21, 0xFA, +0xFB, 0x44, 0x02, 0xB1, 0x1C, 0x10, 0xA7, 0x15, 0x45, 0x10, 0x99, 0xF8, 0x7B, 0x89, 0xD4, 0x05, +0xD1, 0x57, 0xDF, 0xDE, 0x60, 0xF8, 0xFA, 0x7B, 0x84, 0x18, 0x86, 0x04, 0xA2, 0x11, 0x37, 0x17, +0xDC, 0xBC, 0x25, 0x45, 0x91, 0xCE, 0x66, 0x26, 0xA2, 0x07, 0x8C, 0xB4, 0xAD, 0x29, 0x88, 0x84, +0x62, 0x9C, 0x48, 0xA8, 0xBB, 0x6C, 0x1A, 0x47, 0x88, 0xFA, 0xDC, 0x5B, 0x91, 0x98, 0x4D, 0xFB, +0xBE, 0x77, 0x73, 0x59, 0x34, 0x64, 0xEF, 0x6F, 0xD2, 0x26, 0x6F, 0x4E, 0x51, 0xE4, 0xF9, 0x77, +0x51, 0x04, 0x91, 0x9B, 0x53, 0x05, 0x62, 0x20, 0xAA, 0x28, 0x4E, 0xED, 0x6C, 0x8C, 0x38, 0xBD, +0x24, 0x66, 0x6D, 0x0D, 0x88, 0x3F, 0x83, 0x58, 0x27, 0xD4, 0x92, 0x4D, 0x09, 0xC5, 0x3E, 0x22, +0x8D, 0xCD, 0x0E, 0x51, 0xDD, 0x29, 0xD9, 0xD4, 0x8A, 0x2E, 0x8A, 0x30, 0x5A, 0xF2, 0x2E, 0x0E, +0x21, 0xC4, 0x30, 0xFF, 0xCB, 0x6D, 0x7C, 0x4D, 0x43, 0x28, 0x0A, 0x31, 0x14, 0xC3, 0x90, 0x40, +0x3C, 0x55, 0x51, 0x4C, 0xAE, 0x4F, 0xD3, 0xF6, 0x34, 0x47, 0x9C, 0x1E, 0x88, 0x05, 0xF1, 0xA7, +0x51, 0x28, 0x3E, 0x8A, 0x84, 0xFA, 0xA2, 0x64, 0x53, 0x10, 0x35, 0x63, 0xB0, 0xC6, 0xB8, 0xF7, +0xE7, 0x33, 0xFC, 0x3E, 0xC3, 0x8A, 0xBC, 0xB5, 0x01, 0x12, 0x36, 0x4E, 0x11, 0x94, 0x22, 0x84, +0x99, 0x61, 0x20, 0xBA, 0x26, 0x52, 0x12, 0xA9, 0x89, 0x18, 0x0E, 0x88, 0x6F, 0xA6, 0x15, 0x45, +0x77, 0x36, 0x93, 0x11, 0xF3, 0x92, 0xA8, 0xB6, 0x86, 0x40, 0xFC, 0x5A, 0x88, 0xA1, 0xB8, 0xB9, +0x18, 0xCE, 0x76, 0xB5, 0x2A, 0x88, 0x1E, 0x14, 0xDD, 0xD8, 0xE8, 0x83, 0xEF, 0x4C, 0x91, 0x77, +0x36, 0x66, 0x54, 0x14, 0x8A, 0x91, 0x0C, 0x0C, 0x62, 0x6E, 0x48, 0x3A, 0xC5, 0x50, 0x3B, 0x61, +0x21, 0x46, 0x31, 0x59, 0x5F, 0x30, 0x29, 0x76, 0xC7, 0xFD, 0xBC, 0xB3, 0x99, 0x8E, 0xD8, 0xCF, +0xA6, 0x6E, 0x6B, 0x0A, 0xE2, 0x4F, 0xA3, 0x7C, 0xBA, 0x1A, 0x12, 0xEA, 0xC5, 0xFA, 0xBA, 0x20, +0xD6, 0xB7, 0xA7, 0xC7, 0x0E, 0x45, 0x10, 0xB5, 0xDB, 0x4F, 0x15, 0x21, 0xF4, 0x3D, 0xF8, 0x88, +0xD2, 0xF3, 0x21, 0x88, 0x1E, 0xF5, 0xF5, 0x5A, 0x51, 0x7D, 0x8D, 0x10, 0x35, 0x25, 0x9E, 0x80, +0xB8, 0x25, 0x9F, 0x7E, 0xE8, 0xCE, 0x06, 0x44, 0x97, 0xC4, 0x3C, 0x9B, 0x82, 0xA8, 0x50, 0x5C, +0x5D, 0xAD, 0xD7, 0xEB, 0x9B, 0xD5, 0x6A, 0x05, 0xA2, 0x5E, 0x9E, 0xDE, 0x29, 0x16, 0x43, 0x3E, +0x33, 0xF5, 0x36, 0x8A, 0x77, 0x36, 0x1A, 0x15, 0x41, 0x54, 0x24, 0x72, 0x94, 0x4A, 0xDD, 0xD5, +0xE4, 0xDF, 0xD2, 0xF0, 0xC0, 0xA6, 0x04, 0xA2, 0x1F, 0x67, 0x14, 0x44, 0x9A, 0x53, 0x0C, 0x4F, +0xF7, 0x1A, 0xF7, 0x97, 0x20, 0xCE, 0xC9, 0xA6, 0x35, 0x22, 0x55, 0xF1, 0xD1, 0x76, 0xBD, 0x59, +0x81, 0x78, 0x0A, 0xA2, 0xAF, 0xC0, 0x89, 0x44, 0x5F, 0xD9, 0xA8, 0x43, 0xCD, 0xC6, 0x0C, 0x8A, +0xA2, 0x4E, 0x5A, 0x11, 0x35, 0x25, 0x26, 0x7F, 0x51, 0xA1, 0x84, 0xA2, 0x6E, 0x4E, 0x31, 0x04, +0x71, 0xEE, 0xB8, 0x3F, 0x80, 0x2C, 0x43, 0x64, 0xD2, 0xEF, 0x64, 0x53, 0x10, 0x5D, 0x15, 0x6F, +0x36, 0xAF, 0x57, 0x28, 0x82, 0xA8, 0x2B, 0x9B, 0xCE, 0x0F, 0x9E, 0x2A, 0x12, 0xD5, 0xA1, 0xA2, +0xE8, 0x68, 0xEC, 0x43, 0x36, 0x43, 0x51, 0x97, 0xDF, 0x18, 0x6A, 0x21, 0xDC, 0x5A, 0xEB, 0x63, +0x08, 0x22, 0x86, 0x71, 0x6E, 0xD4, 0xD9, 0x3C, 0x24, 0xA2, 0x4B, 0xE2, 0xFD, 0xD9, 0x14, 0xC4, +0x51, 0x28, 0x5E, 0xBF, 0x03, 0x91, 0xC6, 0xA6, 0x8D, 0xF8, 0x8D, 0x10, 0x99, 0xF6, 0x3B, 0xA3, +0xA2, 0x83, 0xD1, 0x8E, 0xD2, 0x04, 0x50, 0xD9, 0xD4, 0xA3, 0xBE, 0x0C, 0xD9, 0x43, 0x19, 0x91, +0xDB, 0x6F, 0x26, 0x8C, 0x62, 0x58, 0xCE, 0xD1, 0x5A, 0xE3, 0xFE, 0xB4, 0xCE, 0x66, 0x29, 0x62, +0x5E, 0x12, 0x7F, 0xBE, 0x43, 0x74, 0x28, 0x3E, 0x5A, 0x95, 0xE3, 0x41, 0x11, 0xC5, 0x30, 0xE4, +0x0A, 0x7C, 0xB4, 0xDC, 0xD7, 0x37, 0x8A, 0xDA, 0x0C, 0xA3, 0x28, 0xC6, 0x2A, 0x0C, 0xC1, 0xEC, +0x8D, 0x88, 0x1E, 0x12, 0x51, 0xAC, 0x0C, 0xA3, 0xAF, 0xE9, 0x7D, 0x11, 0x45, 0x28, 0x86, 0x21, +0x88, 0x61, 0x78, 0xB4, 0x9D, 0x34, 0xEE, 0xCF, 0x68, 0x4F, 0x41, 0xA4, 0x39, 0x55, 0x5F, 0x93, +0x64, 0xD3, 0xA7, 0x20, 0x8E, 0x42, 0xB1, 0x28, 0x56, 0x33, 0xC6, 0x41, 0x73, 0xC6, 0xF0, 0x4E, +0x91, 0xFE, 0x14, 0x45, 0x31, 0x62, 0x78, 0x8B, 0xC8, 0x51, 0x08, 0x02, 0xD9, 0x2B, 0x88, 0xF9, +0x37, 0x6D, 0x7F, 0xEC, 0x0C, 0x1B, 0x6B, 0xA8, 0x31, 0x22, 0x91, 0x48, 0x20, 0x1E, 0x25, 0x9D, +0x4D, 0xD2, 0x9E, 0xE6, 0x88, 0x79, 0x49, 0xEC, 0x67, 0xD3, 0x3B, 0xC4, 0x32, 0x65, 0x38, 0x14, +0x7D, 0xF1, 0x56, 0x0C, 0x6B, 0x45, 0x23, 0xA2, 0x08, 0x22, 0x86, 0x20, 0x8A, 0x50, 0xF9, 0x14, +0x3A, 0x8E, 0x14, 0xA9, 0x88, 0x6E, 0x6B, 0xBC, 0x10, 0xD6, 0xC5, 0xA9, 0xDE, 0x66, 0x94, 0x50, +0x24, 0x10, 0x8F, 0xDE, 0xE4, 0x9D, 0x0D, 0xED, 0xE9, 0x0C, 0xC4, 0xD9, 0x25, 0xF1, 0x67, 0x10, +0xBB, 0xA1, 0xC8, 0x95, 0x0D, 0x55, 0xD1, 0x88, 0x18, 0xDE, 0x21, 0x7E, 0xB1, 0x57, 0x3E, 0x85, +0x90, 0x23, 0x46, 0x03, 0xEE, 0x14, 0x21, 0x44, 0x11, 0x43, 0x46, 0xFD, 0x30, 0x2C, 0x35, 0xD1, +0x88, 0xDE, 0x25, 0x62, 0x38, 0x9C, 0x79, 0x9D, 0x4D, 0x36, 0x63, 0x80, 0x98, 0x97, 0xC4, 0x18, +0x30, 0xF4, 0x2E, 0xA3, 0x46, 0x74, 0x28, 0x0A, 0x91, 0x50, 0x04, 0xD1, 0x7F, 0x3F, 0x31, 0x10, +0xB5, 0x18, 0x66, 0x33, 0x8C, 0xA2, 0x32, 0xAA, 0x18, 0x6D, 0x89, 0x9E, 0x0C, 0xE3, 0xBF, 0x07, +0xA2, 0x47, 0x7D, 0x0C, 0xA9, 0x89, 0x05, 0xB1, 0xF5, 0xE4, 0x14, 0xC3, 0x40, 0x8C, 0xC3, 0x9D, +0x4D, 0x76, 0xF1, 0xE6, 0xF6, 0x74, 0x39, 0xA2, 0x4B, 0x62, 0x18, 0x0A, 0xB1, 0x1F, 0x8A, 0x05, +0x91, 0x49, 0x51, 0xCB, 0x28, 0x7F, 0x19, 0x55, 0x5F, 0x82, 0x93, 0x4F, 0x51, 0x94, 0xA1, 0x9B, +0x1B, 0x1F, 0x19, 0x6A, 0xCA, 0x6F, 0x46, 0x22, 0x4F, 0xA4, 0x30, 0xAC, 0x2E, 0x4E, 0xB5, 0xC2, +0x50, 0x20, 0xD2, 0xD9, 0xEC, 0xD9, 0x9E, 0xE6, 0x88, 0x49, 0x73, 0xAA, 0x92, 0xA8, 0x6C, 0x5A, +0x10, 0x3F, 0x31, 0x22, 0x8A, 0x46, 0xA4, 0xB1, 0x71, 0x67, 0xD3, 0x79, 0xB7, 0xE8, 0x79, 0x3F, +0x8E, 0x0D, 0x39, 0xB9, 0xA2, 0x5B, 0x1A, 0xB7, 0xA6, 0xFE, 0x01, 0x1B, 0x7F, 0x86, 0xE1, 0xDB, +0x6F, 0xDA, 0x1A, 0x10, 0x0F, 0xAF, 0x96, 0xB4, 0xA7, 0x33, 0x10, 0xE9, 0x6B, 0xF2, 0x92, 0x08, +0x62, 0x16, 0x8A, 0x8C, 0xFB, 0x52, 0x04, 0x11, 0xC5, 0x40, 0x44, 0x51, 0x86, 0x56, 0x14, 0x60, +0xA6, 0x88, 0x60, 0x31, 0x74, 0x57, 0xA3, 0xBE, 0x86, 0x2D, 0x14, 0x86, 0x42, 0x64, 0xD4, 0x2F, +0x86, 0xE5, 0x5C, 0xEB, 0xDD, 0x62, 0xD6, 0x9E, 0xCE, 0x44, 0xA4, 0x39, 0x9D, 0x5C, 0x12, 0x9F, +0x3E, 0x1D, 0x10, 0x7B, 0xA1, 0xE8, 0x7C, 0x7A, 0xD0, 0x41, 0xC4, 0x90, 0x4B, 0x70, 0x0C, 0x3B, +0x88, 0xFD, 0x60, 0x6C, 0xD9, 0xF9, 0xB4, 0xC2, 0x50, 0x84, 0x44, 0x22, 0x7F, 0xAF, 0x8D, 0x85, +0x70, 0x31, 0xF4, 0x0A, 0xA3, 0x28, 0x62, 0x78, 0x78, 0xC8, 0x36, 0x6A, 0x79, 0x7B, 0x9A, 0x23, +0x4E, 0x2F, 0x89, 0x5F, 0x07, 0xE2, 0x59, 0x41, 0xB4, 0x62, 0x41, 0xB4, 0xE2, 0x71, 0x4B, 0x11, +0x44, 0xF2, 0x29, 0x88, 0xFE, 0xD6, 0xD4, 0x1D, 0x6A, 0x1E, 0x8F, 0x12, 0x54, 0x41, 0xF4, 0x87, +0xFA, 0x10, 0x72, 0x6F, 0x0A, 0x62, 0x67, 0x0D, 0x65, 0xC4, 0x68, 0xEF, 0xD6, 0x17, 0x73, 0xDB, +0xD3, 0xE5, 0x88, 0x49, 0x49, 0xFC, 0xFE, 0xFB, 0xE7, 0xDB, 0x4F, 0xBA, 0xA1, 0xC8, 0xBC, 0xEF, +0x50, 0xD4, 0x4F, 0x12, 0x51, 0x13, 0xB9, 0x04, 0xAF, 0x42, 0x51, 0xB1, 0x88, 0xA1, 0x08, 0x9B, +0x96, 0x12, 0xEC, 0x67, 0xD3, 0x2A, 0x0C, 0x79, 0x22, 0xA5, 0x74, 0x2A, 0x43, 0x10, 0x31, 0xBC, +0x45, 0xE4, 0x9D, 0xCD, 0xEC, 0xF6, 0x34, 0x47, 0x9C, 0xD3, 0xD7, 0x3C, 0x05, 0xB1, 0xA9, 0xC8, +0xB8, 0x2F, 0x45, 0x10, 0xB5, 0xDD, 0x27, 0x14, 0xAD, 0x18, 0x47, 0x8A, 0x32, 0x4C, 0x0F, 0x84, +0x1A, 0xF3, 0xB5, 0xBE, 0xA0, 0x39, 0x55, 0x5B, 0xA3, 0x49, 0xBF, 0x6F, 0x78, 0xF8, 0x00, 0xED, +0x29, 0x88, 0xB3, 0x9A, 0x53, 0xFE, 0x7E, 0xC9, 0x59, 0x20, 0xA2, 0x58, 0xE7, 0x53, 0x10, 0x35, +0xEE, 0xD7, 0xDB, 0x28, 0x29, 0xEA, 0x16, 0xBC, 0x4A, 0xA9, 0x3D, 0xC6, 0x7D, 0x0C, 0xFB, 0x15, +0x71, 0x84, 0x48, 0x49, 0xB4, 0x61, 0x20, 0xFA, 0x33, 0x0C, 0x10, 0x31, 0x9C, 0xDD, 0x9E, 0x2E, +0x41, 0x74, 0x73, 0xFA, 0x67, 0x8E, 0x48, 0x28, 0x52, 0x14, 0x8D, 0x18, 0x8A, 0x6E, 0x4F, 0x51, +0xD4, 0x1B, 0x0D, 0x05, 0xA3, 0x18, 0xE5, 0x98, 0xF8, 0xA9, 0x20, 0xAA, 0xAD, 0x51, 0x3A, 0xD5, +0xB7, 0xA5, 0x7C, 0xD3, 0xA6, 0x15, 0x06, 0x86, 0x20, 0x2E, 0x6A, 0x4F, 0x67, 0x22, 0xBA, 0x39, +0xF5, 0xC5, 0x69, 0x94, 0xC4, 0x40, 0x94, 0x22, 0x88, 0xCD, 0x3B, 0x1B, 0x14, 0x79, 0xA2, 0x01, +0x22, 0xF3, 0xBE, 0x10, 0x65, 0x08, 0x23, 0x30, 0x09, 0xA4, 0x0C, 0x5B, 0x23, 0x22, 0x84, 0x2E, +0x89, 0xC5, 0xD0, 0x0F, 0xF8, 0x31, 0x0C, 0x45, 0xE6, 0x8B, 0xC3, 0x72, 0xDE, 0x7D, 0xD8, 0xF6, +0x34, 0x47, 0x74, 0x73, 0xDA, 0x29, 0x89, 0x81, 0xB8, 0xF9, 0xA8, 0x17, 0x8A, 0x8F, 0x6A, 0x45, +0xAF, 0xA3, 0x50, 0x34, 0xA2, 0xF7, 0xFB, 0xAE, 0x8A, 0x1C, 0x60, 0xCC, 0x98, 0xD7, 0x43, 0x04, +0x41, 0x64, 0x07, 0xC5, 0x17, 0x6D, 0xFA, 0xA6, 0x4D, 0x1F, 0x61, 0x18, 0xF1, 0x70, 0x77, 0x66, +0xDF, 0x9E, 0x2E, 0x47, 0xCC, 0xFA, 0x9A, 0xDF, 0x02, 0x31, 0x51, 0x64, 0xDC, 0x37, 0x62, 0x28, +0xF2, 0xC1, 0xB0, 0xEE, 0x4F, 0x83, 0xD1, 0x91, 0x48, 0x28, 0x3A, 0x16, 0xA7, 0x07, 0x22, 0x82, +0x55, 0x57, 0xA3, 0xF5, 0x05, 0x8B, 0x44, 0xA7, 0x53, 0x92, 0xA9, 0xDF, 0xEF, 0xD7, 0x88, 0xAB, +0xD5, 0xFA, 0x61, 0xDA, 0x53, 0x23, 0x4E, 0xED, 0x6B, 0xF6, 0x43, 0xAC, 0x15, 0xFD, 0x37, 0x4E, +0xB8, 0x04, 0x97, 0xE2, 0x6D, 0x46, 0x45, 0x51, 0x8C, 0x18, 0x26, 0x8E, 0xE0, 0xA1, 0x98, 0x54, +0x44, 0x10, 0x31, 0x54, 0x49, 0xD4, 0x87, 0x34, 0x4C, 0x89, 0xB5, 0xE1, 0xEA, 0x81, 0xDA, 0xD3, +0xE5, 0x88, 0xBF, 0x15, 0xC4, 0x7B, 0x14, 0xFD, 0x5C, 0xAA, 0xF9, 0x45, 0xC6, 0xE8, 0x07, 0x6D, +0x7E, 0x78, 0xF2, 0xE4, 0xBB, 0x93, 0xDB, 0xF3, 0xE4, 0x9B, 0xAF, 0xC6, 0x8A, 0x20, 0x4A, 0x11, +0x47, 0x53, 0x8A, 0xAF, 0x19, 0x8A, 0x18, 0xEA, 0x3B, 0x7D, 0x27, 0x53, 0x5F, 0x7E, 0xF7, 0x0D, +0x57, 0x0F, 0xD3, 0x9E, 0x1A, 0xB1, 0x3F, 0x61, 0xD0, 0x9C, 0x56, 0x7D, 0xCD, 0x90, 0x1C, 0xFE, +0x67, 0xEE, 0x5E, 0x7E, 0x5B, 0x27, 0xA2, 0x30, 0x80, 0x8B, 0x05, 0xD9, 0x54, 0x49, 0x51, 0x62, +0x9C, 0x40, 0xEA, 0x87, 0x12, 0x3B, 0x36, 0x25, 0x3C, 0x4C, 0x84, 0x4A, 0x80, 0xF0, 0xB0, 0x4C, +0xB0, 0x13, 0x90, 0x80, 0x2D, 0x2C, 0x00, 0x21, 0xC4, 0x82, 0xD7, 0x82, 0xCB, 0xDF, 0xCF, 0x1C, +0x9F, 0x89, 0xBF, 0xD8, 0xC7, 0x66, 0x12, 0xDC, 0x02, 0x1F, 0x0F, 0x51, 0xDA, 0xA6, 0x97, 0xFC, +0x98, 0xF1, 0x39, 0x33, 0x63, 0xDF, 0xAF, 0xBE, 0x15, 0x88, 0xE7, 0x8A, 0x87, 0x8E, 0x83, 0x8B, +0x12, 0xB1, 0x52, 0xCC, 0x87, 0xBB, 0xF3, 0x0C, 0xEF, 0x9C, 0x19, 0x19, 0x36, 0x5A, 0x7E, 0x7F, +0xE5, 0x25, 0xF5, 0x09, 0x15, 0x90, 0xC6, 0x08, 0x40, 0xD1, 0x23, 0x32, 0x21, 0xEE, 0x67, 0x63, +0x44, 0x79, 0xDE, 0x54, 0xAE, 0x9B, 0xC2, 0x50, 0x45, 0x1B, 0x0A, 0x44, 0xCC, 0xA7, 0x3D, 0xCB, +0x53, 0x33, 0x62, 0x77, 0x71, 0xFA, 0x76, 0x0D, 0xB1, 0x7B, 0x28, 0x1E, 0x80, 0xD8, 0x71, 0xE6, +0x0D, 0x3B, 0x19, 0x4B, 0x46, 0x74, 0x0F, 0x00, 0x3C, 0xBD, 0x50, 0x90, 0x32, 0x22, 0x06, 0x62, +0x32, 0x55, 0xF1, 0x60, 0x00, 0xC7, 0x8B, 0x24, 0xE1, 0x07, 0xC1, 0x92, 0xD0, 0xBF, 0x1B, 0x2E, +0x32, 0x94, 0x35, 0x29, 0x2A, 0x53, 0x36, 0x74, 0xD7, 0x87, 0xDD, 0xDC, 0x49, 0x60, 0x28, 0xD7, +0x4D, 0x17, 0xED, 0x88, 0x7F, 0x3C, 0xC1, 0xE6, 0x7E, 0x7F, 0xC4, 0xF7, 0x04, 0x22, 0x14, 0x1B, +0x23, 0xF1, 0x4E, 0x20, 0x76, 0x9F, 0xD1, 0xC8, 0xA1, 0x07, 0xC5, 0x43, 0x12, 0xD7, 0x14, 0xED, +0x61, 0x99, 0xCC, 0xEE, 0x50, 0x44, 0x3A, 0xC7, 0x60, 0xE8, 0x1F, 0x9B, 0x82, 0x85, 0xED, 0x0E, +0x55, 0xE6, 0x11, 0x46, 0x22, 0x8E, 0xD6, 0xB0, 0xA1, 0xA3, 0x7E, 0x39, 0xA3, 0x11, 0xFD, 0x5A, +0x85, 0x61, 0x27, 0xE2, 0xA1, 0xCC, 0xB3, 0xBE, 0xE5, 0xE9, 0xF5, 0x88, 0x86, 0x0E, 0x03, 0x88, +0x9F, 0x2B, 0x44, 0x31, 0x14, 0x45, 0xAB, 0x28, 0x10, 0x45, 0x93, 0xE1, 0x68, 0x44, 0x77, 0xB9, +0x6B, 0xCD, 0x1A, 0x8A, 0xE3, 0xC2, 0x8E, 0x18, 0xD1, 0xB5, 0x6C, 0x61, 0x78, 0x59, 0xC6, 0xF3, +0xE1, 0xF0, 0xF6, 0xD8, 0x5C, 0xA8, 0xB1, 0xEE, 0x86, 0x14, 0x8F, 0x0C, 0x5B, 0x37, 0x12, 0xFD, +0x79, 0x89, 0xE8, 0x85, 0x79, 0x9E, 0x0B, 0xC3, 0x8E, 0xE9, 0xF4, 0xC0, 0xA9, 0x7A, 0x0C, 0x59, +0xD9, 0xC8, 0x5B, 0x4D, 0xCD, 0x9B, 0xFB, 0x66, 0x44, 0xD1, 0x61, 0x98, 0x11, 0x85, 0xA2, 0x44, +0x24, 0xC5, 0xD6, 0x33, 0x6F, 0xE8, 0x32, 0x14, 0xA2, 0x33, 0x42, 0xCE, 0x15, 0xEF, 0xCF, 0x66, +0x54, 0x3B, 0x66, 0x44, 0x1F, 0x88, 0x82, 0x11, 0x23, 0xAF, 0x25, 0xD6, 0x7C, 0xA8, 0x12, 0x36, +0xCB, 0x52, 0x6B, 0x48, 0xD9, 0xED, 0xF2, 0xB1, 0x58, 0xFA, 0x26, 0xC2, 0xB0, 0xFC, 0xC5, 0xA9, +0xFF, 0xC4, 0x7B, 0x17, 0x2B, 0x6E, 0x30, 0x6C, 0x47, 0x3C, 0xE8, 0x4C, 0xD5, 0x3E, 0xC6, 0xDF, +0x94, 0xA7, 0x2A, 0xA2, 0x3C, 0x7D, 0x4A, 0x44, 0x14, 0xA7, 0x25, 0xE2, 0x9F, 0x18, 0x8A, 0x42, +0x71, 0xDA, 0x50, 0x64, 0x44, 0x28, 0x02, 0x51, 0x2F, 0xDB, 0x54, 0x88, 0xD3, 0xF2, 0xF3, 0x87, +0xBA, 0xA2, 0x44, 0x44, 0xE0, 0x88, 0xB4, 0x3A, 0xD2, 0x57, 0xDD, 0x0E, 0x29, 0xF7, 0x47, 0x16, +0xAC, 0x14, 0xAD, 0x5B, 0x45, 0xA8, 0x72, 0x18, 0x6B, 0xC2, 0xC6, 0x6D, 0xFA, 0xFE, 0x81, 0x11, +0x03, 0xF7, 0x6C, 0x36, 0x15, 0xCF, 0x3D, 0x81, 0xE1, 0x19, 0xE2, 0x54, 0xDD, 0x2B, 0x66, 0x38, +0xB6, 0x68, 0xD8, 0xDC, 0x7F, 0x62, 0x44, 0x28, 0x0A, 0xC4, 0x0E, 0xC5, 0xE6, 0x48, 0xC4, 0x02, +0xAA, 0xEB, 0x94, 0xDF, 0xEF, 0xBE, 0xCB, 0x37, 0xCC, 0x1C, 0xD3, 0x75, 0xA5, 0xE8, 0xB1, 0xA1, +0x8A, 0x1D, 0xAB, 0x0F, 0xE5, 0x48, 0x94, 0x90, 0x32, 0xE5, 0x17, 0x24, 0x43, 0xCE, 0x18, 0x82, +0x8C, 0x18, 0x57, 0x3F, 0xAA, 0x42, 0xAC, 0x5D, 0x11, 0x47, 0x8C, 0xE8, 0xBA, 0xB5, 0xB2, 0x06, +0x8A, 0x30, 0xBC, 0x6F, 0x1A, 0x4E, 0x7F, 0xE9, 0x51, 0x9E, 0x3E, 0x29, 0xE2, 0xC7, 0x0A, 0xF1, +0x19, 0x10, 0x85, 0x22, 0x10, 0x49, 0xB1, 0x7D, 0x11, 0xBC, 0x8E, 0x18, 0x3A, 0x1B, 0x4A, 0x1E, +0xF3, 0x03, 0xF9, 0x0B, 0xEB, 0xE1, 0x18, 0x9C, 0xE6, 0xD5, 0x65, 0x75, 0x51, 0x8C, 0x76, 0x14, +0x42, 0x54, 0x11, 0x84, 0x26, 0xC5, 0x74, 0xA8, 0x13, 0x59, 0x35, 0xC3, 0x71, 0xF1, 0xB0, 0xD6, +0x8A, 0x21, 0x23, 0x36, 0xAE, 0x88, 0x87, 0x4D, 0x99, 0xFB, 0x28, 0xA9, 0xD6, 0xBE, 0x81, 0x68, +0x30, 0x1C, 0xFE, 0xF6, 0xF8, 0xE5, 0xA9, 0x19, 0x51, 0xF6, 0xFA, 0xB2, 0x4D, 0xFC, 0xF8, 0x63, +0x46, 0x94, 0x43, 0x11, 0x8A, 0xD8, 0x53, 0xAC, 0x3D, 0x49, 0x5A, 0xAC, 0xBC, 0x69, 0xC4, 0x60, +0x43, 0x71, 0x66, 0xFA, 0x40, 0x7F, 0x1A, 0xDB, 0x0F, 0xC5, 0x74, 0x57, 0x66, 0x1A, 0x53, 0x80, +0xB8, 0x73, 0x2D, 0x9B, 0x73, 0x11, 0xA2, 0x75, 0xCA, 0xFC, 0x84, 0xA8, 0xBF, 0x1F, 0xE7, 0xA2, +0x2C, 0xEB, 0xA0, 0x7F, 0x14, 0xB6, 0xA0, 0xB0, 0x17, 0x1C, 0x6C, 0x38, 0xAE, 0x2F, 0x9E, 0x71, +0x0A, 0x43, 0x20, 0xCE, 0x0D, 0x88, 0x7D, 0xCE, 0x9E, 0x9A, 0x11, 0xBB, 0x7B, 0xFD, 0xD7, 0x24, +0xE2, 0x57, 0xCF, 0xB6, 0x72, 0x28, 0xA2, 0xCB, 0xE8, 0x44, 0x94, 0x8A, 0x79, 0x03, 0x51, 0xAF, +0x83, 0xA7, 0xB1, 0xF5, 0x70, 0xBB, 0x2B, 0x93, 0x37, 0x10, 0x7D, 0x4B, 0x18, 0x76, 0x49, 0x5A, +0xC8, 0x6A, 0x78, 0xCA, 0xBA, 0x8E, 0x48, 0x8A, 0xFE, 0x8E, 0xE3, 0xE1, 0xFE, 0xEE, 0xE6, 0x40, +0xBC, 0x8D, 0x93, 0x3C, 0x17, 0x86, 0x28, 0x6A, 0x04, 0x22, 0x19, 0xD2, 0xE3, 0x0B, 0x7B, 0x94, +0xA7, 0xBD, 0x11, 0xE5, 0x01, 0x9B, 0xB7, 0xEB, 0x88, 0x50, 0x44, 0x6D, 0x03, 0xC4, 0x96, 0xE9, +0xB4, 0xE3, 0xFE, 0x28, 0x46, 0xA4, 0x57, 0x61, 0x44, 0xD7, 0xE7, 0xC1, 0x18, 0xD9, 0x0F, 0xD3, +0x11, 0x65, 0x3E, 0x96, 0x23, 0x11, 0x88, 0x32, 0xAD, 0x8C, 0xE9, 0x59, 0xAD, 0x74, 0x6C, 0xEE, +0x03, 0x17, 0x0F, 0xB7, 0x23, 0x8E, 0xAB, 0x09, 0x81, 0x18, 0x6C, 0x6E, 0xCA, 0xA4, 0x34, 0x10, +0x85, 0x61, 0x3B, 0x22, 0x0C, 0xA7, 0x84, 0xF8, 0x4F, 0xCA, 0xD3, 0xE7, 0x1F, 0x13, 0x51, 0x76, +0x18, 0x8C, 0xF8, 0x07, 0x21, 0x0A, 0x45, 0x2C, 0xDA, 0x74, 0x22, 0xCA, 0xE7, 0x12, 0x31, 0xA2, +0xCA, 0xC6, 0xF1, 0x43, 0x17, 0x37, 0xBA, 0x45, 0x76, 0x34, 0x2A, 0xD3, 0x9C, 0x4E, 0xED, 0x42, +0xCC, 0xA7, 0xC6, 0x1C, 0x76, 0x88, 0x85, 0xEB, 0x21, 0x27, 0xB6, 0x6D, 0x8D, 0x38, 0x87, 0x21, +0x23, 0xFA, 0x73, 0x46, 0x5C, 0x45, 0x89, 0xF8, 0x1D, 0xBE, 0x3C, 0x8E, 0x44, 0xAC, 0x0C, 0xF9, +0xB9, 0x77, 0x3D, 0xCA, 0xD3, 0x27, 0x47, 0x6C, 0x99, 0x50, 0xE5, 0xF2, 0x69, 0x5D, 0xB1, 0xE3, +0xF7, 0xDC, 0x27, 0x44, 0x8A, 0xE3, 0xD7, 0x76, 0x87, 0x23, 0x6B, 0xCE, 0xC3, 0x83, 0xAF, 0x8A, +0x85, 0x36, 0x0D, 0xC9, 0xC0, 0xBE, 0xCE, 0x71, 0xB5, 0x3B, 0x4B, 0x84, 0xE5, 0x52, 0x0A, 0xBD, +0xF6, 0xD1, 0xD7, 0x8A, 0x2B, 0xAC, 0xB7, 0x71, 0x97, 0xB8, 0x61, 0xC4, 0xC8, 0x6D, 0x3C, 0xBA, +0x5D, 0x34, 0xFA, 0x40, 0x64, 0x43, 0x46, 0xFC, 0x93, 0x1A, 0xC5, 0x5E, 0xE5, 0x29, 0x14, 0xCD, +0x88, 0x62, 0xD5, 0xCD, 0x8C, 0x28, 0x87, 0x62, 0xEB, 0x4E, 0x86, 0x78, 0xA6, 0xBB, 0x58, 0x40, +0x55, 0x88, 0x03, 0x4A, 0x72, 0x36, 0x12, 0x55, 0xD2, 0x22, 0xD7, 0x45, 0x2B, 0x37, 0x8B, 0xE7, +0x88, 0xEC, 0x68, 0x86, 0xC4, 0x64, 0x8A, 0x84, 0x16, 0x10, 0x63, 0x4E, 0xF1, 0xB0, 0xD8, 0x70, +0xDC, 0x2C, 0xF3, 0x61, 0xE8, 0x7A, 0x37, 0x37, 0x03, 0x15, 0x2F, 0x4D, 0x64, 0x59, 0x83, 0x1E, +0x51, 0x18, 0xF2, 0x40, 0xA4, 0x00, 0xF1, 0xA2, 0xCA, 0xE6, 0x5F, 0x45, 0xFC, 0x7D, 0x0B, 0xC5, +0xC6, 0x50, 0xEC, 0x3A, 0x7E, 0x0A, 0x45, 0x8D, 0x08, 0x45, 0x8D, 0xE8, 0xBA, 0x1A, 0x51, 0x2B, +0x46, 0xC9, 0x86, 0x92, 0x50, 0xFF, 0xA6, 0x10, 0xD3, 0xCD, 0x06, 0x88, 0x70, 0xBC, 0x00, 0xF2, +0x8E, 0xF5, 0x78, 0x4E, 0x1D, 0x39, 0x56, 0xC1, 0xC1, 0x16, 0x62, 0x6C, 0x8F, 0x35, 0xE2, 0x7D, +0x3A, 0x03, 0x61, 0xE8, 0xEE, 0x94, 0xA1, 0x4A, 0xE8, 0x56, 0x55, 0x0D, 0x96, 0x6B, 0x0C, 0x86, +0x3D, 0x10, 0x51, 0xD9, 0x3C, 0x39, 0xA2, 0x9C, 0x50, 0x51, 0xD9, 0xC8, 0x4D, 0x45, 0x79, 0x74, +0x11, 0x8A, 0xE1, 0x5A, 0xBF, 0x55, 0x21, 0x14, 0x7D, 0x85, 0x98, 0xD3, 0x2B, 0x13, 0x22, 0x85, +0x10, 0x29, 0xA1, 0x3D, 0x1E, 0xD7, 0x18, 0x8D, 0x94, 0xF9, 0x88, 0x33, 0x2E, 0xFF, 0xBE, 0x59, +0x58, 0x0C, 0x78, 0x7E, 0x56, 0x38, 0xB6, 0x12, 0x3D, 0x71, 0x3A, 0x99, 0x36, 0xA4, 0xAC, 0xD8, +0x70, 0x1A, 0x25, 0xB9, 0x43, 0x31, 0x1B, 0xE2, 0x82, 0xC8, 0xF9, 0x99, 0x10, 0x1F, 0xBB, 0x3C, +0xE5, 0x7F, 0xF1, 0xA8, 0x88, 0x50, 0x1C, 0x41, 0xB1, 0x73, 0x53, 0x11, 0x8A, 0x58, 0xB7, 0x09, +0xEF, 0x78, 0x3A, 0x75, 0xC3, 0x9A, 0x62, 0xE4, 0x9D, 0x23, 0xC6, 0x40, 0x84, 0x22, 0x00, 0xBB, +0x35, 0x63, 0x6D, 0xB8, 0x7E, 0x67, 0xCD, 0x8B, 0x2F, 0x56, 0x65, 0x88, 0xCD, 0xFC, 0xB1, 0xA5, +0x4B, 0x98, 0x69, 0x0A, 0x44, 0x7F, 0x38, 0x28, 0xB3, 0xF4, 0xF3, 0xF6, 0x2D, 0xA8, 0x1A, 0x22, +0xB6, 0x2F, 0x60, 0xB8, 0xFB, 0x45, 0xAD, 0xBB, 0xF5, 0x28, 0x4F, 0xFB, 0x20, 0x76, 0x6F, 0x62, +0x7C, 0xC4, 0x88, 0xBF, 0x6C, 0x9B, 0x8A, 0x68, 0x15, 0xB9, 0x3E, 0xED, 0x46, 0x94, 0x8A, 0xAE, +0x46, 0x0C, 0x71, 0x1E, 0x9C, 0x12, 0x1D, 0xCA, 0x17, 0x4E, 0x35, 0x62, 0xC8, 0x88, 0x29, 0x09, +0xC0, 0xD0, 0x18, 0x6B, 0xA1, 0x11, 0xAD, 0x77, 0xFD, 0x91, 0x7E, 0x85, 0x02, 0x82, 0x64, 0x48, +0x29, 0xD2, 0x1B, 0x4E, 0x80, 0xD9, 0x34, 0x1F, 0x70, 0xD2, 0xB0, 0x7D, 0xC1, 0xCD, 0xEB, 0x40, +0x84, 0x21, 0x10, 0x7B, 0x94, 0xA7, 0x50, 0x7C, 0x6C, 0x44, 0xA9, 0x88, 0x1D, 0x29, 0x23, 0xA2, +0x5E, 0x06, 0x07, 0xE2, 0x96, 0x12, 0x95, 0x88, 0x38, 0x4A, 0xEC, 0xF2, 0x8B, 0xC7, 0x51, 0x99, +0x71, 0xC2, 0x23, 0x3E, 0x2A, 0x05, 0x0A, 0x1D, 0xB3, 0x61, 0xB2, 0xE1, 0x84, 0x0F, 0x96, 0x1E, +0xCB, 0x89, 0x5D, 0xC0, 0x30, 0xE2, 0xA4, 0x91, 0x75, 0x3B, 0x28, 0x33, 0x4A, 0x35, 0x61, 0xE8, +0xAA, 0x7F, 0xB3, 0x55, 0xB9, 0x4D, 0xF3, 0xEB, 0x10, 0x61, 0xB8, 0xFB, 0xED, 0xAB, 0xAF, 0xBF, +0xEC, 0x51, 0x9E, 0x3E, 0x29, 0xE2, 0xCF, 0x12, 0xF1, 0xA6, 0xB6, 0x6A, 0x33, 0x15, 0xAD, 0x22, +0xBA, 0x8C, 0x2E, 0xC4, 0x94, 0x10, 0x31, 0x16, 0x33, 0x7E, 0x57, 0x0F, 0x45, 0x9A, 0x6A, 0xC4, +0x32, 0x29, 0x09, 0xC0, 0xD1, 0x08, 0x39, 0x64, 0xB9, 0xE1, 0xBB, 0x96, 0x6D, 0xF3, 0x3F, 0x06, +0xF4, 0x0A, 0xE2, 0x3C, 0xC6, 0xD8, 0x1E, 0x70, 0x9C, 0xD3, 0x99, 0x6F, 0x97, 0x0D, 0xB7, 0x89, +0x0B, 0x43, 0x20, 0x8A, 0x25, 0x37, 0x81, 0xB8, 0x53, 0xF9, 0x5D, 0xAD, 0xBB, 0x5D, 0xB1, 0x7A, +0xFA, 0xC2, 0xBF, 0x8F, 0x28, 0x15, 0x81, 0x38, 0x25, 0xC4, 0x4E, 0xC5, 0xC6, 0x74, 0x7A, 0xD8, +0x52, 0xB2, 0xA4, 0x86, 0xB8, 0xD4, 0xEF, 0xE9, 0x38, 0x55, 0x51, 0x88, 0xB9, 0x9E, 0xDB, 0xD4, +0x7B, 0x0F, 0x46, 0xA3, 0xE4, 0x4A, 0x17, 0x2C, 0xE9, 0xD1, 0x2E, 0x8E, 0xF3, 0x1B, 0xCA, 0xBD, +0x2D, 0xCE, 0x45, 0xA9, 0x44, 0x76, 0x30, 0x28, 0x33, 0xCC, 0x14, 0x21, 0x65, 0xBD, 0x2D, 0x33, +0x8C, 0x12, 0x07, 0x86, 0x62, 0xE9, 0x5B, 0xEE, 0x06, 0x4F, 0xA7, 0x40, 0xC4, 0x92, 0xCD, 0x63, +0x97, 0xA7, 0xD7, 0x23, 0xBE, 0x54, 0x47, 0xFC, 0xFC, 0xDB, 0x37, 0x5A, 0x14, 0x37, 0x2A, 0x40, +0xEC, 0x54, 0x94, 0x05, 0xAA, 0xFB, 0x46, 0x0B, 0x62, 0xB2, 0xE1, 0xD7, 0x1E, 0xEB, 0x2D, 0x3E, +0x03, 0x62, 0x07, 0x25, 0xCD, 0xA0, 0xA4, 0xE8, 0xBD, 0xAF, 0xE6, 0x50, 0x6B, 0xC5, 0x83, 0xB9, +0xD0, 0x80, 0xF5, 0xB3, 0xC2, 0x71, 0x31, 0x50, 0xA1, 0x91, 0xC7, 0x88, 0xEE, 0x6E, 0x5B, 0xC6, +0xF1, 0xD1, 0x5E, 0x80, 0x50, 0xA5, 0xD3, 0x70, 0xCA, 0x86, 0x06, 0xC4, 0x2B, 0xCA, 0x53, 0xCE, +0xE3, 0x22, 0x7E, 0xC9, 0x88, 0x1C, 0x89, 0x88, 0xE9, 0xB4, 0xA1, 0x28, 0x97, 0xC1, 0x59, 0xD1, +0x9D, 0x4C, 0xDE, 0x50, 0xC9, 0x12, 0x28, 0xFA, 0xC1, 0x0D, 0xBF, 0xF4, 0xA2, 0x48, 0xB3, 0x94, +0x12, 0x9B, 0x11, 0x65, 0xEC, 0xBB, 0x1B, 0xCE, 0x91, 0x4A, 0x52, 0x2B, 0xA4, 0x7F, 0x1C, 0x0C, +0x66, 0x63, 0x08, 0x62, 0x33, 0x3F, 0x2D, 0x56, 0x8C, 0x78, 0xE7, 0x97, 0x8A, 0xC1, 0x1B, 0x9C, +0x2C, 0x5C, 0xB2, 0xA1, 0xB8, 0x13, 0xCA, 0x6C, 0x08, 0xC4, 0x1E, 0xE5, 0xE9, 0x93, 0x21, 0x6E, +0x5B, 0x86, 0xE2, 0x86, 0x52, 0x43, 0x64, 0x45, 0x32, 0xC4, 0x5E, 0x86, 0x54, 0xD4, 0x88, 0x77, +0x7E, 0x42, 0x61, 0xC6, 0xC5, 0x56, 0xA7, 0x88, 0xB3, 0x2E, 0x44, 0xB3, 0xA3, 0x9D, 0x0F, 0x38, +0xFE, 0x83, 0xAD, 0x10, 0x8B, 0x88, 0x3F, 0xD2, 0x27, 0x31, 0x40, 0x48, 0xC9, 0x66, 0xD1, 0x78, +0xCB, 0xC9, 0x09, 0xD1, 0xBD, 0x67, 0xC3, 0x45, 0x9A, 0x37, 0x11, 0xBD, 0x36, 0x44, 0x69, 0x48, +0x79, 0x46, 0x88, 0xBD, 0x1F, 0x2C, 0xD5, 0x8E, 0xC8, 0xB9, 0xFA, 0x9A, 0x08, 0xC4, 0x3F, 0xDF, +0x90, 0x8A, 0xDC, 0xF0, 0xD7, 0x1B, 0xC5, 0x83, 0xB8, 0x3F, 0x4A, 0xAE, 0xBE, 0x05, 0xA1, 0x46, +0x3C, 0x1D, 0x25, 0x5E, 0xDE, 0xDE, 0x6C, 0x75, 0x92, 0x22, 0x6D, 0x41, 0x04, 0xA3, 0x01, 0x72, +0xC4, 0xDF, 0x73, 0x78, 0xB0, 0xCB, 0x2F, 0xB4, 0xF8, 0x43, 0x6F, 0x1C, 0x43, 0x90, 0xC3, 0xEB, +0x7C, 0xF7, 0xDB, 0x32, 0x73, 0x3F, 0x54, 0x79, 0x83, 0xC3, 0x65, 0x0D, 0x16, 0x6B, 0x60, 0xD8, +0x8A, 0x58, 0x37, 0x1C, 0x3D, 0xA3, 0x25, 0x9B, 0x1E, 0x0F, 0x96, 0xEA, 0x83, 0xF8, 0x81, 0x09, +0xF1, 0x59, 0x85, 0x08, 0x45, 0x6C, 0x48, 0xE1, 0x9A, 0x78, 0x38, 0xC8, 0xE9, 0x94, 0x11, 0xA1, +0xE8, 0x04, 0xFB, 0xFD, 0x64, 0x32, 0x19, 0x2C, 0x16, 0x9E, 0x7A, 0x8F, 0x6E, 0xEF, 0x36, 0x6F, +0x54, 0x59, 0x59, 0x11, 0xBD, 0xBB, 0x8C, 0xB8, 0x2D, 0x93, 0x91, 0xA1, 0x76, 0x34, 0x51, 0x06, +0x03, 0x4E, 0x64, 0xE9, 0xFD, 0x5F, 0x2E, 0x83, 0x37, 0x45, 0x5C, 0x13, 0xCC, 0x66, 0x65, 0xFC, +0xC8, 0x7F, 0x83, 0xE3, 0xB9, 0xAA, 0xAC, 0x99, 0x94, 0xD9, 0xE9, 0xB2, 0x26, 0x10, 0xCF, 0x3C, +0x69, 0x47, 0xAC, 0x1B, 0x02, 0xB1, 0xC7, 0xE6, 0xBE, 0x11, 0x11, 0xC7, 0xF8, 0xAF, 0x42, 0xFC, +0x4A, 0x21, 0x0A, 0x45, 0x8D, 0x38, 0xAA, 0x9F, 0xD1, 0xC0, 0xD2, 0x1B, 0x14, 0xEB, 0x88, 0x4B, +0xA7, 0x44, 0x44, 0x1A, 0x86, 0x74, 0xD7, 0x22, 0x10, 0xA3, 0x38, 0x12, 0x8C, 0x1D, 0x96, 0xF1, +0x80, 0x73, 0xFB, 0xAE, 0xAE, 0x47, 0xED, 0x80, 0x5F, 0xA3, 0x56, 0xD0, 0xA8, 0xE8, 0xDD, 0xA7, +0xAC, 0x98, 0xF3, 0xCF, 0x1D, 0x24, 0x89, 0x3B, 0x9A, 0x94, 0x09, 0xFC, 0x1C, 0x84, 0x62, 0xB5, +0x46, 0x9E, 0x8F, 0xAA, 0x1B, 0x8E, 0xFE, 0xBC, 0x18, 0xF1, 0x8A, 0xCA, 0xC6, 0x8C, 0xF8, 0xD6, +0x45, 0x88, 0x7F, 0xBC, 0xA1, 0x62, 0x40, 0xC4, 0xD6, 0xB0, 0x50, 0x14, 0x88, 0x67, 0x81, 0xA8, +0x63, 0x45, 0xBC, 0xB9, 0x48, 0x89, 0xF5, 0x5C, 0x67, 0x09, 0xC4, 0xAE, 0xA8, 0xD9, 0x91, 0x63, +0x59, 0xBA, 0x2F, 0xF4, 0x57, 0xDB, 0x32, 0x21, 0x10, 0x33, 0x0A, 0x09, 0x52, 0xA2, 0x74, 0xC2, +0x39, 0xB8, 0xEB, 0x3D, 0x67, 0xA6, 0xCB, 0x1A, 0x18, 0xAE, 0xBB, 0x0C, 0xE7, 0x8D, 0x81, 0x38, +0xBA, 0x14, 0xF1, 0x83, 0xFF, 0x0A, 0x71, 0x22, 0x14, 0x31, 0x9F, 0xE2, 0xCC, 0x9B, 0x49, 0x71, +0xA5, 0xD2, 0x85, 0x78, 0x93, 0x29, 0x43, 0x57, 0x2B, 0x02, 0xD1, 0x8E, 0x2E, 0x45, 0xF4, 0xB7, +0x1C, 0xF7, 0xA8, 0x7A, 0x0A, 0x37, 0xF0, 0x0E, 0xDB, 0x53, 0x96, 0x68, 0x0F, 0x89, 0xF0, 0x64, +0xE8, 0xCE, 0x8A, 0x5B, 0xAD, 0xE8, 0x1D, 0xF6, 0x65, 0xBC, 0x2C, 0x07, 0x62, 0xCB, 0xD3, 0xF8, +0x9A, 0x86, 0x40, 0x24, 0x43, 0x20, 0x5E, 0xF7, 0xDC, 0xD3, 0xFE, 0x88, 0xE6, 0x4D, 0x61, 0x5A, +0x01, 0x9F, 0x4C, 0xC4, 0x84, 0x8A, 0xFA, 0x54, 0x3E, 0x39, 0xB3, 0xEB, 0x6E, 0x45, 0xCA, 0xD2, +0x7B, 0xA5, 0x4C, 0x5D, 0x72, 0x6D, 0x15, 0xA9, 0x8F, 0x07, 0x86, 0x65, 0xE3, 0x3B, 0x9E, 0x67, +0x8B, 0x88, 0x12, 0x9B, 0x21, 0x8B, 0xE1, 0xB6, 0xCC, 0xB4, 0x48, 0xC8, 0xEF, 0x8D, 0xB3, 0xDC, +0x8F, 0xD3, 0x32, 0x62, 0x23, 0x3F, 0x1D, 0x0F, 0xF6, 0xB5, 0x84, 0xA1, 0x5C, 0x6F, 0x93, 0x77, +0x95, 0xC2, 0x90, 0x15, 0x2B, 0xC3, 0x8D, 0x01, 0xD1, 0xD0, 0x63, 0x34, 0x14, 0xBB, 0xF6, 0xA2, +0xFA, 0x20, 0x36, 0x15, 0xB1, 0x68, 0xC3, 0x8A, 0xE8, 0x15, 0xE5, 0x8E, 0x14, 0x14, 0x19, 0xB1, +0xC1, 0x38, 0x70, 0x6C, 0x3B, 0xA2, 0xF7, 0x95, 0x11, 0x29, 0xB1, 0x42, 0x54, 0x61, 0x44, 0x38, +0x76, 0x4B, 0x26, 0x5B, 0x0E, 0xFC, 0x10, 0x8D, 0xA8, 0x2F, 0x87, 0x78, 0xF4, 0x97, 0x1B, 0x2F, +0x6B, 0x86, 0x9B, 0xB4, 0xF6, 0x90, 0xE1, 0x0E, 0x44, 0x18, 0x02, 0x91, 0x0D, 0x37, 0x1B, 0x42, +0xEC, 0xD1, 0x63, 0x3C, 0x31, 0xA2, 0x54, 0xE4, 0x86, 0x7F, 0x04, 0x45, 0x42, 0x14, 0x77, 0x9C, +0x92, 0xA2, 0x07, 0x45, 0x20, 0x8E, 0x4E, 0x94, 0x77, 0x81, 0x7F, 0xB4, 0xA3, 0x99, 0x7B, 0xB6, +0x2D, 0x05, 0xC4, 0x49, 0x91, 0x46, 0x08, 0x1C, 0x05, 0x65, 0x36, 0xAC, 0xC8, 0x26, 0x22, 0x59, +0xBD, 0xA6, 0xC1, 0x2D, 0x6C, 0xB3, 0xE2, 0x6E, 0xFF, 0x0A, 0xE2, 0xB8, 0x44, 0x78, 0x29, 0xA2, +0x30, 0x04, 0x62, 0xDF, 0x1E, 0x83, 0x63, 0xD8, 0x15, 0x16, 0x87, 0x87, 0x0D, 0x88, 0xBF, 0x4C, +0x1A, 0x8A, 0x03, 0xAD, 0x38, 0x02, 0xE2, 0xF0, 0x84, 0x48, 0x69, 0x20, 0x82, 0xB1, 0x42, 0x74, +0xAC, 0x23, 0xBD, 0xB7, 0xD6, 0xD1, 0x2E, 0xE2, 0xD4, 0xC7, 0xDE, 0x22, 0x47, 0x21, 0xEE, 0xCB, +0x14, 0xB8, 0xAB, 0x1F, 0x92, 0x22, 0xEE, 0x01, 0x7E, 0x2D, 0xC9, 0xAB, 0xA2, 0x86, 0x05, 0xF1, +0xA0, 0x93, 0x2C, 0x1E, 0xC0, 0x70, 0x9B, 0x25, 0xE8, 0xF2, 0xE5, 0xEE, 0x05, 0x10, 0x59, 0x51, +0x1A, 0x8E, 0x08, 0xF1, 0x8B, 0xD6, 0xCA, 0xE6, 0xD3, 0xEB, 0x7B, 0x0C, 0x20, 0x96, 0x69, 0x43, +0x7C, 0xF9, 0x0A, 0xC4, 0x1F, 0x7E, 0x9E, 0x50, 0xE4, 0x84, 0x5A, 0xBF, 0xB5, 0xA6, 0x86, 0x28, +0xE6, 0x53, 0x20, 0x7E, 0x42, 0x59, 0xCF, 0x7C, 0x6E, 0xDA, 0x14, 0x60, 0xF5, 0xE0, 0x3E, 0x38, +0x46, 0x7C, 0xB5, 0xBA, 0xE3, 0x99, 0x10, 0x90, 0xAD, 0x92, 0xE3, 0xD1, 0xE4, 0x6F, 0xE3, 0x55, +0x4F, 0xA4, 0x05, 0x21, 0x23, 0xBA, 0x91, 0x0B, 0xC4, 0xC0, 0x6F, 0x18, 0x7A, 0xD2, 0x50, 0x94, +0x35, 0x30, 0xA4, 0x08, 0xC4, 0x7E, 0x3D, 0x86, 0x19, 0xF1, 0x85, 0xD6, 0x63, 0xFC, 0xAD, 0x88, +0xDF, 0x32, 0xA2, 0x50, 0xDC, 0xB0, 0x22, 0xEE, 0x8F, 0xEA, 0x5C, 0x06, 0x07, 0xA2, 0x73, 0x28, +0x11, 0xBD, 0x1C, 0x8F, 0x45, 0xA1, 0x34, 0x18, 0xE3, 0x3D, 0x23, 0xD2, 0x32, 0x5C, 0xC3, 0x51, +0x6A, 0xBA, 0xFB, 0xD6, 0x0C, 0x16, 0x39, 0xFF, 0xC3, 0x34, 0x56, 0x84, 0x98, 0x4A, 0x99, 0x90, +0xE3, 0xC7, 0x5E, 0x85, 0xE8, 0x63, 0x20, 0x1A, 0x0D, 0x55, 0x6A, 0x45, 0xCD, 0xE6, 0x7F, 0x85, +0xF8, 0xAA, 0x38, 0x3C, 0x4C, 0x4B, 0x36, 0x93, 0x56, 0x45, 0xAE, 0x6C, 0x80, 0xA8, 0x15, 0x81, +0x08, 0x45, 0x5C, 0x15, 0x97, 0x3B, 0x1E, 0x89, 0x39, 0xEE, 0x93, 0x12, 0x8C, 0x35, 0xC4, 0xAC, +0x03, 0x11, 0x90, 0x7E, 0x8B, 0x5F, 0x38, 0x3E, 0x7E, 0xF8, 0xEE, 0xFB, 0xF7, 0xFC, 0x61, 0x9C, +0xA9, 0x60, 0x20, 0xC2, 0x30, 0x49, 0xFC, 0x78, 0xF8, 0x09, 0xE7, 0xD6, 0x5F, 0x8A, 0xE5, 0x36, +0x71, 0x5E, 0x18, 0x86, 0x68, 0xF4, 0xD9, 0x10, 0x88, 0xFD, 0xF6, 0x31, 0xA0, 0x78, 0xF1, 0x86, +0xA2, 0xF9, 0x5E, 0x0C, 0x5E, 0x3C, 0xDD, 0x0B, 0x45, 0x46, 0xAC, 0xD5, 0xA7, 0x50, 0xBC, 0xEB, +0x56, 0xCC, 0x19, 0x71, 0xB9, 0x0C, 0x58, 0xB1, 0x9D, 0x31, 0xE2, 0xC1, 0x31, 0x8F, 0xA9, 0x6B, +0x34, 0x21, 0x16, 0xB5, 0x4E, 0x61, 0x91, 0x47, 0xCA, 0xEF, 0xC1, 0xB2, 0x8B, 0xB1, 0x1D, 0xF0, +0xCB, 0x84, 0x29, 0x2E, 0x87, 0x18, 0x88, 0xFC, 0x33, 0xD3, 0x40, 0x23, 0xBA, 0x89, 0x63, 0x40, +0x84, 0x61, 0xAD, 0xD1, 0x87, 0xE1, 0x0D, 0x10, 0xAF, 0x68, 0x14, 0xAF, 0xAA, 0x6C, 0x2E, 0x45, +0x7C, 0x4D, 0x22, 0x3E, 0xDB, 0x0B, 0x45, 0x6E, 0x32, 0xEA, 0x47, 0x17, 0xE5, 0x58, 0x94, 0x07, +0xC2, 0x97, 0xBB, 0x6F, 0xBE, 0x51, 0x6F, 0x99, 0xB3, 0xC4, 0x71, 0xE2, 0x16, 0xC6, 0xE8, 0x93, +0x4F, 0x34, 0xA2, 0x4A, 0x5A, 0xA5, 0x1D, 0xD1, 0xDE, 0x69, 0xBF, 0x79, 0x30, 0xB3, 0x3E, 0x7B, +0xFF, 0xC1, 0xB2, 0x54, 0xBF, 0x4F, 0xD7, 0xC1, 0xD8, 0x61, 0xC4, 0x55, 0x8A, 0xA9, 0x94, 0x83, +0x47, 0x64, 0xB8, 0x03, 0x36, 0x9C, 0x66, 0x39, 0x13, 0xB2, 0xA1, 0x40, 0x44, 0x9F, 0xCF, 0x86, +0x40, 0x84, 0xA1, 0x09, 0x11, 0xE5, 0x69, 0x2F, 0xC4, 0xE7, 0xE4, 0x0A, 0x78, 0xE7, 0xAD, 0x6D, +0x40, 0xFC, 0x8A, 0x10, 0x1B, 0x8A, 0xB5, 0x7E, 0x1F, 0x1D, 0x3F, 0x14, 0x55, 0xE4, 0x76, 0x86, +0x44, 0xAC, 0x33, 0x9E, 0x10, 0xC3, 0x4F, 0x28, 0xAF, 0x38, 0xBC, 0x9A, 0x8A, 0xD1, 0xD8, 0x2A, +0x49, 0x54, 0x94, 0xD9, 0xFB, 0x0F, 0x47, 0xF2, 0x53, 0x80, 0x9C, 0xC8, 0xE7, 0x4F, 0xDC, 0x47, +0x8C, 0x08, 0x43, 0x15, 0x36, 0x4C, 0xBC, 0x4F, 0x38, 0x61, 0x08, 0xC2, 0xC6, 0x15, 0x51, 0x20, +0xA2, 0x34, 0xA5, 0xC0, 0x90, 0x11, 0x65, 0xA3, 0xD8, 0xA7, 0xC7, 0x30, 0x2F, 0xD9, 0x98, 0x37, +0x14, 0x19, 0xF1, 0x8F, 0x3D, 0x14, 0x31, 0x14, 0x6B, 0x07, 0x50, 0xC5, 0x6F, 0x5B, 0x43, 0x69, +0x47, 0x24, 0xC5, 0xC0, 0x51, 0x88, 0x50, 0xA4, 0x9C, 0x23, 0x26, 0x8C, 0x18, 0xA4, 0x33, 0xAD, +0x08, 0x48, 0x41, 0x19, 0x6F, 0x74, 0x8B, 0x60, 0xD9, 0x3C, 0x00, 0x39, 0xF4, 0x0D, 0x36, 0x7F, +0x66, 0x13, 0x35, 0xA7, 0x52, 0x20, 0xEE, 0xD9, 0x70, 0x94, 0xE6, 0x30, 0xA4, 0x08, 0xC3, 0x3A, +0x22, 0x0C, 0x47, 0x30, 0x04, 0xE2, 0xE3, 0x37, 0x8A, 0xFD, 0x17, 0x4F, 0x7F, 0x57, 0x88, 0x8D, +0x09, 0xB5, 0xBE, 0x1F, 0x85, 0x8E, 0x9F, 0x1D, 0xDB, 0x10, 0x59, 0xD1, 0x51, 0x88, 0x2A, 0x8C, +0x08, 0x46, 0x20, 0x12, 0xA3, 0x1F, 0xF2, 0x5B, 0x1B, 0xA4, 0x7C, 0xAB, 0x06, 0x14, 0x65, 0xA2, +0xF0, 0xD4, 0x22, 0x14, 0x10, 0xD4, 0x5F, 0x3F, 0xD6, 0x55, 0x4B, 0x26, 0x0C, 0x93, 0x32, 0x79, +0x72, 0x5B, 0x7E, 0x5E, 0xFD, 0x7A, 0x42, 0x27, 0x08, 0x04, 0x61, 0xB3, 0xAA, 0x41, 0x69, 0x0A, +0xC3, 0x11, 0x0C, 0xFF, 0x24, 0xC4, 0x2F, 0x80, 0xD8, 0x68, 0x14, 0x05, 0xA2, 0xA1, 0x51, 0x7C, +0xEC, 0x25, 0x9B, 0xBD, 0x50, 0xC4, 0x56, 0xC6, 0x8E, 0x33, 0xA4, 0xB4, 0x20, 0x52, 0x24, 0xE2, +0x8A, 0x8A, 0x08, 0x87, 0x53, 0x21, 0x42, 0x31, 0xD1, 0xC5, 0x06, 0x21, 0x9E, 0x31, 0xB6, 0x22, +0x1E, 0x34, 0x62, 0x11, 0xA7, 0x40, 0xE4, 0x7A, 0x34, 0x5A, 0xF1, 0xEB, 0x78, 0x30, 0x74, 0xCF, +0x08, 0xF5, 0x40, 0x54, 0xBF, 0x9C, 0x6D, 0xC4, 0x03, 0x11, 0x86, 0x40, 0x84, 0x21, 0x1E, 0x5A, +0x03, 0x43, 0x8D, 0x78, 0xA3, 0x11, 0xBF, 0x00, 0x62, 0x9F, 0x1E, 0x83, 0x63, 0x58, 0xB2, 0xB9, +0x12, 0xF1, 0x97, 0x7D, 0xBB, 0xE2, 0x4D, 0x13, 0x91, 0x08, 0x05, 0x22, 0x14, 0x09, 0x71, 0x04, +0x44, 0x30, 0x36, 0x1A, 0x46, 0x5F, 0x97, 0x8C, 0xE1, 0xCC, 0x67, 0x45, 0x4A, 0x87, 0xA2, 0xAF, +0x0D, 0xD7, 0x76, 0x04, 0xC0, 0x19, 0x27, 0xCA, 0x4F, 0x93, 0xA5, 0xCB, 0x01, 0x22, 0xCF, 0xE0, +0x0B, 0x45, 0x48, 0x09, 0x43, 0xA7, 0x1B, 0x11, 0x4B, 0x35, 0x18, 0x88, 0x30, 0x1C, 0x55, 0x86, +0x83, 0xFE, 0x88, 0x3A, 0x6D, 0x88, 0xFD, 0x97, 0x6C, 0xF6, 0x42, 0x91, 0x11, 0x51, 0x9E, 0x32, +0x62, 0x7B, 0x69, 0x73, 0x5E, 0xA1, 0x56, 0x88, 0xAB, 0x15, 0x18, 0x9B, 0x8D, 0xBF, 0xBF, 0x16, +0x88, 0x9C, 0x94, 0xB2, 0x5C, 0xA6, 0x48, 0xA4, 0x1C, 0xCA, 0xC4, 0x31, 0xF1, 0x71, 0xAA, 0x2F, +0x8F, 0xF4, 0x27, 0x01, 0x48, 0x01, 0xE2, 0x2B, 0xDF, 0x94, 0x19, 0xA6, 0xCB, 0x96, 0x0B, 0x62, +0xF7, 0xC1, 0x7D, 0x42, 0x94, 0x86, 0x97, 0x22, 0x7E, 0xF0, 0x0F, 0x10, 0xFB, 0x77, 0xFB, 0x3F, +0x7C, 0x0B, 0x44, 0x95, 0xC6, 0x48, 0x1C, 0x41, 0x11, 0x1D, 0xBF, 0x50, 0x5C, 0x08, 0x44, 0x56, +0xAC, 0xEA, 0x1B, 0x30, 0x02, 0x71, 0xEC, 0x73, 0xE0, 0xE8, 0x07, 0x77, 0x6A, 0x06, 0xDC, 0x26, +0x50, 0xD4, 0x4C, 0x73, 0x3B, 0xCA, 0x9A, 0x88, 0xBE, 0x3F, 0x1E, 0x9C, 0xE6, 0x53, 0x0D, 0x88, +0xB9, 0x94, 0x72, 0xF8, 0x86, 0xE3, 0x86, 0x0E, 0xF6, 0x81, 0x85, 0x21, 0x10, 0xD9, 0x10, 0x88, +0x35, 0xC3, 0x8B, 0x11, 0x2F, 0x6E, 0x14, 0x1F, 0xBB, 0xDB, 0xAF, 0x2B, 0x6A, 0xC4, 0xC6, 0x4D, +0x19, 0x14, 0x20, 0x0A, 0xC5, 0x3A, 0x62, 0xA0, 0x11, 0xA1, 0x88, 0x56, 0xA3, 0x42, 0x8C, 0x5C, +0x15, 0x38, 0x3A, 0xDE, 0x50, 0x93, 0x0D, 0xD3, 0xD3, 0xE4, 0x4A, 0x5F, 0x49, 0x49, 0xC7, 0x67, +0x86, 0xFE, 0x29, 0xD1, 0x2D, 0x7F, 0x76, 0xEB, 0x43, 0x10, 0x88, 0x4B, 0x6D, 0xB8, 0x98, 0xB5, +0x57, 0x35, 0xDD, 0xB7, 0x94, 0x56, 0x88, 0x30, 0x54, 0x79, 0x06, 0xC4, 0xFE, 0xDD, 0xBE, 0x44, +0x44, 0xB7, 0xFF, 0x8F, 0x1B, 0x45, 0x0E, 0x10, 0x31, 0x12, 0xEB, 0x8A, 0x07, 0x76, 0x84, 0x22, +0xE5, 0x0C, 0x71, 0x23, 0x10, 0x03, 0x89, 0x78, 0xCB, 0xEF, 0x6E, 0xE4, 0xEA, 0xF8, 0xEE, 0xEA, +0x76, 0xC7, 0x1E, 0x1C, 0x57, 0x7B, 0x45, 0x83, 0xD3, 0x40, 0x4C, 0x67, 0x55, 0xFC, 0x2A, 0x69, +0xA8, 0x9D, 0x12, 0x06, 0x04, 0x21, 0x65, 0xCE, 0x9F, 0x53, 0xAB, 0xA6, 0xB5, 0x7D, 0xE0, 0xCE, +0xCA, 0xF4, 0x20, 0x5A, 0x44, 0x18, 0x0A, 0xC4, 0x7E, 0xDD, 0x3E, 0x47, 0x20, 0xF6, 0x6B, 0x14, +0x5F, 0x39, 0x53, 0x3C, 0xAB, 0x6C, 0xC4, 0x63, 0xC2, 0xCE, 0x8E, 0x6A, 0xC8, 0x85, 0x1B, 0x52, +0x0C, 0x80, 0xD8, 0x3A, 0x14, 0x13, 0x8A, 0x3F, 0x54, 0xBD, 0xA4, 0xFA, 0x23, 0x75, 0xDD, 0x30, +0x08, 0x16, 0xF7, 0x23, 0xBA, 0x76, 0x29, 0x2A, 0x24, 0x49, 0xB9, 0x5C, 0x5D, 0x9E, 0x06, 0x62, +0x9C, 0x09, 0x43, 0xC2, 0x2F, 0xF6, 0xFC, 0x4A, 0x0B, 0x17, 0x88, 0xB9, 0x8E, 0xA3, 0x81, 0xD7, +0x2E, 0x57, 0x35, 0x20, 0x6C, 0x59, 0xF7, 0x06, 0xE2, 0xB0, 0xB1, 0x56, 0x53, 0x19, 0x02, 0x51, +0x85, 0x10, 0x2F, 0xDB, 0x16, 0x7E, 0xD1, 0x84, 0xD8, 0xBF, 0x51, 0xD4, 0x3D, 0x06, 0xF6, 0xE1, +0x4F, 0x95, 0x0D, 0x4E, 0xDA, 0x60, 0x2F, 0x03, 0x8A, 0xAD, 0x88, 0xC4, 0x18, 0xDC, 0x00, 0x51, +0x33, 0xE2, 0x81, 0xA8, 0x65, 0x18, 0xB1, 0x3D, 0x2C, 0x42, 0x65, 0x0C, 0xB7, 0x7E, 0x99, 0x77, +0x1A, 0x88, 0xEA, 0x63, 0x04, 0x88, 0xF1, 0x9A, 0xBF, 0x6D, 0xE3, 0x87, 0x75, 0x41, 0xF5, 0xD3, +0x16, 0xFA, 0x15, 0x67, 0x39, 0xEE, 0x44, 0x6C, 0x5D, 0x32, 0x6D, 0x2C, 0x7C, 0xCB, 0xC9, 0x74, +0xC0, 0xF9, 0x43, 0x23, 0xF6, 0xEF, 0xF6, 0x75, 0x1E, 0xB7, 0x51, 0xFC, 0xE5, 0x15, 0x28, 0x2A, +0x42, 0x20, 0xB2, 0xA2, 0x46, 0xD4, 0x15, 0x2A, 0xE5, 0xEC, 0xB2, 0x08, 0x44, 0xCA, 0x09, 0x71, +0xB5, 0x5E, 0x09, 0xC6, 0xFC, 0x14, 0x20, 0x02, 0x4F, 0xFF, 0xC9, 0x49, 0xC6, 0x3C, 0xDE, 0xD2, +0x29, 0x7F, 0x3C, 0x8B, 0x66, 0xD2, 0x90, 0x32, 0x8B, 0xF4, 0x77, 0x64, 0x8C, 0xA8, 0x05, 0x29, +0xE1, 0x27, 0xD5, 0x40, 0x5C, 0xAD, 0x0C, 0x88, 0xAD, 0x0B, 0xDF, 0x15, 0xE2, 0xE0, 0x84, 0xF8, +0x83, 0x01, 0xF1, 0xE2, 0x6E, 0xFF, 0x49, 0x7A, 0x8C, 0x6F, 0x71, 0x26, 0xA6, 0xDE, 0x63, 0x68, +0x45, 0x3D, 0x12, 0xCB, 0xBF, 0x4D, 0x89, 0x51, 0xD6, 0x36, 0x5A, 0x71, 0xC5, 0x15, 0xE1, 0x92, +0xDE, 0xB2, 0x06, 0x23, 0x06, 0xA3, 0x7B, 0x0F, 0xBD, 0x96, 0x1C, 0xD2, 0x22, 0xE3, 0x82, 0x27, +0xF5, 0x4A, 0xDF, 0x83, 0x9D, 0xC1, 0xAE, 0x1E, 0x3D, 0x14, 0xB7, 0x19, 0x0C, 0x97, 0x65, 0x72, +0x4F, 0xFF, 0xDF, 0xE1, 0x2F, 0x51, 0x97, 0x36, 0x26, 0xD3, 0xEE, 0x7B, 0x2F, 0xD0, 0x5E, 0x28, +0x42, 0x20, 0x7E, 0x0D, 0x44, 0xE3, 0x3D, 0x8A, 0xFD, 0x1A, 0x45, 0xD9, 0x63, 0x98, 0xCB, 0xD3, +0x7D, 0xA5, 0x58, 0xEB, 0x31, 0xEA, 0x77, 0xF0, 0x6B, 0xC4, 0xDA, 0xBD, 0x6E, 0xCD, 0x6E, 0x71, +0x55, 0x5E, 0x89, 0xE6, 0x09, 0x1F, 0x62, 0xD4, 0x69, 0x5E, 0x18, 0xDD, 0xA0, 0x5B, 0x70, 0xB7, +0xB2, 0x8F, 0xE3, 0x54, 0x5B, 0x65, 0x63, 0x5A, 0x00, 0xDA, 0xA7, 0x11, 0xEC, 0xEA, 0x09, 0x67, +0xEA, 0x2B, 0x54, 0x9C, 0x59, 0x1D, 0xD1, 0x71, 0x4E, 0x88, 0xEB, 0x30, 0x40, 0x59, 0x2A, 0xAA, +0x1A, 0xD1, 0x21, 0x4E, 0x1B, 0x86, 0x9B, 0x8A, 0x70, 0xBB, 0xFD, 0x9D, 0x10, 0x9F, 0xA6, 0xDB, +0x47, 0x8F, 0xD1, 0x67, 0x33, 0xEA, 0x15, 0xAD, 0x38, 0xA1, 0x6C, 0x19, 0x11, 0x8A, 0x58, 0xB8, +0x21, 0xC1, 0xFA, 0x13, 0x8A, 0x48, 0x11, 0x8C, 0x5E, 0x1E, 0x4E, 0x47, 0xDE, 0x2C, 0xF0, 0x3C, +0x30, 0x02, 0x51, 0x2B, 0x86, 0xE9, 0x27, 0xAD, 0x80, 0x03, 0x2F, 0xB4, 0x8F, 0x76, 0x9C, 0x56, +0xE3, 0xCD, 0x8F, 0xEC, 0xE5, 0xC1, 0x8B, 0xC6, 0xC2, 0x10, 0xCD, 0x7D, 0x5A, 0x1C, 0xBE, 0xD9, +0xE6, 0x63, 0x17, 0x57, 0x43, 0x3D, 0x77, 0x87, 0xD5, 0x40, 0xEC, 0x22, 0x44, 0x73, 0x21, 0x0F, +0xB8, 0x31, 0x21, 0x06, 0x22, 0xBD, 0x21, 0x8F, 0x89, 0xC8, 0x31, 0xF5, 0x18, 0xD7, 0x96, 0xA7, +0x14, 0x8C, 0x44, 0x28, 0xD6, 0x9F, 0x4E, 0xA4, 0x87, 0xA2, 0x56, 0x04, 0x23, 0x14, 0xD7, 0xF9, +0x2C, 0x75, 0x83, 0x35, 0xCE, 0x85, 0x53, 0x18, 0x11, 0x63, 0x31, 0xD3, 0x6B, 0x29, 0xC8, 0xCE, +0x5B, 0xA6, 0xD6, 0xD1, 0x2A, 0xE2, 0x74, 0x56, 0x8A, 0x41, 0xD1, 0xB2, 0xE2, 0x4C, 0xD8, 0x21, +0x6E, 0x6A, 0x1F, 0xAD, 0xD8, 0x3F, 0x19, 0xD2, 0x20, 0x64, 0x44, 0x3F, 0x20, 0xC3, 0x65, 0x18, +0x00, 0x51, 0xF6, 0x87, 0x40, 0x84, 0x21, 0x23, 0x6A, 0x43, 0x8D, 0xB8, 0xA5, 0xFC, 0xD2, 0x0B, +0xD1, 0xDC, 0x63, 0xF4, 0x2F, 0x4F, 0xA1, 0xA8, 0x10, 0x85, 0x62, 0xED, 0x69, 0x1A, 0x58, 0x45, +0x15, 0x8A, 0x2A, 0x9E, 0xAA, 0x4C, 0x79, 0x1D, 0x15, 0x8A, 0xCD, 0x85, 0xD4, 0x30, 0x8A, 0xD7, +0x5C, 0xB3, 0x8C, 0xA6, 0x53, 0xC7, 0x49, 0x6D, 0xDA, 0xA9, 0x8F, 0xA3, 0xCC, 0x97, 0x43, 0x6E, +0x96, 0x55, 0xAA, 0x61, 0x4B, 0xA8, 0xEB, 0x54, 0x5F, 0x80, 0x89, 0x54, 0x23, 0x06, 0x41, 0x9E, +0x46, 0xAB, 0x55, 0xEA, 0x3B, 0x6C, 0x28, 0x10, 0x35, 0x21, 0x19, 0x02, 0xB1, 0xDE, 0x22, 0xA2, +0xAA, 0xD9, 0x02, 0xF1, 0xEA, 0x75, 0xB7, 0xEB, 0x1B, 0xC5, 0x1E, 0xE5, 0x29, 0xE5, 0xAC, 0x3C, +0xA5, 0x80, 0x10, 0x88, 0x68, 0x34, 0x84, 0x22, 0xD6, 0xDF, 0x1A, 0x88, 0xAC, 0x08, 0x47, 0xA5, +0x98, 0x8D, 0x6D, 0x8B, 0x9F, 0xBA, 0x67, 0x97, 0xFB, 0xF4, 0xAA, 0xFA, 0x6C, 0x8C, 0x30, 0x91, +0x06, 0x1E, 0x82, 0xAA, 0x54, 0x1B, 0xF2, 0xCF, 0xCA, 0xDD, 0x2C, 0x0B, 0x9D, 0x95, 0x40, 0xC4, +0x40, 0x84, 0x61, 0xDB, 0x6E, 0x3E, 0xDA, 0xFC, 0x2D, 0xE7, 0xE7, 0x2B, 0x10, 0xFF, 0x51, 0xB7, +0x6F, 0x2E, 0x4F, 0x49, 0xF1, 0xD3, 0xCE, 0x03, 0x6F, 0x30, 0xD4, 0x37, 0x32, 0xA1, 0xB2, 0x01, +0xE2, 0x49, 0x71, 0x87, 0x9E, 0xBF, 0x0B, 0xB1, 0x5B, 0x91, 0x93, 0x84, 0x7C, 0x1E, 0xBC, 0xAC, +0x37, 0x2B, 0x93, 0xF0, 0xB2, 0x48, 0xC0, 0xDA, 0x40, 0x0C, 0xB0, 0x54, 0x14, 0x30, 0x21, 0x0C, +0xE5, 0x8D, 0x17, 0xDD, 0xC7, 0x6A, 0x60, 0xC8, 0xA1, 0x36, 0xD1, 0x80, 0x78, 0xE9, 0xBA, 0xDB, +0xD3, 0x94, 0xA7, 0x7F, 0x62, 0x36, 0xD5, 0x8A, 0xA8, 0x6C, 0xD0, 0x2B, 0x6A, 0x46, 0xDC, 0xEF, +0x06, 0x44, 0xB9, 0xA1, 0x81, 0xCB, 0x62, 0x19, 0x28, 0xA2, 0xDD, 0xE0, 0x24, 0x8D, 0xFC, 0x13, +0x43, 0x94, 0x34, 0x40, 0x5C, 0xAD, 0x24, 0xA1, 0xEC, 0xF2, 0x89, 0xB0, 0xFD, 0x7C, 0x5B, 0x49, +0x08, 0x43, 0x5E, 0xFF, 0x36, 0xAC, 0xBB, 0xF5, 0x47, 0x34, 0xAC, 0x9E, 0x9A, 0x2A, 0x1B, 0x2C, +0x9F, 0xEA, 0x46, 0x91, 0x22, 0x86, 0x22, 0x8E, 0x30, 0x42, 0x91, 0x11, 0x0D, 0x8C, 0x40, 0x44, +0x8D, 0xD3, 0x05, 0x69, 0x24, 0x84, 0x21, 0x2A, 0x1A, 0x69, 0xA8, 0x11, 0x45, 0x5D, 0xCA, 0x88, +0x30, 0xC4, 0x64, 0x4A, 0x84, 0x15, 0x22, 0x08, 0x29, 0xCF, 0x80, 0xD8, 0xFB, 0x9E, 0x9A, 0xAB, +0x7B, 0x8C, 0x8B, 0x2B, 0x9B, 0x3D, 0x07, 0x4D, 0x46, 0x4B, 0x7D, 0x8A, 0xB5, 0x70, 0x20, 0x76, +0x2B, 0x82, 0xB1, 0x43, 0x11, 0x90, 0x89, 0x0C, 0x89, 0x19, 0x83, 0xF6, 0x5E, 0x08, 0x62, 0x95, +0x86, 0x53, 0x23, 0xD4, 0x88, 0xC2, 0xF0, 0x0C, 0x11, 0x86, 0x06, 0xC4, 0x2B, 0x16, 0x4F, 0x9F, +0xB8, 0xB2, 0xA9, 0x2F, 0xDA, 0xD4, 0x14, 0x37, 0x1C, 0x8D, 0x48, 0x81, 0xE2, 0x1C, 0x8A, 0x60, +0x04, 0x62, 0xF3, 0x96, 0x7E, 0xA9, 0x88, 0xB1, 0x78, 0x7D, 0x72, 0x0E, 0x0C, 0x21, 0xC8, 0x86, +0x0D, 0x44, 0x10, 0x8A, 0x23, 0x8A, 0x62, 0x20, 0x62, 0x2E, 0xE5, 0xBC, 0xF1, 0xC7, 0x0F, 0xD7, +0x21, 0xBE, 0xF9, 0x28, 0x88, 0x72, 0xE1, 0xCD, 0x5C, 0xD9, 0xE8, 0xFA, 0xB4, 0xAE, 0xB8, 0x11, +0x8A, 0xD8, 0xE8, 0x6F, 0x67, 0x3C, 0x21, 0x42, 0x51, 0x54, 0x37, 0x9C, 0x6B, 0x15, 0x61, 0x87, +0x90, 0xA0, 0x0E, 0x04, 0x85, 0xE1, 0xAD, 0x8A, 0x20, 0x14, 0xE7, 0x4C, 0xC5, 0x05, 0x11, 0x77, +0xD4, 0x71, 0xAF, 0x8F, 0x6D, 0x0C, 0x8D, 0xA8, 0x72, 0x11, 0xA2, 0xB9, 0xDB, 0xEF, 0x5F, 0xD9, +0x3C, 0x13, 0xCB, 0xA7, 0x50, 0x3C, 0x21, 0x8E, 0x80, 0x88, 0x33, 0x37, 0x52, 0xB1, 0x6B, 0x28, +0x76, 0x39, 0x9E, 0x83, 0x98, 0xF8, 0x44, 0x1C, 0x0A, 0x0C, 0x81, 0xB8, 0xE6, 0x80, 0x50, 0x45, +0x1A, 0x76, 0x57, 0xA6, 0x40, 0x24, 0x43, 0x89, 0xC8, 0xE5, 0xA9, 0xAC, 0x4E, 0x25, 0xA2, 0x79, +0xC9, 0xE6, 0xF1, 0x2A, 0x1B, 0x18, 0x42, 0xB1, 0xB6, 0x23, 0x75, 0x56, 0xA1, 0x76, 0xDD, 0x2B, +0x05, 0x45, 0x30, 0xE2, 0xBA, 0x08, 0x47, 0x8A, 0x1C, 0x8E, 0x88, 0x89, 0x10, 0x4D, 0x21, 0xFC, +0x38, 0x0C, 0x28, 0x05, 0xC5, 0x40, 0x9C, 0xD7, 0x0C, 0x71, 0x73, 0x7E, 0x7D, 0x23, 0x58, 0x1B, +0x52, 0xCA, 0x36, 0x11, 0x2B, 0xE0, 0xAF, 0xAB, 0x15, 0xF0, 0x1F, 0x29, 0xDF, 0x7D, 0x67, 0xD8, +0xC6, 0x78, 0x34, 0x44, 0xF3, 0xB1, 0x45, 0x54, 0xA7, 0x2D, 0x8A, 0xD8, 0x58, 0x04, 0x22, 0x14, +0x51, 0xA4, 0x9E, 0x5F, 0x16, 0x29, 0x40, 0x04, 0xA3, 0x70, 0xC4, 0xE5, 0xD1, 0x18, 0xF8, 0x49, +0x43, 0xCE, 0x35, 0x86, 0xB8, 0x20, 0x32, 0x21, 0xDA, 0x7C, 0x69, 0x38, 0x99, 0x70, 0x5D, 0xC3, +0x88, 0x64, 0x48, 0x80, 0xDF, 0xFF, 0xF4, 0xF3, 0xEF, 0xCF, 0x7E, 0xFC, 0x4E, 0x22, 0x9A, 0xB7, +0x31, 0x64, 0x8F, 0xD1, 0xBB, 0xB2, 0xF9, 0xE1, 0x67, 0x34, 0xFB, 0x65, 0xB0, 0x1D, 0x45, 0x7F, +0x41, 0x51, 0x74, 0x1A, 0x50, 0xAC, 0x21, 0x82, 0x11, 0x8A, 0xD2, 0x11, 0x8A, 0x48, 0x1F, 0xC3, +0xB6, 0x99, 0x14, 0x84, 0xAD, 0x88, 0x38, 0xDD, 0x26, 0x97, 0x4C, 0x07, 0x67, 0x86, 0x7F, 0x9E, +0x10, 0xBF, 0xFE, 0xFA, 0xCB, 0xCF, 0x3F, 0xFF, 0x5C, 0x09, 0xFE, 0xF4, 0xEB, 0xEF, 0xD4, 0x99, +0xFD, 0xF1, 0xFD, 0x65, 0x88, 0xC6, 0x1E, 0xA3, 0x0B, 0xF1, 0x8A, 0xFB, 0xDB, 0xF6, 0x75, 0xC5, +0xF3, 0x71, 0x48, 0x88, 0x52, 0x71, 0x08, 0x45, 0x31, 0x14, 0x25, 0xA3, 0x74, 0x14, 0x8A, 0x17, +0x32, 0x02, 0x0F, 0x81, 0xA0, 0x1C, 0x88, 0x10, 0x04, 0x61, 0x63, 0xEB, 0x42, 0x9C, 0xF7, 0xAE, +0x13, 0x92, 0xE1, 0x44, 0x75, 0x18, 0x4C, 0xA8, 0x04, 0xBF, 0xFA, 0xEA, 0xAB, 0x5F, 0x7F, 0xF9, +0x43, 0x95, 0x11, 0x94, 0x9F, 0xFB, 0x20, 0xF6, 0xA9, 0x6C, 0xB0, 0x1B, 0x85, 0xC3, 0x52, 0x58, +0x78, 0x93, 0xB3, 0xA9, 0x50, 0x14, 0x88, 0xE8, 0xFA, 0xA1, 0x28, 0x3A, 0x46, 0x30, 0x76, 0xF4, +0x8D, 0x52, 0x72, 0xD9, 0x88, 0xD3, 0x16, 0x39, 0x0A, 0xE5, 0x2E, 0x3E, 0x08, 0x51, 0xD4, 0xC0, +0x10, 0x88, 0x1D, 0x86, 0x93, 0xBF, 0x68, 0xBB, 0x9F, 0x1F, 0x96, 0x82, 0x20, 0x80, 0xE3, 0x37, +0x89, 0xF8, 0x71, 0x71, 0x12, 0x27, 0x47, 0x12, 0x24, 0xC4, 0x41, 0x84, 0x10, 0xE1, 0xE6, 0xC0, +0xD5, 0xA5, 0x44, 0xC4, 0xA1, 0xE8, 0x41, 0xFD, 0xFD, 0xDE, 0x76, 0x5E, 0xFB, 0xED, 0xBE, 0xEF, +0x3E, 0xD3, 0xB7, 0xAD, 0x41, 0x9B, 0x10, 0x3F, 0xE2, 0x63, 0x66, 0x67, 0x76, 0xF7, 0xD5, 0x30, +0x61, 0x7C, 0x1A, 0x08, 0xBF, 0x7E, 0xFD, 0xF8, 0x71, 0xB5, 0xDE, 0x04, 0x60, 0x89, 0xED, 0xF7, +0xCF, 0x3A, 0x15, 0x4E, 0x76, 0xC0, 0x13, 0xC4, 0xFE, 0x4F, 0x78, 0x8B, 0x71, 0x9F, 0x19, 0x63, +0x5E, 0x91, 0xBD, 0x1B, 0x5F, 0x28, 0x36, 0x63, 0x53, 0xD1, 0x2B, 0xA3, 0x29, 0xDB, 0x61, 0xBE, +0xF6, 0x6A, 0x48, 0x68, 0x97, 0x06, 0x44, 0x06, 0xC4, 0xC4, 0xB0, 0xC4, 0x66, 0xF5, 0xB5, 0xC4, +0x6A, 0xB5, 0xF9, 0xFD, 0xE7, 0x1E, 0xF1, 0x76, 0xF3, 0xE5, 0x33, 0x4F, 0x63, 0xBC, 0xB9, 0x28, +0x62, 0xFF, 0x3D, 0x9B, 0xC8, 0x44, 0x14, 0xAF, 0xED, 0x86, 0x8C, 0x03, 0xA2, 0x93, 0x91, 0x54, +0xAC, 0x18, 0xDB, 0xB9, 0xE8, 0x8A, 0x8A, 0x64, 0x8E, 0x69, 0x3C, 0x04, 0x4B, 0x00, 0x88, 0x20, +0x89, 0x08, 0x62, 0xD5, 0x97, 0x82, 0xA8, 0x09, 0x31, 0x08, 0x23, 0x7E, 0xAC, 0x86, 0xF8, 0xB1, +0x19, 0x6E, 0x77, 0x1E, 0x13, 0xBE, 0x7D, 0xFB, 0x1D, 0xC4, 0xB9, 0x03, 0xC5, 0xA5, 0xD3, 0x7E, +0xDE, 0xD9, 0x8C, 0xE3, 0xBE, 0x17, 0x45, 0xDA, 0xD3, 0x4A, 0x71, 0x48, 0xC3, 0x32, 0x64, 0x58, +0x11, 0x46, 0x10, 0x87, 0xB0, 0x62, 0xBB, 0xA0, 0xE2, 0x28, 0xC9, 0x3C, 0xE4, 0x87, 0xA1, 0x08, +0x95, 0x88, 0x77, 0xE6, 0x0C, 0xD5, 0x98, 0x86, 0x61, 0xC4, 0x7A, 0xBD, 0xF9, 0x7D, 0xEB, 0xDD, +0xBB, 0xA9, 0xE1, 0xD0, 0xD6, 0xDC, 0xBE, 0x2C, 0x22, 0x9D, 0x8D, 0x4F, 0xA3, 0xF2, 0x45, 0x71, +0xA2, 0x48, 0x41, 0x2D, 0x8A, 0x20, 0x4A, 0x91, 0x7B, 0xE1, 0x30, 0x82, 0xA8, 0xF6, 0x06, 0xC5, +0x6E, 0xC9, 0x89, 0x1E, 0x84, 0x46, 0x44, 0x10, 0xC4, 0x7A, 0x9F, 0x86, 0x87, 0x67, 0x34, 0x5C, +0x1C, 0x0C, 0x87, 0xBF, 0x94, 0xED, 0xF0, 0x12, 0x84, 0x18, 0x0E, 0xF1, 0xF3, 0x7C, 0xC4, 0xBC, +0xB3, 0xC9, 0xC7, 0x7D, 0x2F, 0x8A, 0x9A, 0x14, 0xAF, 0x81, 0x18, 0x51, 0x10, 0x61, 0xE4, 0x19, +0x62, 0x2B, 0x06, 0x62, 0x33, 0x1D, 0xC5, 0x68, 0x47, 0xF3, 0x11, 0xF2, 0x9B, 0x37, 0xBC, 0x8F, +0x61, 0xFB, 0xC2, 0x3E, 0x86, 0x35, 0x62, 0x10, 0x06, 0x9F, 0x0D, 0x77, 0x89, 0xF8, 0xED, 0xE8, +0x09, 0xC5, 0x73, 0x11, 0xCF, 0x1F, 0xF7, 0xD7, 0xF7, 0x6A, 0xC5, 0xE9, 0x47, 0x13, 0x5D, 0xA1, +0x9E, 0x8E, 0xC9, 0xC8, 0x8D, 0x8D, 0x21, 0x50, 0x64, 0x62, 0x94, 0xA2, 0x1C, 0x51, 0x5C, 0x1A, +0xF2, 0x6B, 0x16, 0x53, 0x04, 0x49, 0x44, 0x46, 0x0B, 0x66, 0x8B, 0x12, 0x7B, 0x43, 0x10, 0x33, +0xC3, 0x92, 0x88, 0xBA, 0x78, 0x7A, 0x21, 0xC4, 0xCE, 0x45, 0xF1, 0x1D, 0xED, 0x69, 0xF3, 0x03, +0xA6, 0x62, 0x13, 0x95, 0x8D, 0x54, 0xDA, 0x9B, 0xF8, 0x1B, 0x41, 0x51, 0x13, 0x23, 0x88, 0x5E, +0x1E, 0xBB, 0x18, 0x9D, 0x83, 0x16, 0xC4, 0x10, 0x41, 0xCF, 0x87, 0x07, 0x44, 0x17, 0x53, 0x08, +0xE7, 0x0C, 0xB7, 0xDF, 0xBF, 0x5D, 0x1A, 0xD1, 0x9D, 0xCD, 0xA2, 0x45, 0xF1, 0x77, 0x75, 0x97, +0x1F, 0xC5, 0x2B, 0xE4, 0xE2, 0xB1, 0x22, 0x88, 0x9C, 0x11, 0xAB, 0xBB, 0x71, 0x7F, 0x63, 0x48, +0x65, 0x63, 0x6E, 0xD7, 0x30, 0x14, 0x20, 0x67, 0xF8, 0x1E, 0x0F, 0x9D, 0x88, 0x34, 0xA6, 0x2C, +0x88, 0xA9, 0xE1, 0xDB, 0xF5, 0x60, 0x78, 0x41, 0x44, 0x3A, 0x1B, 0x2D, 0x8A, 0x20, 0x26, 0x07, +0xC3, 0x07, 0x43, 0x76, 0x6C, 0x6A, 0xC4, 0x5A, 0xF1, 0xA8, 0x9E, 0x52, 0x52, 0x41, 0x64, 0x43, +0x3C, 0x53, 0x84, 0x31, 0x25, 0xCC, 0x0D, 0x11, 0xAC, 0x0D, 0xD9, 0xF2, 0x66, 0x41, 0xD4, 0xA7, +0x2B, 0xD4, 0x1B, 0xA6, 0x2E, 0xA5, 0x18, 0xEE, 0x13, 0xF1, 0xE9, 0xEC, 0x79, 0xE2, 0x62, 0xC4, +0xFE, 0x45, 0xD1, 0x0F, 0x0C, 0xB3, 0x24, 0x06, 0xE0, 0xB1, 0x62, 0xDD, 0xDD, 0x70, 0x19, 0xB5, +0x84, 0x52, 0xB1, 0xC4, 0x02, 0x45, 0xE2, 0x64, 0x42, 0xC2, 0xED, 0x8C, 0x10, 0x21, 0x2C, 0x86, +0x34, 0xA6, 0x7C, 0xCC, 0x89, 0x86, 0x7C, 0x08, 0x6D, 0x58, 0xE2, 0xC7, 0xB7, 0xB3, 0x11, 0xBB, +0x16, 0xC5, 0x50, 0x0C, 0x44, 0x9F, 0x29, 0xA2, 0x58, 0xDD, 0xD1, 0x08, 0x44, 0x06, 0x0D, 0x1A, +0x1C, 0x14, 0x63, 0xD4, 0x30, 0x23, 0xCF, 0x6A, 0x44, 0x48, 0xD1, 0x90, 0x26, 0x6D, 0xD8, 0x89, +0xD0, 0x86, 0x2C, 0x88, 0x34, 0x34, 0x5C, 0x8A, 0xF2, 0xAE, 0x77, 0x6A, 0x08, 0x21, 0x89, 0x78, +0x26, 0x62, 0xF7, 0xA2, 0x98, 0x9F, 0x29, 0x5A, 0xB1, 0x00, 0xEE, 0xF3, 0x11, 0xC4, 0x2A, 0x17, +0x35, 0xF6, 0x4B, 0x31, 0x73, 0x34, 0xA5, 0xC3, 0x7C, 0x84, 0x2A, 0x29, 0x84, 0x18, 0x72, 0x8E, +0x5F, 0xAF, 0x87, 0x42, 0x9C, 0x4F, 0x43, 0x12, 0xF1, 0xB2, 0x88, 0x5E, 0x14, 0x3D, 0x29, 0xA6, +0x3B, 0x6F, 0x7B, 0x43, 0xEE, 0xBC, 0xC1, 0xF8, 0xEC, 0xA0, 0x78, 0x85, 0xAD, 0x9B, 0xF2, 0xAD, +0x4E, 0x46, 0x18, 0x51, 0x0C, 0x44, 0x39, 0x1A, 0x32, 0xD7, 0x94, 0x9E, 0x04, 0x49, 0x44, 0x75, +0xA5, 0x2E, 0xA5, 0x85, 0x90, 0x44, 0xAC, 0x11, 0xFF, 0xB1, 0x1C, 0x92, 0x88, 0xE9, 0xC9, 0x7E, +0x07, 0x62, 0xD7, 0xFF, 0x10, 0x4D, 0x3D, 0x8D, 0x3F, 0x37, 0x43, 0x06, 0x8A, 0x91, 0x8B, 0x94, +0x55, 0x4A, 0xEA, 0x10, 0x30, 0x32, 0xF7, 0xA3, 0xA8, 0x1D, 0x71, 0x20, 0x45, 0x99, 0xC5, 0x52, +0xC3, 0x7A, 0xBF, 0x1B, 0x44, 0x0C, 0xE7, 0x12, 0x31, 0x69, 0x69, 0x4A, 0x6C, 0xBE, 0x7D, 0xBB, +0x9B, 0x5F, 0x1E, 0xF6, 0x51, 0x54, 0xFB, 0xE3, 0xDC, 0xF3, 0x45, 0x31, 0xBF, 0x68, 0xC3, 0x90, +0xE1, 0xED, 0x53, 0x4A, 0xEA, 0xA8, 0x38, 0xDD, 0x82, 0xAB, 0x67, 0x0D, 0x18, 0xDD, 0xA5, 0x7A, +0xFC, 0x77, 0xF4, 0x1B, 0x42, 0xE8, 0xBD, 0x52, 0x27, 0x62, 0x18, 0x4E, 0x8E, 0x2E, 0x98, 0x2E, +0xE6, 0x09, 0x49, 0xC4, 0x16, 0xE2, 0xCB, 0x0B, 0x20, 0x2E, 0xD9, 0x3E, 0xF5, 0x90, 0x81, 0x61, +0xF8, 0x49, 0x31, 0x5E, 0x07, 0xC4, 0x60, 0x94, 0x22, 0x73, 0xBF, 0x9A, 0x54, 0x39, 0x4A, 0xD1, +0x91, 0xF2, 0x61, 0xE8, 0xA6, 0x14, 0x41, 0x0C, 0xD9, 0xF3, 0xA6, 0x98, 0x46, 0x26, 0x86, 0x21, +0x3B, 0x35, 0x89, 0x61, 0x24, 0xE2, 0x85, 0x10, 0xDD, 0xD9, 0xB0, 0x28, 0x2E, 0x1C, 0x32, 0xDE, +0xAF, 0x0E, 0x88, 0x64, 0x21, 0x88, 0x84, 0xF7, 0xC3, 0x5F, 0xA0, 0x18, 0x21, 0x45, 0x39, 0xA2, +0x78, 0x7E, 0xA8, 0x8E, 0x0A, 0xB1, 0xD5, 0x97, 0x42, 0xD8, 0x68, 0x6B, 0x6E, 0x05, 0xA1, 0x0D, +0x49, 0x44, 0x1E, 0xF7, 0xF6, 0xFE, 0xB7, 0x2F, 0x0F, 0xB7, 0x11, 0x3B, 0x17, 0xC5, 0x7F, 0xD5, +0xD3, 0x2D, 0x0B, 0x22, 0x8C, 0x57, 0x40, 0x24, 0x19, 0x87, 0x54, 0x84, 0x91, 0x54, 0x54, 0x2E, +0xCE, 0x3A, 0x92, 0x8C, 0xE7, 0xF3, 0x61, 0xE8, 0x8D, 0x52, 0x2D, 0x87, 0x21, 0xC8, 0x6C, 0x91, +0xB6, 0x35, 0x18, 0x2A, 0x11, 0xDD, 0x9C, 0x1A, 0xF1, 0xEA, 0x59, 0x88, 0x1E, 0x32, 0xF2, 0x7A, +0x4A, 0x67, 0x8A, 0x22, 0xA9, 0xA8, 0x64, 0x84, 0xD1, 0xCF, 0x69, 0x78, 0xD6, 0xB0, 0xE2, 0x18, +0xFD, 0x78, 0x32, 0x44, 0x50, 0x86, 0x6C, 0xB4, 0x45, 0xEC, 0xC7, 0x24, 0x0C, 0xB9, 0x67, 0xAA, +0x55, 0x31, 0x08, 0x89, 0xED, 0x60, 0xB8, 0x18, 0xD1, 0xCD, 0x69, 0xBE, 0x28, 0x7A, 0xC8, 0x48, +0xEB, 0x69, 0x18, 0x4A, 0x91, 0x24, 0x24, 0x9E, 0x1C, 0x2B, 0x6A, 0xEC, 0xD7, 0x19, 0xE3, 0x9C, +0x22, 0xD1, 0x4D, 0xE8, 0x95, 0x50, 0x88, 0x45, 0x10, 0xC4, 0xA8, 0xA5, 0x18, 0xF2, 0x64, 0xBE, +0x0D, 0x23, 0x60, 0x64, 0x46, 0x7C, 0xCE, 0x92, 0x78, 0xC6, 0x98, 0x68, 0x44, 0x2F, 0x8A, 0x0B, +0x4F, 0x32, 0xB6, 0xF3, 0x8A, 0x8E, 0x40, 0x44, 0x51, 0xBB, 0x37, 0x95, 0xA3, 0x15, 0x91, 0x5C, +0x68, 0x29, 0x3D, 0x19, 0x42, 0x88, 0xA1, 0x8E, 0x0F, 0x29, 0xA6, 0x95, 0x21, 0x47, 0x18, 0xEA, +0x6F, 0x8E, 0x13, 0x71, 0xE6, 0xF1, 0xC4, 0x1E, 0xC4, 0xF3, 0xEB, 0xA9, 0x3F, 0xBF, 0x16, 0x45, +0x18, 0x5B, 0x86, 0xA1, 0xA8, 0x67, 0xDF, 0x98, 0xFB, 0xC7, 0x48, 0x14, 0x25, 0x99, 0x70, 0x4A, +0x50, 0x85, 0x14, 0x41, 0x6D, 0x78, 0x0B, 0x31, 0x6A, 0xE9, 0xA1, 0xAD, 0xD9, 0x43, 0xEE, 0xFF, +0x02, 0x02, 0x51, 0xD7, 0x32, 0xD6, 0x20, 0x26, 0xCD, 0xE9, 0xD9, 0x88, 0x1E, 0x32, 0xD2, 0x93, +0x61, 0xF6, 0x6B, 0x46, 0xBD, 0x19, 0xC4, 0xA3, 0x47, 0xA6, 0xB8, 0x08, 0x67, 0x46, 0x1C, 0x51, +0x34, 0xA3, 0x1D, 0xF3, 0x10, 0x1F, 0x86, 0x6E, 0x4A, 0x8B, 0xA0, 0x0D, 0xB9, 0xED, 0xBD, 0x6F, +0x6B, 0x58, 0x14, 0x23, 0xC8, 0xC6, 0x4A, 0x71, 0x97, 0x88, 0x05, 0x91, 0x83, 0x28, 0x10, 0xAF, +0x2F, 0x41, 0xEC, 0x58, 0x14, 0xBD, 0x69, 0xE3, 0x7A, 0x1A, 0x8A, 0xC7, 0xA5, 0x34, 0xDE, 0xC2, +0xED, 0xA0, 0x37, 0xDE, 0xBD, 0xE1, 0x0E, 0x15, 0x57, 0x6F, 0x5C, 0x53, 0x51, 0xBC, 0x94, 0xA3, +0x04, 0x6D, 0xE8, 0xFD, 0x6E, 0x16, 0x44, 0xC6, 0xC3, 0x30, 0xA4, 0xAF, 0x01, 0xF1, 0x40, 0xD9, +0x38, 0x90, 0x5A, 0x87, 0x61, 0xDE, 0xD7, 0x30, 0x26, 0x76, 0x20, 0x7A, 0xC8, 0x58, 0xD0, 0x9F, +0x1E, 0xED, 0xD7, 0x10, 0xE1, 0x17, 0x7C, 0x60, 0x86, 0x62, 0x09, 0xE6, 0xFE, 0x49, 0x7F, 0x63, +0x45, 0x20, 0x2D, 0x99, 0xC3, 0x11, 0x26, 0x04, 0x11, 0xC2, 0x43, 0x21, 0xA5, 0x31, 0xA5, 0x92, +0x8E, 0x01, 0xE1, 0xDE, 0x91, 0x38, 0x24, 0x23, 0x8A, 0xBF, 0x23, 0x11, 0xA9, 0xA6, 0x1D, 0x13, +0x86, 0x10, 0xFB, 0x17, 0x45, 0xF7, 0xA7, 0x3C, 0x8C, 0xE1, 0x81, 0x3F, 0x5E, 0xA4, 0xB8, 0x47, +0xCC, 0x15, 0x61, 0x04, 0xD2, 0x92, 0x6D, 0x40, 0x87, 0xFC, 0x20, 0x64, 0xAC, 0xC0, 0x90, 0xF1, +0x30, 0x00, 0x0F, 0x88, 0xB4, 0x35, 0x33, 0x92, 0xB1, 0x95, 0x4A, 0xFC, 0xDC, 0x19, 0x2E, 0x68, +0x4E, 0x13, 0xC4, 0x74, 0x51, 0xCC, 0x37, 0x6D, 0xB4, 0x7F, 0x2A, 0x45, 0x10, 0x79, 0x05, 0x91, +0x87, 0x35, 0x6E, 0xA6, 0x8A, 0x86, 0x84, 0x71, 0x61, 0x28, 0x07, 0xB5, 0x18, 0x32, 0x56, 0x20, +0xC8, 0x47, 0x42, 0x73, 0xB9, 0x0D, 0xC3, 0x20, 0xBC, 0x22, 0xC4, 0x12, 0x48, 0x6E, 0x22, 0x11, +0xD9, 0xAF, 0x51, 0x5F, 0x93, 0x21, 0xCA, 0xF0, 0xC2, 0xF5, 0xF4, 0xC7, 0xA4, 0xB1, 0x71, 0x2A, +0x96, 0x57, 0xAA, 0x2B, 0x07, 0x1B, 0xCA, 0x45, 0xAF, 0x8B, 0x17, 0x73, 0x74, 0x1D, 0xC5, 0xCF, +0x86, 0x10, 0x62, 0x18, 0x88, 0xD5, 0xE8, 0xCB, 0xBF, 0xCF, 0x50, 0xC4, 0xB2, 0xBE, 0x0C, 0xBE, +0x1A, 0x0C, 0xDB, 0x4B, 0x62, 0xDE, 0xD7, 0xE4, 0x88, 0x9C, 0x29, 0x76, 0xD5, 0x53, 0xCE, 0xA3, +0xC8, 0xC2, 0x2A, 0xA8, 0x38, 0x01, 0x59, 0x9F, 0x6E, 0x78, 0x27, 0x75, 0x0C, 0x2B, 0x26, 0x0B, +0x64, 0x0A, 0x67, 0x43, 0x08, 0xA9, 0xA4, 0x1A, 0x0E, 0x23, 0x30, 0x1C, 0x09, 0x69, 0xD6, 0xB0, +0xA4, 0xE4, 0xE0, 0x38, 0xCE, 0x1C, 0x9B, 0x8F, 0xDF, 0x1E, 0x66, 0x4B, 0x62, 0xDE, 0x9C, 0x1A, +0xB1, 0xA3, 0x9E, 0x32, 0xEF, 0xEB, 0x3C, 0x8A, 0x5A, 0x6A, 0x45, 0x10, 0xAB, 0x53, 0x7F, 0x1E, +0x0B, 0x67, 0x62, 0x9C, 0xEF, 0x52, 0x09, 0x31, 0x4A, 0x52, 0x7E, 0xE2, 0xF3, 0x48, 0x81, 0x21, +0xAB, 0xA1, 0xF3, 0x90, 0xFC, 0x23, 0x0B, 0xC1, 0xAC, 0x03, 0xC8, 0x5B, 0xDB, 0xD5, 0xB7, 0x87, +0x0F, 0xB3, 0x25, 0x51, 0xCD, 0x69, 0x0F, 0x22, 0x43, 0x46, 0x5A, 0x4F, 0x35, 0x2A, 0x36, 0x96, +0x44, 0x2A, 0xCB, 0x7E, 0x96, 0x42, 0x91, 0xD0, 0x56, 0x6A, 0x09, 0x96, 0xC6, 0x36, 0xA4, 0xD2, +0x51, 0x61, 0x3A, 0x05, 0x82, 0x8D, 0x9E, 0x14, 0x43, 0x06, 0x0B, 0xD2, 0x50, 0x86, 0xED, 0x20, +0x1B, 0x7F, 0x7C, 0x7C, 0xFF, 0x70, 0x76, 0x49, 0xEC, 0xE9, 0x6B, 0xF2, 0x45, 0xD1, 0xF5, 0x34, +0x3D, 0xDF, 0xDF, 0xFE, 0x53, 0x91, 0x54, 0x6C, 0x28, 0xC2, 0x88, 0x62, 0x7D, 0xB4, 0xD1, 0xCF, +0x08, 0xA0, 0x09, 0x6D, 0x78, 0x03, 0x42, 0x66, 0x43, 0x0C, 0x27, 0xAB, 0xE1, 0x61, 0x0A, 0xCE, +0x19, 0x7F, 0x7F, 0xFC, 0xF8, 0xF0, 0xE1, 0x69, 0x4B, 0x62, 0x8E, 0xD8, 0x59, 0x4F, 0xE7, 0xCF, +0xA3, 0xD8, 0x7A, 0xBB, 0x15, 0xC1, 0x8E, 0x0D, 0x69, 0xE8, 0xEE, 0x4D, 0x8A, 0x9C, 0x4E, 0x49, +0x11, 0xC7, 0x56, 0x51, 0x4D, 0x31, 0x85, 0x57, 0x05, 0x80, 0x9A, 0x0C, 0x4B, 0x3C, 0x21, 0xF6, +0xB7, 0x68, 0x29, 0x9F, 0x55, 0xAF, 0xCD, 0x1A, 0xC1, 0x85, 0x5B, 0x96, 0xCA, 0xF5, 0x90, 0x88, +0x1D, 0x4B, 0x62, 0x82, 0x78, 0x6E, 0x3D, 0xF5, 0xA8, 0xE8, 0xFF, 0xD8, 0x14, 0x45, 0xDE, 0x72, +0xC5, 0x9B, 0x52, 0x2C, 0x21, 0x45, 0x31, 0xB6, 0x44, 0x8D, 0x27, 0xC2, 0xB6, 0xA1, 0xB7, 0x4A, +0x81, 0x69, 0xD4, 0x51, 0xEC, 0x18, 0x80, 0x8F, 0x7F, 0x78, 0x13, 0x86, 0x54, 0xD3, 0x64, 0x49, +0x54, 0x5F, 0x93, 0x23, 0x76, 0xD5, 0x53, 0x8F, 0x8A, 0x3A, 0x4E, 0x04, 0x0C, 0x45, 0x3B, 0x06, +0x22, 0x8A, 0x7A, 0x34, 0xBC, 0x83, 0x91, 0x90, 0x60, 0x6E, 0x48, 0x3F, 0xC3, 0x6A, 0x98, 0x19, +0xC6, 0x6B, 0x84, 0x77, 0x75, 0xFE, 0xAC, 0x3E, 0xBE, 0x7F, 0xA5, 0x6A, 0xCA, 0x94, 0x38, 0x45, +0xBC, 0xAA, 0xBE, 0x46, 0x13, 0x46, 0x52, 0x4F, 0xBB, 0x5B, 0x9B, 0xBD, 0xA1, 0x4B, 0x69, 0x28, +0x3A, 0x3D, 0xDB, 0xB9, 0xE8, 0xA9, 0xF1, 0x86, 0x6A, 0xEA, 0x22, 0xC7, 0x04, 0xD0, 0x0D, 0x0D, +0x63, 0x05, 0xB3, 0xFD, 0xB1, 0xE0, 0xC4, 0x30, 0xF6, 0xC2, 0x11, 0x24, 0xAE, 0x1D, 0x12, 0xD1, +0x9F, 0x92, 0xD9, 0xBF, 0x24, 0x2E, 0xA9, 0xA7, 0x4B, 0x47, 0xC5, 0x6D, 0x08, 0xC2, 0x88, 0x1F, +0x7D, 0x1A, 0x6F, 0xF1, 0x03, 0x44, 0x53, 0x91, 0x50, 0xA7, 0x7A, 0x22, 0x66, 0xE2, 0xC7, 0x56, +0xB7, 0x0D, 0x0F, 0x84, 0xA1, 0x54, 0x6D, 0x95, 0x1E, 0x9F, 0xC9, 0xEC, 0xBE, 0x8A, 0x90, 0x9F, +0xBC, 0x5D, 0xBD, 0x1F, 0x10, 0x8B, 0xE1, 0x65, 0x96, 0xC4, 0xAE, 0x7A, 0xEA, 0x51, 0x71, 0xAE, +0xB5, 0xA9, 0x14, 0xDD, 0xCF, 0xD0, 0xF1, 0xA0, 0x2C, 0x45, 0xED, 0xE0, 0x10, 0x30, 0x42, 0x99, +0x87, 0x09, 0x55, 0x46, 0x5D, 0x49, 0x4B, 0xC0, 0x40, 0x12, 0x62, 0xF8, 0x6C, 0x92, 0x8A, 0x10, +0x4E, 0x29, 0xD7, 0x24, 0xA2, 0xAA, 0xA9, 0x06, 0x8C, 0xB3, 0x10, 0xA9, 0xA7, 0xDD, 0xAD, 0xCD, +0x9F, 0xA2, 0xD8, 0x5E, 0x11, 0xA9, 0xAD, 0x74, 0xAF, 0xCC, 0x1B, 0x9A, 0x18, 0x75, 0xBD, 0x58, +0xF9, 0xD8, 0x4B, 0x59, 0xF1, 0x79, 0xA3, 0x1B, 0x43, 0x72, 0xE9, 0x78, 0xA6, 0x38, 0xEC, 0x40, +0x4D, 0x97, 0x74, 0x96, 0x83, 0xF1, 0x0F, 0x4F, 0x36, 0xFE, 0x2E, 0x86, 0xAF, 0x92, 0x49, 0x5F, +0x4B, 0x62, 0xD6, 0xD7, 0xE4, 0xF5, 0x94, 0xFD, 0xD3, 0x93, 0x5B, 0x9B, 0x48, 0x45, 0x08, 0xA5, +0x48, 0x2A, 0x3E, 0x0A, 0x4B, 0x68, 0xD5, 0xE0, 0x78, 0x0B, 0xC7, 0xCB, 0x63, 0x0F, 0x26, 0x82, +0x18, 0x02, 0x88, 0x21, 0x02, 0xD5, 0xC8, 0x37, 0x1A, 0xFA, 0xDF, 0x5E, 0xF9, 0x56, 0x3F, 0x0E, +0x1D, 0x6F, 0xE5, 0xBB, 0x76, 0x5D, 0x0D, 0xFF, 0x4B, 0x54, 0x47, 0x35, 0xED, 0x42, 0xA4, 0x9E, +0x6A, 0x54, 0xCC, 0x5B, 0x9B, 0x26, 0x23, 0xEF, 0xA1, 0xF8, 0x28, 0x14, 0xCB, 0x3B, 0x8B, 0xA3, +0x2E, 0xC3, 0x69, 0xF8, 0x87, 0x11, 0xCA, 0x45, 0x61, 0x42, 0x1B, 0x56, 0xA3, 0xE1, 0x49, 0x86, +0x51, 0x4A, 0x21, 0xAC, 0x0A, 0xF2, 0x93, 0x61, 0xAF, 0xE6, 0xF5, 0xF9, 0xD5, 0xD4, 0x88, 0xE7, +0xD7, 0x53, 0xA7, 0x62, 0x51, 0xFC, 0x2D, 0x42, 0xB6, 0xDD, 0xAA, 0x82, 0x1A, 0xDA, 0xBB, 0xF7, +0x83, 0xB1, 0xBA, 0x74, 0xB2, 0x11, 0x48, 0x18, 0xBB, 0x29, 0xE1, 0x1B, 0xA3, 0xCA, 0x42, 0x5F, +0x2A, 0xA5, 0x96, 0xFA, 0xB0, 0xBB, 0x34, 0x34, 0xE5, 0xCB, 0xFE, 0x49, 0xA1, 0x9D, 0x60, 0x6D, +0x38, 0x14, 0x53, 0x12, 0x31, 0xA9, 0xA6, 0x1D, 0x4B, 0x22, 0x88, 0x4E, 0x45, 0xD7, 0xD3, 0xBA, +0xB5, 0x89, 0x5D, 0x1B, 0x3D, 0x20, 0x65, 0x3E, 0x8C, 0xAA, 0x82, 0x3A, 0xC4, 0xAD, 0x67, 0x28, +0xD6, 0x8F, 0xF9, 0xFB, 0xA2, 0x38, 0x21, 0xC6, 0x85, 0x9A, 0x37, 0x14, 0x00, 0x56, 0x75, 0xB4, +0x71, 0x58, 0x51, 0xAF, 0x10, 0x61, 0xC8, 0x74, 0x74, 0x44, 0x78, 0xF4, 0x0B, 0xFE, 0x59, 0x57, +0x89, 0x38, 0x5B, 0x4D, 0x19, 0x30, 0xD2, 0x25, 0x71, 0x51, 0x3D, 0x75, 0x2A, 0xE6, 0x53, 0xC6, +0x22, 0xC5, 0xC1, 0x8F, 0xFA, 0x3B, 0xAF, 0x88, 0xA3, 0x18, 0x97, 0x46, 0x8B, 0x90, 0xD4, 0x49, +0x0D, 0x89, 0xC8, 0xC3, 0x6B, 0xF5, 0x84, 0x1B, 0x84, 0xF5, 0xFA, 0x5A, 0x46, 0xC4, 0x99, 0xB6, +0xA6, 0xB7, 0x9A, 0x2E, 0xAB, 0xA7, 0x49, 0x6B, 0xE3, 0x29, 0xC3, 0xA9, 0xE8, 0xCE, 0x06, 0xC5, +0xDD, 0xE3, 0x37, 0x20, 0x4A, 0x11, 0xC6, 0x24, 0x1B, 0x3B, 0x08, 0x31, 0x84, 0xD0, 0x86, 0x84, +0x97, 0x87, 0x31, 0xEA, 0x6D, 0xDF, 0x91, 0x90, 0xD8, 0xAE, 0x22, 0x11, 0x93, 0xB6, 0xE6, 0x4C, +0xC4, 0x7C, 0x54, 0x54, 0x6B, 0x93, 0xA4, 0x22, 0x1E, 0x73, 0x8A, 0x05, 0x2E, 0x14, 0xCB, 0x8B, +0x14, 0xBD, 0x30, 0x9A, 0x91, 0xE8, 0x10, 0xC4, 0x4F, 0x69, 0x88, 0xA1, 0x11, 0x19, 0x70, 0xC9, +0x50, 0x1B, 0xD6, 0x51, 0x8A, 0x69, 0xA3, 0xAD, 0x49, 0xAA, 0x69, 0x0F, 0x62, 0x7F, 0x3D, 0xF5, +0xC0, 0x5F, 0x5F, 0xAF, 0x61, 0x44, 0x8C, 0x6F, 0x5C, 0x94, 0x1E, 0x0B, 0xEA, 0x8E, 0x52, 0x8A, +0xDA, 0xFF, 0x40, 0x51, 0x8C, 0x27, 0x69, 0xCA, 0xCE, 0x23, 0x05, 0x31, 0x2B, 0x88, 0xE1, 0xF0, +0x82, 0xE1, 0x78, 0x4F, 0x08, 0x42, 0xA2, 0x14, 0xD3, 0xD7, 0xFF, 0x6E, 0x6B, 0x16, 0x54, 0x53, +0x21, 0x66, 0xF5, 0x94, 0x51, 0xD1, 0xBB, 0x36, 0x28, 0xDE, 0xF6, 0xC0, 0x3F, 0x05, 0x99, 0x53, +0x7C, 0x14, 0x8A, 0x71, 0x05, 0x45, 0x8A, 0x2C, 0x36, 0x40, 0xC2, 0x28, 0xC7, 0x24, 0xE4, 0xA7, +0x89, 0x82, 0xB0, 0xE0, 0xBF, 0x0D, 0xE3, 0xAE, 0x57, 0x21, 0xB4, 0xE1, 0x9F, 0x95, 0x12, 0xF1, +0xFC, 0x6A, 0xFA, 0x3F, 0x52, 0xF1, 0xE9, 0x24, 0x15, 0x7D, 0x50, 0xA1, 0xAE, 0x26, 0x14, 0x8B, +0x60, 0x14, 0x54, 0x9E, 0xF4, 0xF7, 0x76, 0x6A, 0x1D, 0x46, 0xE8, 0x26, 0x74, 0x0A, 0xBA, 0x8E, +0x4E, 0xFC, 0x08, 0x1B, 0xF2, 0x4F, 0xCC, 0xC5, 0x94, 0x44, 0x74, 0x5B, 0xE3, 0x49, 0xFF, 0x7F, +0x21, 0x7A, 0xCA, 0x48, 0x52, 0x91, 0x98, 0x51, 0x7C, 0x34, 0x12, 0xA2, 0x08, 0xA3, 0x1C, 0x9D, +0x8F, 0x8B, 0x31, 0x0D, 0x08, 0xA1, 0x8F, 0x8E, 0x2C, 0xF8, 0x48, 0x86, 0x65, 0xC2, 0x2F, 0x88, +0xAC, 0xD9, 0x8A, 0xDF, 0xC5, 0xF0, 0x8C, 0x44, 0xCC, 0x10, 0x5D, 0x4F, 0xD3, 0x5D, 0x9B, 0x65, +0xA9, 0x58, 0x1F, 0xBB, 0x95, 0xB7, 0x6A, 0xD8, 0x8F, 0x54, 0x2C, 0x81, 0xA2, 0x1D, 0x5D, 0x55, +0xF9, 0x2B, 0x4B, 0x42, 0x80, 0x26, 0xBC, 0x29, 0x42, 0x0C, 0x7D, 0x83, 0x34, 0xDE, 0x31, 0x1C, +0x9F, 0x99, 0x65, 0x40, 0x6C, 0x17, 0x53, 0x27, 0x62, 0xBB, 0xAD, 0xC9, 0xAA, 0x69, 0x07, 0x62, +0x3A, 0x65, 0xE4, 0xA9, 0xC8, 0x5F, 0x07, 0x8A, 0xBB, 0x80, 0x70, 0xFC, 0x04, 0x2D, 0x14, 0x35, +0x6F, 0xD0, 0xAB, 0x9A, 0xD1, 0x94, 0x79, 0x98, 0xD0, 0x86, 0x3E, 0x75, 0xE1, 0x19, 0x0B, 0x1B, +0x96, 0x68, 0xB5, 0xCE, 0x51, 0x4C, 0x95, 0x88, 0x79, 0x5B, 0xD3, 0x83, 0xE8, 0x7A, 0xDA, 0x6E, +0x6D, 0x96, 0xA4, 0x22, 0x82, 0x30, 0x4A, 0xB1, 0xC4, 0xF8, 0xD4, 0x49, 0x68, 0x86, 0xA2, 0x1C, +0x35, 0x39, 0xC2, 0xD8, 0x85, 0x89, 0x9F, 0x0D, 0x55, 0x45, 0xD1, 0x3B, 0xFE, 0xA3, 0x31, 0x21, +0xDA, 0x90, 0xE4, 0xFF, 0x15, 0x86, 0x4E, 0xC4, 0xB3, 0xAB, 0x69, 0x7F, 0x2A, 0x3E, 0x3E, 0x3D, +0x15, 0x2B, 0x42, 0x66, 0x2A, 0x29, 0x86, 0xDE, 0xF1, 0xFF, 0xAA, 0x61, 0x47, 0x14, 0x81, 0xB4, +0x63, 0x0E, 0xEA, 0x55, 0xD0, 0x84, 0xB3, 0x86, 0xB7, 0x46, 0x46, 0xCE, 0x5C, 0xEA, 0xE9, 0x02, +0x42, 0x0C, 0xB7, 0x51, 0x4C, 0x93, 0x44, 0x4C, 0x87, 0x44, 0x23, 0x76, 0xB4, 0x36, 0x3D, 0xA9, +0x28, 0x44, 0x36, 0xAF, 0x68, 0x13, 0xC2, 0x2F, 0x0A, 0xEA, 0xFE, 0xE5, 0x11, 0xA1, 0x64, 0x24, +0x60, 0x5C, 0x14, 0x08, 0xDA, 0xD0, 0xD7, 0x7D, 0x31, 0xE4, 0xCF, 0xC5, 0xA5, 0x12, 0x3E, 0x43, +0x22, 0x3E, 0x4E, 0x59, 0x84, 0x37, 0x28, 0xA6, 0x59, 0x22, 0xF6, 0x56, 0x53, 0x23, 0x7A, 0x54, +0x9C, 0x9F, 0x32, 0xD2, 0x54, 0xDC, 0x36, 0xEF, 0x5F, 0x56, 0x8A, 0xB7, 0x8A, 0x62, 0x91, 0x2B, +0x78, 0xA3, 0xE2, 0x3B, 0x14, 0x73, 0xC6, 0x88, 0x4E, 0x41, 0x02, 0x3E, 0x1B, 0x46, 0xFA, 0xCD, +0x19, 0x5E, 0x89, 0x15, 0x51, 0xF7, 0xBA, 0x18, 0xF3, 0x5F, 0x67, 0x89, 0x98, 0xB4, 0x35, 0xBD, +0x88, 0x79, 0x2A, 0xBE, 0x3C, 0x21, 0x15, 0x7F, 0x4C, 0x05, 0x61, 0x44, 0xF1, 0xD1, 0x41, 0xF1, +0xDD, 0xA8, 0x58, 0x62, 0x56, 0x31, 0x02, 0x46, 0xA2, 0x13, 0x90, 0x04, 0x9C, 0x35, 0x2C, 0x7A, +0x18, 0x56, 0xF5, 0xFD, 0xCA, 0xC1, 0xF0, 0xC9, 0x84, 0x70, 0xF7, 0x7A, 0x63, 0x98, 0x2E, 0x2E, +0x93, 0x88, 0x46, 0xEC, 0x68, 0x6D, 0x98, 0x32, 0xD2, 0x54, 0xE4, 0x5C, 0x71, 0x7B, 0x92, 0x62, +0x94, 0xD2, 0x1D, 0x1E, 0x8A, 0xA5, 0xDB, 0x41, 0x51, 0x8C, 0x6A, 0x73, 0x52, 0x4D, 0xD9, 0x11, +0x06, 0x24, 0x18, 0x7E, 0xDA, 0x9F, 0x25, 0xC1, 0xF1, 0x13, 0x86, 0xC4, 0x9F, 0x35, 0x89, 0x78, +0x77, 0x79, 0x22, 0xE6, 0x4B, 0x62, 0x7F, 0x2A, 0x06, 0xE2, 0x7C, 0x2A, 0x72, 0xC4, 0x3F, 0xF5, +0xE3, 0x38, 0xA7, 0x52, 0x7C, 0x27, 0xC5, 0x78, 0x9F, 0x55, 0x24, 0xEC, 0xE8, 0xB0, 0x9F, 0x09, +0xE1, 0x23, 0x76, 0x76, 0x18, 0xEE, 0xDE, 0x6D, 0xE8, 0xFF, 0x83, 0x9E, 0xF8, 0x51, 0x0C, 0x19, +0x2F, 0x3A, 0x12, 0x51, 0xD5, 0xB4, 0x1F, 0x91, 0xB3, 0x8C, 0x53, 0x53, 0x31, 0x14, 0x7F, 0xB7, +0x15, 0x77, 0x86, 0x95, 0xE2, 0xBB, 0xF8, 0x1A, 0x81, 0x62, 0x5D, 0xC3, 0x80, 0x34, 0xE5, 0x32, +0x40, 0x02, 0x3F, 0xCD, 0xF5, 0x32, 0xBC, 0x85, 0xA1, 0xCE, 0x2E, 0x5A, 0x86, 0x2F, 0x7E, 0x63, +0x78, 0x56, 0x22, 0x1A, 0xF1, 0xBF, 0xA6, 0xE2, 0xED, 0x34, 0x15, 0x51, 0x8C, 0x08, 0x45, 0xF0, +0x22, 0x50, 0x64, 0x0F, 0x47, 0x90, 0xA6, 0xCC, 0x01, 0x2D, 0x68, 0x43, 0xB6, 0xE4, 0x31, 0x1C, +0xBE, 0x62, 0xE8, 0x3D, 0xD3, 0x06, 0x61, 0x99, 0x2E, 0xDE, 0xAB, 0xAB, 0xE9, 0x4A, 0xC4, 0xCB, +0x23, 0xE6, 0xA9, 0x78, 0x97, 0x54, 0xDC, 0x1C, 0xB7, 0x93, 0x27, 0x2B, 0xC2, 0x58, 0xFF, 0xAF, +0x9A, 0xB9, 0x64, 0x7B, 0xB1, 0xB4, 0x1B, 0xE1, 0x91, 0x50, 0x86, 0x25, 0x30, 0x7C, 0x54, 0x19, +0xF2, 0x28, 0x5E, 0x71, 0xAB, 0xF6, 0xF8, 0xCA, 0x82, 0xF8, 0x41, 0x89, 0xF8, 0x20, 0x4D, 0xC4, +0xFE, 0xB6, 0xC6, 0x88, 0xB4, 0x36, 0x27, 0xA7, 0xA2, 0x6F, 0xDB, 0xAC, 0xFE, 0xEC, 0xFF, 0x42, +0xDB, 0x3D, 0xC4, 0x23, 0x14, 0x23, 0xA4, 0x18, 0x8C, 0x64, 0x81, 0x18, 0xCF, 0x8C, 0x4A, 0xD0, +0x86, 0xBB, 0x52, 0x3F, 0xA6, 0xE2, 0xC4, 0x30, 0x1A, 0x53, 0x0C, 0xA7, 0xFB, 0xB4, 0x87, 0x05, +0xF1, 0x55, 0xAB, 0x98, 0x3A, 0x11, 0xC7, 0x41, 0x9F, 0xF9, 0x22, 0x43, 0xBC, 0x7C, 0x2A, 0x7A, +0xCC, 0x88, 0x54, 0xAC, 0x6A, 0x1C, 0x8C, 0x1D, 0x8A, 0x97, 0x71, 0xCC, 0xB3, 0xB0, 0x78, 0x05, +0x61, 0xF9, 0xAD, 0x31, 0x8C, 0xCB, 0x40, 0x0C, 0xAC, 0x18, 0x42, 0x48, 0xC4, 0x74, 0x91, 0x17, +0xD3, 0x24, 0x11, 0x2F, 0x84, 0xD8, 0x97, 0x8A, 0x4C, 0xFC, 0x5A, 0x99, 0x32, 0x45, 0x07, 0x8C, +0x49, 0x59, 0xED, 0xE2, 0x6B, 0xA7, 0xE1, 0xEE, 0xF7, 0xC5, 0xF0, 0x1D, 0xFF, 0x86, 0x30, 0x64, +0x39, 0x74, 0x63, 0x5A, 0x16, 0x44, 0x8A, 0xA9, 0xBB, 0x9A, 0xB9, 0x15, 0xB1, 0xB7, 0xAD, 0x01, +0xB1, 0x37, 0x15, 0xFF, 0x35, 0x66, 0xE0, 0xD7, 0x60, 0xE4, 0xFA, 0x69, 0xA5, 0x78, 0xEF, 0xDE, +0xAC, 0x62, 0x44, 0x27, 0x24, 0x76, 0x26, 0xC4, 0x90, 0x21, 0x27, 0x5E, 0x87, 0x77, 0x0C, 0x69, +0xA2, 0x8E, 0xDA, 0x52, 0x1B, 0xB2, 0x20, 0x52, 0x4C, 0x2F, 0x9B, 0x88, 0xFD, 0x53, 0x46, 0xBE, +0x83, 0xEA, 0x31, 0x03, 0x3E, 0x33, 0x32, 0x67, 0x4C, 0x15, 0x71, 0x04, 0x12, 0xC6, 0xA6, 0x64, +0x07, 0xA0, 0xB2, 0x30, 0x2A, 0x38, 0x86, 0xEC, 0x24, 0xB1, 0x55, 0x83, 0x21, 0x84, 0x9E, 0x10, +0xC3, 0x50, 0x23, 0xA2, 0xBB, 0x1A, 0xB7, 0xA6, 0xED, 0x44, 0xEC, 0x40, 0xCC, 0x53, 0x91, 0xC3, +0x8C, 0xA4, 0xB7, 0xF9, 0x4B, 0xDB, 0xBD, 0xEB, 0x38, 0x11, 0x04, 0x61, 0x14, 0xCE, 0x48, 0x90, +0x10, 0x12, 0x11, 0x82, 0x17, 0x00, 0x09, 0x08, 0x88, 0x08, 0x90, 0x48, 0x36, 0x24, 0x21, 0x26, +0xD8, 0x07, 0x58, 0x04, 0x8B, 0x80, 0xE7, 0xC7, 0xED, 0xF2, 0x70, 0x5C, 0x73, 0xA6, 0xB7, 0xEC, +0x6E, 0xA6, 0xB8, 0x88, 0x64, 0x17, 0x69, 0x3F, 0xFD, 0x55, 0xD5, 0xE3, 0xB1, 0xA7, 0xA7, 0x18, +0xC5, 0xA7, 0x2E, 0x49, 0x51, 0x8E, 0x89, 0xB1, 0xC8, 0x64, 0xAD, 0xE7, 0x8F, 0xD3, 0x93, 0x61, +0x2B, 0x0C, 0xDF, 0xC9, 0x30, 0x14, 0x6D, 0xF8, 0x23, 0x06, 0xA2, 0x9A, 0xA9, 0xB6, 0x9A, 0xA1, +0x20, 0xEE, 0x16, 0xC5, 0x43, 0xBD, 0xE1, 0x98, 0x91, 0x3E, 0xA0, 0xE8, 0xEC, 0x5A, 0x98, 0x18, +0x3F, 0x9C, 0x2B, 0x3E, 0x5B, 0x2B, 0xD2, 0x57, 0x29, 0x18, 0x45, 0x39, 0x52, 0x27, 0xBD, 0x85, +0x10, 0xB9, 0xBC, 0x5A, 0xB5, 0x6B, 0xE0, 0x18, 0xF2, 0x02, 0xE2, 0xC6, 0xDB, 0xB5, 0x0E, 0x7F, +0xFD, 0xBA, 0xC5, 0xB0, 0x6E, 0xA6, 0x55, 0x10, 0xE7, 0x11, 0x27, 0xA2, 0x48, 0x43, 0xDD, 0xBA, +0x88, 0xC9, 0xAD, 0xD5, 0x28, 0xEA, 0xD1, 0x3C, 0x61, 0xA9, 0x82, 0x71, 0x1C, 0xF2, 0x14, 0x3F, +0xEA, 0x24, 0xE6, 0xA3, 0x6A, 0xFC, 0x6F, 0x32, 0xE4, 0x8C, 0x0F, 0x60, 0xD4, 0x9F, 0xDB, 0xD4, +0x4C, 0x31, 0x7C, 0x68, 0xAB, 0xA9, 0x82, 0x78, 0x05, 0xE2, 0x78, 0x14, 0xBD, 0xDB, 0xD0, 0x50, +0x9F, 0xA4, 0xD2, 0x53, 0x5D, 0x0A, 0xC5, 0x80, 0x54, 0xC1, 0x67, 0x4A, 0x8B, 0xB9, 0x20, 0x24, +0x86, 0x32, 0x8C, 0xDF, 0xCB, 0x37, 0x4E, 0xD7, 0x85, 0xD6, 0x84, 0x18, 0xDE, 0x61, 0x38, 0xB0, +0xD5, 0x0C, 0x04, 0x71, 0x36, 0x8A, 0x28, 0x82, 0xA8, 0x86, 0x1A, 0x76, 0x62, 0xB4, 0x62, 0xFC, +0x20, 0x17, 0x32, 0x14, 0x81, 0x54, 0x67, 0x1D, 0x28, 0x0B, 0x9A, 0x8F, 0xA6, 0xDA, 0x0C, 0x3F, +0x64, 0x43, 0x62, 0x88, 0x20, 0xF5, 0xED, 0x32, 0xC3, 0x1D, 0x82, 0x28, 0xC4, 0x6B, 0xA3, 0xD8, +0x6D, 0xA8, 0x9F, 0x0F, 0x0D, 0xB5, 0xC1, 0xE5, 0xFB, 0x93, 0xA4, 0x78, 0x9C, 0x3A, 0x4D, 0x31, +0xF8, 0x14, 0xC6, 0xA8, 0x2D, 0xC7, 0x01, 0xCB, 0xC2, 0x8F, 0xC2, 0x90, 0x3B, 0x44, 0xCE, 0x0D, +0x3F, 0x2E, 0x84, 0xD4, 0x77, 0x2F, 0x35, 0xFD, 0x66, 0xDA, 0xD9, 0x6A, 0x08, 0xE2, 0x28, 0x62, +0x1D, 0xC5, 0xA7, 0xDD, 0x28, 0x76, 0x1B, 0xAA, 0xEF, 0x73, 0xF1, 0x93, 0x23, 0x4F, 0x5B, 0xC6, +0xC2, 0x27, 0x45, 0x24, 0x0D, 0x79, 0x85, 0x66, 0x6D, 0xC7, 0xFF, 0xC0, 0x63, 0xAF, 0x7C, 0x3E, +0x6C, 0x84, 0x32, 0x64, 0xA9, 0xE9, 0x9C, 0x2E, 0xD4, 0x4C, 0x75, 0xCE, 0x2F, 0x82, 0xB8, 0x4F, +0x14, 0xBD, 0xDB, 0xB8, 0xA1, 0x36, 0x3B, 0x39, 0x2A, 0x8C, 0x71, 0xD2, 0x5E, 0x14, 0x13, 0xA0, +0xCA, 0x8E, 0x75, 0x99, 0xCE, 0x95, 0xBF, 0x35, 0xE3, 0x10, 0x43, 0x8E, 0xF8, 0x67, 0x84, 0xCB, +0x3B, 0x57, 0x7F, 0xDF, 0x8E, 0x34, 0xD3, 0x81, 0x20, 0x4E, 0x47, 0x91, 0x8B, 0x6F, 0xDA, 0x6D, +0x7A, 0x1B, 0xEA, 0xC7, 0x75, 0x29, 0x8C, 0x2C, 0x37, 0x31, 0x18, 0x55, 0xB3, 0x92, 0x35, 0xDF, +0xD2, 0x01, 0xDC, 0x4A, 0x3F, 0xC8, 0x30, 0x08, 0x11, 0x8C, 0xFA, 0x53, 0x1A, 0xD6, 0xCD, 0xB4, +0x0E, 0xE2, 0x7C, 0x14, 0x7D, 0xCC, 0x50, 0x43, 0x25, 0x8A, 0x34, 0x54, 0x29, 0x06, 0xA3, 0x14, +0xD9, 0x13, 0x45, 0x56, 0x53, 0x1A, 0xB3, 0xC6, 0x23, 0xED, 0x18, 0x12, 0xC3, 0x0F, 0x0C, 0x44, +0x0C, 0x97, 0xA5, 0xE6, 0x24, 0x48, 0xB1, 0x98, 0x16, 0x03, 0xD1, 0xCD, 0xD4, 0x5B, 0xCD, 0x0C, +0xA2, 0xA3, 0x38, 0xB0, 0xDB, 0x48, 0xF1, 0x2E, 0xE0, 0xFC, 0x96, 0xC0, 0x50, 0x7C, 0x0C, 0x63, +0x9C, 0xD8, 0x50, 0x1C, 0x81, 0xAC, 0x4B, 0xDF, 0x7F, 0x3B, 0x86, 0xCD, 0x31, 0x13, 0xB6, 0x5A, +0x3D, 0x29, 0x90, 0x8A, 0xC5, 0xD4, 0x4B, 0x8D, 0x4E, 0x17, 0x45, 0x33, 0x9D, 0x0C, 0xA2, 0x11, +0xEB, 0x28, 0x5E, 0xD4, 0x50, 0x7F, 0xB0, 0x90, 0xFB, 0x63, 0x44, 0x1F, 0x4B, 0x71, 0xEB, 0xD1, +0x75, 0x33, 0x94, 0x46, 0x13, 0xE1, 0x3A, 0x86, 0x71, 0xB3, 0x56, 0xC4, 0xD0, 0x67, 0x8B, 0x20, +0x94, 0x21, 0xAF, 0x21, 0xC6, 0x52, 0x53, 0x0C, 0xC4, 0xA2, 0x99, 0x1A, 0x71, 0xBC, 0x9F, 0x5E, +0xBE, 0xDB, 0x78, 0x43, 0xE5, 0x9C, 0xD1, 0xEC, 0xEC, 0xB8, 0x84, 0xF1, 0xFD, 0xB9, 0x62, 0x30, +0xB2, 0xD7, 0xC0, 0xB8, 0x53, 0x65, 0x42, 0x1E, 0x21, 0xB8, 0x18, 0xA6, 0x67, 0xB0, 0x98, 0x30, +0x8A, 0xC3, 0x45, 0x39, 0x10, 0x39, 0xE6, 0x0F, 0x34, 0xD3, 0xA9, 0x28, 0x76, 0x8E, 0x19, 0x45, +0x43, 0x65, 0x2C, 0xE2, 0x07, 0x23, 0x61, 0x7C, 0xEF, 0x30, 0x62, 0x28, 0xC6, 0xFD, 0x08, 0x5F, +0x05, 0x21, 0x31, 0x0C, 0xC3, 0x32, 0x86, 0x2F, 0xDA, 0xE1, 0x62, 0x60, 0x20, 0x0E, 0x37, 0xD3, +0xF9, 0x28, 0xD6, 0x0D, 0xD5, 0x63, 0x31, 0x9D, 0xAA, 0x32, 0xA3, 0x5B, 0x6A, 0x30, 0x5A, 0xF1, +0x86, 0x7F, 0x21, 0x3A, 0x4B, 0xD8, 0x6A, 0x49, 0xBE, 0x62, 0xD8, 0x8A, 0x56, 0x0A, 0xE1, 0xAA, +0x4A, 0xC3, 0x1D, 0x9A, 0xE9, 0x74, 0x14, 0xBD, 0xDB, 0xB8, 0xA1, 0xE6, 0xB1, 0xF8, 0x0D, 0xC2, +0x63, 0xC1, 0x58, 0x87, 0x11, 0x30, 0xF0, 0x6E, 0xA2, 0xFE, 0x67, 0x20, 0x1D, 0xC3, 0xF6, 0xC7, +0x31, 0xF4, 0xE3, 0x3A, 0xBA, 0x07, 0xC4, 0xCE, 0x40, 0x54, 0x33, 0x9D, 0x32, 0x34, 0xE2, 0x58, +0x14, 0xDD, 0x50, 0x3D, 0x16, 0x01, 0xC4, 0x11, 0xC6, 0x83, 0xE2, 0x7A, 0x32, 0xC2, 0x08, 0x96, +0x18, 0x27, 0x30, 0x6F, 0xB2, 0xE1, 0xF9, 0x6B, 0x24, 0xDC, 0x61, 0xAA, 0x18, 0x26, 0xC1, 0xA8, +0xFB, 0x6D, 0x43, 0x2D, 0x35, 0x1E, 0x88, 0x6A, 0xA6, 0x05, 0xE2, 0x74, 0x14, 0xBD, 0xDB, 0xF8, +0xB0, 0xD8, 0x57, 0xFC, 0x72, 0xFB, 0x3B, 0xE8, 0xC4, 0xC8, 0x68, 0xDC, 0x0E, 0x23, 0x8C, 0x37, +0xFF, 0xF0, 0xC4, 0x58, 0x61, 0xF2, 0x95, 0x6A, 0xCD, 0x8A, 0x61, 0x20, 0x9E, 0x62, 0xC8, 0x7D, +0xFA, 0x2B, 0x42, 0x2A, 0xDE, 0x0E, 0x8C, 0xA1, 0x16, 0xD3, 0x7A, 0x20, 0xD6, 0x41, 0xDC, 0x25, +0x8A, 0x75, 0x43, 0xF5, 0x72, 0x93, 0xA7, 0x09, 0x8C, 0x0A, 0x63, 0x9F, 0xF1, 0x50, 0x72, 0xBC, +0xA2, 0x3A, 0x23, 0x15, 0xC2, 0x16, 0x45, 0x0C, 0xB5, 0x94, 0x8A, 0xB0, 0x19, 0xDE, 0x5D, 0x6C, +0x38, 0x32, 0x10, 0x41, 0x9C, 0x8F, 0xE2, 0x85, 0x0D, 0xD5, 0x63, 0x91, 0x8B, 0xA8, 0x77, 0x7F, +0x30, 0x8C, 0x4A, 0x8C, 0x0A, 0xE3, 0x26, 0xA3, 0x48, 0x06, 0x04, 0x4D, 0xC8, 0xE5, 0x1E, 0xC7, +0x10, 0x42, 0x04, 0xA9, 0x97, 0xC9, 0xF0, 0xDA, 0xA5, 0x66, 0xA0, 0x99, 0x0E, 0x23, 0x16, 0xBB, +0x4D, 0xD1, 0x50, 0x59, 0x6E, 0xE0, 0x13, 0x63, 0x53, 0x2C, 0x18, 0x1B, 0x80, 0xD4, 0x0A, 0x47, +0x89, 0x23, 0xA8, 0x20, 0x86, 0x21, 0xAF, 0xE1, 0xF3, 0xD1, 0x80, 0x22, 0xE4, 0x83, 0xA9, 0x4B, +0x43, 0x96, 0x1A, 0x06, 0xE2, 0x50, 0x33, 0xDD, 0x6F, 0xB7, 0xA1, 0xA1, 0x5A, 0xD1, 0xCB, 0xCD, +0x8F, 0x90, 0x93, 0x23, 0x61, 0xD4, 0x68, 0x14, 0xA3, 0x1C, 0xEB, 0x4A, 0x5F, 0xA3, 0xCD, 0xC6, +0x84, 0x4D, 0x31, 0x1A, 0x29, 0x31, 0xEC, 0x3C, 0x04, 0x30, 0x0C, 0x0F, 0x65, 0x43, 0x2F, 0x35, +0x03, 0x03, 0x71, 0x07, 0xC4, 0x4E, 0x43, 0xAD, 0xC6, 0x22, 0x8A, 0xDF, 0x59, 0xCF, 0x1F, 0x64, +0x3C, 0x2A, 0x92, 0x46, 0x1C, 0x43, 0x43, 0x8C, 0x63, 0xA3, 0xB1, 0x4F, 0x48, 0x0C, 0xE9, 0xA4, +0x10, 0x52, 0x97, 0x18, 0xD6, 0x97, 0x4C, 0xE7, 0x9B, 0xE9, 0xFC, 0x6E, 0xD3, 0x1F, 0x8B, 0x5E, +0x51, 0x7F, 0xAD, 0xC6, 0xCA, 0x16, 0x23, 0x61, 0x7C, 0x04, 0x23, 0x57, 0xC5, 0xA7, 0x1D, 0xD7, +0x21, 0x84, 0x90, 0x4E, 0x6A, 0x42, 0x04, 0x9D, 0x43, 0x1F, 0x10, 0x6D, 0x38, 0x38, 0x10, 0xE7, +0x11, 0xCB, 0x63, 0x46, 0x3D, 0x16, 0xAD, 0x18, 0x7A, 0x54, 0x97, 0xF1, 0x50, 0x30, 0x12, 0xC7, +0xD2, 0xF1, 0xEB, 0xF2, 0xAB, 0xDB, 0x58, 0x15, 0xC2, 0xF4, 0x02, 0x7E, 0x7A, 0xC9, 0xC9, 0x84, +0x54, 0xCF, 0xD0, 0x8B, 0xA9, 0x4F, 0xF9, 0xF3, 0xCD, 0x74, 0x7E, 0xB7, 0xE9, 0x37, 0x54, 0x2B, +0x36, 0x44, 0x14, 0x7F, 0x07, 0x5D, 0xC1, 0x78, 0x84, 0x3C, 0x31, 0xE2, 0x18, 0x92, 0x38, 0xD6, +0x81, 0x34, 0x20, 0x82, 0x0F, 0x12, 0x3E, 0xD1, 0x3E, 0xA3, 0xE7, 0x18, 0x8D, 0x19, 0x16, 0x03, +0xB1, 0x6C, 0xA6, 0xF3, 0x51, 0x74, 0x43, 0xE5, 0xC8, 0x9F, 0xC7, 0xE2, 0x6A, 0xB9, 0x39, 0x3F, +0x2E, 0xAE, 0xF6, 0x3B, 0x1C, 0xCD, 0xF8, 0xF8, 0xC8, 0x48, 0x1C, 0x71, 0x04, 0xF2, 0x32, 0xC9, +0xC5, 0x3C, 0x0B, 0xBE, 0x0B, 0xC1, 0x01, 0x42, 0x72, 0xF8, 0x29, 0x19, 0xA6, 0x03, 0xA2, 0x16, +0xD3, 0xEB, 0x06, 0xE2, 0x3C, 0xA2, 0xA3, 0x58, 0x37, 0xD4, 0x7A, 0x2C, 0x7E, 0x0A, 0xC5, 0xFC, +0xE3, 0xA8, 0x18, 0x9B, 0x24, 0x8E, 0x1B, 0xD7, 0xC7, 0x09, 0x9A, 0x0A, 0x69, 0x00, 0x11, 0xF4, +0x95, 0xEE, 0xE6, 0xA7, 0x95, 0x94, 0xF4, 0xF1, 0x18, 0xB1, 0x7B, 0x0C, 0xDF, 0xDA, 0x90, 0x03, +0xA2, 0x16, 0x53, 0x06, 0xE2, 0x7E, 0xCD, 0xD4, 0x51, 0xAC, 0x1B, 0xAA, 0xC6, 0x62, 0xA1, 0x88, +0x9F, 0x1C, 0x83, 0x51, 0x77, 0x70, 0xE0, 0xD8, 0x20, 0x7D, 0xF2, 0x80, 0x93, 0x7A, 0xE0, 0x54, +0x8F, 0x20, 0x21, 0xEC, 0x13, 0x22, 0x48, 0xDD, 0xA7, 0x6B, 0x6D, 0x36, 0x3C, 0x14, 0x86, 0x5E, +0x6A, 0xF6, 0x6B, 0xA6, 0x20, 0x5E, 0xDF, 0x50, 0x19, 0x8B, 0xB5, 0xE2, 0x5D, 0x52, 0x54, 0x1C, +0x61, 0xB4, 0xA3, 0x21, 0xC3, 0xB2, 0xAC, 0x74, 0xD3, 0x71, 0x08, 0xF2, 0x91, 0xE3, 0x10, 0xB6, +0x12, 0xA1, 0x04, 0x0B, 0xC3, 0x37, 0x85, 0xE1, 0x40, 0x33, 0xDD, 0xAF, 0xA1, 0xFA, 0x9C, 0xE1, +0xE5, 0x66, 0x3B, 0x8B, 0xF7, 0x32, 0x6C, 0x95, 0xBB, 0x6A, 0x30, 0x7E, 0x3C, 0x31, 0xE2, 0x08, +0x64, 0x68, 0x42, 0x29, 0x4F, 0xDF, 0x44, 0x15, 0x5F, 0x27, 0x41, 0x13, 0x32, 0x0A, 0x11, 0xA4, +0x7E, 0x16, 0x86, 0x3A, 0x5C, 0x68, 0xA9, 0xD9, 0xDD, 0xD0, 0x88, 0x3E, 0x2C, 0xD2, 0x50, 0x2B, +0xC5, 0xE7, 0x7D, 0x45, 0x3F, 0x6A, 0x54, 0xC3, 0xB1, 0x31, 0xE2, 0xB8, 0x82, 0x0C, 0x11, 0x46, +0x25, 0xD5, 0x79, 0x53, 0x5C, 0xFC, 0x7D, 0xFE, 0x5E, 0xC3, 0x95, 0x20, 0xEB, 0x8C, 0x09, 0x79, +0xD4, 0xF4, 0xF7, 0x69, 0x43, 0x9F, 0x10, 0xA9, 0xC2, 0x70, 0x32, 0x8A, 0x6E, 0xA8, 0xFD, 0xB1, +0xB8, 0x5E, 0x51, 0xAD, 0x08, 0x61, 0x82, 0xDC, 0x18, 0x8E, 0x9C, 0x1D, 0x1F, 0xFB, 0x79, 0xCB, +0x50, 0xC2, 0x49, 0x71, 0xEB, 0xB7, 0x3F, 0x13, 0xAA, 0x09, 0x96, 0x84, 0x0B, 0x20, 0x75, 0x30, +0xFC, 0xC2, 0xEB, 0x87, 0x85, 0xA1, 0x17, 0xD3, 0x7A, 0x20, 0xEE, 0x89, 0x48, 0x14, 0x07, 0xC6, +0xA2, 0x15, 0x7F, 0xBE, 0x76, 0x75, 0x19, 0x71, 0x3C, 0xCE, 0x47, 0x7A, 0x2B, 0x94, 0x58, 0xB9, +0xE0, 0x03, 0x30, 0x32, 0x98, 0x05, 0x17, 0x42, 0x42, 0x88, 0x20, 0xC5, 0x7D, 0x6D, 0xB5, 0xE1, +0x05, 0x8B, 0x69, 0xD5, 0x4C, 0x77, 0xDA, 0x6D, 0x7C, 0xCE, 0xE0, 0xB4, 0x78, 0xBD, 0x22, 0x5D, +0x0A, 0xC7, 0x60, 0x54, 0x1C, 0x79, 0x63, 0x5C, 0x53, 0x40, 0x92, 0xDA, 0xA4, 0xC3, 0x0F, 0x40, +0x04, 0x0B, 0x42, 0x3D, 0xB9, 0xFF, 0x2F, 0x75, 0x77, 0x8F, 0xDB, 0x36, 0x10, 0x84, 0x61, 0xB8, +0x4F, 0xA3, 0x34, 0xA9, 0x89, 0x34, 0xAE, 0x58, 0xA4, 0x72, 0x19, 0xE4, 0x0C, 0x3A, 0x81, 0x0F, +0x20, 0x81, 0xA0, 0x73, 0x7F, 0x20, 0x54, 0x86, 0xC9, 0xAB, 0xC5, 0xAB, 0xF1, 0x80, 0x6B, 0x2C, +0x60, 0x7F, 0x95, 0xED, 0xC6, 0xC0, 0x3E, 0x98, 0x9F, 0xA5, 0x6C, 0xE9, 0xD2, 0x18, 0x7E, 0xEF, +0x36, 0x1C, 0xD8, 0x4C, 0xEB, 0x6B, 0xC6, 0xE1, 0xB1, 0x68, 0xC5, 0x78, 0x76, 0xB3, 0x70, 0x44, +0x0D, 0xA4, 0xCA, 0x11, 0x47, 0x41, 0x86, 0x24, 0x98, 0x8E, 0xDF, 0xA2, 0x11, 0xC0, 0x47, 0x82, +0x5B, 0x2C, 0x48, 0xD6, 0x7E, 0xC3, 0x7A, 0x31, 0x75, 0x21, 0x0E, 0x6E, 0xA8, 0x1E, 0x8B, 0x47, +0x15, 0xCF, 0xCB, 0x83, 0x43, 0x4A, 0xCA, 0xD1, 0x7F, 0x3A, 0x8E, 0x24, 0x96, 0x0E, 0x7A, 0xF8, +0x59, 0xD0, 0x45, 0x18, 0x82, 0x0E, 0x6B, 0x69, 0x6B, 0xF8, 0x9C, 0x18, 0x72, 0xB9, 0x60, 0xA9, +0xE9, 0x19, 0x88, 0xE3, 0x1B, 0xAA, 0x96, 0x9B, 0x42, 0xF1, 0xFF, 0x2B, 0x53, 0xD7, 0x87, 0x07, +0xA5, 0x72, 0xC4, 0xD1, 0x90, 0x5B, 0xA2, 0x3D, 0xDE, 0xA7, 0x71, 0xC3, 0xCF, 0x80, 0x08, 0x42, +0xE8, 0x22, 0x3C, 0xDD, 0xF2, 0xF7, 0xAB, 0xE5, 0xAC, 0xC7, 0x34, 0x1D, 0x86, 0xE3, 0x07, 0x22, +0x88, 0x55, 0x43, 0x4D, 0x96, 0x9B, 0x5A, 0x91, 0xD7, 0x17, 0x2F, 0xAB, 0x08, 0x13, 0x47, 0x7F, +0xE2, 0xA8, 0xDF, 0xCA, 0x74, 0xA7, 0xBA, 0x53, 0xC3, 0xCE, 0x1F, 0x71, 0x9B, 0x08, 0x46, 0x11, +0xE2, 0x47, 0x6E, 0x2B, 0x8D, 0xAF, 0x16, 0xFD, 0x86, 0x75, 0x21, 0x8E, 0x6E, 0xA8, 0x1A, 0x8B, +0x7D, 0x8A, 0x2F, 0x6B, 0x7B, 0x56, 0x38, 0xBA, 0xAD, 0x32, 0x1F, 0x89, 0x29, 0x1D, 0xF8, 0xD8, +0x43, 0x2D, 0x48, 0x11, 0x1A, 0x30, 0xC2, 0x38, 0xAC, 0x0C, 0xD3, 0x0B, 0xE2, 0xC0, 0x81, 0x58, +0x23, 0x96, 0x63, 0x91, 0xE5, 0xA6, 0xBD, 0x68, 0x64, 0x8A, 0x2C, 0xA9, 0x8B, 0x8F, 0xEB, 0x2D, +0xC7, 0x2D, 0xBC, 0x55, 0x3A, 0x94, 0x44, 0x72, 0xE8, 0x09, 0xB0, 0x10, 0x6C, 0xF3, 0xFA, 0x12, +0x86, 0xBF, 0x64, 0x18, 0x84, 0x1F, 0xD2, 0xB0, 0x68, 0xA8, 0x1A, 0x8B, 0x5A, 0x51, 0xAD, 0xB8, +0x45, 0x8A, 0xE7, 0x2B, 0x07, 0x96, 0x38, 0x6A, 0x3E, 0x02, 0x19, 0x28, 0x04, 0x52, 0xDC, 0xE0, +0x0B, 0xBF, 0x1B, 0xA0, 0x04, 0x83, 0x50, 0x82, 0xD3, 0x34, 0x9D, 0x22, 0xD1, 0x4A, 0xB5, 0xD2, +0xD4, 0x86, 0x3F, 0x0E, 0x18, 0x8E, 0x41, 0xAC, 0x1B, 0xAA, 0x97, 0x9B, 0x5A, 0x31, 0x96, 0x54, +0x06, 0x23, 0x27, 0xB6, 0x05, 0xC8, 0xC4, 0x71, 0x8B, 0xFE, 0xA5, 0x83, 0x36, 0xEB, 0x50, 0xB9, +0x0D, 0x60, 0x21, 0x38, 0xDD, 0x45, 0xAD, 0xF4, 0xA0, 0x21, 0x97, 0x0B, 0x2F, 0x35, 0xA4, 0x30, +0x1C, 0xDD, 0x50, 0x59, 0x6E, 0x8E, 0x28, 0x32, 0x18, 0x5F, 0xF7, 0x43, 0x23, 0xA9, 0x63, 0x40, +0x4A, 0xB2, 0x31, 0xE4, 0x07, 0x7C, 0x1F, 0x7E, 0x00, 0xA6, 0x82, 0x00, 0x92, 0xD3, 0x92, 0xB4, +0x52, 0xAE, 0x87, 0x1F, 0xD6, 0xB0, 0x68, 0xA8, 0xD9, 0x72, 0x53, 0x2B, 0xBA, 0xA5, 0x72, 0x70, +0x44, 0x8E, 0x82, 0x0C, 0x49, 0x30, 0x15, 0xF0, 0xE0, 0x13, 0x60, 0x08, 0x02, 0xA8, 0xAC, 0x17, +0x5A, 0x69, 0xBE, 0xD2, 0xB0, 0x97, 0x16, 0x86, 0xF5, 0x40, 0x1C, 0x83, 0x58, 0x8F, 0x45, 0xAD, +0xA8, 0x89, 0xE2, 0x73, 0xAB, 0x48, 0x31, 0x4E, 0x8E, 0x21, 0x79, 0x4C, 0x8E, 0x24, 0x98, 0x0E, +0x7A, 0xF8, 0x05, 0x60, 0x29, 0x48, 0xF6, 0x32, 0xE4, 0x76, 0x38, 0xCA, 0x10, 0xC4, 0xB1, 0xA5, +0xE8, 0xDB, 0x62, 0xAF, 0xE2, 0x96, 0x46, 0x71, 0x99, 0xB2, 0xB8, 0x20, 0x91, 0x84, 0x32, 0x0F, +0x7C, 0x06, 0x8C, 0x00, 0xE8, 0xAC, 0x6C, 0x34, 0x1E, 0x87, 0x18, 0x7E, 0xE9, 0x37, 0x74, 0x21, +0x0E, 0x2F, 0xC5, 0x7A, 0xB9, 0xE1, 0xBA, 0x58, 0x2A, 0xD2, 0x52, 0xB7, 0xFD, 0x46, 0xC5, 0x58, +0x74, 0x56, 0x28, 0xA5, 0x69, 0x3B, 0xF8, 0x0C, 0x88, 0xA0, 0x13, 0x17, 0x8B, 0x74, 0x1C, 0x62, +0x18, 0x84, 0xDC, 0xF1, 0x31, 0xFC, 0xDA, 0x6F, 0x38, 0xBE, 0xA1, 0xF6, 0x29, 0xB2, 0xDE, 0xA8, +0xA5, 0x5E, 0xF7, 0xB3, 0x9C, 0x23, 0x05, 0x24, 0x92, 0x60, 0x2A, 0xE0, 0xE1, 0x07, 0x60, 0x52, +0x82, 0xFC, 0x6E, 0x97, 0xA1, 0x56, 0x9A, 0x4E, 0xC3, 0x7A, 0x20, 0x8E, 0x6F, 0xA8, 0x1E, 0x8B, +0xBA, 0x2E, 0xA2, 0xC8, 0xB3, 0x9B, 0x6C, 0xBD, 0x89, 0x62, 0x8C, 0xC9, 0x38, 0x13, 0x51, 0xEA, +0x12, 0x69, 0x4B, 0x07, 0x3E, 0x3F, 0x51, 0x93, 0x1E, 0x61, 0x1A, 0xAA, 0x95, 0x7A, 0x1C, 0x16, +0x86, 0xDF, 0x0A, 0xC3, 0xE1, 0x88, 0xE3, 0x14, 0x5D, 0x8C, 0xE7, 0xEB, 0x3A, 0x13, 0x92, 0x41, +0x06, 0x25, 0x49, 0xE8, 0xE4, 0x67, 0xC0, 0xD9, 0x61, 0x29, 0xBD, 0xDF, 0x68, 0x3E, 0xA3, 0xE1, +0x7B, 0x15, 0x7F, 0xB6, 0x8A, 0x0C, 0x46, 0xB7, 0xD4, 0x7D, 0xC1, 0xF9, 0x3D, 0xFF, 0xCB, 0xD3, +0x53, 0x2E, 0x09, 0x25, 0x9A, 0x0A, 0x76, 0xF8, 0x45, 0xE4, 0x67, 0xC2, 0x3F, 0xCC, 0xDB, 0x31, +0x6F, 0xD3, 0x40, 0x18, 0xC6, 0x71, 0x09, 0xC4, 0xC2, 0xC4, 0x0A, 0x52, 0xA6, 0x02, 0x0B, 0x12, +0x02, 0x04, 0x2B, 0x42, 0x62, 0x61, 0xE9, 0x92, 0xA4, 0x71, 0x2E, 0x92, 0x03, 0xB6, 0xE5, 0xB8, +0x49, 0x21, 0xA4, 0x4D, 0xF8, 0xFE, 0x3C, 0xEF, 0xBD, 0x67, 0x3F, 0x76, 0xDE, 0x5A, 0x47, 0x2B, +0xC0, 0xF9, 0xDF, 0x25, 0x5D, 0xA0, 0x49, 0xEE, 0x97, 0xB3, 0xE3, 0xAA, 0xFD, 0x61, 0xB6, 0xA1, +0x39, 0x1D, 0xDE, 0xD1, 0x10, 0x59, 0x43, 0x64, 0x0D, 0xFF, 0x1F, 0x22, 0x22, 0xE2, 0xFD, 0x14, +0x1B, 0x46, 0x5E, 0xF9, 0x83, 0x51, 0x01, 0xDB, 0xF5, 0x1C, 0x5C, 0x49, 0x19, 0x89, 0x7C, 0xBD, +0x1B, 0xF0, 0xE8, 0xC1, 0x70, 0x24, 0x85, 0x21, 0xAF, 0x2B, 0x02, 0xA2, 0x12, 0x76, 0x4F, 0x87, +0xBC, 0xC4, 0x8F, 0x1B, 0xA2, 0x01, 0x0C, 0x8D, 0x62, 0xE4, 0xC3, 0x4D, 0x44, 0xB1, 0xEF, 0xE3, +0x0D, 0x14, 0x5F, 0x37, 0x67, 0xC6, 0xEF, 0x37, 0x6D, 0x43, 0x66, 0x25, 0x03, 0x25, 0xEB, 0x91, +0x23, 0x1F, 0x23, 0x9F, 0x7D, 0x9C, 0x9B, 0xEF, 0xB2, 0x0D, 0xCF, 0x3F, 0x79, 0x42, 0xC4, 0xD3, +0xA1, 0xC4, 0x43, 0xE9, 0xDF, 0x32, 0xB4, 0x88, 0x27, 0xAC, 0xD8, 0x3E, 0x31, 0x3E, 0xF5, 0x71, +0x2B, 0xEA, 0x66, 0x14, 0x45, 0x61, 0x7C, 0xC9, 0xA2, 0x9B, 0xD2, 0x6A, 0x5A, 0xBB, 0x38, 0x1F, +0x13, 0x42, 0x18, 0x02, 0xF1, 0x93, 0x02, 0x76, 0x8F, 0xA5, 0x3C, 0x94, 0x3E, 0x6E, 0x11, 0xB6, +0x0D, 0x1F, 0x9E, 0x9E, 0xA1, 0x45, 0xBC, 0xBF, 0x22, 0x18, 0xED, 0xC7, 0x1B, 0x75, 0xF4, 0x92, +0xE7, 0xD2, 0xB8, 0x61, 0x7C, 0xDE, 0x29, 0x4A, 0x69, 0x8B, 0xF3, 0xF1, 0x51, 0x48, 0x28, 0x86, +0xD2, 0xEB, 0x73, 0xBF, 0x07, 0xC3, 0xB5, 0x61, 0xFB, 0x6F, 0x9E, 0x5E, 0xD1, 0x50, 0x09, 0x83, +0xA1, 0x10, 0x1A, 0x43, 0x34, 0xB8, 0xE1, 0xBD, 0x15, 0xF9, 0xB3, 0x1B, 0xBC, 0xC8, 0x23, 0x46, +0xFE, 0x4A, 0xAA, 0x38, 0x7E, 0x58, 0x61, 0x9D, 0x56, 0x1D, 0x45, 0x30, 0xD2, 0xB0, 0x93, 0xA1, +0x44, 0x71, 0x3D, 0xF2, 0x11, 0xCF, 0x04, 0xC2, 0x1F, 0x5B, 0x31, 0x1C, 0xAF, 0xCE, 0x31, 0xD8, +0x87, 0xD5, 0x53, 0x94, 0x85, 0x9A, 0x0F, 0x34, 0x48, 0x08, 0xC5, 0x10, 0x80, 0xA8, 0x65, 0xF8, +0xEC, 0xB4, 0x0C, 0x8D, 0x22, 0x11, 0xE3, 0x8A, 0xA8, 0xA3, 0xC8, 0x63, 0x6A, 0xE6, 0x7B, 0x8A, +0x56, 0xDD, 0xC6, 0x2B, 0xAF, 0xB8, 0x6D, 0x18, 0x47, 0x75, 0xFD, 0x96, 0xF1, 0xAC, 0x9E, 0x0D, +0x84, 0xC1, 0x10, 0x53, 0x46, 0xBB, 0x4C, 0x06, 0xFB, 0x9C, 0xF5, 0x19, 0xE2, 0xE5, 0x9F, 0xA0, +0x21, 0x10, 0xEF, 0xAA, 0x88, 0x6E, 0x57, 0x44, 0x59, 0xAB, 0x95, 0x0E, 0x02, 0xD6, 0xE3, 0x1B, +0x14, 0xB7, 0xDB, 0x9F, 0x7B, 0x21, 0xB4, 0x59, 0xCB, 0x90, 0x85, 0xEB, 0xC1, 0xB3, 0xDF, 0x0F, +0x07, 0xD2, 0x2D, 0x12, 0xC5, 0x6F, 0xE0, 0x1B, 0x77, 0xFD, 0xF2, 0x3C, 0xC7, 0xD3, 0xCD, 0x1B, +0xC1, 0xCC, 0x65, 0x0F, 0x9C, 0x0B, 0x67, 0x43, 0x18, 0x8A, 0x60, 0xCC, 0x70, 0x48, 0x44, 0xBB, +0x15, 0xED, 0x85, 0x46, 0xAF, 0x22, 0x82, 0x22, 0x18, 0x9B, 0x0B, 0xFF, 0xEC, 0x01, 0xD6, 0x80, +0x8A, 0x98, 0xC1, 0x91, 0x92, 0x63, 0x35, 0x94, 0x76, 0x37, 0x23, 0x5B, 0x64, 0x6B, 0x1A, 0x3A, +0xD6, 0xFB, 0x8D, 0xF6, 0x87, 0xA2, 0xF0, 0x84, 0x72, 0x77, 0x89, 0xA9, 0x43, 0xCA, 0x2F, 0xF3, +0x76, 0x59, 0xEE, 0x84, 0xD0, 0xB1, 0x8F, 0xCE, 0xE9, 0x2E, 0x14, 0x43, 0x0F, 0xE8, 0x0D, 0x83, +0xDF, 0xA9, 0x18, 0x46, 0x4E, 0x8B, 0x54, 0x7C, 0xD4, 0xA7, 0xE8, 0x44, 0xD1, 0x69, 0x99, 0x8C, +0x2C, 0xC7, 0x64, 0x97, 0x32, 0x24, 0x5D, 0xC0, 0x6F, 0xB8, 0x69, 0x45, 0x51, 0x1C, 0xF6, 0x23, +0x16, 0xE7, 0xB4, 0x8D, 0xA2, 0x5D, 0xEF, 0x0A, 0x31, 0xC4, 0xF4, 0xD1, 0x90, 0x91, 0xD2, 0xC9, +0x74, 0x98, 0x24, 0xC4, 0x97, 0xC6, 0xB0, 0x0C, 0x86, 0xE5, 0xA9, 0x19, 0xFE, 0xA1, 0x22, 0x52, +0x45, 0x9F, 0x57, 0x44, 0xA2, 0xE8, 0xBA, 0xE5, 0x18, 0x6D, 0x40, 0x54, 0x13, 0x06, 0xC6, 0x50, +0xE1, 0x19, 0x77, 0x70, 0xFC, 0x77, 0xED, 0x0F, 0xD3, 0xE9, 0xB4, 0xF0, 0x91, 0x11, 0x55, 0x95, +0x95, 0x4C, 0x31, 0x60, 0x28, 0xA3, 0xD3, 0x1B, 0x97, 0x38, 0x97, 0xF8, 0x9E, 0x94, 0x08, 0x86, +0xBE, 0x93, 0x32, 0x24, 0x62, 0x54, 0xB1, 0x2C, 0x83, 0x62, 0x09, 0xC5, 0x04, 0x88, 0x0E, 0xBD, +0x73, 0xEF, 0x09, 0xA8, 0x84, 0xFE, 0xA6, 0x7E, 0x14, 0x3C, 0x26, 0xC4, 0x90, 0xA6, 0xD3, 0xDD, +0xCD, 0xCB, 0x11, 0x3A, 0xB3, 0xDD, 0x81, 0xEB, 0x96, 0xFF, 0xF4, 0xF2, 0xB0, 0x9B, 0x78, 0x43, +0x56, 0x15, 0xD5, 0x71, 0x78, 0x76, 0xA9, 0x0C, 0xCC, 0x90, 0x93, 0xE9, 0xD0, 0x02, 0xA3, 0x06, +0xD4, 0xFB, 0x32, 0x29, 0x43, 0x8F, 0x2E, 0xA4, 0xC6, 0x70, 0xBD, 0xBE, 0xA3, 0xE1, 0x40, 0x8A, +0x25, 0xF2, 0x8A, 0x65, 0xF9, 0xA4, 0x4C, 0x34, 0x27, 0xA3, 0x55, 0x0A, 0xC8, 0x14, 0x33, 0x4F, +0x51, 0x8E, 0xB5, 0xD1, 0xAA, 0xCB, 0xAA, 0x1D, 0xD6, 0x52, 0x05, 0x83, 0xE2, 0x74, 0x82, 0xFD, +0xE8, 0x01, 0xBE, 0xDC, 0xD2, 0x59, 0x24, 0xFB, 0x8F, 0x05, 0xF2, 0xF9, 0xAF, 0xDD, 0x04, 0x84, +0x30, 0x94, 0x59, 0x74, 0xAA, 0x3A, 0x98, 0x33, 0x4C, 0x25, 0xA4, 0xE2, 0x12, 0x2D, 0x16, 0x0B, +0x87, 0x5B, 0x82, 0x2F, 0x4A, 0xA8, 0x8C, 0xA1, 0x8B, 0x3A, 0x35, 0x94, 0x36, 0x43, 0x18, 0xB2, +0x5E, 0x44, 0x2A, 0xE2, 0xE9, 0x96, 0x4D, 0x72, 0x64, 0x49, 0x92, 0x37, 0x41, 0x10, 0xF7, 0x0B, +0x15, 0xC4, 0xC0, 0x94, 0xC2, 0x9B, 0x1B, 0xF7, 0x95, 0xF1, 0x6B, 0x87, 0x05, 0xF6, 0x4D, 0xE0, +0x78, 0x3D, 0xFA, 0x72, 0xAF, 0xAC, 0xFA, 0xFE, 0xB0, 0xBB, 0x9A, 0xC0, 0x50, 0x2B, 0x74, 0xB4, +0x9B, 0xCF, 0x31, 0x6B, 0xC3, 0x19, 0x26, 0x4A, 0x41, 0xE9, 0x5B, 0x62, 0x7A, 0x45, 0x38, 0x86, +0x92, 0x04, 0x53, 0x0D, 0x93, 0x60, 0xC8, 0x60, 0xA8, 0x88, 0x9B, 0x8D, 0x1A, 0x0E, 0x80, 0xD8, +0xAF, 0xB8, 0x5E, 0x37, 0x8A, 0x17, 0x52, 0xC9, 0x92, 0x3A, 0xBC, 0x53, 0x5D, 0x3D, 0x96, 0x4B, +0x31, 0x64, 0x55, 0x3A, 0xC3, 0x2A, 0xA5, 0x04, 0x14, 0x42, 0x32, 0xEA, 0xE2, 0x92, 0x71, 0x72, +0x05, 0xC8, 0x33, 0x62, 0xBC, 0xFD, 0x93, 0x0C, 0xE1, 0xE8, 0xFA, 0x70, 0x05, 0x41, 0x31, 0x84, +0x62, 0xE8, 0xEB, 0xF4, 0xAB, 0xCC, 0xE2, 0x6B, 0x30, 0xC4, 0x0C, 0x91, 0x11, 0x29, 0xA3, 0x10, +0xD6, 0x8C, 0x74, 0x34, 0x5B, 0x91, 0x05, 0x43, 0x69, 0x08, 0x43, 0x22, 0xB2, 0x96, 0x61, 0x50, +0xBC, 0xA8, 0x3B, 0x02, 0x84, 0x9F, 0x10, 0xFA, 0x96, 0x9A, 0xBC, 0x8F, 0xB5, 0x19, 0x46, 0x35, +0xC3, 0x08, 0xCD, 0xAB, 0x39, 0x16, 0x4F, 0x23, 0x21, 0x0D, 0xA1, 0x28, 0x8E, 0x02, 0xB9, 0xEF, +0xF1, 0x8B, 0x72, 0x9E, 0x5D, 0x63, 0x0B, 0x22, 0x35, 0xA4, 0x22, 0x19, 0x15, 0x52, 0x77, 0xA2, +0x34, 0x93, 0x39, 0x0B, 0xA5, 0x32, 0xE5, 0x15, 0xA8, 0xA1, 0x32, 0xD2, 0xD0, 0x28, 0x1A, 0x43, +0x34, 0x80, 0x61, 0xBF, 0xE2, 0x66, 0xB3, 0xF6, 0xD1, 0x90, 0x8A, 0xA8, 0xDE, 0x85, 0xA1, 0xA5, +0x5B, 0x62, 0x23, 0xA2, 0x60, 0x38, 0x93, 0xE1, 0xAB, 0x64, 0x42, 0x10, 0x03, 0x2B, 0xD7, 0x38, +0xCA, 0x6A, 0x62, 0x4D, 0x95, 0x90, 0x8C, 0xEA, 0xA8, 0x92, 0x35, 0xCE, 0x0B, 0x66, 0x23, 0xE1, +0xFE, 0xD7, 0xE1, 0x4A, 0x9B, 0x04, 0x43, 0xCB, 0x18, 0x9A, 0xC3, 0x91, 0x8A, 0x9E, 0x91, 0x90, +0x18, 0x86, 0xB0, 0xC3, 0xD8, 0x63, 0xC8, 0x86, 0x32, 0xB4, 0x8A, 0x9B, 0x46, 0x91, 0x84, 0x88, +0x86, 0x5E, 0x91, 0x2D, 0x95, 0x90, 0x8A, 0x24, 0xFC, 0xCD, 0xDD, 0xBD, 0xAC, 0x46, 0x11, 0x84, +0x61, 0x18, 0x06, 0x0F, 0x88, 0x92, 0x85, 0x2E, 0xBC, 0x02, 0x71, 0x25, 0x82, 0x88, 0xB8, 0x74, +0xE3, 0x42, 0x6F, 0x20, 0x87, 0x16, 0x26, 0x32, 0x4A, 0x98, 0xE0, 0x2E, 0x44, 0xEF, 0xDF, 0xFF, +0xAB, 0xAF, 0xA6, 0xDF, 0xB6, 0xFF, 0x94, 0x35, 0x93, 0x2C, 0x32, 0x33, 0x6F, 0x75, 0x37, 0xE2, +0x21, 0x11, 0x1F, 0xFF, 0x6A, 0x33, 0x76, 0xF4, 0x2C, 0xC6, 0xD0, 0x61, 0x18, 0x69, 0x32, 0xA6, +0x84, 0x56, 0x34, 0xA3, 0xFB, 0x1D, 0x94, 0xAF, 0x5E, 0xF7, 0x7A, 0x75, 0x7D, 0xF5, 0xBB, 0xF8, +0x01, 0x58, 0x19, 0x51, 0x94, 0xE0, 0x3F, 0x8A, 0x67, 0x54, 0x08, 0x31, 0x3C, 0x3F, 0x39, 0x3F, +0xD7, 0xE9, 0x26, 0x86, 0x55, 0xF1, 0xD8, 0x84, 0xC9, 0x90, 0xEE, 0xCB, 0x30, 0x2B, 0xFE, 0x1A, +0x15, 0x5B, 0x88, 0xDF, 0x50, 0x3C, 0xD7, 0x32, 0xA3, 0x15, 0x45, 0xB8, 0x40, 0x31, 0x1C, 0x4D, +0x18, 0x67, 0x8C, 0x41, 0xAC, 0xAA, 0xA8, 0xC5, 0x20, 0xC2, 0x08, 0x64, 0x19, 0xCB, 0xDF, 0x7F, +0xAE, 0xAE, 0xAE, 0xAF, 0x5F, 0x4D, 0x86, 0xF2, 0xEB, 0xF5, 0xF5, 0xD5, 0xD5, 0x9F, 0xDF, 0xE8, +0x09, 0x70, 0x46, 0x68, 0xC1, 0x38, 0x1D, 0x84, 0x3A, 0x74, 0xC9, 0x8C, 0x0A, 0xC1, 0x30, 0xD4, +0x69, 0x43, 0x18, 0x65, 0x48, 0x6B, 0x43, 0xBA, 0x0F, 0x43, 0x10, 0xA9, 0x20, 0xA2, 0x48, 0x20, +0xCE, 0x37, 0x54, 0x33, 0x16, 0xC7, 0x13, 0x2B, 0xBA, 0x33, 0x2D, 0x26, 0x51, 0xBF, 0x7C, 0x18, +0x32, 0x88, 0x66, 0x8C, 0x83, 0xC4, 0xD2, 0x2B, 0x03, 0xE6, 0x41, 0xB4, 0x20, 0x93, 0x68, 0x43, +0x00, 0x31, 0x94, 0xA0, 0x0C, 0x81, 0xCC, 0xBB, 0xE9, 0xF1, 0xE9, 0x71, 0x18, 0xD2, 0xDA, 0x90, +0xEE, 0xC9, 0x30, 0x2B, 0x0A, 0x11, 0xC5, 0x36, 0x22, 0x9D, 0xD7, 0x16, 0x3A, 0x4F, 0xBC, 0xA1, +0x5A, 0x11, 0x48, 0x6F, 0xA8, 0xDF, 0xE3, 0x20, 0x46, 0x31, 0x33, 0xAA, 0x4D, 0x01, 0x75, 0x45, +0x92, 0x5B, 0xA2, 0x09, 0x75, 0x2A, 0x0C, 0x69, 0x42, 0x68, 0x45, 0xE6, 0x50, 0xCB, 0x84, 0x5E, +0x22, 0x3C, 0xBD, 0x88, 0xCB, 0xD8, 0x48, 0x48, 0x18, 0xDE, 0x43, 0x09, 0x11, 0x45, 0x10, 0x8F, +0xF3, 0x28, 0x7A, 0x43, 0x9D, 0xEF, 0xA8, 0x27, 0x28, 0x6A, 0x91, 0x76, 0xB2, 0x88, 0x59, 0x84, +0x31, 0x29, 0x42, 0xA9, 0x05, 0x9B, 0x0E, 0xC8, 0x2C, 0x48, 0xE6, 0x63, 0x0A, 0x3D, 0x83, 0xBA, +0x48, 0xD0, 0x0B, 0x40, 0x0C, 0x47, 0xC2, 0x13, 0x14, 0x6F, 0x18, 0xC4, 0x49, 0xBF, 0x8E, 0x47, +0x43, 0xBA, 0x3F, 0xC3, 0x7C, 0x5B, 0x6C, 0x2A, 0xBA, 0xE6, 0x2C, 0xDA, 0x31, 0xAA, 0x8A, 0x4C, +0x23, 0xD9, 0x31, 0xDF, 0x18, 0xA1, 0x6C, 0x07, 0x9B, 0x25, 0x01, 0x84, 0xD0, 0x0B, 0x42, 0x2D, +0x13, 0x9A, 0x31, 0xDD, 0x0E, 0x31, 0x84, 0x10, 0x43, 0xCD, 0x60, 0x61, 0x3C, 0xD6, 0x82, 0x70, +0xE7, 0xE6, 0x30, 0x29, 0xE6, 0xFB, 0x22, 0x8C, 0x42, 0x1C, 0x19, 0x81, 0xF4, 0x30, 0xA6, 0x3B, +0x23, 0xE3, 0xC8, 0x30, 0xC2, 0x98, 0xEE, 0x8E, 0x2A, 0x39, 0x62, 0x95, 0xDD, 0x32, 0x20, 0xE1, +0x17, 0xD9, 0x0F, 0xC1, 0x3C, 0x85, 0xF4, 0x8D, 0x0C, 0xB8, 0xDE, 0x4B, 0xA7, 0x8C, 0x61, 0xB8, +0x3B, 0xF7, 0xC3, 0x4D, 0x14, 0x29, 0xBF, 0x6C, 0x43, 0x93, 0x3D, 0xD5, 0x8C, 0x69, 0x1C, 0x89, +0x5B, 0x63, 0x96, 0x84, 0xB2, 0x1B, 0x7E, 0x06, 0xA4, 0x04, 0x98, 0x3F, 0xB4, 0x68, 0x6F, 0xA4, +0x66, 0x84, 0x50, 0x82, 0xB3, 0x3F, 0xD2, 0xEC, 0xA4, 0x61, 0x52, 0x0C, 0x46, 0x3E, 0xEA, 0xFF, +0x9F, 0x23, 0xF7, 0x46, 0x5E, 0xBC, 0x89, 0x43, 0x85, 0x22, 0xAD, 0xEC, 0x98, 0x20, 0x09, 0x01, +0xF2, 0x84, 0x11, 0x6E, 0x8C, 0x1E, 0x7C, 0xE8, 0xB5, 0x00, 0xD1, 0x03, 0x50, 0x21, 0x98, 0xEF, +0x85, 0x5A, 0xF9, 0xC3, 0xC3, 0x5D, 0xF9, 0xD8, 0x22, 0x23, 0xA2, 0xA8, 0x50, 0xCC, 0x8C, 0x79, +0x1E, 0x2B, 0xA5, 0x19, 0xCB, 0xC5, 0x31, 0x91, 0x2B, 0x49, 0xAE, 0xCE, 0x66, 0x94, 0x60, 0x62, +0xB9, 0x7D, 0xEC, 0x9E, 0x64, 0x3D, 0xF2, 0x1E, 0x4A, 0x7E, 0xBD, 0x5B, 0x8C, 0x8C, 0x20, 0x33, +0x88, 0xE1, 0x4D, 0x1F, 0xE2, 0xEF, 0xC4, 0xEB, 0x34, 0x7D, 0x45, 0x57, 0x19, 0xA3, 0x99, 0x22, +0x8C, 0x79, 0x5F, 0x1D, 0xF8, 0xA3, 0xAA, 0x9B, 0xBD, 0x16, 0x17, 0x55, 0x42, 0x5E, 0xCC, 0x51, +0x79, 0x8F, 0xFD, 0xDE, 0x75, 0x43, 0x0E, 0x3B, 0xBF, 0xDD, 0xB4, 0x7D, 0xD2, 0x42, 0x7C, 0x6A, +0xD1, 0x9A, 0x41, 0x00, 0x15, 0x84, 0x6E, 0x0A, 0xB8, 0x4B, 0x86, 0x59, 0x11, 0xC6, 0xF1, 0x2F, +0x35, 0x50, 0xCC, 0x8C, 0xE5, 0x15, 0xF1, 0x61, 0xBD, 0xB8, 0x43, 0x8E, 0x5D, 0x0A, 0xF3, 0x12, +0xC8, 0x1A, 0xB3, 0xF9, 0xD3, 0x9C, 0xF6, 0x2C, 0xA6, 0x3F, 0xCB, 0xBA, 0xB9, 0xFA, 0xF5, 0xFE, +0x5E, 0x3A, 0xCE, 0xB4, 0xE6, 0xF9, 0xBD, 0xD1, 0xA2, 0x24, 0x3C, 0x5D, 0x5A, 0x7F, 0x92, 0x51, +0x17, 0x35, 0x08, 0x31, 0xDC, 0x81, 0xD7, 0xBC, 0x37, 0x56, 0xA4, 0xAA, 0xA8, 0x1E, 0xCF, 0x19, +0x2B, 0xE4, 0x50, 0xCE, 0x61, 0xD6, 0xF9, 0xB0, 0x18, 0x60, 0xD4, 0xA9, 0xE3, 0x32, 0x30, 0x57, +0x2B, 0x2C, 0x93, 0x28, 0x9C, 0xED, 0x84, 0x9E, 0xE4, 0xE2, 0x2D, 0xD4, 0xCC, 0x67, 0x40, 0xBF, +0x06, 0x51, 0x83, 0x8F, 0xF1, 0x63, 0x00, 0x55, 0xE2, 0x73, 0x8F, 0x26, 0x86, 0x4F, 0xA2, 0x5D, +0x34, 0x6C, 0x29, 0xBA, 0x89, 0x62, 0x54, 0x15, 0x5F, 0x5E, 0x94, 0xBF, 0xED, 0x7F, 0x78, 0xAA, +0x15, 0x3D, 0x1C, 0x04, 0x29, 0xCA, 0x6F, 0x3A, 0xA8, 0x3C, 0x87, 0xB4, 0xD0, 0xC3, 0x2C, 0x66, +0xF4, 0x8A, 0xE2, 0xB2, 0xD2, 0x81, 0xE3, 0xDD, 0xB3, 0xDD, 0x62, 0xA5, 0xF7, 0xE4, 0xF7, 0x45, +0x83, 0xFD, 0xD6, 0x9B, 0x86, 0x2E, 0x3A, 0x4E, 0xE9, 0x82, 0xA6, 0x80, 0x91, 0x09, 0x0B, 0xE0, +0xEE, 0x1A, 0xF6, 0x14, 0x55, 0x51, 0xE4, 0x01, 0xAA, 0x70, 0x2C, 0x0F, 0xDF, 0x5C, 0x84, 0xA5, +0x9E, 0xBE, 0x89, 0xC7, 0x6F, 0x34, 0x8C, 0xEF, 0x63, 0xB9, 0xF6, 0xA3, 0x54, 0x8B, 0x38, 0xCC, +0x38, 0x6F, 0xB5, 0x5E, 0x9B, 0x75, 0x59, 0x2E, 0x4E, 0x62, 0x5C, 0x7C, 0x44, 0x7A, 0x67, 0xEB, +0x9D, 0x61, 0x1E, 0x7C, 0x00, 0x42, 0xC8, 0x03, 0x51, 0xC5, 0xF0, 0x49, 0xB4, 0xE3, 0x86, 0x1B, +0x29, 0xC2, 0xC8, 0x7F, 0xC4, 0xA0, 0xF8, 0x77, 0x6F, 0x22, 0x3D, 0xD3, 0xA8, 0xA7, 0xFE, 0x8E, +0x26, 0x82, 0x0D, 0x4D, 0xBA, 0xD4, 0xBA, 0x45, 0xE3, 0x8F, 0x5B, 0xE8, 0x4B, 0xB3, 0x06, 0x2D, +0xB7, 0xF8, 0x17, 0x2F, 0x96, 0x77, 0x8E, 0xF7, 0xA7, 0xEF, 0x62, 0x3D, 0x8C, 0x47, 0xDA, 0x9E, +0x8F, 0x8F, 0xB4, 0x3D, 0xE6, 0x99, 0xB6, 0xC9, 0x43, 0x6D, 0x7B, 0x61, 0x88, 0x62, 0x67, 0x4B, +0x35, 0xA1, 0x19, 0x5F, 0x46, 0x85, 0xB0, 0x32, 0x16, 0xC3, 0xF2, 0x4C, 0xA3, 0x9F, 0x4D, 0x1D, +0x3E, 0x0D, 0x6E, 0x19, 0x87, 0x57, 0x1C, 0x3A, 0x75, 0xFD, 0xA1, 0xD5, 0xCC, 0xB8, 0xE9, 0x68, +0x05, 0x1C, 0x78, 0xA9, 0x0F, 0x65, 0xA3, 0xD0, 0xCF, 0x51, 0xD5, 0xCF, 0x93, 0x71, 0x17, 0xBA, +0x3D, 0xF0, 0x68, 0x69, 0x32, 0x84, 0x70, 0x97, 0x0D, 0xB7, 0x54, 0xAC, 0x55, 0x45, 0xF7, 0xD0, +0x8C, 0x4A, 0x8C, 0x7A, 0x50, 0xDC, 0x4F, 0xFC, 0xBF, 0x78, 0x50, 0x5A, 0xC6, 0xB1, 0x7C, 0x20, +0xC0, 0x02, 0xF9, 0x79, 0x99, 0x93, 0xAB, 0x1E, 0x20, 0xFF, 0xA1, 0xF3, 0xE6, 0xE5, 0x96, 0xEB, +0x35, 0x6D, 0xA8, 0x97, 0xE1, 0xDF, 0x35, 0x3C, 0x18, 0x3E, 0x45, 0x47, 0xC3, 0x91, 0x3E, 0xC1, +0xE2, 0xDD, 0x10, 0x3F, 0xBF, 0x19, 0xE1, 0xCB, 0xE8, 0x69, 0x22, 0xDC, 0x43, 0xC3, 0xAE, 0x62, +0x66, 0xB4, 0x62, 0x66, 0x14, 0xA2, 0xF2, 0xE7, 0x50, 0x45, 0x43, 0x1C, 0xFE, 0xE4, 0x8D, 0x90, +0xFC, 0x1C, 0x2D, 0xB5, 0xCA, 0xE5, 0x19, 0x06, 0xB7, 0xCF, 0x6F, 0x4C, 0xA7, 0x96, 0xDE, 0x8D, +0xF3, 0x27, 0x57, 0xBC, 0x18, 0x44, 0x78, 0x54, 0x08, 0x4B, 0xE3, 0x18, 0x56, 0x46, 0x11, 0xD6, +0xE6, 0x63, 0xB8, 0x6F, 0x86, 0xB7, 0x51, 0xE4, 0xCE, 0x58, 0x0D, 0x33, 0x23, 0xD3, 0xA8, 0x44, +0xE8, 0xFC, 0x79, 0x71, 0xD3, 0x96, 0x6F, 0xCB, 0xFA, 0xA8, 0x6B, 0xFD, 0xD2, 0x47, 0x1D, 0xF5, +0x7C, 0xFB, 0xB6, 0x7E, 0xDD, 0xF8, 0x3D, 0xBE, 0xD4, 0x9E, 0xE9, 0x5C, 0xC6, 0x5B, 0xFC, 0xEC, +0x46, 0x45, 0xFF, 0xFE, 0xA9, 0x84, 0x25, 0x08, 0x1D, 0x63, 0x58, 0x08, 0xF7, 0xDF, 0x30, 0x2B, +0xB6, 0xB7, 0xD4, 0xCC, 0x88, 0x22, 0x8C, 0x47, 0xCA, 0x8C, 0x0A, 0x47, 0x23, 0x3A, 0xF1, 0xC5, +0x8A, 0xDE, 0xA8, 0x65, 0x1C, 0x6F, 0xF5, 0x05, 0x5D, 0x97, 0x82, 0xAB, 0x4B, 0xDF, 0x52, 0xBF, +0xB6, 0x1C, 0x6F, 0xE0, 0x7F, 0x16, 0x95, 0xF9, 0x76, 0xE2, 0xD3, 0x59, 0x42, 0x10, 0x42, 0x05, +0xE1, 0x4D, 0x63, 0xB8, 0xBF, 0x86, 0x0D, 0xC5, 0xFE, 0x30, 0x76, 0x19, 0x23, 0x10, 0x71, 0x04, +0x32, 0x22, 0x53, 0xA6, 0xFC, 0xB5, 0xE0, 0x01, 0xA8, 0x00, 0x94, 0xDF, 0x28, 0x28, 0x42, 0x95, +0x08, 0xD9, 0x49, 0x37, 0x1D, 0xC3, 0x3D, 0x31, 0xDC, 0x42, 0x31, 0x0F, 0x63, 0x8B, 0xD1, 0xC1, +0x98, 0x21, 0x41, 0xDC, 0x3E, 0x00, 0x25, 0x48, 0x12, 0x6C, 0x13, 0xFE, 0x7F, 0x0C, 0xF7, 0xDC, +0x10, 0xC5, 0xED, 0x86, 0xB1, 0xCF, 0xD8, 0x76, 0x64, 0x22, 0x6F, 0xE5, 0x07, 0x20, 0xE5, 0x21, +0xEC, 0x12, 0x1E, 0xC8, 0x56, 0x8A, 0xE2, 0x2D, 0x87, 0xB1, 0xCD, 0xC8, 0x38, 0xE2, 0x88, 0x24, +0x94, 0x6E, 0x23, 0x3C, 0xFC, 0x00, 0xCC, 0x82, 0x0C, 0xE1, 0x96, 0x84, 0xFB, 0x6D, 0x98, 0xB7, +0xD4, 0xBB, 0x32, 0x32, 0x8E, 0x38, 0xB6, 0x21, 0xC1, 0x24, 0x02, 0x0F, 0xBF, 0x8E, 0x60, 0x26, +0xE4, 0x66, 0x58, 0x33, 0xE1, 0x81, 0x6C, 0xA5, 0x5B, 0x0E, 0xA3, 0x42, 0xB1, 0xC9, 0xE8, 0x71, +0xEC, 0x39, 0x42, 0xD9, 0x0F, 0xBF, 0x0C, 0x88, 0x60, 0xDA, 0x47, 0x21, 0xEC, 0x8C, 0xE1, 0x21, +0x18, 0xA2, 0xB8, 0xDD, 0x30, 0x66, 0x46, 0xC6, 0x11, 0xC7, 0x26, 0x24, 0x6D, 0x85, 0x07, 0x20, +0x82, 0x79, 0x08, 0xDB, 0x84, 0xFD, 0x31, 0xDC, 0x4F, 0xC3, 0x8D, 0x15, 0x3B, 0x8C, 0x8C, 0x63, +0xC3, 0xD1, 0x90, 0x48, 0xF6, 0xEB, 0x01, 0x22, 0xC8, 0x10, 0xF6, 0x09, 0x0F, 0x6F, 0x0C, 0x93, +0xE2, 0xDD, 0x18, 0xDB, 0x8E, 0x40, 0xAA, 0xBB, 0xF8, 0xB5, 0x04, 0xDB, 0x84, 0x79, 0x27, 0x3D, +0x3C, 0xC3, 0xA8, 0xAB, 0xE8, 0x50, 0xEC, 0x30, 0x26, 0x47, 0x24, 0x4D, 0xE9, 0xB6, 0xD1, 0xC3, +0x0F, 0xC0, 0x9E, 0xA0, 0x08, 0xDB, 0x63, 0x78, 0x30, 0x5B, 0x69, 0x53, 0x71, 0x7B, 0xC6, 0x3C, +0x8E, 0x38, 0x02, 0x89, 0xA4, 0x28, 0xA9, 0x25, 0x07, 0x1F, 0x7E, 0x8C, 0x20, 0x82, 0x5B, 0x13, +0x1E, 0xD8, 0x18, 0x5A, 0xB1, 0xCF, 0x88, 0x62, 0x66, 0x64, 0x1C, 0xF3, 0x3C, 0x66, 0x48, 0x28, +0x13, 0x67, 0xA6, 0x83, 0x0F, 0xBF, 0x8E, 0x20, 0xFB, 0x68, 0x26, 0x3C, 0xD4, 0x31, 0x74, 0x7D, +0xC5, 0x3E, 0x23, 0xE3, 0x88, 0x23, 0x90, 0x48, 0xB6, 0x34, 0x09, 0xBB, 0x36, 0x60, 0x12, 0x64, +0x08, 0x3B, 0x84, 0x87, 0x6A, 0xF8, 0x97, 0x3D, 0x3B, 0xC6, 0x91, 0x18, 0x86, 0x81, 0x20, 0x98, +0xEA, 0xFF, 0x2F, 0x3E, 0x5C, 0xB2, 0x1D, 0x34, 0x16, 0x03, 0x9A, 0x16, 0xBC, 0xB0, 0xD8, 0xB9, +0xA2, 0xC2, 0x30, 0x11, 0x8A, 0xD7, 0x18, 0x3D, 0x47, 0x1C, 0x81, 0x44, 0xB2, 0x18, 0x9F, 0x13, +0x02, 0x44, 0xF0, 0x78, 0x42, 0x14, 0xDB, 0x8C, 0x38, 0x1A, 0x12, 0x49, 0x2C, 0xB3, 0x1E, 0x7E, +0xFF, 0x80, 0x15, 0x41, 0x13, 0xBE, 0xDB, 0x30, 0x8C, 0x31, 0x32, 0xDA, 0xD1, 0x90, 0x48, 0x42, +0x09, 0x28, 0x21, 0x87, 0x9E, 0xFD, 0x10, 0x1C, 0x42, 0x29, 0xD6, 0x19, 0xB3, 0x23, 0x92, 0x50, +0x9A, 0xD3, 0x76, 0xF0, 0x19, 0xD0, 0x82, 0x75, 0xC2, 0xF7, 0x19, 0x16, 0x19, 0xBF, 0xCE, 0x11, +0x47, 0x20, 0x45, 0x89, 0xA6, 0x92, 0x1D, 0x7C, 0x00, 0x26, 0x41, 0x08, 0x4F, 0x9A, 0x61, 0x50, +0x0C, 0x8C, 0xDF, 0x1C, 0x81, 0x44, 0x12, 0xCB, 0x9C, 0x1E, 0x09, 0x10, 0x41, 0x08, 0xBD, 0xC2, +0x63, 0x66, 0x78, 0x23, 0xA3, 0x21, 0x2D, 0xE9, 0x84, 0x26, 0x3F, 0x00, 0x83, 0xE0, 0xD1, 0x84, +0x28, 0x66, 0xC6, 0xEC, 0x28, 0xC8, 0x40, 0x99, 0xF9, 0x00, 0x44, 0xF0, 0x0A, 0xE1, 0xCB, 0x0D, +0x3B, 0x8C, 0x38, 0x1A, 0x12, 0x49, 0xAA, 0xE0, 0xE1, 0x07, 0x20, 0x59, 0xF0, 0x6C, 0xC2, 0xCC, +0x98, 0x1D, 0x05, 0x89, 0x24, 0x96, 0x39, 0xF4, 0xF0, 0x33, 0xA0, 0x05, 0x21, 0x3C, 0xF0, 0x92, +0xD2, 0xAA, 0x32, 0xCA, 0x51, 0x90, 0x50, 0x52, 0xC4, 0x33, 0x9F, 0x01, 0x3F, 0x49, 0xF0, 0xE0, +0x19, 0x06, 0xC6, 0xEC, 0x08, 0xA4, 0x25, 0xB1, 0xCC, 0xA1, 0x87, 0x5F, 0x14, 0x1C, 0xC2, 0x1E, +0x23, 0x8E, 0x86, 0x34, 0x25, 0x05, 0x39, 0xE9, 0x19, 0x50, 0x67, 0x74, 0x08, 0x23, 0x63, 0x76, +0x34, 0x64, 0xD4, 0x24, 0xE3, 0x19, 0x50, 0x82, 0x79, 0x84, 0x47, 0x12, 0x16, 0x18, 0xE5, 0x08, +0x24, 0x92, 0xFD, 0xF0, 0x33, 0x60, 0x1A, 0xE1, 0xB9, 0x86, 0x30, 0x16, 0x1C, 0x0D, 0x49, 0x77, +0xF0, 0x01, 0x68, 0xC1, 0x21, 0xBC, 0xC0, 0x98, 0x1D, 0x81, 0xA4, 0x06, 0x9F, 0x01, 0xB3, 0xE0, +0x10, 0xC2, 0x58, 0x75, 0xB4, 0xA4, 0xAB, 0xD0, 0xE1, 0x07, 0x20, 0x82, 0x43, 0xD8, 0x65, 0xCC, +0x90, 0x58, 0x16, 0xB3, 0x9E, 0x01, 0x47, 0xF0, 0x1A, 0xA3, 0x1D, 0x0D, 0x69, 0x49, 0xAA, 0xE9, +0xD9, 0x0F, 0xC0, 0x21, 0xDC, 0xE7, 0x08, 0xA4, 0x29, 0x9D, 0xD9, 0xC8, 0x7C, 0x06, 0x74, 0x6B, +0x08, 0x23, 0xA3, 0x1D, 0xB3, 0x64, 0xB6, 0x0C, 0x7A, 0xC9, 0x0F, 0xC1, 0x21, 0x6C, 0x3B, 0x66, +0x49, 0x8A, 0x72, 0xF6, 0x1B, 0xC1, 0x2D, 0x8C, 0x86, 0xCC, 0x96, 0x39, 0xEB, 0x65, 0xC0, 0x11, +0xDC, 0xEF, 0x48, 0x7D, 0x3B, 0x0B, 0x0E, 0x61, 0xD7, 0x11, 0xC8, 0x27, 0x5A, 0x23, 0x78, 0xD1, +0xF1, 0x47, 0x20, 0xD7, 0x08, 0x36, 0x1D, 0x9F, 0x91, 0xC4, 0x6F, 0x04, 0xF7, 0x41, 0xEE, 0xA7, +0x5C, 0x03, 0xB8, 0x17, 0xD2, 0xDD, 0xCC, 0x37, 0x82, 0xB4, 0x1B, 0xD2, 0x75, 0xF1, 0x06, 0x70, +0x7F, 0xAB, 0x50, 0x05, 0x6E, 0xFC, 0x42, 0xCF, 0x48, 0xE6, 0xC6, 0xEF, 0x6F, 0x03, 0x0F, 0x70, +0x04, 0xF7, 0x68, 0xFC, 0x0D, 0x3D, 0x80, 0x08, 0xEC, 0xD1, 0xD8, 0x1B, 0xF2, 0x60, 0x34, 0xF6, +0x86, 0x17, 0x18, 0x8D, 0xB9, 0x51, 0x30, 0xA4, 0x01, 0x00, 0x38, 0x7F, 0x0D, 0x28, 0x47, 0x27, +0x6B, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82 +}; \ No newline at end of file diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/PlayEnable_png.cpp b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/PlayEnable_png.cpp new file mode 100644 index 0000000000..f326e2b8c5 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/PlayEnable_png.cpp @@ -0,0 +1,1269 @@ +#include "ResData.h" +const unsigned char __playEnablePngData[20254] = { +0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, +0x00, 0x00, 0x01, 0xC4, 0x00, 0x00, 0x02, 0x20, 0x08, 0x03, 0x00, 0x00, 0x00, 0x2C, 0xBC, 0xE9, +0x24, 0x00, 0x00, 0x01, 0x86, 0x50, 0x4C, 0x54, 0x45, 0x00, 0x00, 0x00, 0x1A, 0x93, 0xFF, 0x1C, +0x9F, 0xE7, 0x20, 0xB2, 0xFF, 0x1C, 0x9B, 0xFF, 0x1B, 0x98, 0xFF, 0x1D, 0xA2, 0xE8, 0x00, 0x00, +0x00, 0x21, 0xB9, 0xFF, 0x00, 0x00, 0x00, 0x1C, 0x9E, 0xFF, 0x1D, 0xA5, 0xFF, 0x1E, 0xAA, 0xFF, +0x1F, 0xAD, 0xFF, 0x25, 0xCE, 0xFF, 0x26, 0xD3, 0xFF, 0x1A, 0x90, 0xFF, 0x28, 0xDF, 0xFF, 0x1D, +0xA5, 0xE9, 0x27, 0xD8, 0xFF, 0x22, 0xBE, 0xFF, 0x22, 0xC0, 0xFF, 0x21, 0xBC, 0xFF, 0x1C, 0x9C, +0xE6, 0x23, 0xC2, 0xFF, 0x17, 0x81, 0xDC, 0x23, 0xC6, 0xFF, 0x17, 0x81, 0xF2, 0x19, 0x8B, 0xFF, +0x24, 0xCA, 0xFF, 0x1F, 0xB0, 0xFF, 0x20, 0xB5, 0xFF, 0x21, 0xB7, 0xFF, 0x17, 0x84, 0xF8, 0x23, +0xC4, 0xFF, 0x19, 0x8E, 0xFF, 0x1D, 0xA1, 0xFF, 0x1D, 0xA3, 0xFF, 0x25, 0xD1, 0xFF, 0x17, 0x82, +0xEE, 0x29, 0xE4, 0xFF, 0x27, 0xDB, 0xFF, 0x24, 0xC8, 0xFF, 0x00, 0x00, 0x00, 0x16, 0x7C, 0xEC, +0x24, 0xCC, 0xFF, 0x1A, 0x93, 0xE3, 0x00, 0x00, 0x00, 0x26, 0xD6, 0xFF, 0x1B, 0x96, 0xFF, 0x1A, +0x94, 0xEB, 0x18, 0x8A, 0xE8, 0x16, 0x7F, 0xED, 0x18, 0x87, 0xFA, 0x27, 0xDD, 0xFF, 0x28, 0xE2, +0xFF, 0x18, 0x86, 0xFF, 0x19, 0x8F, 0xE2, 0x1B, 0x97, 0xE4, 0x1E, 0xA9, 0xEB, 0x1E, 0xA8, 0xFF, +0x17, 0x85, 0xE8, 0x19, 0x8E, 0xEA, 0x29, 0xE6, 0xFF, 0x16, 0x7F, 0xEF, 0x00, 0x00, 0x00, 0x1E, +0xA6, 0xEA, 0x17, 0x84, 0xF0, 0x16, 0x7F, 0xE6, 0x16, 0x7B, 0xDA, 0x18, 0x89, 0xFF, 0x18, 0x89, +0xE0, 0x16, 0x7B, 0xE9, 0x1E, 0xAB, 0xEF, 0x16, 0x7E, 0xDB, 0x17, 0x81, 0xF5, 0x18, 0x84, 0xF4, +0x1D, 0xA1, 0xEE, 0x01, 0x09, 0x0F, 0x20, 0xB1, 0xF5, 0x17, 0x85, 0xDE, 0x18, 0x88, 0xF4, 0x1F, +0xAD, 0xF3, 0x1E, 0xA6, 0xF2, 0x18, 0x88, 0xF0, 0x16, 0x7B, 0xE0, 0x20, 0xB4, 0xFA, 0x00, 0x00, +0x00, 0x1B, 0x9A, 0xF0, 0x19, 0x8D, 0xF6, 0x1C, 0x9F, 0xF6, 0x1B, 0x99, 0xF7, 0x00, 0x00, 0x00, +0x00, 0x02, 0x03, 0x00, 0x00, 0x00, 0x1A, 0x93, 0xF3, 0x15, 0x78, 0xD9, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x19, 0x8E, 0xF0, 0x1C, 0x9B, 0xEB, 0x15, 0x79, 0xE7, 0x17, 0x81, 0xEA, 0x1B, 0x98, +0xE6, 0x1E, 0xAA, 0xF8, 0x18, 0x86, 0xEC, 0x17, 0x82, 0xE2, 0x1A, 0x93, 0xF9, 0x15, 0x76, 0xD8, +0x19, 0x8C, 0xFA, 0x21, 0xB8, 0xFC, 0x1F, 0xAE, 0xFA, 0x1F, 0xA8, 0xFF, 0x1D, 0xA4, 0xFA, 0x15, +0x75, 0xD6, 0x01, 0x07, 0x08, 0x25, 0xBD, 0xF7, 0x18, 0x85, 0xD0, 0x14, 0x70, 0xB0, 0x15, 0x79, +0xC2, 0x0D, 0x4B, 0x75, 0x1B, 0x99, 0xE8, 0x1B, 0x9A, 0xDF, 0x11, 0x62, 0x9B, 0x17, 0x82, 0xD0, +0x1A, 0x97, 0xE9, 0x14, 0x70, 0xAF, 0x15, 0x7A, 0xD5, 0x17, 0x7E, 0xDA, 0x22, 0xC0, 0xEB, 0xCD, +0x93, 0xC6, 0x51, 0x00, 0x00, 0x00, 0x82, 0x74, 0x52, 0x4E, 0x53, 0x00, 0xD5, 0xD5, 0xD5, 0xD5, +0xD5, 0xD5, 0x01, 0xD5, 0x05, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, +0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, +0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0x0D, 0xD5, 0xD5, 0xD5, 0x07, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, +0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0x0A, 0xD5, 0xD5, 0xD5, +0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0x11, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, +0xD5, 0xD5, 0x1B, 0xD5, 0xD5, 0xD5, 0xD5, 0x37, 0x16, 0x28, 0xD5, 0xD5, 0x22, 0x30, 0xD5, 0xD5, +0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0xD5, 0x42, 0xD4, +0x6C, 0x3B, 0x4E, 0x1E, 0xC1, 0x90, 0x2C, 0x83, 0xA8, 0x60, 0xA3, 0xBF, 0xAF, 0x15, 0xEB, 0x01, +0x58, 0x00, 0x00, 0x4C, 0xC5, 0x49, 0x44, 0x41, 0x54, 0x78, 0xDA, 0xEC, 0xDA, 0x4B, 0x6E, 0xEA, +0x30, 0x14, 0x80, 0xE1, 0xAB, 0x0C, 0xB0, 0x98, 0x32, 0xC9, 0x22, 0x90, 0x60, 0x4C, 0x3A, 0x82, +0x05, 0xB0, 0x83, 0x2E, 0x03, 0x48, 0x02, 0x69, 0xB7, 0x7E, 0xED, 0xB4, 0xE8, 0x34, 0xEF, 0x07, +0x24, 0xF1, 0x91, 0xFE, 0xAF, 0xA3, 0xAA, 0x9D, 0xFD, 0xB2, 0x8F, 0x6D, 0xF8, 0x07, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x7C, 0x62, 0xCC, 0x3F, 0xE8, 0x66, 0x1C, 0x3A, 0xEA, 0x66, 0xCC, 0x7A, 0xBF, 0x5E, 0x93, +0x51, 0x35, 0xB3, 0xBE, 0xDD, 0xB6, 0xC7, 0x3D, 0x19, 0x35, 0x33, 0xFB, 0xEB, 0x21, 0xCB, 0x33, +0x52, 0x51, 0x2D, 0xB3, 0xDF, 0x26, 0x87, 0x43, 0x7A, 0x27, 0xA3, 0x62, 0x36, 0x62, 0x7A, 0xB0, +0x1E, 0x31, 0x15, 0xD5, 0x32, 0xEB, 0xE3, 0xE5, 0xE0, 0x24, 0xEC, 0xA9, 0x6A, 0xD9, 0x88, 0xD7, +0xC3, 0x8F, 0x6F, 0xF6, 0x54, 0xAD, 0xD6, 0xFB, 0xF3, 0xE1, 0xE9, 0xF2, 0x49, 0x45, 0x95, 0xF2, +0xA1, 0xE8, 0xEC, 0x2C, 0xF6, 0x54, 0x9D, 0x7E, 0x86, 0xE2, 0xEE, 0x29, 0x8D, 0xB7, 0x54, 0x54, +0xC7, 0x0D, 0xC5, 0x9D, 0xF5, 0xEC, 0x98, 0x7C, 0xB1, 0x18, 0xF5, 0x71, 0x43, 0x71, 0xF7, 0xD7, +0xF7, 0x9D, 0xC5, 0xA8, 0x8D, 0x1B, 0x8A, 0x85, 0x88, 0xD1, 0xEE, 0x72, 0x66, 0x31, 0xEA, 0xE2, +0x86, 0xE2, 0xAE, 0x24, 0xBB, 0xB2, 0x18, 0x55, 0xC9, 0x87, 0x62, 0x19, 0x8B, 0x51, 0x19, 0x3B, +0x14, 0x6D, 0x35, 0x16, 0xA3, 0x6A, 0xD5, 0xA1, 0xE8, 0x7E, 0x98, 0x8C, 0xAA, 0x54, 0x86, 0x62, +0xF4, 0x2B, 0xE3, 0x98, 0xAA, 0x46, 0x71, 0x28, 0x46, 0x7F, 0xB1, 0x18, 0xB5, 0x30, 0x32, 0x14, +0xA3, 0xB2, 0x94, 0xC5, 0xA8, 0xC4, 0xEF, 0x50, 0x8C, 0xEA, 0xB8, 0xD7, 0x54, 0x2A, 0x2A, 0x90, +0x0F, 0xC5, 0xA8, 0x09, 0x1F, 0x17, 0xAB, 0xE0, 0x86, 0x62, 0xD4, 0x8C, 0xCB, 0x86, 0x06, 0xF9, +0x50, 0x8C, 0x5A, 0x5C, 0x78, 0x13, 0xF7, 0x9F, 0x1B, 0x8A, 0x51, 0x9B, 0x94, 0x2D, 0xD5, 0x7B, +0x6E, 0x28, 0x46, 0x4F, 0x9C, 0x6F, 0x74, 0xEA, 0x18, 0x8A, 0xA1, 0xF3, 0xE0, 0xCA, 0xE8, 0x37, +0x37, 0x14, 0x1B, 0xF2, 0x89, 0xEC, 0x4E, 0x45, 0xAF, 0xD9, 0xA1, 0x98, 0xD5, 0x06, 0x8C, 0x7E, +0x7F, 0xDC, 0x6F, 0xC9, 0x8D, 0x53, 0xAA, 0xCF, 0x6C, 0xC4, 0xE2, 0x50, 0x7C, 0x06, 0x2C, 0xCA, +0x5F, 0xE1, 0xA8, 0xE8, 0x29, 0x37, 0x14, 0xAB, 0x4B, 0xB0, 0x8A, 0x53, 0xAA, 0xC7, 0xFE, 0x0C, +0x45, 0x09, 0x58, 0x27, 0xE1, 0xE2, 0xEF, 0xAF, 0x7C, 0x28, 0x3E, 0x77, 0xD1, 0x56, 0xEE, 0xE2, +0x4F, 0x45, 0x2F, 0xB9, 0xA1, 0x58, 0x97, 0x90, 0x2D, 0x55, 0x11, 0x37, 0x14, 0xCB, 0x09, 0xD9, +0x52, 0x95, 0xB1, 0x43, 0xF1, 0x33, 0x0A, 0xFB, 0xE2, 0xAE, 0xE1, 0x27, 0x37, 0x14, 0xC3, 0xDE, +0x1E, 0x67, 0x06, 0xA3, 0x87, 0xDC, 0x50, 0x94, 0x48, 0x0C, 0x46, 0x95, 0xEC, 0x50, 0xBC, 0x85, +0x2D, 0x82, 0xA2, 0x30, 0xE1, 0x7B, 0x1B, 0xFE, 0x69, 0x1E, 0x8A, 0x41, 0x3D, 0x1E, 0xE1, 0x3C, +0x54, 0x37, 0x14, 0x83, 0x36, 0xE1, 0x85, 0x4F, 0xA7, 0x7C, 0x53, 0x19, 0x8A, 0x41, 0xA7, 0x94, +0xE3, 0x8D, 0x67, 0x8A, 0x43, 0x31, 0xE8, 0x23, 0xCC, 0x62, 0x1E, 0xC4, 0xBD, 0x62, 0x23, 0xC6, +0x52, 0xB0, 0x27, 0xEE, 0xFD, 0x5E, 0x31, 0x36, 0xE2, 0x39, 0x6B, 0x2E, 0xC8, 0xF1, 0xC6, 0x7F, +0xB6, 0xE1, 0x7E, 0x7B, 0xCF, 0xC2, 0x60, 0x30, 0x8E, 0x37, 0xBE, 0x30, 0x66, 0x7F, 0xDC, 0xDE, +0x92, 0x60, 0x8C, 0xC7, 0x99, 0x8A, 0x1E, 0x70, 0xCB, 0xF0, 0x18, 0xA7, 0xC1, 0x48, 0x69, 0xCC, +0x21, 0x75, 0x71, 0xF9, 0x56, 0x7A, 0xCD, 0x82, 0x2E, 0xAB, 0x22, 0xF9, 0x03, 0x87, 0xD4, 0xC5, +0xE5, 0x5B, 0xE9, 0x25, 0xEC, 0x5F, 0xAF, 0xDA, 0x32, 0xB9, 0x53, 0x71, 0x39, 0xDD, 0x5B, 0xE9, +0xAA, 0x0F, 0xAE, 0x1A, 0x8B, 0x91, 0xAD, 0x34, 0x19, 0x19, 0x50, 0x04, 0x5C, 0x35, 0xE6, 0x27, +0x0D, 0xED, 0xA9, 0x34, 0x1C, 0x59, 0x50, 0xD8, 0xFF, 0xFE, 0xA2, 0xE2, 0x32, 0xDC, 0x56, 0x7A, +0x7E, 0xBC, 0x94, 0x50, 0x2A, 0x72, 0x61, 0x9C, 0x9B, 0x8C, 0xC3, 0xEC, 0xC5, 0x82, 0xE2, 0x41, +0xC5, 0x99, 0x74, 0x8F, 0xC3, 0xD5, 0x68, 0x29, 0xD7, 0xFE, 0xB9, 0x48, 0xC3, 0xBA, 0x9B, 0xC5, +0xEA, 0x15, 0x7C, 0x36, 0x35, 0x2F, 0x63, 0xEA, 0xC6, 0xE1, 0xEA, 0x45, 0x19, 0x8F, 0x37, 0x33, +0x92, 0x71, 0xD8, 0x3B, 0xE1, 0xA6, 0x8C, 0x8A, 0x4B, 0x91, 0x23, 0xCD, 0x3D, 0xE9, 0xDB, 0x70, +0xD3, 0xA6, 0x5C, 0xF1, 0x4E, 0xC5, 0x26, 0xD3, 0x1F, 0x69, 0x3A, 0x02, 0xF6, 0x0E, 0xC9, 0x13, +0xDC, 0xC4, 0xA4, 0x61, 0xE5, 0x86, 0x3F, 0xAE, 0xA0, 0xA0, 0xE2, 0x6C, 0xE4, 0x58, 0xFA, 0xAE, +0x84, 0x42, 0x2A, 0x5E, 0xA9, 0x38, 0x15, 0x69, 0x58, 0x39, 0x96, 0xBE, 0x56, 0x50, 0x50, 0x71, +0x72, 0x72, 0xB5, 0x48, 0xBB, 0x1A, 0x6E, 0xC6, 0xA2, 0xE2, 0xA4, 0xA4, 0x61, 0x9C, 0x4D, 0x93, +0x50, 0x32, 0x6E, 0xA8, 0x58, 0x36, 0xED, 0xF5, 0x70, 0x58, 0xC2, 0xD3, 0x8F, 0x4D, 0x1B, 0xD6, +0xE2, 0xA4, 0x6A, 0xAE, 0x87, 0x3D, 0x13, 0x9E, 0x4A, 0xDA, 0x63, 0xB2, 0x16, 0xC5, 0x14, 0x0D, +0xAF, 0xC3, 0x1B, 0x9E, 0x44, 0xDF, 0x90, 0xAC, 0xC5, 0xA9, 0xD4, 0x5C, 0xF1, 0xBB, 0x13, 0x9E, +0xC4, 0xA0, 0x8E, 0xAE, 0x22, 0x6F, 0x37, 0x3E, 0x34, 0x3C, 0xF5, 0x57, 0x57, 0x91, 0x17, 0xB8, +0x29, 0x1A, 0xDE, 0xC2, 0x21, 0x0D, 0x4F, 0xC3, 0x50, 0xB1, 0x6C, 0x8E, 0x86, 0x23, 0x12, 0x7E, +0x3C, 0xF5, 0xCA, 0x48, 0xC5, 0x65, 0x1B, 0xD6, 0xE4, 0x13, 0xCD, 0x29, 0xA9, 0x28, 0x96, 0x6E, +0xD8, 0x18, 0xB0, 0x3B, 0x64, 0xB9, 0x22, 0x9F, 0x2F, 0xBE, 0xB7, 0x61, 0x38, 0xAA, 0xE1, 0x47, +0xB7, 0xB6, 0x8A, 0x59, 0xCC, 0xF7, 0x6E, 0xDE, 0xDC, 0x50, 0x34, 0x37, 0xAC, 0x16, 0x1C, 0xD8, +0x91, 0x8A, 0xE2, 0xBD, 0x77, 0x8B, 0x31, 0x0D, 0x3F, 0x86, 0x68, 0xAA, 0xC8, 0x77, 0xE0, 0xDE, +0xD7, 0xB0, 0x65, 0x33, 0x6D, 0x49, 0x38, 0x36, 0x23, 0x15, 0xFF, 0xB3, 0x77, 0x27, 0x2F, 0x4E, +0x44, 0x41, 0x1C, 0xC7, 0x61, 0x04, 0x17, 0x70, 0x01, 0xB7, 0x88, 0xE0, 0x82, 0x07, 0x41, 0xC5, +0xE0, 0xD5, 0x78, 0xD2, 0x9B, 0x87, 0x28, 0xD8, 0x90, 0x83, 0xE0, 0x2D, 0xA0, 0x27, 0x83, 0xE0, +0x3A, 0x1A, 0xF1, 0x4F, 0xB7, 0xAA, 0xBA, 0xAB, 0xBF, 0xEF, 0x55, 0xBF, 0x4E, 0x62, 0xD4, 0x4B, +0xBA, 0x7F, 0xE3, 0x8E, 0x88, 0xE3, 0x67, 0xAA, 0x5E, 0xD5, 0xEB, 0xA8, 0xFF, 0xD8, 0xF0, 0x94, +0xDE, 0xB5, 0xED, 0x6A, 0x08, 0xE1, 0x3E, 0xE9, 0x51, 0xFC, 0x31, 0xBE, 0xC2, 0xFF, 0x9F, 0x19, +0x92, 0xFD, 0x0C, 0xF7, 0x57, 0xFC, 0xF4, 0x60, 0xBC, 0x46, 0xFD, 0x4B, 0xC3, 0xEF, 0x62, 0x38, +0xD9, 0xC5, 0x10, 0xC2, 0xFD, 0x33, 0x2A, 0xFE, 0x07, 0xC3, 0x33, 0xF2, 0xFC, 0x70, 0x47, 0xC3, +0xB2, 0xE0, 0xF3, 0x26, 0xF6, 0x0D, 0xCB, 0x3E, 0x8A, 0x5F, 0x46, 0xC5, 0xBF, 0x34, 0xDC, 0x0D, +0x11, 0x40, 0xFC, 0x36, 0x64, 0x27, 0x45, 0xEE, 0x51, 0xC7, 0x47, 0x1A, 0x7F, 0x61, 0xF8, 0xE2, +0x78, 0x2F, 0x43, 0x0A, 0xAF, 0x14, 0xAA, 0x73, 0x23, 0xE3, 0x78, 0x01, 0xF7, 0xCF, 0x0C, 0x35, +0x5B, 0x0D, 0x69, 0xA4, 0xD1, 0xEF, 0x55, 0x78, 0x0B, 0x8A, 0xCF, 0x77, 0x56, 0x1C, 0x97, 0xFE, +0x7D, 0x17, 0xC4, 0x1F, 0x18, 0x76, 0x11, 0x21, 0xC4, 0xB0, 0xD1, 0xC1, 0xD0, 0xF3, 0x52, 0x00, +0x5F, 0xB6, 0x6F, 0x59, 0x76, 0x53, 0x5C, 0x8F, 0xEB, 0xE2, 0x7E, 0x86, 0x9F, 0x26, 0xDB, 0x0B, +0x11, 0xC1, 0x92, 0x9E, 0x7C, 0x2D, 0x68, 0xF6, 0x89, 0xB7, 0xAE, 0xE4, 0x76, 0x45, 0xFB, 0x8B, +0x6F, 0xE3, 0x70, 0xB3, 0xCF, 0x85, 0xE9, 0xD6, 0x42, 0x44, 0xB0, 0x44, 0xF8, 0xF2, 0xD5, 0xCB, +0x24, 0x7C, 0x4F, 0x05, 0x83, 0xE3, 0x0E, 0x8A, 0x3F, 0xC6, 0x11, 0x75, 0x8F, 0x25, 0x7F, 0xB6, +0xA9, 0x10, 0xF3, 0x69, 0xA6, 0xD4, 0x40, 0x51, 0x23, 0x46, 0x88, 0x24, 0x90, 0x91, 0xB1, 0xD0, +0x50, 0xC7, 0x75, 0x71, 0x9F, 0x25, 0x7F, 0x4B, 0x21, 0x42, 0x08, 0xE0, 0x76, 0x42, 0x24, 0xBD, +0xB7, 0x6E, 0x51, 0x04, 0x51, 0xD6, 0xC5, 0x71, 0x44, 0xDD, 0x63, 0x41, 0xDC, 0x50, 0x88, 0x91, +0x30, 0x05, 0xDC, 0x4C, 0x18, 0x7A, 0x2C, 0x53, 0x6B, 0xA9, 0xA1, 0x8E, 0xAF, 0xBA, 0xD9, 0x33, +0x2C, 0x17, 0x7D, 0x88, 0xD6, 0x4B, 0x8B, 0x82, 0x05, 0xBC, 0x8F, 0xF2, 0x69, 0xD1, 0x57, 0x91, +0xAA, 0x58, 0x74, 0x2C, 0x20, 0x8E, 0x8B, 0xC6, 0x1E, 0xCB, 0x45, 0x30, 0x84, 0xD0, 0x0D, 0xB7, +0x0A, 0x2E, 0x5E, 0x2E, 0x16, 0xFA, 0x59, 0xBF, 0x61, 0xB1, 0x6F, 0xC6, 0xC8, 0x04, 0xC4, 0x0E, +0xB9, 0x51, 0x71, 0x3D, 0x8E, 0xA8, 0x7F, 0xBC, 0x5C, 0x44, 0x44, 0xCA, 0x50, 0x0D, 0xE5, 0x0F, +0xBC, 0x02, 0x31, 0x18, 0x36, 0x74, 0x1F, 0xDD, 0xAE, 0xF9, 0x9E, 0xBC, 0xD9, 0x8F, 0x85, 0x7A, +0x94, 0x37, 0x18, 0x83, 0x22, 0x88, 0x92, 0xE3, 0x71, 0xB8, 0xD9, 0x7D, 0x30, 0xDD, 0x80, 0xD8, +0x12, 0x3E, 0x57, 0xC2, 0xB2, 0x61, 0xCD, 0xE6, 0x82, 0xFE, 0xBD, 0xF7, 0xFE, 0x4D, 0xD3, 0x44, +0x32, 0x56, 0x63, 0x7F, 0x29, 0x8E, 0x23, 0xEA, 0xCE, 0x43, 0x8D, 0x0F, 0xA6, 0x65, 0x43, 0xDF, +0x0C, 0xCD, 0x10, 0xC4, 0xDC, 0xAF, 0xFE, 0x4A, 0xD8, 0xDE, 0x2B, 0x5E, 0x1D, 0x43, 0xFC, 0xD8, +0x68, 0xBE, 0x94, 0x92, 0x34, 0x46, 0x14, 0xC3, 0xD1, 0x58, 0x2C, 0xC5, 0xF1, 0x2E, 0x7C, 0xD7, +0xA1, 0x66, 0x3D, 0xE9, 0x43, 0x64, 0x2A, 0x85, 0x30, 0x11, 0xC4, 0x4F, 0xB9, 0xDE, 0x97, 0x62, +0xAE, 0xC6, 0x5B, 0x8B, 0xE6, 0x90, 0x52, 0x8D, 0x41, 0x31, 0x94, 0xA2, 0x8E, 0xA8, 0xE3, 0x70, +0xB3, 0xC3, 0x81, 0x78, 0x3C, 0x21, 0xD1, 0x90, 0x5E, 0x5A, 0x28, 0x42, 0xF7, 0x53, 0xA8, 0x8D, +0x11, 0x5F, 0x01, 0x34, 0x46, 0x95, 0x4F, 0x14, 0x25, 0x1B, 0x4B, 0x71, 0x1C, 0x6E, 0x76, 0x69, +0xA6, 0x0C, 0x35, 0x3D, 0x85, 0x28, 0xC1, 0x30, 0x3F, 0x08, 0x21, 0xDC, 0x82, 0xB8, 0x90, 0x4F, +0x6A, 0xD9, 0x54, 0x24, 0x8E, 0x1D, 0xC6, 0x88, 0x38, 0x0E, 0x37, 0xBB, 0x0F, 0x35, 0x65, 0xC4, +0xE6, 0xA6, 0x2D, 0x12, 0x22, 0x68, 0x89, 0x62, 0xA7, 0x4F, 0x9F, 0x96, 0x2F, 0xAF, 0xFA, 0x5B, +0xB0, 0x0C, 0x7B, 0xC7, 0x2B, 0x18, 0xFB, 0x15, 0x3F, 0x8D, 0x37, 0x37, 0x5B, 0xFE, 0x9F, 0x19, +0x86, 0x9A, 0x14, 0x31, 0xBD, 0x69, 0x83, 0x90, 0xC3, 0x90, 0x40, 0x97, 0xE4, 0x2A, 0x51, 0x48, +0x2C, 0x17, 0x56, 0x8F, 0x16, 0x18, 0x63, 0x31, 0x46, 0xC4, 0xA3, 0x71, 0xB8, 0xD9, 0x7A, 0x20, +0x92, 0x42, 0x19, 0x42, 0x68, 0x89, 0x82, 0x9E, 0x48, 0x07, 0xA0, 0x7F, 0x9D, 0xD6, 0x63, 0xAC, +0x46, 0x41, 0x44, 0x31, 0x96, 0xE2, 0x78, 0x73, 0xB3, 0xCB, 0x96, 0x4F, 0xCA, 0x86, 0x91, 0xB0, +0x55, 0x44, 0x30, 0x33, 0xBC, 0xEC, 0xE9, 0x90, 0xE2, 0xE8, 0x8A, 0x1C, 0x8C, 0x30, 0x46, 0x44, +0x1B, 0x6E, 0xC6, 0x63, 0x71, 0xE3, 0x81, 0x38, 0x03, 0x31, 0xEB, 0xA5, 0xF3, 0xF9, 0xB3, 0x67, +0xD5, 0xF3, 0xAA, 0x12, 0xC4, 0x8A, 0x56, 0x4A, 0x1D, 0x02, 0x88, 0x5E, 0x31, 0xFD, 0x8C, 0x28, +0xB6, 0x8C, 0x05, 0xC4, 0x71, 0xE7, 0xDF, 0x72, 0x20, 0x22, 0x98, 0x23, 0x4A, 0x1D, 0x0A, 0x62, +0x55, 0x99, 0x61, 0x1F, 0xE1, 0xED, 0xDB, 0x10, 0x22, 0x58, 0x0C, 0x8E, 0x1A, 0x1C, 0x0B, 0xC5, +0x58, 0x56, 0xFC, 0x32, 0x1E, 0x8B, 0x7D, 0x07, 0xE2, 0x4C, 0x10, 0xDF, 0x82, 0x98, 0xCE, 0x34, +0x82, 0x68, 0x86, 0x0D, 0x62, 0x43, 0xB8, 0x6A, 0x09, 0x6F, 0x4B, 0x7A, 0x11, 0xAF, 0x78, 0x0A, +0x90, 0xA7, 0x61, 0x2C, 0x14, 0x23, 0x8A, 0x20, 0xB2, 0xF3, 0x17, 0x1B, 0xCA, 0xA9, 0xC1, 0xEA, +0xDA, 0x86, 0x38, 0x53, 0xC4, 0x92, 0xA1, 0x74, 0xD2, 0xBA, 0x0C, 0x25, 0x2D, 0xE1, 0x4A, 0x04, +0xB7, 0x1B, 0x42, 0x48, 0x70, 0x34, 0xC5, 0xC0, 0x08, 0x62, 0x68, 0xA9, 0x20, 0x72, 0x2C, 0x16, +0xAE, 0x0D, 0xCF, 0x0C, 0x55, 0x51, 0xDE, 0x77, 0x39, 0x10, 0x03, 0x22, 0x86, 0x73, 0x35, 0xA4, +0x0E, 0x21, 0xB4, 0xDC, 0x32, 0xC3, 0x76, 0x98, 0x29, 0xF2, 0x5D, 0xEB, 0x83, 0x34, 0x45, 0x1C, +0x51, 0x2C, 0x1D, 0x8C, 0x20, 0x72, 0x2C, 0xC6, 0xF7, 0xE3, 0xEB, 0x97, 0xA1, 0x1E, 0x97, 0x62, +0xF8, 0x66, 0x8D, 0x21, 0x88, 0x6E, 0x98, 0x9E, 0x87, 0x81, 0xF0, 0x16, 0x55, 0x58, 0xEA, 0xA2, +0xD7, 0xF2, 0x94, 0x1C, 0x61, 0x5C, 0x94, 0x8B, 0x31, 0x2A, 0x72, 0x2C, 0x76, 0x0F, 0x85, 0x2F, +0xEB, 0x81, 0x1E, 0x97, 0xF6, 0x1C, 0x58, 0x0C, 0xE3, 0x70, 0x6A, 0x85, 0x38, 0x17, 0x44, 0x0C, +0x25, 0x6A, 0xB8, 0x82, 0xB0, 0x0E, 0x65, 0x98, 0x57, 0x20, 0x29, 0x49, 0xD2, 0x55, 0x5B, 0xC6, +0x3A, 0x45, 0x45, 0x47, 0x64, 0x5B, 0x8C, 0x58, 0x32, 0x61, 0x1F, 0xCF, 0x3E, 0x0F, 0xF2, 0x72, +0x55, 0xB7, 0x8B, 0x2F, 0xB3, 0x42, 0x37, 0x6D, 0x08, 0x65, 0x2E, 0x7D, 0xD6, 0x1A, 0xAE, 0xEA, +0xB4, 0x84, 0x08, 0x52, 0x87, 0x65, 0xBB, 0x3B, 0x9A, 0x08, 0xE9, 0x8A, 0x91, 0xD1, 0x11, 0x51, +0x14, 0xC6, 0x0C, 0xF1, 0x88, 0x4B, 0xD4, 0xE4, 0x83, 0xF1, 0xEB, 0x6C, 0x76, 0x3C, 0xC8, 0x6B, +0xB9, 0x7A, 0xBB, 0xA0, 0x12, 0x53, 0x43, 0x8D, 0x12, 0xEA, 0x8A, 0x58, 0x23, 0xBE, 0x84, 0x90, +0x4E, 0x9A, 0x55, 0x61, 0x80, 0x0B, 0x41, 0xD2, 0x11, 0x43, 0x31, 0xC2, 0xF8, 0xAA, 0x09, 0x8A, +0x29, 0xE2, 0x11, 0x97, 0xA8, 0xBC, 0x23, 0xFA, 0xC1, 0xF8, 0x7D, 0x80, 0xA5, 0x58, 0x6F, 0x17, +0x96, 0x62, 0x1D, 0x3E, 0x99, 0x3B, 0xA1, 0x1A, 0x1A, 0x21, 0x86, 0x20, 0xD2, 0x47, 0x0B, 0x86, +0xD7, 0x25, 0x05, 0xC7, 0xEE, 0xC9, 0x68, 0xE9, 0xAB, 0xC5, 0x80, 0x38, 0x89, 0x7B, 0xC6, 0xA9, +0xFA, 0x1D, 0x91, 0xD7, 0x19, 0x0F, 0x0D, 0x51, 0xB7, 0x8B, 0x9F, 0xB3, 0x88, 0xE8, 0x86, 0x1A, +0x21, 0xCC, 0x0D, 0x57, 0x9D, 0x56, 0x5A, 0x42, 0x4C, 0xC8, 0xEE, 0x4B, 0xAE, 0xD7, 0xE9, 0x2A, +0xC2, 0x18, 0x4A, 0xD1, 0x19, 0x59, 0xFB, 0x55, 0x11, 0xC4, 0x23, 0x7F, 0xB6, 0xC8, 0x47, 0xE3, +0x0B, 0xEB, 0x28, 0x5F, 0x07, 0x57, 0x8A, 0xF6, 0x82, 0x0C, 0x10, 0x29, 0x44, 0x33, 0xD4, 0x3A, +0xD4, 0x18, 0xE2, 0xBB, 0xB4, 0x0E, 0x21, 0x0C, 0xAD, 0x14, 0x42, 0x0C, 0x49, 0x2B, 0xE9, 0x3F, +0x31, 0xAC, 0x1B, 0x51, 0xD1, 0x11, 0xAB, 0x27, 0xCF, 0xEB, 0x53, 0x11, 0x44, 0x1A, 0x2A, 0xDD, +0x74, 0x32, 0x93, 0x7C, 0x1A, 0x5A, 0x29, 0xEA, 0x87, 0xEF, 0xF1, 0xAC, 0x49, 0x30, 0x54, 0xC6, +0x68, 0x68, 0x88, 0x27, 0xAC, 0x97, 0xC6, 0xDD, 0xB0, 0x73, 0x18, 0x5E, 0x6F, 0x72, 0x3F, 0xA6, +0x81, 0xE4, 0x64, 0x8C, 0xBB, 0x7F, 0x54, 0x34, 0xC6, 0xAE, 0xA2, 0x3F, 0x95, 0xA2, 0x9B, 0x1A, +0xE2, 0xB7, 0x81, 0x5D, 0x90, 0xFB, 0x55, 0x4D, 0x44, 0x3C, 0x59, 0x03, 0x2A, 0x21, 0x86, 0x16, +0x21, 0x34, 0xC3, 0x80, 0x48, 0x1F, 0xE5, 0x14, 0x84, 0x8F, 0xE0, 0xD8, 0x76, 0x55, 0x86, 0x54, +0x14, 0xC3, 0xC2, 0x68, 0xED, 0xB4, 0xF2, 0x09, 0x15, 0xC4, 0x66, 0xCF, 0xA0, 0x9B, 0x0A, 0xA2, +0xE4, 0xCB, 0xB0, 0xFA, 0xA9, 0x36, 0xD3, 0x59, 0x17, 0xD1, 0xEB, 0xB0, 0x1E, 0x4B, 0x2B, 0x11, +0x7C, 0xD7, 0x18, 0x9E, 0x10, 0xC3, 0x30, 0xD2, 0x84, 0x32, 0xC4, 0x10, 0xC4, 0x52, 0x92, 0xC3, +0x31, 0x5B, 0x35, 0x24, 0x2C, 0x8C, 0x28, 0x1A, 0xA3, 0x28, 0x66, 0x88, 0xCD, 0x9E, 0x41, 0x37, +0xAD, 0x11, 0xD7, 0x83, 0xDA, 0x32, 0x98, 0x4C, 0x2D, 0x6E, 0xB8, 0x14, 0x40, 0x5F, 0x2E, 0xAC, +0x0C, 0x8D, 0xD0, 0x0C, 0x85, 0x90, 0xDD, 0x02, 0x42, 0xAA, 0xD0, 0xD2, 0x11, 0xBC, 0x51, 0xA7, +0x4F, 0x11, 0x46, 0x43, 0xBC, 0x8D, 0x62, 0x7E, 0x2E, 0x6A, 0x2D, 0x82, 0xA8, 0xE1, 0xE2, 0x46, +0x7A, 0xCA, 0x8F, 0x06, 0x71, 0x50, 0x0B, 0x3F, 0x93, 0x69, 0x66, 0x78, 0xB4, 0xE4, 0x3C, 0x0C, +0x88, 0x99, 0x21, 0x53, 0xA9, 0x21, 0x6E, 0xF6, 0x23, 0x6D, 0x47, 0x05, 0x11, 0x46, 0x53, 0x94, +0x5F, 0x3D, 0x28, 0x4A, 0x78, 0xA4, 0x01, 0x22, 0x0D, 0x55, 0xDE, 0x17, 0xED, 0xA6, 0xAA, 0x38, +0xB0, 0x2D, 0x83, 0x35, 0xDF, 0xD2, 0x4E, 0x35, 0x73, 0xCD, 0xB3, 0x6A, 0x6E, 0x84, 0x29, 0xE2, +0xC2, 0x11, 0xF3, 0x7B, 0xB6, 0xB4, 0x0C, 0xCB, 0x78, 0x0F, 0x2D, 0xC1, 0x31, 0xCE, 0xA9, 0x97, +0x2D, 0xAE, 0x98, 0x6E, 0xFD, 0x28, 0xDA, 0xF5, 0x1B, 0x88, 0x34, 0x54, 0xBD, 0xC3, 0x9F, 0x18, +0xE2, 0xB0, 0xB6, 0x0C, 0x9A, 0x29, 0x88, 0xD2, 0x4B, 0x05, 0xD1, 0xDB, 0xA9, 0xA5, 0x3D, 0x10, +0x6F, 0x8A, 0x61, 0x82, 0xC8, 0x66, 0xD1, 0x1A, 0xA6, 0x45, 0x88, 0x5F, 0x1E, 0x14, 0x25, 0x19, +0x23, 0x9B, 0x06, 0x8A, 0x82, 0xB8, 0x4A, 0x15, 0x03, 0x22, 0x0D, 0x55, 0xBB, 0x29, 0x88, 0x9F, +0x9E, 0x0E, 0xA4, 0x14, 0x9B, 0x3B, 0x53, 0x62, 0x86, 0x86, 0xA8, 0xF1, 0x42, 0x7C, 0xF7, 0xCA, +0x0D, 0x6F, 0x9E, 0x90, 0x08, 0x21, 0x86, 0x8C, 0xA5, 0xF9, 0x40, 0x9A, 0x96, 0xE0, 0xF9, 0xF3, +0xF2, 0xD9, 0x03, 0x24, 0xD5, 0x98, 0x1C, 0x8C, 0x9C, 0x8B, 0x20, 0xD2, 0x50, 0x2B, 0x4A, 0xB1, +0x41, 0xA4, 0xA1, 0x5A, 0x37, 0x35, 0xC4, 0x61, 0x8D, 0x36, 0x34, 0x53, 0x10, 0xC5, 0x70, 0xA9, +0x86, 0xD4, 0xE1, 0xBB, 0xB6, 0x0E, 0x75, 0x30, 0xA5, 0x0C, 0x31, 0x2C, 0x22, 0x52, 0x81, 0xE7, +0x63, 0x50, 0x8C, 0x88, 0x92, 0xB6, 0x14, 0x25, 0xE1, 0x58, 0x94, 0xA0, 0x58, 0x23, 0xD2, 0x50, +0xAD, 0x9B, 0x1A, 0xE2, 0xA0, 0x46, 0x9B, 0x53, 0xDA, 0x80, 0xA6, 0x01, 0x51, 0x0C, 0x97, 0x79, +0x1D, 0xB2, 0x5C, 0x48, 0xD4, 0x30, 0x20, 0xD2, 0x4C, 0xD3, 0x56, 0x5A, 0xF6, 0xC3, 0x31, 0x9E, +0x8C, 0xF9, 0x95, 0xB8, 0x2B, 0xDE, 0x6A, 0x14, 0x57, 0x0C, 0x37, 0x55, 0xA3, 0x08, 0xE2, 0x44, +0x1B, 0xAA, 0xED, 0xBB, 0x29, 0xE2, 0xF1, 0x30, 0x46, 0x1B, 0xFD, 0xD8, 0x9D, 0x4E, 0x43, 0x37, +0x55, 0xC3, 0x23, 0xEA, 0x30, 0x1A, 0x46, 0x44, 0x53, 0xF4, 0xF3, 0xD0, 0x01, 0x25, 0xDB, 0x10, +0x39, 0x1B, 0x8B, 0xD7, 0x37, 0x57, 0x5B, 0xC5, 0x9A, 0x71, 0xE5, 0x8A, 0x82, 0x58, 0xC9, 0xB1, +0x38, 0x47, 0x51, 0xF3, 0xED, 0xCD, 0xD3, 0x33, 0x72, 0xBC, 0xAF, 0x1B, 0xC4, 0x01, 0x8D, 0x36, +0x7A, 0xC1, 0xB1, 0x06, 0x11, 0x43, 0x09, 0x86, 0x1A, 0x37, 0xE4, 0x3C, 0x8C, 0x0B, 0xA2, 0x95, +0x61, 0x8E, 0x08, 0xE1, 0xDD, 0xBB, 0x77, 0xED, 0x0B, 0x4B, 0xA8, 0x46, 0x89, 0x77, 0x54, 0x67, +0x4C, 0xD6, 0xC5, 0xAE, 0xE2, 0x73, 0x55, 0xAC, 0xE4, 0x55, 0x5B, 0x17, 0xB3, 0x5A, 0x94, 0x8D, +0x42, 0xFE, 0xAD, 0x08, 0x37, 0x1C, 0xCE, 0x68, 0x63, 0xFD, 0x67, 0x9A, 0x20, 0xBE, 0x6D, 0xEB, +0xF0, 0x64, 0xC1, 0xF0, 0x26, 0xCD, 0x34, 0x7F, 0xF4, 0xE4, 0x88, 0xE6, 0x87, 0x21, 0x56, 0x0E, +0x48, 0x1C, 0xD1, 0x15, 0x9D, 0xD1, 0x47, 0x54, 0x86, 0x1B, 0x4D, 0x49, 0x71, 0x3E, 0xCF, 0x8E, +0xC5, 0xC9, 0xE4, 0xF3, 0x83, 0xA7, 0x74, 0xD3, 0xE1, 0x8C, 0x36, 0x36, 0xD5, 0x24, 0x88, 0x6F, +0x6B, 0xC4, 0x79, 0xCF, 0x50, 0x73, 0x13, 0x43, 0x10, 0xD3, 0x99, 0x26, 0x74, 0x52, 0xF4, 0x0A, +0x49, 0x9A, 0x2A, 0xF3, 0x4D, 0x69, 0x44, 0xA5, 0xA3, 0xCA, 0xEF, 0x41, 0x10, 0x5D, 0xF1, 0xF9, +0xDC, 0x56, 0x7E, 0x10, 0xD7, 0x2F, 0x5E, 0xBC, 0x68, 0xBB, 0xE9, 0x60, 0x46, 0x9B, 0x7A, 0xAA, +0xD1, 0x34, 0x86, 0x8E, 0x78, 0xE4, 0x88, 0x18, 0x82, 0x48, 0x33, 0x2D, 0x1E, 0x87, 0xED, 0x5E, +0x18, 0x4A, 0xF0, 0xC2, 0x05, 0xFB, 0x52, 0x53, 0x62, 0xBC, 0x1F, 0x19, 0x79, 0xD6, 0x6F, 0x88, +0xAE, 0xE8, 0xA7, 0xA2, 0x44, 0x11, 0x2F, 0x26, 0x88, 0x93, 0x4F, 0x6F, 0xBE, 0x4F, 0x40, 0x1C, +0xC8, 0xAD, 0x8D, 0x4D, 0x35, 0x01, 0x91, 0x13, 0x11, 0xC3, 0x50, 0x88, 0x6C, 0x88, 0xEC, 0xF8, +0x18, 0xD2, 0x49, 0x23, 0x22, 0xC9, 0xCB, 0x31, 0x5B, 0x19, 0xDB, 0x83, 0x11, 0xC4, 0x64, 0x46, +0x5D, 0x49, 0x50, 0x94, 0xE1, 0x86, 0x52, 0x14, 0xBB, 0x6F, 0xDF, 0x3F, 0x45, 0xC4, 0x6F, 0x6F, +0x0E, 0xFC, 0x81, 0x54, 0x3D, 0xD5, 0x80, 0xF8, 0x56, 0x11, 0x97, 0x92, 0xCC, 0x50, 0x19, 0x31, +0xD4, 0xF8, 0x8D, 0x29, 0x8F, 0x2D, 0x84, 0x50, 0x92, 0xAC, 0x86, 0x3D, 0x80, 0xD1, 0x31, 0x1B, +0x53, 0xC3, 0xE5, 0x0D, 0x0D, 0xB5, 0x47, 0xD1, 0x10, 0x51, 0x54, 0xBC, 0xE3, 0x75, 0x8A, 0x38, +0x84, 0x07, 0x52, 0x7A, 0x57, 0xF3, 0x73, 0x0A, 0xE2, 0x5B, 0x4D, 0x34, 0x94, 0xF4, 0x1A, 0x4A, +0x1A, 0x42, 0xCE, 0xC3, 0xED, 0x55, 0x48, 0x60, 0x7C, 0xA8, 0xE1, 0x49, 0x71, 0xF2, 0x80, 0x51, +0x10, 0xE3, 0x88, 0x6A, 0x88, 0x95, 0x4F, 0xA8, 0xA2, 0xE8, 0x88, 0x04, 0xC3, 0xE9, 0xFA, 0xB0, +0xFB, 0xA9, 0x4D, 0x35, 0x01, 0x71, 0x59, 0xB8, 0xAA, 0xC1, 0xD0, 0x10, 0x7D, 0x41, 0x64, 0xB5, +0x00, 0xD1, 0xEA, 0x30, 0x10, 0xF6, 0x2B, 0xC6, 0x8E, 0x9A, 0x29, 0x52, 0x8B, 0x66, 0xC8, 0xB1, +0xD8, 0x2A, 0x5A, 0x25, 0x0A, 0xA3, 0x20, 0x62, 0x18, 0x10, 0x0F, 0xFD, 0x65, 0x6F, 0x4C, 0x35, +0x20, 0x2E, 0x35, 0x18, 0x4A, 0x2B, 0xD5, 0x98, 0xE1, 0x4D, 0x76, 0xC4, 0x74, 0xB9, 0x70, 0x44, +0x23, 0xCC, 0x0C, 0xCB, 0x82, 0x8F, 0x1E, 0x3D, 0x2A, 0x3B, 0xFA, 0xA2, 0x91, 0xAE, 0xFD, 0xDC, +0x84, 0xD7, 0x8A, 0x27, 0xEA, 0x35, 0x63, 0xF5, 0xCE, 0x14, 0xAD, 0x12, 0x25, 0x75, 0x3F, 0x4D, +0x09, 0x5B, 0xC4, 0x83, 0x7F, 0xAD, 0x8D, 0x3E, 0xCE, 0x9F, 0x7A, 0xCC, 0x10, 0xC4, 0xB8, 0x23, +0x9E, 0x2B, 0x19, 0x52, 0x89, 0x34, 0x53, 0x08, 0x89, 0xC9, 0x59, 0xFA, 0x5A, 0x2A, 0x0B, 0x23, +0x8F, 0x18, 0xD9, 0x33, 0x24, 0x28, 0x6A, 0x25, 0x82, 0x58, 0xCD, 0x9F, 0xB8, 0x62, 0xAC, 0xC4, +0x41, 0xAC, 0x8A, 0x5A, 0x88, 0xC7, 0x01, 0xD1, 0x08, 0x97, 0x14, 0x62, 0x9F, 0xA1, 0x23, 0xC6, +0x8B, 0x1A, 0x1F, 0x69, 0x42, 0x05, 0xA2, 0xD8, 0xB1, 0x8C, 0x0D, 0xB5, 0x4E, 0xFE, 0xB2, 0x1B, +0xAE, 0xDF, 0x54, 0x71, 0x65, 0x8A, 0x2D, 0xA2, 0x04, 0xC5, 0x62, 0x25, 0x4E, 0x0F, 0x78, 0x55, +0x64, 0xBD, 0xD0, 0xB8, 0xA1, 0xA4, 0xBF, 0x0E, 0xE3, 0xC3, 0x8B, 0x6E, 0x1D, 0x82, 0x18, 0xBB, +0x68, 0x27, 0x20, 0x96, 0xCE, 0xC5, 0xA0, 0xE8, 0xA3, 0x8D, 0x28, 0x9E, 0x08, 0x8A, 0x4F, 0x4A, +0x8A, 0x19, 0xE2, 0xE1, 0xAE, 0x8A, 0xFA, 0x28, 0x78, 0x9D, 0x23, 0x4E, 0xCA, 0x86, 0x4C, 0x35, +0x71, 0x45, 0x74, 0xC4, 0x78, 0xD1, 0x06, 0x61, 0xF4, 0xBB, 0x24, 0x09, 0x8E, 0xA9, 0xE2, 0x0D, +0x0D, 0x3B, 0xBF, 0x21, 0xBA, 0xA2, 0x1A, 0x82, 0x88, 0xA2, 0x12, 0xAA, 0x22, 0x88, 0xB3, 0x80, +0x78, 0xB8, 0xAF, 0x5D, 0xD4, 0x57, 0x85, 0x65, 0x86, 0x45, 0x44, 0x33, 0xF4, 0x4A, 0x34, 0x43, +0x8E, 0xC4, 0xB8, 0xE5, 0xBB, 0x21, 0x82, 0x28, 0x06, 0x47, 0x24, 0xA9, 0x44, 0x45, 0x44, 0xD1, +0x11, 0xB3, 0xC7, 0xFC, 0x35, 0xE2, 0xA2, 0x51, 0x14, 0x46, 0x3A, 0x6A, 0x3E, 0xDA, 0x64, 0x86, +0xD3, 0xE9, 0xA1, 0xAE, 0x8A, 0xBA, 0xE7, 0xFF, 0x0A, 0x86, 0x2D, 0x62, 0x35, 0x7F, 0x4D, 0x21, +0x8A, 0x61, 0x8D, 0x88, 0xA1, 0x24, 0xEF, 0xA5, 0x34, 0xD3, 0x80, 0x18, 0xF8, 0xF0, 0xA3, 0x16, +0xBB, 0x8C, 0x59, 0x43, 0xCD, 0xEE, 0x6D, 0x6A, 0xC4, 0x85, 0x23, 0xB6, 0x8A, 0x27, 0x51, 0x2C, +0x21, 0x1E, 0xEA, 0x53, 0x45, 0x7D, 0x81, 0xDB, 0xE3, 0x02, 0x22, 0x85, 0xF8, 0xA1, 0x72, 0x43, +0x41, 0x0C, 0xCD, 0x94, 0x42, 0xA4, 0x99, 0xB2, 0x5D, 0x94, 0x8B, 0x10, 0x47, 0x24, 0x4B, 0xFB, +0x22, 0x23, 0xAA, 0x95, 0x62, 0xDC, 0x15, 0xE5, 0x77, 0x72, 0xF3, 0x26, 0x95, 0x68, 0x88, 0x5E, +0x8B, 0xE5, 0xB9, 0x46, 0xF2, 0xF5, 0x20, 0xFB, 0xA9, 0xFE, 0xA5, 0xE0, 0x6F, 0x2D, 0x62, 0xCF, +0x85, 0x9B, 0xA6, 0x36, 0x4C, 0x10, 0xE3, 0x81, 0xD8, 0x5C, 0xB6, 0x81, 0xD8, 0xD6, 0x61, 0x0E, +0x07, 0x1E, 0x88, 0x38, 0x3A, 0xA2, 0x84, 0x86, 0xDA, 0xA7, 0xB8, 0x88, 0x88, 0x76, 0x2C, 0x9E, +0x5C, 0xF6, 0x54, 0xE2, 0xC1, 0xF6, 0x53, 0x7D, 0x8C, 0xF8, 0x18, 0x44, 0x33, 0x9C, 0xB0, 0x60, +0xB4, 0x86, 0x67, 0xCD, 0x50, 0x10, 0x79, 0x9C, 0x5F, 0xF7, 0x52, 0x0C, 0xBD, 0x10, 0x93, 0xC1, +0xB4, 0x87, 0x90, 0x14, 0xD6, 0x0D, 0x3A, 0x2A, 0x0D, 0x95, 0x65, 0xF1, 0x2A, 0x03, 0xAA, 0xD6, +0xA2, 0xF7, 0xD3, 0xCA, 0x18, 0xE7, 0xF5, 0xCE, 0xBF, 0xA4, 0x14, 0x33, 0xC4, 0x43, 0xED, 0xA7, +0x76, 0xE1, 0x06, 0x22, 0x85, 0x98, 0xEE, 0x88, 0x1F, 0x14, 0xB1, 0x36, 0x64, 0xAC, 0xE1, 0xC2, +0x8D, 0xA1, 0x06, 0xC2, 0x02, 0x22, 0x8A, 0xF7, 0x34, 0x1D, 0xC8, 0xD2, 0xC2, 0x98, 0xEF, 0x19, +0x5E, 0x8A, 0xAE, 0x78, 0x02, 0xC5, 0x77, 0x49, 0x3B, 0x3D, 0x12, 0xC5, 0x62, 0x21, 0x1E, 0x6A, +0x3F, 0xAD, 0x0B, 0xD1, 0x15, 0xC3, 0x65, 0xCD, 0xEB, 0xA4, 0x99, 0x26, 0x88, 0x9C, 0x88, 0x18, +0xD2, 0x4C, 0x0B, 0x84, 0xF0, 0xE1, 0xD8, 0x24, 0x3A, 0xA2, 0x48, 0x43, 0x35, 0x44, 0x14, 0x33, +0xC4, 0xA8, 0x58, 0x3B, 0xFA, 0x68, 0x13, 0x10, 0x0F, 0xB4, 0x9F, 0xFE, 0xE6, 0xEE, 0x0E, 0x5A, +0x23, 0x2B, 0x82, 0x00, 0x8E, 0x0B, 0x0A, 0xA2, 0x89, 0x07, 0x11, 0xD1, 0x08, 0x2A, 0x48, 0x04, +0xC1, 0x83, 0x30, 0x0B, 0x4A, 0x24, 0x44, 0x3C, 0xC8, 0xA0, 0xE0, 0x3A, 0x18, 0xD0, 0x61, 0x82, +0xCC, 0xC1, 0x05, 0x3D, 0xE9, 0x0C, 0xB8, 0xA8, 0x28, 0x9B, 0x7C, 0x74, 0xAB, 0xEA, 0x75, 0xBD, +0x7F, 0x57, 0x75, 0xBF, 0x59, 0x8F, 0x6F, 0xA6, 0xD4, 0x93, 0x17, 0xF5, 0x67, 0x55, 0x77, 0x75, +0x55, 0x5E, 0x34, 0x11, 0xAF, 0x34, 0x8A, 0x21, 0x8D, 0xFE, 0xDA, 0x12, 0x91, 0x5B, 0x0D, 0x88, +0x18, 0xB2, 0xDC, 0xC6, 0xFC, 0x09, 0xC3, 0x49, 0xC4, 0x7E, 0x46, 0x06, 0x46, 0x52, 0xD1, 0x4F, +0x45, 0x14, 0xA9, 0xA7, 0xDD, 0x54, 0x34, 0x44, 0x89, 0x0E, 0xE2, 0x89, 0xD6, 0x53, 0x7D, 0xF9, +0x76, 0x44, 0x89, 0x9C, 0x88, 0x1B, 0x55, 0x24, 0x11, 0xFD, 0x48, 0xA4, 0x98, 0x2A, 0x62, 0x34, +0x04, 0xD1, 0x38, 0x20, 0xCC, 0x19, 0xD8, 0x46, 0x28, 0xA9, 0x66, 0xE8, 0x53, 0x29, 0x16, 0xA7, +0x68, 0x15, 0x5D, 0xB1, 0xDC, 0x6D, 0x42, 0x2A, 0xEA, 0xC6, 0x33, 0x86, 0x20, 0x6A, 0x9C, 0xDC, +0xD6, 0x5B, 0x49, 0x44, 0x32, 0xB1, 0x32, 0x5C, 0x6B, 0x1E, 0x3A, 0xE2, 0xF9, 0xB9, 0x1B, 0xF2, +0x6A, 0xCA, 0xBD, 0xA6, 0x1A, 0x3F, 0x39, 0xA1, 0x06, 0x86, 0x0D, 0x63, 0xDF, 0x32, 0xDF, 0x51, +0xC9, 0x44, 0x1E, 0xC2, 0xE3, 0xA2, 0x86, 0x75, 0x19, 0x51, 0xD1, 0x42, 0xE7, 0x68, 0x0D, 0xE2, +0x89, 0xD6, 0x53, 0x4B, 0x44, 0x8B, 0x7C, 0x22, 0x0A, 0x63, 0x34, 0x94, 0x00, 0xB1, 0xFA, 0xE9, +0x19, 0x35, 0xA4, 0x45, 0x1C, 0x7B, 0xFC, 0x94, 0x89, 0xE0, 0xB5, 0xD1, 0xBD, 0xE0, 0x30, 0x95, +0x72, 0x45, 0x33, 0x94, 0xE0, 0xD5, 0x86, 0x4C, 0x6C, 0x0B, 0x2A, 0x88, 0x18, 0x9E, 0x66, 0x3D, +0xF5, 0x44, 0xD4, 0x68, 0xAE, 0x35, 0x9B, 0x6F, 0x47, 0xC4, 0xF3, 0x82, 0x48, 0x22, 0xF2, 0x6A, +0x5A, 0xBF, 0xB7, 0xA5, 0xE6, 0xC2, 0x10, 0xFB, 0x19, 0xF8, 0xA9, 0x44, 0x72, 0xCC, 0xE7, 0xA2, +0x77, 0x19, 0x49, 0x91, 0x5E, 0x11, 0x45, 0x10, 0x25, 0x86, 0xFB, 0xA9, 0x6C, 0xAE, 0xB7, 0x88, +0x27, 0x79, 0x3F, 0xE5, 0x44, 0x54, 0x44, 0xAE, 0x35, 0x72, 0xAB, 0x59, 0x8B, 0x22, 0x88, 0x62, +0x18, 0x5E, 0x6B, 0x82, 0x21, 0xD5, 0x54, 0x11, 0x03, 0xE1, 0xC1, 0x34, 0x44, 0xB2, 0x53, 0x51, +0x39, 0x15, 0xC5, 0x90, 0x8E, 0xFF, 0xED, 0xFC, 0x0C, 0xCE, 0xB3, 0x0D, 0x8A, 0x16, 0x82, 0x28, +0x11, 0x10, 0x4F, 0xB2, 0x9E, 0x92, 0x88, 0x12, 0x76, 0xAD, 0x01, 0x51, 0x0C, 0xED, 0x56, 0xA3, +0x86, 0x3B, 0x4F, 0x44, 0x33, 0x34, 0x45, 0x5F, 0x52, 0x0C, 0x86, 0x12, 0x29, 0x0D, 0x35, 0x40, +0x3C, 0x14, 0x30, 0xF2, 0x8E, 0xCA, 0xFD, 0xB4, 0x41, 0x14, 0x45, 0xEE, 0xA7, 0x05, 0x51, 0xC2, +0x0D, 0x75, 0xE3, 0xD9, 0x14, 0x7F, 0xA9, 0x10, 0x4F, 0xB3, 0x9E, 0x7A, 0x8F, 0x28, 0x82, 0x76, +0x26, 0x06, 0x43, 0x41, 0xDC, 0x14, 0xC3, 0x5D, 0x7D, 0x22, 0xBA, 0x61, 0x6E, 0x12, 0x79, 0x33, +0x4D, 0x89, 0x98, 0x10, 0x5F, 0xD7, 0x38, 0xC0, 0xE8, 0x05, 0x15, 0x44, 0x89, 0xD8, 0xF0, 0x73, +0xB5, 0x11, 0x43, 0x52, 0x31, 0x9F, 0x8A, 0xA2, 0x08, 0x22, 0x86, 0xA7, 0x35, 0x8F, 0x2A, 0x8F, +0x35, 0x5C, 0x4E, 0x47, 0xC3, 0x75, 0x69, 0x30, 0xF6, 0x82, 0xB8, 0xFF, 0x55, 0x0C, 0x39, 0x11, +0x25, 0xBA, 0x8F, 0x35, 0x5C, 0x6B, 0xD2, 0x83, 0xE9, 0x48, 0x08, 0x22, 0xD1, 0x65, 0xA4, 0x9E, +0x46, 0xC5, 0xD0, 0x2A, 0x7A, 0xAF, 0x68, 0x88, 0xA6, 0x28, 0x84, 0x28, 0x4A, 0x2A, 0x0E, 0x99, +0xF8, 0x0B, 0x88, 0x27, 0x59, 0x4F, 0x49, 0x44, 0x41, 0xF4, 0x6A, 0x0A, 0xE2, 0xAD, 0x64, 0xA2, +0x18, 0xEE, 0xFD, 0x5A, 0x13, 0xF6, 0x14, 0x83, 0x61, 0xE9, 0x11, 0xBB, 0x2F, 0xA6, 0xE4, 0x21, +0x8C, 0x31, 0x5A, 0xC4, 0x5C, 0x50, 0x13, 0xE2, 0x9B, 0x4D, 0xBF, 0x5F, 0x10, 0x43, 0x2A, 0x3E, +0x91, 0x10, 0xC3, 0x0E, 0xE2, 0x29, 0xCD, 0xF7, 0x6D, 0x8E, 0x88, 0x21, 0x88, 0x6B, 0x41, 0x34, +0xC3, 0xCD, 0x5E, 0xC2, 0x8F, 0x44, 0x12, 0xD1, 0x10, 0xFD, 0x56, 0x43, 0x31, 0xA5, 0x47, 0x8C, +0x89, 0x18, 0x6E, 0x32, 0x1E, 0x7D, 0x47, 0x10, 0xB3, 0xA2, 0x4F, 0xA4, 0x72, 0xBF, 0xEF, 0x88, +0xAF, 0x05, 0x44, 0x0B, 0x43, 0x94, 0x68, 0x0C, 0xAF, 0xFE, 0x7E, 0x7C, 0x42, 0x88, 0x5F, 0x3E, +0xBB, 0x0A, 0x88, 0x24, 0xA2, 0x28, 0x6A, 0x1E, 0xDE, 0x0E, 0xD5, 0x54, 0x11, 0x79, 0xFB, 0xCE, +0x03, 0x7D, 0x31, 0x0C, 0x6B, 0xA6, 0xD1, 0xB0, 0x46, 0x4C, 0x78, 0x9F, 0x46, 0x42, 0x18, 0x85, +0x10, 0xC3, 0x7A, 0x9A, 0x11, 0x66, 0x19, 0x86, 0x88, 0x62, 0x41, 0x54, 0x46, 0x0E, 0xC5, 0x80, +0x88, 0xE2, 0xC9, 0xEC, 0x4B, 0xD9, 0xE2, 0x7E, 0x40, 0x34, 0x43, 0x47, 0xDC, 0x48, 0x26, 0xEE, +0x35, 0xAE, 0x8B, 0x21, 0xCB, 0x35, 0x3C, 0x9B, 0x62, 0xC8, 0x83, 0x1B, 0xC5, 0x34, 0xB5, 0x17, +0xE4, 0x60, 0x90, 0xD4, 0x68, 0xDA, 0xC5, 0x38, 0x59, 0x04, 0x11, 0x45, 0x56, 0x50, 0xA7, 0x53, +0x11, 0xC5, 0x84, 0x78, 0x2C, 0xFB, 0xA7, 0x2F, 0x6B, 0x3C, 0x6F, 0xB3, 0xE6, 0xAA, 0x46, 0x5C, +0x78, 0x22, 0x4A, 0x6C, 0x34, 0x6E, 0xAD, 0x9A, 0x82, 0x18, 0x0D, 0x59, 0x17, 0x76, 0xC3, 0x74, +0x24, 0xA6, 0x36, 0x1F, 0xBF, 0x1C, 0x99, 0x31, 0x2E, 0x4E, 0x15, 0x45, 0x35, 0x64, 0x67, 0x2A, +0x21, 0xBE, 0xA7, 0x88, 0x59, 0xF1, 0x89, 0x23, 0xBA, 0x21, 0x88, 0x47, 0xB2, 0xCF, 0x2F, 0x82, +0xAF, 0xA0, 0x38, 0xB1, 0x6B, 0x7A, 0x7F, 0xB5, 0x94, 0x3F, 0x24, 0x94, 0x50, 0x33, 0x71, 0x61, +0x88, 0x6A, 0x28, 0x99, 0x58, 0x12, 0xD1, 0x10, 0x4D, 0x91, 0xFE, 0x02, 0xC4, 0x0F, 0x34, 0xA8, +0xA6, 0x66, 0x18, 0x09, 0x49, 0xC2, 0x3E, 0x63, 0xAE, 0xA8, 0x5D, 0xC5, 0xE1, 0x07, 0x88, 0x25, +0x26, 0xEA, 0xA9, 0x20, 0xE6, 0x54, 0x44, 0x31, 0x23, 0xCA, 0xBF, 0xF0, 0x71, 0xEC, 0xF3, 0xCB, +0x6F, 0x12, 0x78, 0xF6, 0x89, 0x30, 0x1E, 0xDC, 0x35, 0x25, 0x11, 0x4B, 0x26, 0x2E, 0x4A, 0x31, +0x15, 0x43, 0x89, 0x5F, 0x6F, 0xD5, 0x50, 0x14, 0xC3, 0xB3, 0x29, 0x4D, 0x22, 0x3F, 0x8C, 0xE8, +0x86, 0xDC, 0x6A, 0x72, 0x6F, 0x81, 0x60, 0x2F, 0x26, 0x52, 0x91, 0x66, 0x91, 0x54, 0x0C, 0xB3, +0x61, 0x33, 0x34, 0x45, 0x43, 0xE4, 0xE9, 0x2D, 0xA7, 0x62, 0x46, 0x7C, 0x76, 0x24, 0x88, 0x9F, +0x5C, 0xFC, 0x83, 0xE2, 0xC4, 0x8B, 0x5B, 0xC8, 0xC4, 0x54, 0x4D, 0x3D, 0x11, 0xAF, 0xB9, 0xD6, +0x80, 0x18, 0x9F, 0xDC, 0xCC, 0x50, 0x02, 0xC3, 0x83, 0xE7, 0xE1, 0x67, 0x16, 0x6D, 0x49, 0x25, +0x13, 0xA3, 0x22, 0x13, 0x29, 0xCF, 0x44, 0xA6, 0x8A, 0x64, 0x22, 0x8A, 0xC5, 0x10, 0x45, 0x37, +0x04, 0xF1, 0x38, 0x1E, 0x6D, 0xE4, 0x47, 0xD5, 0x2E, 0xEE, 0x79, 0x99, 0xE8, 0x36, 0xFA, 0x4B, +0x41, 0x0C, 0xD7, 0x9A, 0x45, 0xE9, 0x2F, 0x40, 0xBC, 0x4E, 0x88, 0xED, 0x5A, 0x46, 0xB8, 0x9B, +0xE6, 0xF9, 0x13, 0x82, 0xA4, 0x21, 0x90, 0x81, 0xD2, 0x0C, 0x9D, 0x31, 0xEE, 0x13, 0xD3, 0x64, +0xE8, 0x52, 0x7F, 0x1F, 0xB1, 0x28, 0x8E, 0x4F, 0x6F, 0xB7, 0x6E, 0x08, 0x22, 0x86, 0x12, 0x47, +0xF1, 0x68, 0x23, 0x9F, 0x53, 0xBA, 0xB8, 0xE0, 0x3B, 0xBC, 0xDD, 0x46, 0x7F, 0x99, 0x12, 0x71, +0xB1, 0x10, 0x43, 0x12, 0x71, 0x43, 0x22, 0xAA, 0x62, 0xF8, 0x76, 0x54, 0x9E, 0x5F, 0xF0, 0x6C, +0xAA, 0x84, 0x11, 0x11, 0xC0, 0x03, 0x61, 0xD0, 0x18, 0x0E, 0x31, 0x28, 0x36, 0x6B, 0x1A, 0xF9, +0xC7, 0x32, 0x5E, 0x74, 0xC5, 0xEE, 0xA1, 0xF8, 0x56, 0x42, 0xBC, 0x32, 0xC5, 0xA3, 0x78, 0xB4, +0x91, 0xDF, 0x25, 0x70, 0x71, 0x71, 0x21, 0xFD, 0x10, 0x8A, 0x4D, 0xA3, 0x6F, 0x99, 0xB8, 0xF4, +0x44, 0x5C, 0x38, 0xA2, 0xB4, 0x17, 0x9E, 0x89, 0x20, 0xA6, 0x4E, 0x5F, 0xC3, 0x0C, 0x41, 0x64, +0x25, 0xC3, 0x0D, 0x25, 0x40, 0xFC, 0x5F, 0x8C, 0xB9, 0xDF, 0xA7, 0x9E, 0x9A, 0xA2, 0x21, 0x86, +0x35, 0xE2, 0x98, 0x8A, 0xE7, 0xE7, 0x62, 0xB8, 0x2F, 0x8A, 0x20, 0x8A, 0x62, 0x30, 0x54, 0xC5, +0xA3, 0x78, 0xB4, 0x19, 0x10, 0x1F, 0xF8, 0xB0, 0x79, 0xDB, 0x5F, 0x2C, 0x25, 0xB8, 0xD7, 0x58, +0x22, 0x72, 0x22, 0x52, 0x4D, 0x3D, 0x11, 0x41, 0x8C, 0xD5, 0x34, 0x1B, 0x4A, 0x44, 0xC2, 0xE9, +0x4A, 0xDA, 0x4F, 0x45, 0x14, 0x43, 0x3D, 0x15, 0x44, 0x14, 0x41, 0x2C, 0xE3, 0x7D, 0x10, 0x6F, +0xC5, 0xB1, 0x7E, 0xB4, 0x31, 0x44, 0x14, 0x07, 0xC3, 0xE3, 0x68, 0x32, 0xE4, 0x07, 0x0E, 0x2F, +0x24, 0xFE, 0xA5, 0xA0, 0x36, 0xFD, 0x85, 0x18, 0x72, 0x26, 0x0A, 0xA1, 0x23, 0x7E, 0x6B, 0x77, +0x53, 0x1A, 0x8C, 0x1A, 0xB1, 0x5E, 0x19, 0x76, 0x43, 0x76, 0xDC, 0x1A, 0x44, 0x0D, 0x9C, 0x12, +0x64, 0x96, 0x74, 0xC4, 0x46, 0x71, 0x5C, 0x5E, 0xE4, 0xFD, 0x94, 0xD5, 0xC5, 0x98, 0x89, 0xBF, +0xF7, 0xDE, 0x4F, 0x55, 0x31, 0x66, 0xE2, 0x91, 0x34, 0x19, 0x86, 0x68, 0x05, 0x15, 0xC5, 0xD8, +0x5F, 0x0C, 0x86, 0xCB, 0xB1, 0xD5, 0x5F, 0xD0, 0x24, 0x62, 0xE8, 0x5D, 0x22, 0x77, 0x53, 0x5A, +0x7D, 0x10, 0xBB, 0x4D, 0x22, 0xFD, 0x45, 0x86, 0x43, 0x30, 0x39, 0xA2, 0x58, 0x0D, 0x33, 0x78, +0x7A, 0x8B, 0x99, 0xC8, 0xEA, 0xA2, 0x22, 0x92, 0x8A, 0x9A, 0x88, 0xFB, 0x06, 0xF1, 0x73, 0x27, +0x34, 0xC3, 0xE3, 0x68, 0x32, 0x5E, 0x76, 0xC4, 0x07, 0x76, 0xBB, 0x52, 0x7F, 0x21, 0x88, 0xC6, +0xE8, 0x99, 0x48, 0x35, 0x35, 0x46, 0x0C, 0x23, 0x62, 0x5B, 0x4D, 0x7D, 0x80, 0xC1, 0x6E, 0x94, +0x44, 0x32, 0x44, 0x31, 0x47, 0xAF, 0x5F, 0x4C, 0xC3, 0x61, 0x47, 0xB4, 0x43, 0x11, 0x45, 0xCE, +0xC4, 0xD2, 0x64, 0x48, 0x14, 0xC4, 0x74, 0x28, 0x4A, 0x70, 0x35, 0x55, 0xC5, 0xE3, 0x38, 0x14, +0x35, 0xD5, 0xD4, 0xD0, 0x0A, 0x2A, 0x8A, 0x55, 0x7F, 0x11, 0x0C, 0x23, 0xA2, 0x05, 0x88, 0x07, +0xAB, 0xA9, 0x22, 0x32, 0x84, 0xE2, 0xC1, 0x2D, 0x1B, 0xC2, 0x78, 0xD8, 0xB1, 0x28, 0x52, 0x4F, +0x19, 0x65, 0xF4, 0x86, 0x8A, 0xB4, 0xFB, 0x66, 0x28, 0xFF, 0xB4, 0x05, 0x71, 0x93, 0x53, 0xD1, +0x13, 0xB1, 0x18, 0x1E, 0xC3, 0x24, 0x03, 0x44, 0x0A, 0x6A, 0x9C, 0x5F, 0x18, 0x61, 0x3E, 0x12, +0xD7, 0x01, 0xF1, 0xEC, 0xEC, 0x3A, 0x3C, 0x9C, 0x4E, 0x55, 0x53, 0x86, 0x50, 0x18, 0x82, 0x48, +0x87, 0x7F, 0x20, 0x82, 0x21, 0x8A, 0xF5, 0xF2, 0x22, 0xA7, 0x62, 0x58, 0x05, 0x77, 0x44, 0x57, +0xAC, 0x57, 0x6D, 0xD6, 0xD5, 0xA3, 0x0D, 0x3D, 0xE2, 0x80, 0x78, 0x04, 0x93, 0x0C, 0x10, 0x29, +0xA8, 0xF9, 0x5A, 0x63, 0x8C, 0x53, 0x88, 0x7B, 0x45, 0xE4, 0x72, 0x0A, 0xA2, 0x44, 0xF9, 0x58, +0x06, 0x4D, 0x62, 0x18, 0x42, 0x31, 0x44, 0xCC, 0x8D, 0xFE, 0x47, 0x39, 0x22, 0x23, 0x05, 0x95, +0xE1, 0x30, 0x37, 0x1B, 0xEE, 0xA7, 0x3E, 0x54, 0x04, 0x91, 0x76, 0x5F, 0x53, 0x11, 0xC4, 0x30, +0xC9, 0xE0, 0x62, 0x33, 0xC4, 0xD3, 0x63, 0x40, 0xFC, 0x53, 0x05, 0x29, 0xA8, 0xED, 0xB5, 0x86, +0x16, 0xC3, 0x11, 0xD7, 0x16, 0x24, 0xA2, 0x1A, 0x3A, 0x22, 0xF7, 0x9A, 0xF1, 0x6B, 0x19, 0x8C, +0xF4, 0x63, 0x39, 0x95, 0x08, 0x84, 0x24, 0xE2, 0x47, 0x6D, 0xB4, 0x05, 0x35, 0xDF, 0x4F, 0x2D, +0x13, 0x99, 0x47, 0x35, 0xE3, 0xA8, 0xF7, 0xC3, 0xA1, 0xB8, 0x8B, 0x87, 0xA2, 0x05, 0xE5, 0xD4, +0x8F, 0xC4, 0xA3, 0x78, 0x79, 0x03, 0x51, 0xC2, 0xBE, 0xC3, 0xDB, 0x5C, 0x6B, 0xA8, 0xA6, 0x82, +0x48, 0x22, 0x72, 0xAD, 0x49, 0x88, 0xED, 0xAE, 0xA2, 0x21, 0x92, 0x88, 0xBD, 0x6B, 0x8D, 0x11, +0xA2, 0x38, 0xED, 0xD8, 0x9D, 0xF1, 0x73, 0x2A, 0xF2, 0xB5, 0x30, 0x31, 0xE4, 0xE5, 0x8D, 0x9B, +0x0D, 0x88, 0xBB, 0x82, 0xB8, 0x51, 0xC4, 0x35, 0x99, 0x98, 0x12, 0x71, 0x39, 0xFF, 0x43, 0x11, +0x44, 0x0A, 0x6A, 0xF5, 0x5A, 0xF3, 0xD3, 0xC3, 0x32, 0x96, 0xD3, 0x85, 0xA6, 0x22, 0x89, 0xB8, +0x77, 0xC4, 0x5D, 0x68, 0x13, 0x73, 0xAB, 0xAF, 0x86, 0x1C, 0x89, 0xF1, 0x5A, 0xE3, 0x88, 0x10, +0x12, 0x87, 0x18, 0x31, 0xAC, 0x47, 0xFC, 0xFE, 0xE5, 0x3E, 0xBB, 0xD8, 0x30, 0x53, 0xA4, 0x9E, +0x72, 0x28, 0xEE, 0xF6, 0xA2, 0xB8, 0x17, 0xC4, 0x8D, 0x21, 0xF2, 0x7C, 0xCA, 0xDD, 0xF4, 0x48, +0x0E, 0x45, 0x10, 0x29, 0xA8, 0xF1, 0xB5, 0x86, 0x6A, 0xEA, 0x89, 0xD8, 0x45, 0x74, 0x43, 0x8D, +0xF6, 0x72, 0x5A, 0x14, 0xE3, 0x5A, 0x46, 0x78, 0xF9, 0x8E, 0x82, 0x49, 0x2E, 0x13, 0xB6, 0x8A, +0xD5, 0xCD, 0xA6, 0xBF, 0xF3, 0x56, 0xBA, 0x7D, 0xDA, 0xFD, 0x73, 0x21, 0x94, 0x10, 0xC3, 0x4D, +0x9A, 0x29, 0x8E, 0x79, 0x78, 0x2C, 0x87, 0x62, 0x44, 0x5C, 0x85, 0x82, 0xAA, 0xD7, 0x9A, 0x9C, +0x88, 0x16, 0x6E, 0x08, 0x22, 0x89, 0x98, 0x2F, 0xA7, 0xF5, 0xD7, 0x32, 0x52, 0x35, 0x45, 0x11, +0x44, 0x62, 0xF2, 0x6E, 0xC3, 0x89, 0x38, 0x71, 0x3F, 0x55, 0x43, 0xAE, 0xA7, 0xF1, 0x4B, 0x1A, +0x20, 0xCA, 0xA1, 0xA8, 0x7B, 0x96, 0x66, 0xB8, 0x09, 0xA9, 0x18, 0x12, 0x71, 0x79, 0x04, 0x87, +0x22, 0x88, 0x14, 0xD4, 0xEA, 0x1D, 0x20, 0x27, 0x62, 0xC9, 0x44, 0x10, 0xA9, 0xA6, 0xE7, 0x24, +0x62, 0xDA, 0x73, 0x63, 0x0C, 0x65, 0x86, 0x4C, 0x30, 0xDA, 0x77, 0xD3, 0x0C, 0xD8, 0x77, 0x8C, +0x9B, 0x1A, 0xAC, 0x2E, 0x3A, 0x62, 0xBB, 0x2D, 0x25, 0xC1, 0x70, 0xDF, 0x14, 0x0D, 0x51, 0x14, +0x37, 0xA5, 0x9C, 0xAE, 0x95, 0xD0, 0x6F, 0x36, 0x18, 0x6A, 0x3C, 0xCC, 0xFD, 0x50, 0x4C, 0x88, +0x2B, 0x0A, 0xAA, 0xFE, 0xAD, 0xA7, 0x8E, 0x68, 0x8C, 0x31, 0x11, 0x1D, 0xF1, 0xC3, 0x0F, 0x25, +0x11, 0x77, 0xF5, 0x7B, 0x8D, 0x04, 0xB3, 0xC4, 0xDA, 0xD0, 0x15, 0xE3, 0x34, 0x18, 0x42, 0x00, +0xFB, 0x81, 0x61, 0xA5, 0x98, 0x2E, 0x36, 0x01, 0xD1, 0x14, 0xE9, 0xF6, 0x2D, 0x15, 0xE9, 0x31, +0xAE, 0xF7, 0x1A, 0x1B, 0x69, 0xF7, 0x37, 0x82, 0x38, 0x5E, 0x6D, 0xBC, 0x4D, 0xF4, 0x4C, 0x5C, +0xCE, 0xFE, 0xF9, 0x34, 0x23, 0xAE, 0xFE, 0xB4, 0x97, 0x70, 0xAA, 0xE9, 0xF4, 0x91, 0xE8, 0x88, +0x9A, 0x88, 0xA2, 0xC8, 0x91, 0xA8, 0x88, 0xA9, 0x9A, 0xD2, 0xEA, 0x57, 0xD7, 0x1A, 0x12, 0x11, +0xC2, 0x43, 0x8C, 0xA9, 0xA0, 0x26, 0x45, 0x06, 0x19, 0xCC, 0x14, 0x19, 0x47, 0x85, 0x91, 0x22, +0x88, 0x7E, 0x28, 0xAE, 0x45, 0x11, 0xC4, 0x70, 0x28, 0x2E, 0xE7, 0xFF, 0x7C, 0xAA, 0x6F, 0x32, +0x17, 0xB5, 0xE2, 0x83, 0xFF, 0x6F, 0x47, 0x35, 0x8D, 0x88, 0x6E, 0x08, 0xE2, 0xD9, 0x4E, 0x82, +0xA9, 0xBE, 0xAF, 0x7E, 0x77, 0xBE, 0x79, 0x32, 0xCE, 0xF4, 0x49, 0x44, 0x8A, 0x69, 0x52, 0x7C, +0x3E, 0x63, 0x1C, 0xF0, 0xB3, 0x69, 0xC3, 0xE2, 0x22, 0x6F, 0xE0, 0xCD, 0x5C, 0x58, 0x0C, 0xAF, +0x4B, 0x2A, 0x4A, 0x93, 0xB1, 0x89, 0x88, 0x18, 0xEA, 0x28, 0x75, 0xF6, 0x87, 0x62, 0x83, 0xB8, +0xBA, 0xD7, 0x82, 0xEA, 0x23, 0xFD, 0x15, 0x88, 0x37, 0x6A, 0x98, 0x11, 0xD5, 0xD0, 0x10, 0x59, +0x74, 0x63, 0x6D, 0x98, 0x8F, 0x0C, 0xBF, 0x53, 0x7D, 0x13, 0xB3, 0x7B, 0x22, 0x42, 0x88, 0xE1, +0x17, 0x16, 0x13, 0x8C, 0xF5, 0x9E, 0x06, 0xD3, 0x28, 0x3E, 0xA5, 0x61, 0x01, 0x22, 0x1B, 0x6F, +0xBC, 0xD9, 0x28, 0xA2, 0x65, 0xA2, 0x86, 0x97, 0x53, 0x7A, 0x0C, 0xCA, 0xE9, 0xEC, 0x0F, 0xC5, +0x11, 0x11, 0xC5, 0x67, 0x5A, 0x50, 0xED, 0xC9, 0xED, 0x61, 0x29, 0x8A, 0x24, 0xE2, 0x4D, 0x7B, +0x24, 0x4A, 0x94, 0x44, 0x0C, 0x63, 0x7D, 0x45, 0xE4, 0x3B, 0x60, 0xC5, 0x10, 0x44, 0x09, 0x0C, +0x25, 0x38, 0x11, 0x41, 0x04, 0x32, 0x49, 0xD2, 0x66, 0x50, 0x4E, 0x41, 0x6C, 0xA7, 0x51, 0xDD, +0x6E, 0xDF, 0x32, 0x51, 0x62, 0xCC, 0xC4, 0x35, 0x8A, 0x6A, 0x18, 0x12, 0x71, 0xB9, 0x9C, 0xF9, +0xA1, 0xD8, 0x41, 0xB4, 0x82, 0x6A, 0x4F, 0x6E, 0x2B, 0x35, 0x74, 0xC4, 0x1B, 0x10, 0xE3, 0x91, +0xC8, 0xBD, 0x46, 0x10, 0xE3, 0xC7, 0xA2, 0xD9, 0x1A, 0x36, 0xC5, 0xFA, 0xC7, 0xD9, 0x9A, 0x6D, +0x61, 0x14, 0xB3, 0x5F, 0x3F, 0x11, 0xB9, 0xDA, 0x70, 0x26, 0xF6, 0x5E, 0x4F, 0xD9, 0x20, 0xCE, +0x4F, 0xE0, 0x8E, 0x28, 0x41, 0x3D, 0x05, 0xB1, 0x52, 0x9C, 0xF9, 0xA1, 0xD8, 0x22, 0x96, 0x82, +0xAA, 0x4F, 0x6E, 0x2B, 0x55, 0xF4, 0xCB, 0xA9, 0x1A, 0xDE, 0x24, 0x43, 0x43, 0xCC, 0xEF, 0x35, +0x86, 0xA8, 0x8A, 0x7E, 0x37, 0x65, 0x0E, 0x85, 0x61, 0xA8, 0xA6, 0x10, 0x5A, 0x8C, 0x82, 0x44, +0xC3, 0xD8, 0x4C, 0x32, 0x38, 0x13, 0xF9, 0x06, 0x2A, 0xD7, 0xD3, 0xB0, 0x66, 0x13, 0x11, 0x37, +0xD4, 0xD3, 0x0A, 0x11, 0x42, 0xFD, 0x63, 0xE6, 0x33, 0x45, 0x10, 0x51, 0xB4, 0x82, 0xFA, 0x8A, +0x54, 0xD3, 0x55, 0x38, 0x12, 0x6F, 0x84, 0x50, 0x11, 0x85, 0xF1, 0x8E, 0x44, 0x6C, 0x10, 0xC3, +0xE7, 0xDC, 0xE2, 0x8F, 0x07, 0x87, 0x56, 0x3F, 0x18, 0xA2, 0x08, 0x57, 0x76, 0x84, 0x90, 0x36, +0x23, 0xBF, 0xBB, 0xB5, 0x23, 0x45, 0xD6, 0xC0, 0xE3, 0x99, 0xC8, 0xA1, 0x58, 0x0C, 0x25, 0x1C, +0x51, 0xC3, 0x08, 0x8B, 0xE1, 0xF2, 0x7E, 0xF6, 0x88, 0x4F, 0x1B, 0xC4, 0x8B, 0x7F, 0xBE, 0xFC, +0xE4, 0x13, 0xA9, 0xA6, 0x12, 0xCB, 0x15, 0x88, 0xE1, 0x72, 0x0A, 0xA2, 0x2A, 0x82, 0xF8, 0x7E, +0x40, 0x7C, 0xB3, 0xFD, 0x61, 0xA8, 0x6A, 0xBB, 0x26, 0x0F, 0x83, 0x21, 0xE4, 0x5E, 0x93, 0x18, +0x41, 0xD4, 0xE0, 0x05, 0x9C, 0x69, 0x54, 0xB5, 0xCC, 0xAF, 0x8A, 0x6F, 0x4A, 0xA4, 0x1E, 0x23, +0x97, 0xD3, 0xBD, 0x96, 0xD3, 0x0A, 0x51, 0x19, 0xB9, 0xD6, 0x98, 0xA2, 0xFC, 0xB6, 0x93, 0x17, +0xE6, 0x1B, 0x8A, 0xF8, 0x4D, 0xA3, 0x78, 0xFF, 0xF8, 0x4B, 0xF9, 0x35, 0x58, 0x86, 0x68, 0xA1, +0x88, 0x12, 0x9C, 0x89, 0x77, 0x7E, 0x37, 0x95, 0x50, 0xC3, 0x70, 0xAF, 0x49, 0x7B, 0xC3, 0xDD, +0x1F, 0x0F, 0xAE, 0x33, 0x91, 0x01, 0x06, 0x8A, 0x9D, 0x2C, 0x84, 0x90, 0x57, 0x9B, 0xA0, 0x48, +0x26, 0x82, 0xE8, 0x9F, 0x5C, 0xE4, 0x67, 0x4D, 0x5B, 0x44, 0x0D, 0x47, 0x5C, 0x2C, 0x44, 0x31, +0x95, 0x53, 0x89, 0x79, 0xBF, 0x81, 0xF7, 0x11, 0x57, 0x4F, 0x1F, 0x7F, 0xFC, 0xF8, 0x7E, 0xA5, +0xC1, 0xC5, 0xC6, 0xCB, 0xA9, 0x23, 0x8A, 0xE1, 0xA5, 0x1A, 0x1A, 0x22, 0xDB, 0xDF, 0xAA, 0x98, +0xF6, 0x86, 0x31, 0x4C, 0xAB, 0xDF, 0x4A, 0x48, 0x39, 0x3D, 0x58, 0x4F, 0x23, 0x63, 0x33, 0x18, +0x4E, 0x2B, 0x1A, 0x56, 0x4D, 0x25, 0xA6, 0x76, 0xA5, 0xC4, 0x50, 0xC2, 0x1B, 0x45, 0x6B, 0xF7, +0x35, 0x0A, 0xE2, 0x42, 0x10, 0x49, 0x43, 0x55, 0x9C, 0xF7, 0x1B, 0x78, 0x0F, 0xD1, 0x0A, 0xEA, +0xE3, 0x7F, 0x56, 0x20, 0x0A, 0x61, 0x85, 0xB8, 0x5D, 0xDF, 0xDD, 0x99, 0xA2, 0x23, 0x8A, 0x22, +0x1F, 0x03, 0x73, 0x43, 0x43, 0xA4, 0x4D, 0x64, 0x0E, 0x45, 0xAF, 0xDF, 0x6E, 0x65, 0x64, 0xBD, +0x8E, 0x63, 0x2E, 0xA7, 0x28, 0x56, 0xE5, 0xB4, 0x20, 0xD2, 0x62, 0x64, 0x44, 0x53, 0xCC, 0xA9, +0x48, 0x26, 0x92, 0x8A, 0x66, 0x38, 0xF3, 0x9B, 0x8D, 0x21, 0x76, 0x14, 0xEF, 0x7F, 0x7C, 0x56, +0x21, 0x6A, 0x84, 0x44, 0x1C, 0xCA, 0xE9, 0xE5, 0xE5, 0xA5, 0x22, 0xB6, 0x3F, 0x10, 0xD5, 0x3E, +0x9D, 0xBE, 0x9B, 0xDB, 0x44, 0x14, 0x3B, 0x27, 0xE2, 0xE1, 0xFB, 0x69, 0xBE, 0x9E, 0xC6, 0x43, +0xB1, 0xFF, 0x78, 0x4A, 0x8F, 0x21, 0x86, 0x34, 0x8A, 0x67, 0xF4, 0x18, 0x05, 0x51, 0xC2, 0x14, +0xC9, 0x44, 0xFD, 0xF3, 0xE1, 0x28, 0x11, 0x57, 0x4F, 0xA9, 0xA6, 0x11, 0x71, 0x0B, 0xE2, 0x5E, +0x10, 0xED, 0x5E, 0x63, 0x86, 0xD3, 0x3F, 0x99, 0xF8, 0x4E, 0xDE, 0x38, 0x0D, 0x3F, 0xA4, 0xDF, +0x9C, 0x88, 0xC4, 0x04, 0x63, 0xDE, 0x3F, 0x4D, 0xF5, 0x94, 0x89, 0x22, 0xAB, 0x52, 0x61, 0xDF, +0x4D, 0x0C, 0x25, 0x40, 0xB4, 0xF0, 0x7A, 0xFA, 0x8B, 0x23, 0x42, 0x28, 0x31, 0xEB, 0x8F, 0xF5, +0x19, 0x62, 0x4F, 0xB1, 0x58, 0xD2, 0x62, 0x48, 0x8C, 0xD7, 0x1A, 0x43, 0x7C, 0x55, 0x0C, 0x15, +0xD1, 0x7F, 0x20, 0x8A, 0xA5, 0x53, 0x10, 0xF9, 0x9E, 0x5B, 0xF8, 0xEC, 0x7E, 0xD7, 0x10, 0xC4, +0x43, 0x91, 0x7F, 0x44, 0x8A, 0x7A, 0x4A, 0x39, 0xED, 0x3C, 0x9E, 0xD2, 0x27, 0x46, 0x44, 0x55, +0x34, 0x42, 0x6E, 0x36, 0x86, 0x58, 0x17, 0xD3, 0xD9, 0xDF, 0x6C, 0xB4, 0x4F, 0x1C, 0x11, 0x51, +0x54, 0x41, 0xAA, 0xE9, 0x72, 0x34, 0xDC, 0x7A, 0x26, 0xDE, 0x59, 0x22, 0xEA, 0x99, 0x98, 0x11, +0xD9, 0x92, 0x4A, 0x2B, 0xFC, 0x7C, 0x32, 0xA3, 0x28, 0x86, 0x7D, 0xD3, 0x4C, 0x78, 0x98, 0x91, +0x65, 0x29, 0x10, 0xF9, 0xA6, 0x0D, 0x7D, 0x62, 0x44, 0x64, 0x8A, 0xE1, 0xE5, 0x94, 0x54, 0x1C, +0x10, 0xD7, 0x19, 0x51, 0xFE, 0x9C, 0xFF, 0xCD, 0xC6, 0x10, 0x25, 0x12, 0x21, 0x88, 0x1A, 0x8F, +0x14, 0x91, 0x4C, 0x04, 0x91, 0x4C, 0x4C, 0x67, 0xA2, 0xEF, 0x66, 0x80, 0x98, 0x06, 0x51, 0xA4, +0x22, 0x2F, 0x36, 0xFD, 0x4A, 0x3A, 0xAD, 0xC8, 0x30, 0x2A, 0x77, 0xFB, 0xCC, 0xA2, 0x5C, 0x91, +0x4C, 0xE4, 0xF1, 0x74, 0x67, 0x99, 0xE8, 0xA9, 0x68, 0xE1, 0x67, 0x22, 0xB7, 0xD3, 0x12, 0xB3, +0x1E, 0x64, 0x80, 0x88, 0xA1, 0x33, 0x52, 0x4E, 0x1F, 0x39, 0xE2, 0xD6, 0x11, 0x45, 0xF1, 0xD5, +0x4B, 0x10, 0xC3, 0x99, 0xA8, 0x8A, 0x9C, 0x89, 0x4C, 0x13, 0xD5, 0x50, 0xC3, 0x0C, 0xB9, 0x9D, +0x32, 0xC4, 0x98, 0x3C, 0x10, 0x5B, 0x45, 0x7A, 0x8C, 0x76, 0xA2, 0x48, 0x39, 0x55, 0x42, 0x10, +0xD5, 0xB0, 0x4E, 0x45, 0x10, 0x35, 0x2A, 0x44, 0x5A, 0x8C, 0xE2, 0x38, 0xF3, 0x9B, 0x8D, 0x23, +0x66, 0xC5, 0x82, 0xB8, 0x2C, 0x88, 0x8F, 0xC8, 0xC4, 0x6D, 0x31, 0x34, 0xC4, 0xF1, 0xC1, 0xE6, +0xBC, 0xF3, 0x39, 0x30, 0x33, 0xE4, 0xAB, 0xDF, 0x1C, 0x89, 0x8D, 0xA1, 0x06, 0x84, 0x31, 0x5A, +0x47, 0x23, 0xCC, 0x9D, 0x62, 0x49, 0x44, 0x09, 0x9F, 0x45, 0x29, 0x22, 0xFB, 0xC3, 0x20, 0x4A, +0x94, 0x16, 0x63, 0x57, 0x10, 0x49, 0xC5, 0xE6, 0x4C, 0x1C, 0xE3, 0xAF, 0x19, 0xBF, 0xD9, 0x80, +0x88, 0x61, 0x5D, 0x4F, 0x41, 0x2C, 0x86, 0x03, 0xE2, 0x46, 0x10, 0xC5, 0xB0, 0xD3, 0xEC, 0xB3, +0x75, 0x1A, 0xBE, 0x18, 0x4D, 0x26, 0xE6, 0x41, 0x14, 0xBD, 0x7E, 0x82, 0x23, 0xB2, 0x6B, 0xDE, +0x5B, 0xEC, 0x3F, 0xBB, 0x71, 0x3D, 0xE5, 0xA7, 0x31, 0x40, 0x3C, 0x07, 0x71, 0x03, 0xE2, 0x42, +0x10, 0x25, 0x0A, 0xA2, 0x18, 0x1E, 0xC5, 0xCD, 0xC6, 0x11, 0x27, 0x4E, 0x45, 0x32, 0x91, 0x44, +0xDC, 0x0E, 0x88, 0xAF, 0xBE, 0x5A, 0x10, 0xAF, 0x41, 0xAC, 0xD7, 0xA4, 0xF8, 0x92, 0x94, 0x1A, +0xFA, 0x38, 0x11, 0x44, 0x67, 0x0C, 0x8B, 0x6E, 0x30, 0xA6, 0xE8, 0x2B, 0xF6, 0xF6, 0xDD, 0x98, +0x62, 0xF0, 0x5B, 0x32, 0x58, 0x77, 0x0B, 0x67, 0xA2, 0xD6, 0xD3, 0x0F, 0x29, 0xA7, 0x1A, 0x03, +0xE1, 0xA2, 0x10, 0x92, 0x89, 0xB3, 0x9E, 0x46, 0xE9, 0x8E, 0x0D, 0x88, 0xF1, 0x54, 0xE4, 0x5E, +0x43, 0x35, 0xDD, 0x0A, 0x62, 0xA9, 0xA6, 0x45, 0x91, 0x72, 0x9A, 0xBF, 0x7E, 0xC2, 0x8B, 0x8D, +0x23, 0x32, 0xC3, 0x48, 0x53, 0x8C, 0x76, 0x53, 0x11, 0xCA, 0x43, 0xF5, 0x94, 0x44, 0x94, 0xE8, +0x7C, 0x10, 0xDC, 0x10, 0xC3, 0xF6, 0x30, 0x9B, 0x52, 0x3B, 0x09, 0x47, 0xD4, 0x70, 0x43, 0x89, +0x94, 0x88, 0x73, 0x7F, 0xB3, 0xE9, 0x21, 0xAE, 0x8A, 0x62, 0x95, 0x89, 0x3C, 0x7F, 0x07, 0x44, +0x6F, 0xF6, 0x27, 0xB6, 0x33, 0xEA, 0xA1, 0xB0, 0x18, 0x06, 0xC4, 0x54, 0x4E, 0x21, 0x7C, 0x6E, +0x90, 0x88, 0xCD, 0xD2, 0x22, 0x5F, 0x21, 0x2E, 0x88, 0xD5, 0x91, 0x28, 0x41, 0xB3, 0xEF, 0x88, +0x67, 0x19, 0xF1, 0x89, 0x19, 0x16, 0x45, 0xF2, 0x70, 0xDE, 0xD3, 0x28, 0x10, 0x43, 0x3D, 0xCD, +0x99, 0xF8, 0xC8, 0xDB, 0xC4, 0xAD, 0xC4, 0x9D, 0x06, 0x88, 0xD7, 0xCC, 0x13, 0xE3, 0x99, 0xC8, +0x57, 0x88, 0x78, 0x76, 0x0B, 0xAB, 0x6E, 0x71, 0x81, 0x7F, 0x3A, 0x0B, 0x7B, 0x8A, 0x61, 0xF5, +0xB4, 0x77, 0x26, 0x6A, 0x30, 0x4F, 0x64, 0x8A, 0xC1, 0xBD, 0x46, 0x11, 0x45, 0x11, 0x44, 0x55, +0x8C, 0x67, 0x22, 0x8E, 0xAB, 0x19, 0xEF, 0xD9, 0x80, 0xD8, 0xA4, 0xA2, 0x2A, 0x96, 0x44, 0xB4, +0x16, 0x83, 0x44, 0x5C, 0x0F, 0x88, 0xC3, 0xCD, 0x26, 0x23, 0xE6, 0x07, 0x70, 0x35, 0xF4, 0x77, +0x37, 0x06, 0xFB, 0x6F, 0xA4, 0xA5, 0xD3, 0xC9, 0x44, 0x6C, 0x1C, 0xC3, 0xEA, 0x29, 0x86, 0x71, +0x14, 0x65, 0x8A, 0x4D, 0x9B, 0x68, 0x88, 0x34, 0xFB, 0x5A, 0x4E, 0x6B, 0xC4, 0x0D, 0xA9, 0x78, +0x13, 0x33, 0x51, 0xC6, 0xAA, 0x73, 0xDE, 0xB3, 0x01, 0x31, 0x2A, 0x0E, 0x8C, 0xAB, 0x92, 0x88, +0x21, 0x13, 0x2D, 0x0F, 0x03, 0xE2, 0x0E, 0xC4, 0x6E, 0x39, 0x2D, 0xDB, 0x19, 0x12, 0xE9, 0x8B, +0x0B, 0x21, 0x11, 0xB3, 0x63, 0xC2, 0x83, 0x30, 0x2B, 0xD6, 0x9F, 0xAF, 0x45, 0x31, 0xFF, 0x98, +0x69, 0xBB, 0x3D, 0xCC, 0x99, 0x38, 0x99, 0x89, 0x55, 0xCC, 0xF8, 0x83, 0x36, 0x20, 0x66, 0x45, +0x32, 0x51, 0x12, 0xD1, 0x11, 0xFD, 0x5E, 0x23, 0x86, 0x01, 0x71, 0x37, 0x7D, 0x26, 0x5A, 0x35, +0xE5, 0xEB, 0x8A, 0x64, 0x62, 0x1E, 0x45, 0x59, 0x3C, 0xBF, 0xC5, 0x08, 0x8A, 0x9C, 0x89, 0xAE, +0x18, 0xD7, 0xDD, 0xC2, 0x3C, 0xB1, 0x7A, 0x00, 0xE7, 0x76, 0xEA, 0x8A, 0x62, 0x88, 0xA2, 0x5C, +0x4F, 0x2D, 0xAA, 0x4C, 0x5C, 0xCD, 0xF8, 0xE1, 0x4D, 0x97, 0xDA, 0x3A, 0x88, 0x64, 0xA2, 0x46, +0xCC, 0xC4, 0xB5, 0x29, 0x2A, 0xA2, 0x5F, 0x6C, 0xF8, 0x80, 0x7B, 0xBF, 0x9C, 0x86, 0xF5, 0x8C, +0x88, 0xC8, 0x83, 0x0D, 0x86, 0x87, 0x1D, 0x51, 0x64, 0x51, 0x8A, 0x21, 0x86, 0x23, 0xDA, 0x89, +0x28, 0x11, 0x3F, 0x0D, 0xA6, 0x86, 0x20, 0x9A, 0x61, 0xEE, 0x31, 0x52, 0x26, 0xA2, 0x38, 0xE3, +0xEB, 0x29, 0x88, 0x1A, 0x81, 0x70, 0x2C, 0xA7, 0x83, 0x21, 0x99, 0x68, 0xF1, 0x92, 0x2A, 0x5A, +0x9F, 0xC8, 0xEE, 0x30, 0x5F, 0xAB, 0x95, 0x08, 0x0F, 0xE0, 0x62, 0xC8, 0x18, 0x83, 0x46, 0xF1, +0xE0, 0x4F, 0xB5, 0x1D, 0x1A, 0x28, 0x36, 0x33, 0x8C, 0x58, 0x4E, 0xBB, 0xDF, 0x1F, 0x6E, 0x67, +0xC2, 0x66, 0x08, 0x22, 0xE5, 0xF4, 0x66, 0x40, 0x44, 0x50, 0x32, 0x71, 0xC6, 0xD7, 0x53, 0x5D, +0xD6, 0x1F, 0x09, 0x05, 0xF1, 0x9B, 0x9A, 0x51, 0x02, 0x44, 0x55, 0xFC, 0x39, 0x64, 0xA2, 0x22, +0xAA, 0xE2, 0x8E, 0x9F, 0xA7, 0xD1, 0x28, 0x88, 0xAC, 0x67, 0x78, 0x39, 0x8D, 0xB3, 0xA8, 0x37, +0xD2, 0x7A, 0x46, 0x20, 0x7C, 0x4E, 0x1A, 0x52, 0x4D, 0x51, 0xCC, 0x0F, 0xE0, 0x4C, 0xA2, 0x0A, +0x22, 0x47, 0x22, 0xEB, 0x19, 0x62, 0x08, 0x22, 0x89, 0xE8, 0xA9, 0xE8, 0x88, 0x62, 0xB8, 0x9A, +0xF1, 0xEB, 0x29, 0x88, 0x1A, 0x28, 0xD6, 0x8D, 0xE2, 0x88, 0xF8, 0xF3, 0xCF, 0x5B, 0x09, 0x37, +0x24, 0x13, 0x23, 0x22, 0x93, 0xFD, 0x78, 0xB1, 0x51, 0xC3, 0xD0, 0x29, 0xE6, 0x67, 0xB7, 0xC3, +0x9D, 0x3E, 0x8A, 0x87, 0x07, 0xFB, 0x1A, 0xF5, 0xDA, 0x29, 0x8B, 0x52, 0x20, 0x32, 0xD9, 0xFF, +0x50, 0x02, 0xC4, 0xE9, 0x54, 0x94, 0x98, 0xF1, 0xEB, 0xA9, 0x20, 0x7E, 0x45, 0x2A, 0x76, 0x32, +0x91, 0xF7, 0x6F, 0x4B, 0x44, 0xAF, 0xA6, 0x20, 0x16, 0x45, 0xCA, 0x29, 0x53, 0xE1, 0xF0, 0xBB, +0x85, 0x12, 0x62, 0x77, 0x77, 0x18, 0xC6, 0xAC, 0x99, 0x13, 0x11, 0xC5, 0xF8, 0xED, 0x85, 0xB4, +0xB1, 0x28, 0x86, 0x9D, 0x79, 0x22, 0x33, 0x61, 0x55, 0xBC, 0x1C, 0x10, 0xEF, 0x84, 0x70, 0x5B, +0x52, 0xD1, 0x10, 0x97, 0x57, 0x18, 0x4A, 0xCC, 0xF8, 0xF5, 0x54, 0x11, 0xBF, 0xEA, 0xA7, 0x22, +0x89, 0xE8, 0x88, 0x96, 0x88, 0x5B, 0x10, 0x45, 0xD1, 0x11, 0xF5, 0xBF, 0x0B, 0x88, 0x3F, 0xC8, +0xE7, 0x45, 0xBE, 0xB5, 0xF8, 0xEE, 0xBB, 0xDF, 0xC6, 0xC5, 0xD3, 0x9C, 0x89, 0xF9, 0x4C, 0x04, +0xB1, 0x8D, 0x49, 0xC4, 0xFC, 0x2B, 0x32, 0xE2, 0xC6, 0xA2, 0x21, 0xF2, 0x43, 0xA6, 0xAC, 0x9D, +0x82, 0x78, 0x39, 0x20, 0xDE, 0xDD, 0x91, 0x89, 0x37, 0x64, 0xA2, 0x11, 0xDA, 0x5F, 0x33, 0xEE, +0x31, 0xE4, 0x2B, 0x8B, 0x20, 0x92, 0x8A, 0x8A, 0xD8, 0x2F, 0xA7, 0x77, 0x9E, 0x8A, 0x5C, 0x4F, +0xCF, 0xBC, 0x51, 0x1C, 0x10, 0x7F, 0x58, 0xDC, 0x78, 0x2C, 0x34, 0x9E, 0x7C, 0xF7, 0x76, 0x67, +0xA0, 0xF8, 0xC1, 0xF7, 0x5F, 0xFF, 0x11, 0x26, 0xFB, 0x18, 0xFE, 0xBF, 0x3E, 0x51, 0xF8, 0xBB, +0xDF, 0x77, 0x03, 0x51, 0xCA, 0x80, 0x29, 0x72, 0x24, 0x86, 0xDD, 0x61, 0x53, 0x14, 0xC3, 0xCB, +0xFF, 0xA8, 0xBB, 0xF7, 0xD7, 0x46, 0xAA, 0x28, 0x0E, 0xE0, 0x48, 0x15, 0xEB, 0x2B, 0xA3, 0xF4, +0x41, 0xB6, 0x90, 0x6E, 0x09, 0x1A, 0xDC, 0x91, 0x62, 0x37, 0x01, 0x45, 0x70, 0x22, 0x4A, 0x8A, +0x56, 0x88, 0xC1, 0xA4, 0x2D, 0xAD, 0x22, 0x5B, 0x48, 0x76, 0xED, 0x43, 0xAB, 0x94, 0xF1, 0x01, +0x2E, 0xAE, 0x7F, 0xBA, 0xE7, 0x7C, 0xEF, 0x3D, 0xF3, 0x9D, 0x7B, 0x67, 0xD2, 0xEA, 0x6F, 0xD3, +0xAF, 0x22, 0xAE, 0x6F, 0xFD, 0x78, 0xEE, 0x3D, 0xE7, 0xCE, 0x9D, 0xE4, 0x3B, 0x87, 0x48, 0x43, +0xAB, 0x44, 0x18, 0x3A, 0xC6, 0x66, 0xCF, 0x18, 0x8A, 0x18, 0x97, 0x22, 0x11, 0x43, 0x43, 0x20, +0x82, 0xF1, 0xF5, 0xEF, 0x5E, 0x66, 0x25, 0x86, 0xB7, 0x87, 0x77, 0xFA, 0x26, 0x48, 0xC8, 0x89, +0x36, 0xA8, 0xC1, 0x67, 0xF0, 0xE7, 0x7D, 0xC9, 0x41, 0x70, 0xCD, 0x86, 0x86, 0x4C, 0x05, 0xB2, +0x5C, 0x87, 0x54, 0xE4, 0x67, 0x9E, 0xE6, 0x8B, 0xFE, 0xB8, 0x6D, 0x9F, 0x81, 0x02, 0xC4, 0x70, +0xC2, 0x78, 0xF8, 0x5D, 0x7F, 0xD8, 0x3F, 0x0F, 0x11, 0x59, 0x89, 0xF2, 0xD0, 0x5B, 0x11, 0x25, +0x95, 0x4A, 0x6C, 0xF4, 0x8C, 0xF1, 0xE1, 0x37, 0xFB, 0xE5, 0x52, 0x64, 0x2D, 0x06, 0x8D, 0x0D, +0xFB, 0x9A, 0x60, 0xC4, 0xA8, 0x5C, 0x3C, 0x15, 0xC4, 0xE3, 0x21, 0x0B, 0x51, 0x7F, 0x72, 0xC9, +0x4B, 0xCB, 0xA9, 0xA6, 0x8F, 0xA4, 0xB1, 0xE2, 0x1D, 0x29, 0xBF, 0x62, 0x9A, 0xE7, 0x86, 0xC8, +0x67, 0xC2, 0x49, 0x8E, 0xD2, 0xEF, 0xF2, 0xD0, 0xAD, 0x1D, 0x7D, 0x96, 0xFB, 0xF9, 0x50, 0x73, +0x6E, 0x88, 0xEF, 0x71, 0x39, 0x65, 0x29, 0x2A, 0x23, 0x0D, 0x1D, 0x61, 0xB3, 0x67, 0x0C, 0x20, +0x46, 0xA5, 0x58, 0xBF, 0x9C, 0x96, 0x11, 0x5F, 0x37, 0xC4, 0xEA, 0x9D, 0xC5, 0x5F, 0x8C, 0x30, +0x94, 0x9C, 0x9A, 0x22, 0x0A, 0x31, 0xF5, 0xB4, 0xA1, 0x21, 0xF2, 0xDF, 0x14, 0x13, 0x39, 0xE4, +0xFC, 0x42, 0x86, 0x8C, 0xF0, 0x9A, 0x54, 0x32, 0xEE, 0x6B, 0x66, 0x44, 0xB4, 0x59, 0xDF, 0x6D, +0x89, 0xB6, 0x4C, 0x7C, 0xB7, 0x5D, 0x20, 0xBE, 0x1B, 0x20, 0xF6, 0x9F, 0x78, 0x43, 0x20, 0x42, +0x11, 0x69, 0xF8, 0x8C, 0x21, 0x1F, 0x0F, 0x1D, 0x95, 0x62, 0x58, 0x89, 0x03, 0x8F, 0x38, 0x0F, +0x10, 0xBF, 0xE3, 0x9E, 0x18, 0x55, 0xE2, 0xCE, 0x34, 0x04, 0xD4, 0x5F, 0x22, 0xE3, 0x74, 0x97, +0xAF, 0x7B, 0x77, 0xFA, 0x9A, 0x1F, 0xF3, 0x25, 0xD7, 0x16, 0x39, 0x62, 0x2C, 0x51, 0x7C, 0x84, +0x83, 0xEA, 0x3C, 0x7E, 0xC7, 0x34, 0xE9, 0xBB, 0x4C, 0x3A, 0xFC, 0x06, 0x3E, 0x1B, 0x30, 0x24, +0x5A, 0x88, 0xC8, 0x09, 0x10, 0xDF, 0x90, 0x00, 0x11, 0x86, 0xEC, 0x4E, 0x89, 0x08, 0x43, 0xBF, +0x29, 0x3E, 0x68, 0xEE, 0x73, 0x0C, 0x7D, 0x21, 0xB8, 0xBE, 0x14, 0x59, 0x89, 0x92, 0xB8, 0x12, +0x5F, 0xB6, 0x19, 0xC3, 0x23, 0xDA, 0xA0, 0x48, 0xC4, 0xFE, 0x4C, 0xA3, 0x86, 0x88, 0x2A, 0xF2, +0xD9, 0xBE, 0x22, 0x42, 0xE1, 0xA3, 0xE8, 0x53, 0xC1, 0x68, 0x48, 0xC8, 0xBA, 0x67, 0x89, 0x07, +0x7D, 0xCD, 0x18, 0x95, 0xC8, 0x33, 0x37, 0x54, 0x22, 0x52, 0x9A, 0xF5, 0x89, 0x88, 0x42, 0x44, +0x66, 0x2B, 0x6E, 0xD6, 0x77, 0x95, 0xF8, 0x3A, 0x0C, 0xD9, 0x9D, 0xEA, 0x96, 0x38, 0xE4, 0x72, +0x6A, 0xF9, 0xEB, 0xF3, 0xA6, 0x0E, 0x8A, 0x40, 0xD4, 0x18, 0x61, 0xA8, 0x08, 0xC3, 0x18, 0x31, +0x1E, 0x14, 0x89, 0xC8, 0x4A, 0xCC, 0xA5, 0x2E, 0xB4, 0xE4, 0x5A, 0xF9, 0x0C, 0x15, 0x89, 0x3E, +0x86, 0x97, 0x16, 0x0D, 0xD1, 0x0C, 0x83, 0x63, 0x9B, 0xBB, 0x37, 0xC4, 0xDC, 0x5B, 0xF5, 0xA2, +0x9B, 0x6E, 0x49, 0xDA, 0x77, 0x39, 0xE8, 0xA4, 0xDD, 0xF8, 0x69, 0x22, 0x0B, 0x71, 0x70, 0x2C, +0x95, 0x68, 0x5B, 0x22, 0x14, 0x1D, 0x22, 0xBB, 0x53, 0xEE, 0x89, 0x48, 0xC3, 0x07, 0x45, 0x41, +0x7C, 0x41, 0x44, 0x0F, 0xE9, 0x52, 0x29, 0x44, 0x22, 0xBE, 0x6C, 0x95, 0xC8, 0x77, 0xDB, 0x22, +0xC4, 0x49, 0x17, 0x73, 0xBE, 0xF4, 0xA4, 0x49, 0x32, 0xB5, 0x25, 0x75, 0xE2, 0x3B, 0x1B, 0x22, +0xD2, 0x10, 0x21, 0xE1, 0xAD, 0x8A, 0xFA, 0x67, 0x5B, 0x63, 0x14, 0xCC, 0x88, 0xBD, 0xB5, 0x03, +0x6B, 0xA4, 0xB8, 0x27, 0xF2, 0xE4, 0xD4, 0x0A, 0xF1, 0x64, 0x53, 0x1E, 0xEC, 0x87, 0x88, 0xC2, +0x88, 0x4B, 0x60, 0x6A, 0x88, 0xC0, 0x90, 0x95, 0xD8, 0xE8, 0x41, 0xD1, 0x10, 0xA9, 0xC8, 0x19, +0x83, 0x8A, 0x44, 0x0C, 0x14, 0x79, 0x55, 0xAA, 0x8A, 0xB8, 0xEE, 0xBF, 0x4F, 0xA1, 0x9B, 0xB6, +0xF6, 0x52, 0x9B, 0x36, 0x3A, 0xB6, 0x29, 0x12, 0x31, 0x7E, 0xD3, 0xF4, 0x36, 0x44, 0xBB, 0xA8, +0xB8, 0x30, 0xC4, 0xFC, 0x11, 0x08, 0x39, 0xE8, 0x27, 0xC9, 0xC2, 0xFF, 0xAD, 0xEC, 0x53, 0xC1, +0xD8, 0x9D, 0xA2, 0x10, 0x91, 0xE3, 0x87, 0x8A, 0x88, 0x59, 0x1F, 0x86, 0x40, 0xE4, 0x9E, 0x28, +0x0B, 0xC7, 0x27, 0x86, 0xE8, 0x0C, 0x1B, 0x3E, 0x28, 0xC6, 0x88, 0x08, 0x11, 0x6B, 0x2B, 0x91, +0x7B, 0xA2, 0x24, 0x98, 0x31, 0x56, 0x62, 0x44, 0x3C, 0x51, 0x4C, 0x7B, 0x7B, 0xE3, 0x21, 0x32, +0xB1, 0xFE, 0x34, 0xE8, 0x4E, 0xC3, 0x73, 0x70, 0xE4, 0xD6, 0x97, 0x30, 0x26, 0x7D, 0xCB, 0x01, +0x11, 0x7B, 0x40, 0xEC, 0xAD, 0xE5, 0xB6, 0xED, 0x55, 0x9E, 0x26, 0xEE, 0xAC, 0xCA, 0xEF, 0x1A, +0x48, 0xC6, 0xEB, 0xB2, 0x9A, 0x12, 0x51, 0xFE, 0x45, 0x5C, 0x67, 0xF3, 0xC4, 0x10, 0x35, 0x83, +0x08, 0xF1, 0x41, 0x83, 0x07, 0x45, 0x41, 0x7C, 0x0E, 0xC3, 0xA8, 0x43, 0x8D, 0x11, 0xA1, 0xC8, +0x63, 0x37, 0x22, 0x8A, 0xA1, 0x2A, 0x96, 0x2A, 0x71, 0x20, 0x11, 0x44, 0xBB, 0x65, 0xA3, 0x8A, +0xD2, 0x36, 0x0E, 0x35, 0x8B, 0x1E, 0x14, 0x6B, 0x11, 0x79, 0xFC, 0xC6, 0xD4, 0xCE, 0xF9, 0x9D, +0x7E, 0x91, 0x71, 0xB1, 0x9A, 0x52, 0x71, 0x3C, 0x74, 0xC9, 0x1D, 0x22, 0x6F, 0x49, 0xED, 0x9C, +0x0F, 0x5C, 0xAE, 0xA5, 0x10, 0x6D, 0x39, 0x05, 0x22, 0x0C, 0x81, 0x88, 0x09, 0x03, 0x86, 0x44, +0xF4, 0x86, 0x0F, 0xEE, 0x05, 0x62, 0xA9, 0x16, 0x61, 0xB8, 0x04, 0x51, 0x82, 0xE5, 0x94, 0x95, +0x48, 0x44, 0x89, 0x20, 0x6A, 0xA6, 0x82, 0xB8, 0x69, 0x88, 0xA2, 0x98, 0x0F, 0x11, 0x1B, 0x15, +0x05, 0x62, 0xA8, 0x88, 0x82, 0x40, 0x43, 0xE4, 0xCE, 0xCF, 0xFF, 0xC6, 0x74, 0xF1, 0xA3, 0xFF, +0x59, 0x08, 0x43, 0xC4, 0x56, 0xD2, 0xF2, 0x88, 0x8B, 0xB6, 0xDD, 0x1C, 0xF6, 0x88, 0xAB, 0x27, +0xCE, 0x70, 0xB6, 0xBA, 0xAD, 0x77, 0xDD, 0x88, 0xA8, 0xCB, 0x69, 0x8C, 0xF8, 0x89, 0x47, 0xA4, +0x61, 0x83, 0xA7, 0x7D, 0x22, 0x46, 0xA5, 0x48, 0xC4, 0xDA, 0x11, 0x03, 0x8A, 0xBC, 0x04, 0x4E, +0xC4, 0x87, 0x15, 0x44, 0x28, 0xFA, 0xBD, 0x2A, 0x57, 0x43, 0x5F, 0x89, 0x43, 0x43, 0x64, 0x6B, +0x83, 0xDC, 0xA1, 0x38, 0xD5, 0x07, 0x7E, 0x12, 0xFC, 0xB2, 0x43, 0x44, 0x10, 0xAA, 0x62, 0xEE, +0x15, 0xA7, 0x28, 0x45, 0x7E, 0x74, 0xC6, 0xF1, 0xC0, 0x65, 0xF3, 0x21, 0xEF, 0x66, 0xBC, 0x1B, +0x20, 0xC2, 0xB0, 0xB6, 0x12, 0xF5, 0xB6, 0x4A, 0x73, 0xA7, 0x7D, 0x41, 0xFC, 0x0D, 0x82, 0xD5, +0x6D, 0x11, 0x86, 0xE1, 0x9C, 0x88, 0x94, 0x10, 0xAD, 0x3D, 0x95, 0x44, 0x88, 0xC7, 0xEB, 0xE1, +0x07, 0x83, 0xB5, 0x26, 0x21, 0xA2, 0xFC, 0xBA, 0x28, 0x08, 0xE2, 0x5D, 0xDF, 0x8A, 0x11, 0x2B, +0x76, 0xEC, 0xB9, 0x2D, 0x7E, 0x99, 0xC7, 0x9F, 0x00, 0x2E, 0xC7, 0x42, 0xC5, 0x82, 0x7A, 0xED, +0xBE, 0x1B, 0xDA, 0x10, 0x67, 0xCE, 0x70, 0xBC, 0xB9, 0xCD, 0xFB, 0x8A, 0xEF, 0x6A, 0x3C, 0xA2, +0xDE, 0x6E, 0xEF, 0x3F, 0xE1, 0xD9, 0x29, 0x0D, 0x95, 0xF0, 0xC1, 0x83, 0xE6, 0x4E, 0xFB, 0xF2, +0x54, 0x98, 0x88, 0x95, 0x05, 0xF5, 0xB2, 0x3A, 0x63, 0x7C, 0x5F, 0x45, 0xE4, 0xC1, 0x9B, 0x22, +0x9E, 0xBB, 0x7D, 0x67, 0x33, 0x78, 0x6D, 0xBF, 0xDB, 0xF1, 0x88, 0x3D, 0xBF, 0x27, 0xE2, 0x7C, +0x5C, 0x11, 0x25, 0x41, 0x6B, 0x73, 0xD7, 0x62, 0xEA, 0xC7, 0x79, 0xDF, 0xA0, 0x4E, 0x6A, 0x3E, +0x9C, 0xAF, 0x97, 0x7A, 0xC4, 0x71, 0xDB, 0xE6, 0x0B, 0x20, 0x0E, 0x1D, 0xA2, 0xB4, 0xA6, 0x86, +0x28, 0xFF, 0xEC, 0x61, 0x25, 0xD6, 0xEE, 0x89, 0x58, 0x4C, 0x55, 0xB1, 0xB1, 0x8F, 0x85, 0xF5, +0x65, 0x8C, 0x5B, 0x10, 0x2F, 0x61, 0x48, 0xC4, 0xCA, 0x88, 0xC1, 0x71, 0xDF, 0x2B, 0xFA, 0xFF, +0xE1, 0x8F, 0x05, 0x11, 0x8A, 0xF6, 0xC6, 0x77, 0x19, 0xB1, 0xA7, 0x88, 0xCA, 0x98, 0xD7, 0x7C, +0x36, 0xD8, 0xED, 0x8A, 0xB9, 0xCE, 0xE2, 0x7D, 0x19, 0x56, 0x30, 0x09, 0x48, 0x67, 0x03, 0x44, +0x0D, 0xAF, 0x9C, 0x26, 0x13, 0xAF, 0x38, 0x69, 0x1B, 0x22, 0x0B, 0xB1, 0xBF, 0xBE, 0x6D, 0x88, +0xEF, 0x49, 0x68, 0x18, 0x54, 0xE2, 0x80, 0x88, 0xDE, 0x50, 0xD2, 0xD8, 0x23, 0x1B, 0xBD, 0xB3, +0xB8, 0xCF, 0x54, 0x10, 0x2F, 0x89, 0x18, 0x56, 0x22, 0x15, 0x79, 0x66, 0x03, 0xC4, 0x13, 0x87, +0xB8, 0x6A, 0x88, 0xEE, 0xC2, 0x5B, 0x67, 0x16, 0x21, 0x6A, 0x0C, 0x11, 0xB9, 0x65, 0x57, 0x24, +0x62, 0x62, 0xB3, 0xC5, 0x67, 0x07, 0x50, 0x1C, 0x3E, 0xE2, 0x80, 0x61, 0x86, 0xE9, 0x6E, 0x31, +0x2C, 0xFA, 0xE5, 0xD4, 0xCD, 0x17, 0x0E, 0x71, 0xBA, 0x83, 0x9B, 0x6E, 0x58, 0x4D, 0x0D, 0xF1, +0x65, 0x20, 0xA2, 0x12, 0x0D, 0xD1, 0x1A, 0x1B, 0x5B, 0x4D, 0x35, 0x8D, 0x3D, 0xB2, 0x71, 0x88, +0x4C, 0x80, 0x28, 0x84, 0x44, 0x9C, 0x07, 0x95, 0xF8, 0x4A, 0xA1, 0x28, 0x86, 0xF5, 0x88, 0xA5, +0xF5, 0x54, 0x10, 0xDD, 0x7F, 0xD7, 0x6E, 0x0F, 0x87, 0xE0, 0xD6, 0x7C, 0xA4, 0x6B, 0x08, 0x67, +0xC5, 0x72, 0x6A, 0x14, 0x3F, 0x1E, 0xBB, 0x02, 0xEC, 0xAF, 0xBD, 0x9F, 0xBB, 0xE3, 0xF5, 0x0E, +0x5B, 0xD3, 0x5E, 0xF1, 0xF5, 0x89, 0xAD, 0xA2, 0xB7, 0xB1, 0x49, 0x9F, 0x6D, 0xCD, 0xF5, 0x0A, +0x10, 0xC5, 0xD0, 0x10, 0x25, 0xCB, 0x2B, 0xD1, 0xEA, 0x50, 0x19, 0x1B, 0x7B, 0x64, 0xA3, 0x77, +0x16, 0xCF, 0x48, 0x18, 0x21, 0xAA, 0x62, 0x0D, 0xE2, 0x95, 0x54, 0xA2, 0x84, 0xCF, 0x85, 0xED, +0x16, 0x38, 0x11, 0xDB, 0xC1, 0x8D, 0xB7, 0xF6, 0xD6, 0x86, 0x8D, 0x18, 0x38, 0x04, 0x37, 0xC4, +0xCE, 0x9A, 0xCF, 0x32, 0x44, 0xFE, 0x08, 0xC9, 0x75, 0x23, 0xD5, 0x0A, 0xFE, 0xF8, 0x9D, 0x8E, +0xAF, 0x65, 0x31, 0xD4, 0xB8, 0xFB, 0xA6, 0xF6, 0x01, 0x8B, 0xC9, 0x78, 0xE8, 0xFE, 0xB1, 0xDB, +0xB6, 0x9C, 0xAE, 0x8E, 0xF5, 0xC7, 0x59, 0x36, 0xD6, 0xF9, 0x02, 0xAF, 0x26, 0xF2, 0xBC, 0x46, +0x1E, 0xAC, 0x15, 0x95, 0x38, 0x2F, 0x2A, 0x71, 0xE0, 0x11, 0xBD, 0x61, 0xC3, 0x11, 0xFF, 0x3A, +0x8B, 0x14, 0x89, 0x28, 0xC9, 0x32, 0x87, 0x38, 0x2F, 0x10, 0xAF, 0xE4, 0xDF, 0x57, 0x0A, 0x31, +0x3C, 0x78, 0xB3, 0x7B, 0x36, 0x05, 0x62, 0xF4, 0xCD, 0x18, 0x33, 0x37, 0xBB, 0x25, 0xBB, 0x9D, +0x3A, 0x44, 0x1B, 0xF9, 0x23, 0xC2, 0x82, 0x91, 0x23, 0x22, 0xCA, 0x6F, 0x21, 0x47, 0x6F, 0x6B, +0x7E, 0xDB, 0x5B, 0xE3, 0x78, 0xC1, 0x37, 0x13, 0x3B, 0x2D, 0xDF, 0xC5, 0x4C, 0x8A, 0x3D, 0xD1, +0x19, 0x66, 0xC7, 0x0F, 0xED, 0x7E, 0x0D, 0xCF, 0x6B, 0x84, 0x11, 0xD1, 0x4A, 0x9C, 0x5B, 0x5F, +0x53, 0x20, 0x52, 0xB1, 0xB9, 0xEF, 0x28, 0x12, 0x91, 0x8A, 0x41, 0x25, 0x8A, 0x22, 0x11, 0x4D, +0xF1, 0x15, 0x5B, 0x4E, 0x25, 0x11, 0x62, 0x3F, 0xD3, 0xAC, 0xCB, 0x0A, 0x56, 0x42, 0xC4, 0x62, +0x26, 0xFF, 0xC9, 0x7B, 0xEE, 0xBD, 0x1A, 0x22, 0x86, 0x5F, 0x71, 0x42, 0xC6, 0xDA, 0x4C, 0xFC, +0x56, 0x97, 0xBF, 0x23, 0x23, 0xC9, 0xC2, 0x75, 0xA0, 0x86, 0x18, 0xDC, 0xDF, 0x4F, 0x5B, 0x53, +0xDF, 0xC6, 0x6C, 0xF8, 0xD3, 0xEF, 0x59, 0x86, 0x48, 0x5B, 0x43, 0x44, 0xD7, 0x9B, 0x86, 0x7B, +0xE2, 0x5C, 0x0D, 0x51, 0x8A, 0xAC, 0x44, 0x09, 0x7E, 0xD1, 0xDC, 0xC3, 0x53, 0xB9, 0x29, 0x75, +0x56, 0x55, 0x64, 0x63, 0x63, 0xCB, 0xE9, 0x1C, 0x71, 0x86, 0x57, 0x86, 0xC8, 0xF5, 0x14, 0xD7, +0x16, 0x81, 0x98, 0x15, 0x88, 0xFC, 0x20, 0xF0, 0x6B, 0xBF, 0xBA, 0xB5, 0x5A, 0xEE, 0x22, 0xF8, +0x32, 0x44, 0x64, 0x29, 0xA5, 0x9D, 0xC5, 0x1C, 0xBC, 0x2F, 0x0F, 0x2F, 0x3E, 0x9A, 0xBA, 0x1F, +0x24, 0x35, 0xDF, 0xF5, 0xA5, 0x4F, 0x4F, 0x06, 0x2E, 0xC7, 0xEE, 0xB1, 0xFE, 0xE6, 0x30, 0x43, +0x5C, 0x5B, 0x13, 0x22, 0xDA, 0x62, 0x8A, 0x61, 0x5F, 0x11, 0x59, 0x89, 0x30, 0xB4, 0xE6, 0xB4, +0xD1, 0xE7, 0x6E, 0xDF, 0xEC, 0x53, 0x91, 0xA5, 0x08, 0x44, 0x51, 0xCC, 0x3C, 0x22, 0x9A, 0x53, +0x8F, 0x58, 0x54, 0x22, 0x1F, 0x0C, 0xD7, 0x21, 0xDA, 0x65, 0xFE, 0xF6, 0x64, 0xE8, 0xE7, 0xEC, +0x64, 0x37, 0x40, 0x1C, 0x08, 0x22, 0x6F, 0xF4, 0xDF, 0x89, 0x68, 0x43, 0xFC, 0xA3, 0x77, 0xF4, +0x4F, 0xF0, 0x7F, 0x89, 0x14, 0x8A, 0x44, 0x74, 0xCF, 0xF4, 0xB7, 0x76, 0x7D, 0x29, 0x9E, 0xAC, +0x63, 0x47, 0x3C, 0xCF, 0x5C, 0xA4, 0xAD, 0x79, 0x93, 0x88, 0xEF, 0x12, 0x31, 0xAA, 0x44, 0xB7, +0x25, 0x72, 0x48, 0x6C, 0x3C, 0xE2, 0x07, 0xFF, 0xD0, 0x30, 0x56, 0xE4, 0x9E, 0x38, 0x0C, 0xF6, +0xC4, 0xC7, 0x01, 0xE2, 0x7B, 0x15, 0xC4, 0x13, 0x45, 0xB4, 0x06, 0x75, 0x36, 0xF0, 0x91, 0x42, +0x34, 0x44, 0x37, 0xB5, 0xA4, 0x7B, 0x2E, 0x5E, 0x71, 0x89, 0xA1, 0xFF, 0xAD, 0xD6, 0x72, 0xCA, +0x62, 0xAA, 0x7F, 0x7C, 0xCB, 0xFF, 0xA8, 0xFC, 0x82, 0x30, 0x2F, 0x9C, 0xA6, 0xA9, 0x95, 0x22, +0x10, 0x4F, 0x32, 0x44, 0x4E, 0x6B, 0xEC, 0x02, 0x7F, 0x88, 0x48, 0xC3, 0xB9, 0x55, 0xE2, 0x97, +0x03, 0x8F, 0x28, 0xB9, 0x1F, 0x88, 0xC2, 0x08, 0x40, 0x2A, 0x3E, 0x28, 0x10, 0xB3, 0x00, 0xF1, +0xEA, 0xC9, 0x15, 0x3B, 0x1B, 0x87, 0x28, 0xF1, 0x88, 0x12, 0x8F, 0xB8, 0x69, 0x88, 0xC7, 0xB3, +0xA1, 0x19, 0xE6, 0x49, 0x47, 0xE3, 0x10, 0x91, 0x08, 0xD1, 0x1C, 0xEB, 0xBF, 0x5C, 0xDF, 0xEF, +0x56, 0x0B, 0x31, 0x44, 0xED, 0xBA, 0x45, 0xEF, 0x40, 0x08, 0xC3, 0xEF, 0x84, 0xC6, 0xE3, 0xE0, +0x6E, 0x6B, 0xEC, 0x4B, 0x51, 0x57, 0xD3, 0xE3, 0xCC, 0x65, 0x22, 0x6D, 0x8D, 0x21, 0xBE, 0x57, +0xBB, 0x25, 0xCE, 0x15, 0x11, 0x8A, 0xDC, 0x12, 0xCD, 0xB1, 0xD1, 0x27, 0xE0, 0x2F, 0x94, 0x30, +0xD8, 0x16, 0xD9, 0xD9, 0x10, 0x91, 0x95, 0xA8, 0x8A, 0xDC, 0x14, 0x25, 0x8A, 0x68, 0x9D, 0xCD, +0x2F, 0x99, 0x66, 0x20, 0xF7, 0x6B, 0x7E, 0xF9, 0x45, 0xAE, 0x81, 0x0F, 0xF5, 0x07, 0x2E, 0xD3, +0xA4, 0xE3, 0xDE, 0x8E, 0xDA, 0x25, 0x62, 0x62, 0x8A, 0x82, 0xC8, 0xC4, 0x8A, 0x80, 0xB5, 0x42, +0x6C, 0x79, 0xC4, 0x77, 0x9C, 0x52, 0x7F, 0x8F, 0x83, 0x7E, 0x09, 0xB1, 0x9D, 0xE6, 0x83, 0x0C, +0x99, 0x49, 0x21, 0xFA, 0xB6, 0x66, 0xB8, 0xBE, 0x62, 0x5B, 0x62, 0x71, 0x5C, 0xC3, 0x3D, 0x11, +0x88, 0x7E, 0x53, 0xE4, 0x96, 0xA8, 0x82, 0xF7, 0x05, 0x51, 0x7F, 0xAA, 0x22, 0xB2, 0x3B, 0x0D, +0x11, 0xB5, 0xB3, 0x79, 0x25, 0x40, 0x54, 0x45, 0x2C, 0xA7, 0x40, 0x8C, 0x63, 0x86, 0x12, 0x20, +0xF6, 0x3C, 0x62, 0x2B, 0x81, 0x62, 0xCC, 0xC8, 0x65, 0x95, 0x88, 0x7B, 0xD6, 0xD5, 0x7C, 0xEC, +0x0C, 0xF7, 0x1E, 0x4D, 0xFC, 0x5F, 0xC3, 0x1B, 0x46, 0x88, 0xDD, 0xCE, 0x22, 0x43, 0x06, 0xC7, +0xA5, 0xB6, 0x26, 0xE8, 0x4D, 0x63, 0x44, 0x28, 0x72, 0x39, 0x15, 0xC3, 0x7B, 0x84, 0xF8, 0xFC, +0x0C, 0x8A, 0x26, 0x08, 0x45, 0x0E, 0x8A, 0x86, 0xC8, 0xEE, 0x54, 0x53, 0x8B, 0x28, 0x0B, 0x2A, +0x11, 0xA3, 0x4C, 0xC4, 0xD0, 0x7F, 0x90, 0xB4, 0x20, 0xFA, 0xB5, 0x6E, 0xAD, 0x8C, 0xB8, 0x46, +0xC4, 0x28, 0x8F, 0x24, 0x5F, 0xB0, 0xAB, 0x71, 0x88, 0xA9, 0x6F, 0x5D, 0x72, 0xB6, 0xA6, 0x69, +0x09, 0x71, 0x63, 0x2B, 0xCF, 0x5C, 0x4E, 0xD8, 0xD6, 0xE8, 0x90, 0x68, 0x3B, 0x22, 0x57, 0xD3, +0x32, 0xE2, 0x70, 0x5E, 0x18, 0x0E, 0x22, 0xC4, 0x66, 0x3F, 0x8B, 0x12, 0x44, 0x55, 0x14, 0x46, +0x06, 0x88, 0x36, 0x27, 0x5E, 0x5C, 0x84, 0x88, 0x32, 0x64, 0x3C, 0x76, 0x88, 0x9C, 0xF7, 0x6F, +0x47, 0x1C, 0xCA, 0x7E, 0x58, 0xFA, 0x82, 0x8C, 0xFF, 0x8F, 0xD8, 0x29, 0x75, 0x35, 0xC9, 0x56, +0x3E, 0x1D, 0x0F, 0x7C, 0x86, 0x93, 0xC4, 0x2F, 0xA6, 0x44, 0xC4, 0xD3, 0xE0, 0x76, 0x67, 0x9C, +0xB9, 0xCC, 0x8A, 0xB6, 0x66, 0xA5, 0x8C, 0xF8, 0x6E, 0x8C, 0xC8, 0x3D, 0x71, 0x20, 0xB1, 0xBE, +0xE6, 0x5E, 0x20, 0xCA, 0xB3, 0x28, 0x20, 0xC6, 0x0B, 0xAA, 0x22, 0x4A, 0x80, 0x28, 0x8A, 0x87, +0x41, 0x25, 0x02, 0x51, 0x14, 0xC3, 0x43, 0x1B, 0x45, 0x9C, 0x3D, 0x93, 0xC4, 0x86, 0xD3, 0x5E, +0x6B, 0x0B, 0xE7, 0xE0, 0x11, 0xE2, 0x5E, 0x80, 0x08, 0x45, 0x26, 0x40, 0x5C, 0x0C, 0x90, 0x45, +0x92, 0x4F, 0xF1, 0xAB, 0xCC, 0x38, 0x51, 0x43, 0x22, 0x16, 0x1F, 0xE8, 0xD6, 0x4D, 0x07, 0x59, +0x29, 0xCF, 0x9E, 0x1D, 0xEF, 0x84, 0xAF, 0x43, 0xC5, 0x88, 0xD6, 0x9D, 0x72, 0x4C, 0xBC, 0x47, +0x88, 0x7F, 0x9F, 0xC5, 0x8A, 0x38, 0x08, 0xE7, 0x89, 0x8D, 0x28, 0xC2, 0x30, 0x42, 0x94, 0x10, +0x11, 0x03, 0x7F, 0x2D, 0xE2, 0x70, 0xDA, 0xEA, 0xA5, 0x6D, 0x3D, 0xB7, 0xA9, 0x43, 0x64, 0x6B, +0x83, 0x50, 0x32, 0x48, 0x3E, 0x58, 0x1E, 0x22, 0xEA, 0x9C, 0xCF, 0x9B, 0x8A, 0x1B, 0xE9, 0x24, +0x40, 0x1C, 0xAE, 0x5B, 0x21, 0x86, 0xBD, 0x29, 0x10, 0x9F, 0x58, 0x25, 0x12, 0x31, 0x8B, 0x10, +0xBF, 0x6E, 0x34, 0xE2, 0x1F, 0x66, 0x68, 0x80, 0x44, 0xB4, 0xEE, 0xB4, 0x0E, 0x11, 0x8A, 0x44, +0x74, 0x5F, 0x68, 0xBA, 0x22, 0x88, 0x92, 0xA1, 0x51, 0x9E, 0x4C, 0xF3, 0xA4, 0x95, 0xCA, 0xCB, +0x9E, 0xFE, 0xCA, 0x14, 0x52, 0x42, 0x44, 0x88, 0xB8, 0x04, 0xB2, 0xB5, 0xB8, 0x05, 0x31, 0x35, +0x44, 0xDB, 0x0F, 0x1D, 0xA2, 0x28, 0x76, 0x4E, 0xA0, 0xE7, 0x33, 0xD9, 0xB1, 0x21, 0x91, 0x88, +0x30, 0xAC, 0xA9, 0x44, 0x18, 0x02, 0x91, 0x86, 0x5F, 0x37, 0xF7, 0x8B, 0xBF, 0xF0, 0x18, 0xC3, +0x14, 0x59, 0x8A, 0x58, 0x4F, 0x81, 0x28, 0x29, 0x21, 0x6A, 0x80, 0xF8, 0x98, 0x88, 0xE5, 0x3B, +0x6F, 0xDB, 0x0E, 0x71, 0xDA, 0x6A, 0xE5, 0x92, 0x56, 0xD2, 0xEA, 0xA8, 0xA0, 0x7D, 0x0B, 0x9F, +0x7D, 0x5B, 0x4D, 0xCB, 0x10, 0x7B, 0x89, 0xE5, 0x16, 0xC4, 0x0E, 0x09, 0xEB, 0x92, 0xF3, 0x23, +0x4E, 0x31, 0xE7, 0x7B, 0x44, 0x5C, 0x7A, 0x1D, 0x10, 0xF1, 0x62, 0x7D, 0x85, 0x43, 0x62, 0x80, +0x58, 0x1C, 0xBA, 0xB1, 0x39, 0x65, 0x77, 0x4A, 0xC4, 0x07, 0xCD, 0x45, 0xC4, 0x09, 0xB8, 0x29, +0xD6, 0x23, 0x0E, 0x2E, 0x06, 0xBA, 0x25, 0x22, 0x44, 0x7C, 0x5C, 0xAC, 0xA7, 0x44, 0xFC, 0x54, +0x10, 0x47, 0x9A, 0x99, 0xB0, 0xA1, 0xBB, 0xC0, 0x03, 0xBD, 0x75, 0x89, 0x47, 0x94, 0x28, 0xE2, +0xD0, 0x75, 0x1A, 0x3A, 0xA8, 0x27, 0xAC, 0xC6, 0x7A, 0xC5, 0xB5, 0xFE, 0x72, 0x40, 0x45, 0x3A, +0x88, 0x16, 0x53, 0xDE, 0x19, 0x5E, 0x6F, 0x6B, 0x87, 0x3A, 0x72, 0x99, 0xAE, 0xDA, 0xA7, 0x9C, +0x06, 0x5B, 0x22, 0x0B, 0x31, 0x46, 0xCC, 0x88, 0xA8, 0x86, 0x92, 0x06, 0x23, 0xCA, 0x09, 0x38, +0x0C, 0x6F, 0x58, 0x8B, 0x31, 0xE2, 0x85, 0x35, 0xA7, 0x75, 0x88, 0x7C, 0xC5, 0x4D, 0xB2, 0x7D, +0xE2, 0x10, 0xF1, 0xE6, 0x3E, 0x3F, 0x82, 0x81, 0x9F, 0xCC, 0x0F, 0xC5, 0x5E, 0xE6, 0x11, 0x5B, +0x40, 0xBC, 0x55, 0x71, 0x2D, 0xAD, 0xCA, 0xA1, 0x2D, 0x1D, 0xE7, 0x30, 0xCC, 0x16, 0x3D, 0x2E, +0xA6, 0xD1, 0x87, 0x2D, 0x6C, 0xA6, 0xB3, 0x91, 0xE5, 0x7A, 0xA5, 0xF8, 0x08, 0x22, 0xF6, 0xA6, +0xAC, 0xC4, 0x9A, 0xE6, 0x14, 0x88, 0x66, 0xD8, 0x6C, 0x44, 0x39, 0x01, 0xBF, 0x39, 0x8B, 0x6B, +0x11, 0x9B, 0x22, 0x11, 0x55, 0xF1, 0xB0, 0x52, 0x89, 0xE1, 0xD1, 0x9B, 0x47, 0xEC, 0x8F, 0x34, +0xE7, 0xF2, 0x4E, 0xAE, 0x44, 0x19, 0x0D, 0x51, 0x52, 0x20, 0xB6, 0x22, 0x44, 0x44, 0x11, 0x99, +0xC2, 0xB0, 0x8A, 0x98, 0x89, 0x5F, 0x6B, 0x4D, 0x4F, 0xC4, 0x33, 0x24, 0xD9, 0x4D, 0x11, 0xEE, +0x88, 0xC5, 0x05, 0xA9, 0xF5, 0x6E, 0xDF, 0x1B, 0x8E, 0x37, 0xFD, 0x07, 0x64, 0xFA, 0x2D, 0x91, +0x86, 0x44, 0x9C, 0x4B, 0x0A, 0xC3, 0xCC, 0x10, 0x61, 0xD8, 0x78, 0x44, 0x1C, 0x9E, 0x52, 0x31, +0x40, 0xCC, 0x34, 0x17, 0xB6, 0x27, 0x9E, 0x06, 0x88, 0x9C, 0x32, 0x78, 0x73, 0x71, 0xC5, 0xFD, +0x47, 0xFB, 0xE5, 0x61, 0xFC, 0x05, 0x6E, 0x7E, 0x5B, 0x8C, 0x11, 0x25, 0x49, 0x29, 0x60, 0x8C, +0x33, 0x34, 0x3C, 0xCD, 0x38, 0x4F, 0xD7, 0xDE, 0x7F, 0x47, 0xA6, 0x45, 0x21, 0xF7, 0xDD, 0x67, +0xDE, 0x21, 0x22, 0x6F, 0x0C, 0xE3, 0x39, 0xE2, 0x6A, 0x7B, 0xEA, 0x11, 0xFD, 0xA0, 0x0F, 0x44, +0xDB, 0x11, 0x41, 0xF8, 0x4A, 0xA9, 0x12, 0xC3, 0x42, 0x24, 0xE2, 0xD7, 0xF7, 0x00, 0xF1, 0xC5, +0x1D, 0x88, 0x5A, 0x89, 0xDC, 0x13, 0x4F, 0x03, 0x45, 0x20, 0x5A, 0x29, 0x12, 0x71, 0x45, 0xE3, +0x10, 0x25, 0x44, 0x94, 0x5A, 0x89, 0x11, 0x7B, 0x61, 0x35, 0x56, 0x5B, 0xD5, 0xBE, 0x37, 0x5C, +0x4C, 0xF2, 0x44, 0xBE, 0xDA, 0x04, 0x6F, 0x42, 0x25, 0xFA, 0xEA, 0x9C, 0x47, 0x9C, 0xB4, 0x9C, +0x61, 0x57, 0xE2, 0x08, 0x0D, 0x51, 0xD6, 0x81, 0x81, 0x33, 0xEC, 0x6F, 0xDA, 0x6A, 0xCA, 0x1D, +0x51, 0x11, 0x51, 0x89, 0x57, 0xA5, 0x51, 0x7F, 0x1E, 0x21, 0xC2, 0xF0, 0xDE, 0x20, 0xEE, 0x73, +0x5B, 0x0C, 0xF6, 0x44, 0x18, 0xA2, 0x12, 0x51, 0x8A, 0xB5, 0x88, 0x92, 0x18, 0x71, 0x9B, 0xA5, +0x18, 0x7C, 0xE6, 0x22, 0x14, 0xDB, 0x19, 0x32, 0xE9, 0xE1, 0xE5, 0x61, 0x17, 0x2A, 0x22, 0xC4, +0xB4, 0xE3, 0xB3, 0x5C, 0x0B, 0x50, 0x7E, 0x5C, 0xDC, 0x32, 0xED, 0x75, 0x33, 0x64, 0xDC, 0x82, +0x21, 0x10, 0xDD, 0xE7, 0xD6, 0xF0, 0xCA, 0xF0, 0xF9, 0xC8, 0x05, 0xD7, 0x32, 0x80, 0xC8, 0xD3, +0x1A, 0x5F, 0x89, 0xAF, 0xF0, 0x11, 0x46, 0x51, 0x89, 0x99, 0x22, 0x5E, 0x06, 0x86, 0x4D, 0x1E, +0x31, 0xEC, 0xDC, 0x8D, 0x95, 0x18, 0x20, 0x66, 0x44, 0xF4, 0x2B, 0x6A, 0x88, 0x48, 0x45, 0x8F, +0x38, 0xFF, 0x4A, 0x13, 0x23, 0x4A, 0x80, 0xE8, 0x14, 0xD3, 0xDC, 0x4A, 0x68, 0x57, 0xD3, 0xF3, +0x21, 0x62, 0x00, 0xD9, 0xCF, 0x90, 0x21, 0x0A, 0xD0, 0x47, 0x0C, 0x05, 0x71, 0xCD, 0xFF, 0x1E, +0x43, 0xC4, 0x76, 0x18, 0x7C, 0x4D, 0xDB, 0xF5, 0x33, 0x67, 0x38, 0x74, 0xD7, 0x32, 0x80, 0xC8, +0x1D, 0x91, 0x88, 0x57, 0x40, 0x64, 0x25, 0xC2, 0xF0, 0xD2, 0x1B, 0xDE, 0x07, 0x44, 0x1C, 0xD9, +0xDC, 0xB8, 0x06, 0x95, 0xB5, 0xC8, 0xBE, 0x86, 0x95, 0x08, 0xC4, 0xD3, 0x02, 0x91, 0xAD, 0x0D, +0x4B, 0x71, 0xBB, 0x40, 0xF4, 0x8A, 0x44, 0x84, 0xA2, 0xA4, 0x82, 0xD8, 0x92, 0x18, 0x62, 0x15, +0xB2, 0x6B, 0x27, 0xE8, 0x8F, 0x3C, 0x21, 0xEF, 0xEC, 0x27, 0x8B, 0x0C, 0x29, 0x7D, 0x92, 0x9B, +0x04, 0x86, 0x1E, 0x71, 0x66, 0xF3, 0xC5, 0x0E, 0x3F, 0x32, 0xBA, 0xF4, 0x10, 0x4A, 0x0D, 0x05, +0xF1, 0x0A, 0x86, 0xAC, 0x44, 0x49, 0x26, 0x86, 0x40, 0xA4, 0x61, 0x83, 0x4F, 0x6C, 0x70, 0x64, +0xF3, 0x13, 0x14, 0xB9, 0x2B, 0x9E, 0x09, 0xE2, 0x91, 0x22, 0x72, 0x39, 0x3D, 0x34, 0x44, 0xC9, +0x95, 0x29, 0x02, 0x91, 0x6F, 0xD6, 0x00, 0xF1, 0xA9, 0x06, 0x88, 0xD8, 0x15, 0x35, 0x0E, 0x51, +0x12, 0x21, 0xE6, 0x44, 0x0C, 0x14, 0x03, 0x4D, 0x3B, 0xC6, 0x4E, 0xD6, 0x82, 0x32, 0x04, 0xA2, +0xDF, 0x14, 0xA7, 0xEE, 0x7B, 0xF6, 0x0C, 0x91, 0xEF, 0x06, 0x5F, 0xFB, 0x21, 0x71, 0xD0, 0xB6, +0x1D, 0x91, 0x97, 0xF7, 0x89, 0x88, 0x42, 0x64, 0x25, 0x0E, 0x34, 0x97, 0x97, 0xF7, 0x0D, 0xF1, +0xF7, 0x9F, 0x7E, 0x72, 0x82, 0xF6, 0x4B, 0x2D, 0xC4, 0xA3, 0x23, 0x43, 0xCC, 0x14, 0x51, 0x14, +0xE1, 0xF8, 0x04, 0x8A, 0x4B, 0x10, 0xDF, 0x28, 0x23, 0x96, 0x17, 0x54, 0x45, 0x44, 0xA0, 0x98, +0x4E, 0xE4, 0x3F, 0xAC, 0x22, 0xEE, 0x76, 0x42, 0xC5, 0x1A, 0xC9, 0x34, 0xF3, 0x50, 0x8F, 0x54, +0x0F, 0x29, 0x10, 0x7B, 0x79, 0x86, 0x61, 0xBE, 0xDF, 0xB1, 0xC6, 0x14, 0x84, 0xF6, 0x96, 0xBE, +0x15, 0xE2, 0x57, 0x5F, 0x1D, 0xE3, 0xC4, 0xCD, 0x23, 0xC2, 0x90, 0xAB, 0xE9, 0xE3, 0xC7, 0x5C, +0x4D, 0xB5, 0x12, 0xFD, 0x24, 0x7A, 0xBF, 0x10, 0xE5, 0xC8, 0xE6, 0x4F, 0x41, 0xBC, 0x91, 0x62, +0x34, 0xC4, 0x7D, 0x09, 0x0C, 0x81, 0x48, 0x45, 0x0D, 0x14, 0xAF, 0xA2, 0x51, 0x91, 0x67, 0x6F, +0x44, 0xD4, 0x04, 0x5F, 0x31, 0x8C, 0x6C, 0x00, 0xD1, 0xF5, 0xFD, 0x8A, 0x28, 0x31, 0x44, 0x4B, +0x9E, 0x97, 0x2C, 0xF7, 0x0E, 0x3C, 0x62, 0x6B, 0x8F, 0x86, 0x76, 0x58, 0xDA, 0xEA, 0x38, 0xC4, +0x51, 0x1B, 0x88, 0xDC, 0x10, 0xB9, 0x23, 0xC2, 0xB0, 0x2F, 0x27, 0x6E, 0x44, 0x54, 0x43, 0x22, +0x62, 0x47, 0xAC, 0x22, 0xD6, 0x54, 0xE2, 0x7E, 0x93, 0x11, 0x75, 0xDA, 0x17, 0x45, 0x61, 0x84, +0xA0, 0x75, 0xA7, 0x47, 0x97, 0x47, 0x35, 0x88, 0xA7, 0x2C, 0x45, 0x20, 0xF2, 0xB1, 0xA2, 0x43, +0x7C, 0xCB, 0x21, 0x9E, 0xAF, 0xF0, 0x8B, 0x4D, 0x81, 0x18, 0x0C, 0x8B, 0x52, 0x89, 0x48, 0x92, +0x3A, 0x44, 0x2A, 0xEE, 0xE6, 0xB3, 0x81, 0x74, 0x2A, 0x5B, 0xBD, 0x22, 0xDE, 0x70, 0xBC, 0xA6, +0x86, 0xBC, 0x24, 0x0C, 0xC4, 0xDD, 0x64, 0xE8, 0x10, 0x65, 0x3D, 0x2D, 0x6F, 0x88, 0x86, 0x78, +0x82, 0xFD, 0xF9, 0xE9, 0xD3, 0xEB, 0x1D, 0x5B, 0x4C, 0x75, 0x46, 0x24, 0xA2, 0x2D, 0xA6, 0x44, +0x1C, 0x06, 0x88, 0x41, 0x5F, 0xB3, 0xBF, 0xDF, 0xDC, 0x27, 0xFB, 0x6E, 0xDA, 0xFF, 0xC9, 0x14, +0x11, 0x87, 0x78, 0xC4, 0x3D, 0x31, 0xA8, 0xC4, 0x27, 0x55, 0x44, 0x1E, 0xDB, 0xBC, 0x35, 0x74, +0x88, 0xDB, 0x0E, 0x31, 0xF8, 0x6A, 0x53, 0xCE, 0x19, 0x7E, 0x02, 0x47, 0x57, 0x49, 0xC5, 0x7C, +0xB2, 0x18, 0x65, 0xC8, 0xC2, 0xAA, 0x4E, 0x77, 0x3D, 0x24, 0xDD, 0x8B, 0x0C, 0x51, 0xC4, 0xBD, +0x99, 0x6F, 0x3E, 0xD3, 0xA0, 0x33, 0xB5, 0xD7, 0x2F, 0x46, 0xC8, 0xD3, 0xB1, 0x7B, 0x06, 0x05, +0x42, 0xAE, 0xA6, 0x86, 0x78, 0xA5, 0x89, 0xB6, 0xC4, 0x0C, 0x88, 0x41, 0x73, 0xBA, 0xDF, 0x78, +0xC4, 0x17, 0x3F, 0x49, 0xA4, 0x35, 0x75, 0x84, 0x31, 0x62, 0x16, 0x20, 0x9E, 0x06, 0x9B, 0x62, +0x70, 0x01, 0x55, 0x42, 0x44, 0x55, 0x5C, 0x61, 0x73, 0x63, 0xBD, 0x8D, 0xBB, 0xD4, 0x4F, 0x44, +0xC7, 0xD8, 0x39, 0x9E, 0x2E, 0x46, 0x48, 0x86, 0x58, 0x29, 0x6A, 0xA9, 0x8D, 0xB2, 0x11, 0x0A, +0x11, 0x86, 0x2C, 0x44, 0x4D, 0x2B, 0x1F, 0xB9, 0xE4, 0xD8, 0x10, 0x69, 0xB8, 0xA3, 0x39, 0x19, +0x3D, 0xD5, 0x9F, 0x9E, 0x5D, 0x07, 0x37, 0x86, 0x89, 0x08, 0xC3, 0xC7, 0x30, 0x64, 0x25, 0x12, +0x31, 0x34, 0x6C, 0x3E, 0xE2, 0x73, 0x45, 0x44, 0x2D, 0x62, 0x5B, 0x74, 0x73, 0x62, 0x09, 0x51, +0x53, 0x41, 0x7C, 0x89, 0x8A, 0x3C, 0xB6, 0x21, 0xA2, 0xC4, 0x4A, 0x31, 0xFE, 0x62, 0xCC, 0xAD, +0x7E, 0x81, 0xD8, 0xBD, 0xBE, 0x9E, 0xCE, 0x16, 0x19, 0x7E, 0xA8, 0x5A, 0x86, 0xE2, 0x4B, 0x31, +0xB7, 0x42, 0x8C, 0x0C, 0x81, 0x28, 0xFC, 0x89, 0xFF, 0x13, 0x66, 0xA5, 0x1D, 0x11, 0x4B, 0xA9, +0xE4, 0xF8, 0xA9, 0xCB, 0x6C, 0x73, 0x3B, 0x44, 0x34, 0x43, 0x8F, 0xA8, 0x5B, 0xE2, 0x95, 0x6D, +0x89, 0x87, 0x30, 0x14, 0xC4, 0x2F, 0x81, 0x48, 0xC3, 0xA6, 0x2F, 0xA7, 0x32, 0x28, 0x02, 0x51, +0x7B, 0x1B, 0x6F, 0xC8, 0xF6, 0x14, 0x88, 0x08, 0x87, 0x8C, 0x27, 0x0E, 0xF1, 0x25, 0x43, 0x64, +0x6F, 0x53, 0x8B, 0xA8, 0x29, 0x2B, 0x6E, 0x00, 0xB1, 0x3E, 0x99, 0x93, 0xF4, 0x86, 0x89, 0x5F, +0x77, 0xC7, 0x6B, 0x00, 0x44, 0x00, 0x88, 0x48, 0x11, 0xB7, 0xFC, 0x1F, 0xD0, 0xDF, 0xE2, 0x47, +0xB6, 0xC3, 0x50, 0xF2, 0x9D, 0x33, 0x7C, 0x86, 0xC5, 0x54, 0x09, 0x79, 0xB5, 0x86, 0xA7, 0x35, +0xAC, 0x44, 0xF6, 0x35, 0x99, 0xC4, 0xB6, 0x44, 0x6F, 0x88, 0x34, 0xF7, 0xF2, 0xB0, 0x9F, 0x31, +0x4C, 0x11, 0x86, 0xB5, 0xCB, 0x29, 0x14, 0x59, 0x89, 0x54, 0xC4, 0x98, 0x11, 0x23, 0xBE, 0xE5, +0xDF, 0xE1, 0xA7, 0xE2, 0x2A, 0x8F, 0xDF, 0xBA, 0x44, 0xAC, 0x4F, 0xBE, 0xE7, 0x11, 0xFD, 0x1A, +0x9B, 0x26, 0x34, 0x34, 0x44, 0xF7, 0xFA, 0x53, 0x67, 0xE4, 0x92, 0xF2, 0x6B, 0xBC, 0x3D, 0xE2, +0xEA, 0x33, 0x5F, 0x88, 0x3B, 0x5A, 0x88, 0x86, 0xC8, 0xB6, 0x86, 0x86, 0xA8, 0xC4, 0x39, 0x2B, +0x11, 0x85, 0x68, 0x88, 0x30, 0x6C, 0x3E, 0xA2, 0x3E, 0x51, 0x54, 0x42, 0x63, 0xDC, 0x77, 0x09, +0x10, 0xA1, 0x88, 0x6D, 0x11, 0x85, 0x78, 0x5A, 0x57, 0x8A, 0x40, 0x7C, 0xF3, 0xE4, 0xA9, 0x46, +0x5E, 0x79, 0x30, 0x45, 0x43, 0x64, 0x77, 0xB3, 0xD1, 0x1D, 0xDF, 0x4A, 0x38, 0x4E, 0xAD, 0xF0, +0x92, 0x69, 0xA5, 0x10, 0x9D, 0x9E, 0x3D, 0xB6, 0xB0, 0x52, 0x1C, 0xA4, 0x7E, 0x3B, 0x24, 0xE2, +0x39, 0x0B, 0xD1, 0x3D, 0xCF, 0x47, 0x67, 0x1A, 0x9D, 0xB8, 0x3D, 0xF6, 0x88, 0x4F, 0x0C, 0x71, +0x78, 0xE1, 0x10, 0x59, 0x89, 0x30, 0x44, 0x9A, 0xFB, 0x56, 0x14, 0xDB, 0x53, 0x18, 0x06, 0x88, +0x47, 0x35, 0x88, 0x28, 0x44, 0x53, 0xAC, 0xAE, 0xA7, 0xBF, 0xFE, 0x32, 0x92, 0xFF, 0x72, 0x27, +0x0F, 0xF9, 0x6D, 0x7C, 0x12, 0x87, 0x48, 0xC5, 0xF6, 0x64, 0xB9, 0x60, 0x7F, 0x92, 0x3C, 0x2A, +0xCC, 0x7A, 0x49, 0x5F, 0x85, 0x3A, 0x89, 0x14, 0x20, 0xB7, 0x42, 0x22, 0xAA, 0x22, 0xAA, 0x7A, +0xD2, 0x2D, 0x21, 0xEE, 0x20, 0x33, 0x2B, 0xC4, 0xB7, 0x78, 0xB3, 0xC6, 0x4E, 0xDC, 0x38, 0xE8, +0x87, 0x88, 0xC3, 0x8B, 0x8B, 0x12, 0xA2, 0xEF, 0x6B, 0xF6, 0x2D, 0xCD, 0x7D, 0x3F, 0x91, 0xED, +0x29, 0x02, 0x44, 0x18, 0x0A, 0x62, 0x34, 0x63, 0xE0, 0xD4, 0xE6, 0x74, 0x0E, 0x42, 0x45, 0xA4, +0x22, 0x67, 0xC5, 0x37, 0x56, 0x8E, 0xFB, 0xC3, 0xD9, 0xE6, 0x5B, 0xFC, 0xC2, 0x13, 0x2A, 0x16, +0x2B, 0x6A, 0x3B, 0xCD, 0x6A, 0x01, 0x87, 0x07, 0xB9, 0x08, 0x26, 0x49, 0xAB, 0x48, 0xB2, 0x96, +0x8F, 0x0F, 0x5A, 0x7B, 0x4B, 0x0C, 0x71, 0x98, 0xDE, 0x5A, 0x8C, 0x86, 0x93, 0x56, 0xBB, 0x7C, +0x52, 0x83, 0x5C, 0x73, 0x47, 0xE4, 0xCD, 0x9A, 0x4A, 0x21, 0x46, 0x5B, 0xA2, 0x18, 0xC6, 0x88, +0xFB, 0x45, 0x1A, 0xFB, 0xA6, 0x30, 0xDB, 0x53, 0x1F, 0xF6, 0x35, 0x5E, 0x51, 0x9B, 0x7E, 0x22, +0xCE, 0x0F, 0x5D, 0x2D, 0x12, 0x11, 0x87, 0x6F, 0x1C, 0x33, 0x7E, 0x5D, 0x59, 0x5F, 0xDF, 0x91, +0xA1, 0x0C, 0x88, 0x50, 0x34, 0x44, 0x2A, 0x6E, 0xA4, 0x79, 0xAC, 0xD8, 0x3F, 0x98, 0xA4, 0x6B, +0xF2, 0xA4, 0x57, 0x00, 0x3B, 0x45, 0xA0, 0x28, 0xAA, 0x34, 0x24, 0xA2, 0x9E, 0xD1, 0x20, 0x9D, +0x44, 0xFE, 0x80, 0x2E, 0xA7, 0x7C, 0xFB, 0xA0, 0xE8, 0xF5, 0xA9, 0x18, 0x8E, 0xE2, 0x2B, 0x6E, +0xE1, 0x86, 0x68, 0x88, 0xA7, 0x1E, 0xF1, 0xD0, 0x0A, 0x11, 0x71, 0x86, 0xF7, 0x05, 0x11, 0xED, +0x69, 0x68, 0x78, 0xA4, 0x88, 0x47, 0x01, 0x22, 0xB2, 0x0C, 0x91, 0x8F, 0xF8, 0xE5, 0xF2, 0xE9, +0x9B, 0x78, 0xE7, 0x54, 0x42, 0xC5, 0x12, 0xA2, 0x64, 0xA3, 0xD3, 0xF1, 0x73, 0x61, 0x7F, 0xB1, +0x98, 0x4C, 0xF2, 0x16, 0x1E, 0x33, 0xE1, 0xD6, 0x5A, 0x11, 0x42, 0xB2, 0x1B, 0x65, 0xB6, 0x3C, +0xA2, 0x4E, 0x9D, 0xE9, 0x96, 0x35, 0x35, 0x30, 0x74, 0x88, 0x2B, 0x3B, 0xED, 0xF6, 0x74, 0xBA, +0x8E, 0x42, 0x14, 0x42, 0x20, 0x9A, 0x61, 0x84, 0xC8, 0x42, 0x3C, 0x0C, 0x0B, 0x11, 0x8B, 0x29, +0xD3, 0xD8, 0x4F, 0xCF, 0x60, 0x7B, 0x8A, 0x70, 0xC2, 0xF0, 0x88, 0x98, 0xBE, 0x2B, 0x88, 0x08, +0x11, 0x5F, 0x89, 0xEE, 0x4C, 0x49, 0x9C, 0x22, 0x7B, 0x9B, 0x50, 0x71, 0xBD, 0xBD, 0x25, 0x35, +0xE6, 0x82, 0x57, 0x44, 0x77, 0x8D, 0xA8, 0xB3, 0x3C, 0x29, 0xC3, 0x42, 0xE4, 0x8C, 0x0F, 0xC4, +0x1D, 0x44, 0x08, 0x25, 0x3B, 0x9B, 0x1B, 0x1B, 0xAB, 0x34, 0xE4, 0xA5, 0x8C, 0x12, 0xE2, 0x55, +0x58, 0x88, 0xE8, 0x4D, 0x0B, 0xC4, 0xCB, 0x08, 0xF1, 0xCF, 0xA6, 0x7E, 0x8E, 0x8D, 0xB5, 0xA7, +0x37, 0x21, 0xE2, 0xD1, 0xBE, 0x37, 0x34, 0x44, 0x2A, 0xDA, 0x90, 0xC1, 0x81, 0xBF, 0xF2, 0x74, +0x18, 0x88, 0xF1, 0x82, 0x0A, 0x44, 0x3E, 0x5C, 0xD4, 0x27, 0x52, 0x14, 0xB1, 0x1B, 0x54, 0xC8, +0x1D, 0x84, 0x34, 0xB4, 0xEF, 0xBD, 0x40, 0xB8, 0x1D, 0x82, 0xD0, 0x3D, 0x0B, 0xB3, 0x31, 0x3F, +0xBE, 0xA6, 0x08, 0x43, 0x22, 0x7A, 0xC3, 0xF9, 0x45, 0x80, 0x18, 0x19, 0x9E, 0x35, 0xF7, 0x99, +0x70, 0xD0, 0x9E, 0x72, 0x4E, 0x84, 0x61, 0x05, 0x11, 0x01, 0x22, 0xA7, 0x0C, 0x20, 0x86, 0x17, +0x35, 0x14, 0x91, 0x8A, 0xFC, 0x22, 0x30, 0x2A, 0xAE, 0x23, 0xC5, 0x9D, 0x62, 0xC4, 0x14, 0x99, +0x25, 0x84, 0x5D, 0x03, 0x34, 0x44, 0x8E, 0x16, 0xD8, 0x0D, 0x3D, 0x22, 0xBF, 0x9E, 0x8D, 0xAF, +0x41, 0xF1, 0x66, 0x0D, 0x0C, 0x89, 0x88, 0x0C, 0xE5, 0x5E, 0x5F, 0x8C, 0x48, 0xC3, 0x26, 0x3F, +0xC4, 0xF0, 0x9D, 0xCD, 0x0D, 0x0D, 0x81, 0x58, 0x55, 0x74, 0x82, 0x81, 0xE2, 0xDB, 0x44, 0x2C, +0xAD, 0xA7, 0x92, 0x58, 0x11, 0x11, 0x42, 0x5B, 0x51, 0xA9, 0x28, 0x51, 0x45, 0x0B, 0x1D, 0x2B, +0xD9, 0xD2, 0x74, 0x11, 0x1A, 0xAE, 0x4B, 0x6A, 0x0D, 0x21, 0x18, 0x20, 0x72, 0xCC, 0xF7, 0xE3, +0x05, 0x11, 0x4F, 0x51, 0x88, 0x7E, 0xC0, 0x90, 0x70, 0x4B, 0xA4, 0xE1, 0x59, 0x93, 0x4F, 0xDD, +0x7C, 0x67, 0x73, 0x73, 0x23, 0x86, 0x1A, 0x23, 0x84, 0xE2, 0x88, 0x88, 0x87, 0x4C, 0x8C, 0x18, +0xEF, 0x8A, 0x12, 0x43, 0xE4, 0xBE, 0xC8, 0x07, 0x1A, 0x50, 0x24, 0x62, 0xE4, 0xB8, 0x85, 0xDC, +0x6D, 0xC8, 0xDD, 0x90, 0x1D, 0x0D, 0x11, 0xB7, 0x89, 0xF8, 0x69, 0xF0, 0xF2, 0x05, 0xC7, 0x0B, +0xF6, 0xA6, 0x82, 0x08, 0x45, 0x45, 0xCC, 0x0A, 0xC4, 0xCB, 0xAF, 0x25, 0x34, 0x3C, 0x6B, 0xF4, +0x81, 0x8D, 0xEB, 0x6C, 0x80, 0xC8, 0xC5, 0x14, 0x7D, 0xCD, 0x08, 0x85, 0xF8, 0x2C, 0x40, 0x9C, +0x7F, 0x7B, 0x78, 0xF8, 0x6D, 0x81, 0xC8, 0x52, 0x84, 0x22, 0x11, 0xAD, 0xB7, 0xA9, 0x19, 0xFA, +0x81, 0xA8, 0x09, 0x14, 0x11, 0x32, 0x06, 0xA1, 0x1E, 0x01, 0x89, 0x08, 0x42, 0x1A, 0x02, 0x71, +0x5B, 0xC2, 0x3A, 0xE4, 0x98, 0x8F, 0x28, 0x21, 0x17, 0xD3, 0x53, 0x0D, 0x0C, 0x15, 0xD1, 0x19, +0x6A, 0x82, 0x13, 0xB7, 0xB3, 0xE6, 0x23, 0x5A, 0x67, 0x13, 0xD5, 0xE1, 0x08, 0x79, 0x26, 0x09, +0x37, 0xC5, 0x6F, 0xBF, 0xF5, 0x8A, 0x40, 0xB4, 0x5A, 0x7C, 0xB9, 0xA2, 0xF8, 0xE9, 0xFF, 0x50, +0x24, 0x23, 0x52, 0x11, 0x64, 0xB8, 0x17, 0xF2, 0x82, 0x29, 0x11, 0xB9, 0x21, 0x82, 0x30, 0x98, +0xF2, 0x59, 0x88, 0x01, 0xA2, 0x30, 0xCE, 0x89, 0x08, 0x43, 0x22, 0x1A, 0xA1, 0xFC, 0xA2, 0xFE, +0xC0, 0xE6, 0xD5, 0x57, 0x5F, 0x6D, 0x08, 0x2D, 0xCE, 0x6C, 0xD8, 0x9A, 0x5A, 0x1C, 0xA2, 0xE6, +0x82, 0x8A, 0x52, 0x89, 0x73, 0x8F, 0xF8, 0xB3, 0xAC, 0xA7, 0xA6, 0x58, 0x46, 0x0C, 0xBE, 0xF4, +0x84, 0xFB, 0x62, 0xD0, 0xDE, 0xD4, 0x29, 0x92, 0x71, 0x79, 0xC0, 0x07, 0x3F, 0x0E, 0x16, 0x55, +0x43, 0x89, 0x19, 0x46, 0xE7, 0xDE, 0x34, 0x04, 0xA2, 0x08, 0x9A, 0x61, 0x88, 0x58, 0x3A, 0x36, +0x55, 0x41, 0x81, 0xC4, 0xAC, 0x5F, 0x01, 0x7C, 0xED, 0xB5, 0xD7, 0x1A, 0xC2, 0x88, 0x33, 0x1B, +0x1A, 0xEE, 0x97, 0x0C, 0x33, 0x22, 0xB2, 0x16, 0x15, 0x91, 0xA5, 0x08, 0x45, 0x5B, 0x4F, 0x83, +0xD7, 0xA4, 0x24, 0x05, 0x22, 0x47, 0x0D, 0x32, 0x42, 0x11, 0xA1, 0x62, 0xCC, 0x18, 0xF7, 0xA2, +0xCB, 0x0D, 0x89, 0x28, 0x82, 0x76, 0x21, 0x03, 0x03, 0x22, 0x0D, 0xD9, 0x99, 0x1A, 0xE2, 0x15, +0x0C, 0xB1, 0x23, 0x06, 0x88, 0x47, 0x34, 0x3C, 0x03, 0x22, 0xBF, 0x69, 0x9F, 0x80, 0x1F, 0x6A, +0x5E, 0x6B, 0x08, 0xA2, 0xDE, 0x3D, 0x45, 0x04, 0x90, 0x89, 0x11, 0x0F, 0x2F, 0x20, 0x18, 0xAE, +0xA7, 0x9A, 0xB0, 0x43, 0xE5, 0x87, 0x85, 0x21, 0x54, 0xE4, 0xD8, 0xCF, 0x2E, 0x35, 0x62, 0xB4, +0x84, 0x82, 0x77, 0x19, 0xEE, 0x04, 0x86, 0xDC, 0x0F, 0x81, 0xF8, 0x46, 0x15, 0x11, 0x86, 0x2F, +0x71, 0x4B, 0x44, 0x21, 0xC2, 0x30, 0x1E, 0x30, 0x68, 0x58, 0x1E, 0x13, 0x3D, 0xE0, 0xE7, 0x9F, +0x7F, 0xF0, 0xCD, 0xEF, 0xBF, 0xBD, 0xF8, 0xB3, 0x19, 0x07, 0x39, 0xF8, 0xAC, 0x45, 0x17, 0x5F, +0x87, 0x54, 0x54, 0x42, 0xAB, 0xC4, 0x02, 0x31, 0x98, 0x32, 0xA2, 0x61, 0x91, 0xFB, 0x22, 0x11, +0xAD, 0x16, 0x43, 0x45, 0x38, 0x52, 0x91, 0x8C, 0x75, 0x21, 0x21, 0x0D, 0x59, 0x86, 0x9A, 0x3A, +0x43, 0x59, 0x0F, 0x82, 0x1D, 0x91, 0x85, 0xF8, 0x12, 0x11, 0xFD, 0x62, 0xCA, 0x42, 0x64, 0x25, +0xDA, 0xAD, 0x78, 0x4E, 0x18, 0xAF, 0x9A, 0xE0, 0x07, 0x1F, 0xFC, 0xF5, 0xF7, 0xF3, 0x7F, 0x6E, +0x6E, 0x9E, 0x7F, 0xD8, 0x0C, 0x44, 0x7C, 0x79, 0x9B, 0x2B, 0xC4, 0x32, 0x61, 0x81, 0x78, 0x11, +0x6E, 0x8A, 0xA2, 0x68, 0x88, 0x50, 0x0C, 0xCF, 0x6D, 0x80, 0xC8, 0x17, 0xA5, 0xB0, 0xA2, 0xB2, +0x14, 0x25, 0x91, 0xA2, 0xE4, 0x0E, 0x46, 0x12, 0x22, 0x06, 0xC8, 0x9E, 0x06, 0x59, 0xF1, 0xF1, +0x86, 0x44, 0x8C, 0xA7, 0x0B, 0x89, 0x1A, 0x02, 0x51, 0x09, 0x4F, 0x61, 0x08, 0x44, 0x18, 0xB2, +0xAF, 0x61, 0x19, 0xFA, 0xE6, 0x94, 0x25, 0xF8, 0xC3, 0xEF, 0xCF, 0xA5, 0x8D, 0xB8, 0x91, 0xFC, +0xDE, 0x1C, 0x44, 0xF7, 0x56, 0x8D, 0x10, 0x4A, 0x2D, 0xC6, 0xED, 0x29, 0x0B, 0xD1, 0x33, 0x16, +0x88, 0x3F, 0x03, 0x71, 0x89, 0x22, 0xBB, 0x1B, 0x2A, 0xB2, 0xBD, 0xE1, 0x9A, 0x8A, 0x90, 0xB1, +0xCE, 0xB1, 0xAC, 0x57, 0x35, 0xE4, 0x66, 0x88, 0xED, 0x10, 0x51, 0x41, 0x16, 0x22, 0x0C, 0x6B, +0x0A, 0xF1, 0x14, 0x71, 0x88, 0xB6, 0x98, 0x8E, 0xD8, 0x9B, 0xFA, 0x42, 0x44, 0x7E, 0xFB, 0x40, +0xB0, 0x8A, 0x12, 0x7C, 0xA1, 0xDD, 0x3C, 0x0C, 0xA5, 0x42, 0x9B, 0xB1, 0x27, 0xFE, 0xCB, 0xDD, +0x1D, 0xF3, 0xC6, 0x51, 0x84, 0x61, 0x1C, 0x17, 0xDF, 0x80, 0x7E, 0xDD, 0x58, 0x2E, 0xB6, 0xC0, +0x12, 0xCD, 0x9D, 0xE4, 0x06, 0xC9, 0xD1, 0x06, 0x2B, 0x92, 0x4F, 0x48, 0x27, 0x25, 0x05, 0x45, +0x04, 0x14, 0xB1, 0x84, 0x88, 0x25, 0x14, 0x29, 0xC4, 0x81, 0x24, 0xF0, 0xD1, 0x79, 0xE7, 0x99, +0x9D, 0xFD, 0xEF, 0xBC, 0x33, 0x73, 0xAC, 0x93, 0x66, 0x97, 0xE7, 0x92, 0x18, 0x1A, 0x30, 0xFE, +0xF1, 0xCC, 0xBC, 0x33, 0x7B, 0x4E, 0xD2, 0xA6, 0xF8, 0x7D, 0x46, 0x78, 0x02, 0x11, 0xC5, 0xFB, +0x39, 0x22, 0x23, 0xAA, 0xE2, 0x15, 0x41, 0xB4, 0xD4, 0x15, 0x99, 0x55, 0xDB, 0x1B, 0x21, 0x86, +0x06, 0xE8, 0x8F, 0xF8, 0x69, 0xA6, 0x01, 0x91, 0xB5, 0x94, 0x0D, 0x91, 0x1D, 0x51, 0x4D, 0xC4, +0x30, 0x35, 0x71, 0x1C, 0x6B, 0x64, 0x18, 0xF3, 0xE9, 0x9B, 0x27, 0xAA, 0xE0, 0xC3, 0xBB, 0x0F, +0xBA, 0xA3, 0x94, 0xA1, 0x65, 0x3D, 0x8F, 0x8A, 0xE3, 0x6F, 0xBF, 0x10, 0xD6, 0x52, 0x04, 0xCB, +0x23, 0x06, 0xE3, 0x29, 0x88, 0x52, 0xB4, 0x78, 0x45, 0xDF, 0xC5, 0xD8, 0x0F, 0x14, 0x59, 0x53, +0x15, 0x18, 0x73, 0x4C, 0x04, 0xB3, 0xA4, 0x0A, 0x2A, 0xE5, 0x75, 0x69, 0x30, 0x54, 0x16, 0x18, +0xFA, 0x22, 0xC6, 0x26, 0xBE, 0x90, 0xA1, 0x9A, 0x38, 0xE6, 0x8F, 0x1F, 0xBE, 0xD1, 0x18, 0xA3, +0x0A, 0x62, 0xF8, 0xCF, 0xCB, 0xB5, 0xAC, 0xA6, 0xE3, 0x9F, 0x68, 0xFA, 0xB3, 0x8A, 0x28, 0x42, +0x9A, 0x78, 0xA7, 0x9C, 0x42, 0xF4, 0x13, 0xAA, 0x10, 0x51, 0x64, 0xBA, 0x51, 0x6A, 0x8A, 0x30, +0xB6, 0x43, 0xFF, 0x24, 0x58, 0x18, 0x32, 0xD2, 0x80, 0x68, 0x82, 0x16, 0x7F, 0x42, 0xF4, 0x45, +0x2C, 0x47, 0xD3, 0x17, 0x20, 0x86, 0x48, 0xF2, 0x97, 0x87, 0x4F, 0xAA, 0x20, 0x86, 0xCA, 0xDB, +0x15, 0xDD, 0xE3, 0x84, 0x4D, 0xD1, 0x0D, 0x35, 0x99, 0x62, 0x1F, 0x04, 0x41, 0x44, 0xD1, 0x10, +0x2D, 0x4B, 0x15, 0x59, 0x53, 0x51, 0xE4, 0x3E, 0x35, 0xE5, 0x24, 0x21, 0x86, 0x2C, 0xA5, 0x10, +0x62, 0xA8, 0x1A, 0xCA, 0xD0, 0x5D, 0xB7, 0x81, 0xF8, 0x63, 0x0C, 0x86, 0x71, 0x4B, 0x0C, 0x89, +0xAB, 0x69, 0x12, 0xB4, 0xBC, 0x49, 0xEF, 0x60, 0xC1, 0x50, 0x79, 0x58, 0xCD, 0x6A, 0x1A, 0x37, +0x45, 0x08, 0x59, 0x4F, 0x41, 0xEC, 0x03, 0xE2, 0xAF, 0xC3, 0xC4, 0x48, 0x15, 0xA5, 0x08, 0x62, +0x39, 0xDC, 0x88, 0x91, 0xBB, 0x1B, 0x05, 0x45, 0x1C, 0x61, 0x24, 0x10, 0x7A, 0xC0, 0xFA, 0x76, +0x98, 0x5F, 0xD4, 0x80, 0xC8, 0x60, 0xCA, 0x54, 0xC3, 0x8E, 0x08, 0xA2, 0x2F, 0xA2, 0xA2, 0x37, +0xE4, 0x56, 0x0D, 0x57, 0x75, 0xA1, 0x1A, 0x4E, 0x8A, 0xCE, 0x30, 0x45, 0xAB, 0x69, 0x50, 0x7C, +0xAE, 0x2A, 0x52, 0x46, 0x57, 0xC5, 0xE6, 0xB6, 0x98, 0xF6, 0x45, 0xE6, 0x1B, 0x18, 0x51, 0xE4, +0xC4, 0x51, 0x8F, 0x04, 0xBD, 0xA1, 0x00, 0x9D, 0xA1, 0x04, 0xCB, 0x77, 0x99, 0x3A, 0xC4, 0xAF, +0x53, 0x11, 0x8F, 0x2A, 0x62, 0x42, 0x7C, 0xFA, 0x34, 0x20, 0xBE, 0x88, 0x88, 0xD4, 0xD0, 0x7E, +0xBC, 0x7E, 0xE3, 0x0C, 0x95, 0xBF, 0x56, 0x54, 0xC4, 0xB8, 0x29, 0xCE, 0x0D, 0xD9, 0x13, 0xA3, +0x62, 0x6F, 0x2D, 0x1C, 0x40, 0xD4, 0x91, 0x3F, 0x55, 0x11, 0x44, 0x5D, 0xA2, 0xA2, 0xC8, 0x5D, +0xB8, 0xEF, 0xA2, 0x14, 0x2D, 0x8E, 0x91, 0x94, 0x82, 0x84, 0x0E, 0x62, 0x68, 0x69, 0x18, 0x82, +0x88, 0xE1, 0x57, 0xA3, 0x21, 0x97, 0x35, 0x18, 0x82, 0x48, 0x0D, 0xED, 0x47, 0x41, 0xB8, 0xAE, +0xF3, 0xC5, 0x74, 0x7D, 0x0A, 0x62, 0xDA, 0x11, 0x59, 0x4E, 0xB5, 0x9E, 0xCE, 0x15, 0x73, 0x44, +0x46, 0xD4, 0xDA, 0x39, 0x43, 0x8A, 0xF9, 0x94, 0xCA, 0xA1, 0xB1, 0xC1, 0x48, 0xC0, 0x23, 0x55, +0x43, 0x11, 0xF2, 0x8E, 0x9A, 0xF9, 0xAD, 0x37, 0x93, 0xA9, 0xC5, 0x0C, 0x41, 0x64, 0x35, 0xCD, +0x8B, 0x08, 0xA2, 0x7D, 0xA7, 0xD1, 0x1B, 0x53, 0x74, 0x63, 0xA9, 0xB2, 0xB2, 0xF7, 0x4E, 0x85, +0xEF, 0xFA, 0xF6, 0xFB, 0x21, 0x88, 0x7D, 0x08, 0xF3, 0x69, 0xB5, 0x8A, 0x5E, 0xD1, 0x3F, 0xD1, +0xA8, 0x2B, 0xFA, 0x19, 0x67, 0x09, 0xA1, 0x37, 0x94, 0x60, 0x66, 0x98, 0x6D, 0x87, 0xFE, 0x74, +0x41, 0x11, 0x2D, 0x32, 0x0C, 0x91, 0x61, 0x42, 0xCC, 0x0C, 0xE3, 0x6B, 0xD6, 0xC3, 0xB5, 0x16, +0x31, 0x20, 0x3E, 0xD8, 0x67, 0xFF, 0x4A, 0x2F, 0x11, 0x9A, 0x24, 0x3D, 0x54, 0x82, 0xE1, 0xD0, +0xAE, 0xA2, 0x52, 0x5C, 0x85, 0x33, 0xA2, 0xD6, 0xC6, 0x1B, 0x18, 0x67, 0x94, 0x6D, 0x40, 0x6F, +0x88, 0xA0, 0x52, 0x1F, 0x69, 0x18, 0x6A, 0x22, 0xE1, 0xBC, 0x88, 0xCF, 0x2D, 0x14, 0xD1, 0x08, +0x3D, 0xE2, 0x9B, 0xC4, 0x88, 0x21, 0x59, 0xDD, 0x3B, 0x51, 0xC3, 0x21, 0x83, 0xFB, 0x36, 0x6A, +0x98, 0x29, 0x3E, 0x67, 0x3E, 0xA5, 0x8A, 0x0E, 0xB1, 0xA6, 0x68, 0x49, 0x8A, 0x21, 0x6D, 0x45, +0x30, 0xEB, 0x7E, 0x10, 0x8A, 0x4F, 0xC1, 0x30, 0xD5, 0x90, 0xED, 0x90, 0xC3, 0x85, 0x25, 0xF5, +0xF0, 0x37, 0x43, 0xBC, 0x8F, 0x53, 0x4D, 0x44, 0xCC, 0x77, 0x44, 0xCB, 0xF7, 0x21, 0x69, 0x3B, +0x94, 0x20, 0x86, 0xEB, 0x2D, 0xA2, 0x10, 0xDF, 0xC6, 0x2A, 0x9A, 0x21, 0x01, 0x31, 0xAD, 0xA8, +0xC3, 0x30, 0x47, 0x3C, 0x52, 0xC5, 0x96, 0xA2, 0x10, 0xAD, 0x8D, 0xF5, 0x2E, 0xC2, 0xB8, 0x24, +0xAC, 0xA1, 0x18, 0xD2, 0x42, 0x26, 0x1A, 0x0C, 0xFD, 0x29, 0x5F, 0x45, 0xB4, 0x1E, 0x62, 0xC8, +0x62, 0x4A, 0x11, 0x43, 0x82, 0x61, 0xAA, 0xA1, 0x18, 0x65, 0xB8, 0xE6, 0x22, 0xEA, 0xE6, 0xCD, +0x00, 0x8D, 0x31, 0x7C, 0x7F, 0x2D, 0x99, 0x21, 0x0E, 0xF6, 0x83, 0x25, 0x95, 0x7B, 0x70, 0x21, +0x32, 0xDC, 0xB0, 0x2F, 0x26, 0xC5, 0xDA, 0x81, 0x51, 0x81, 0x71, 0xB1, 0xA3, 0x23, 0xE4, 0x80, +0xEF, 0x0D, 0xCB, 0xC7, 0xC0, 0x6C, 0x88, 0x20, 0x86, 0x8C, 0x86, 0x14, 0x91, 0xD5, 0xF4, 0x75, +0xA5, 0x86, 0x14, 0x71, 0x3D, 0x37, 0x6E, 0x09, 0x51, 0x87, 0x0C, 0x33, 0xB4, 0x2E, 0xFA, 0x2A, +0xF6, 0x51, 0x71, 0x50, 0x19, 0x41, 0x14, 0xA3, 0xAA, 0x08, 0x23, 0x8A, 0x0C, 0xA9, 0xCA, 0x69, +0x45, 0x72, 0x5A, 0x30, 0x05, 0x40, 0x0C, 0x59, 0x4A, 0xFD, 0xD9, 0x02, 0x44, 0x36, 0xC4, 0x0C, +0xD1, 0x14, 0x9F, 0x5A, 0x8C, 0x50, 0xC1, 0xD0, 0x6F, 0x87, 0xEB, 0x2E, 0x62, 0x3A, 0x64, 0xA4, +0x1A, 0x12, 0x15, 0x91, 0x2A, 0x0E, 0x52, 0x1C, 0xB2, 0xC7, 0x19, 0xF7, 0x21, 0x20, 0x72, 0xEA, +0xAF, 0x2B, 0xFE, 0x2E, 0x45, 0x18, 0xBD, 0x64, 0x93, 0xB0, 0x69, 0x28, 0x40, 0x6F, 0xE8, 0x66, +0x1A, 0x11, 0xAA, 0x88, 0xF7, 0xF7, 0x99, 0x21, 0x63, 0xCD, 0x53, 0x21, 0x52, 0xC4, 0xD7, 0xAF, +0xF3, 0x1E, 0xAE, 0xBD, 0x88, 0xE9, 0x90, 0xF1, 0xCA, 0x0C, 0x05, 0xF9, 0xCC, 0x5E, 0xA9, 0x89, +0x28, 0x0E, 0x83, 0x1D, 0x18, 0x03, 0xE1, 0x90, 0x57, 0xD1, 0xE2, 0xAA, 0x98, 0x36, 0x46, 0x14, +0x39, 0xF7, 0xF3, 0xBE, 0x62, 0x14, 0xA1, 0x6C, 0x07, 0xC2, 0xE2, 0x96, 0x0D, 0xC4, 0xD2, 0x90, +0xC1, 0x54, 0x88, 0x32, 0x2C, 0x56, 0xD3, 0xD8, 0xC5, 0xA9, 0x89, 0x22, 0x54, 0x20, 0x5C, 0x7F, +0x11, 0x0D, 0xF1, 0xDB, 0x07, 0x33, 0x7C, 0x15, 0x00, 0x9F, 0x8D, 0x80, 0x1E, 0x51, 0x8E, 0x7D, +0x7F, 0xB2, 0x8A, 0x5E, 0x51, 0xA9, 0x29, 0xC2, 0xE8, 0xF3, 0x18, 0x42, 0x6F, 0xE8, 0xF6, 0x43, +0x8A, 0x38, 0x12, 0x9A, 0x61, 0x51, 0x44, 0x10, 0x59, 0x4F, 0x4B, 0xC3, 0x0D, 0x14, 0x31, 0x1E, +0x32, 0xC2, 0x54, 0xF3, 0xEA, 0x99, 0x52, 0x1D, 0x4F, 0x87, 0x3E, 0x54, 0x71, 0x68, 0x57, 0x11, +0x45, 0x6E, 0xC3, 0x15, 0x14, 0x2D, 0x52, 0x54, 0x50, 0x5C, 0x16, 0x00, 0x4B, 0x43, 0x08, 0x9D, +0x21, 0x33, 0x8D, 0x65, 0x32, 0x3C, 0xCE, 0x47, 0xD3, 0xBB, 0xBB, 0xA7, 0x31, 0xFE, 0xAC, 0x9F, +0x0C, 0x37, 0x51, 0xC4, 0xB8, 0x9E, 0x5A, 0x11, 0xCD, 0x90, 0x5C, 0x72, 0x52, 0x54, 0x0B, 0xC7, +0x5F, 0x06, 0x4B, 0x59, 0x45, 0x14, 0xA9, 0x62, 0x88, 0x53, 0x54, 0x46, 0xC5, 0x04, 0xF9, 0x39, +0x84, 0x18, 0x72, 0xD1, 0xC6, 0x52, 0x0A, 0xA2, 0x08, 0x31, 0x14, 0xA2, 0x0C, 0x8F, 0x66, 0xA8, +0x18, 0xA1, 0x25, 0xAE, 0xA7, 0xAC, 0xA8, 0xF3, 0x87, 0x18, 0x6F, 0x36, 0x52, 0xC4, 0x71, 0x3D, +0x0D, 0x1D, 0x94, 0xDF, 0x5D, 0xC8, 0xF8, 0x71, 0x1A, 0x6B, 0x52, 0x15, 0x2D, 0x54, 0x11, 0x44, +0xA5, 0xAD, 0x68, 0x41, 0x31, 0x67, 0xB4, 0x2C, 0x24, 0x24, 0xD9, 0x4C, 0x8A, 0xA1, 0x08, 0xD9, +0x0F, 0x31, 0x2C, 0x8B, 0xF8, 0x6B, 0xCC, 0x5D, 0x54, 0x4C, 0x4D, 0x8C, 0x8A, 0xF1, 0x95, 0x30, +0x63, 0x17, 0x57, 0x7B, 0x6B, 0x9A, 0xAF, 0xA7, 0x81, 0x2F, 0x09, 0x12, 0x36, 0x44, 0x29, 0xF6, +0x49, 0xB1, 0xA8, 0xA2, 0xE2, 0x47, 0xD4, 0xB6, 0x22, 0x92, 0xD0, 0x2C, 0x23, 0xE4, 0x7D, 0xA5, +0x18, 0x4A, 0x10, 0xC3, 0x72, 0xA4, 0xA1, 0x88, 0x9C, 0xF3, 0x63, 0x15, 0x31, 0xB4, 0x26, 0xFA, +0x4C, 0x2B, 0x2B, 0x59, 0xDF, 0x65, 0xCD, 0xFC, 0xC9, 0xF0, 0xD4, 0xC3, 0xF0, 0x8A, 0xD9, 0xED, +0xF2, 0xF1, 0x34, 0xAD, 0xA7, 0xAC, 0xA8, 0x01, 0x51, 0xB9, 0x58, 0xA2, 0x68, 0x81, 0x11, 0x48, +0x78, 0x5A, 0x9C, 0xE8, 0x59, 0x44, 0x88, 0x61, 0x12, 0x5C, 0x6A, 0x98, 0x23, 0xDE, 0xD1, 0xC4, +0x78, 0x69, 0x5C, 0x38, 0x4A, 0x92, 0xAC, 0xB6, 0x88, 0xBA, 0x04, 0x7F, 0xCA, 0x76, 0xA8, 0x44, +0x45, 0x0C, 0xA9, 0xA2, 0x42, 0x17, 0x23, 0xE2, 0xC5, 0x05, 0xFB, 0xA2, 0x57, 0x84, 0x51, 0x09, +0x8A, 0x84, 0x3A, 0xD6, 0x83, 0x9F, 0x37, 0x94, 0x60, 0x6E, 0xE8, 0x1F, 0x01, 0x7B, 0xC4, 0x23, +0x86, 0x39, 0xA2, 0x08, 0x2D, 0xBC, 0x41, 0xC5, 0x61, 0xFE, 0x1C, 0x5F, 0xEB, 0x2D, 0x62, 0x5C, +0x4F, 0x31, 0xDC, 0x85, 0x04, 0xC5, 0x5D, 0x52, 0x8C, 0x15, 0x4C, 0x94, 0x31, 0x4D, 0x45, 0x36, +0xC6, 0x8A, 0xA2, 0x22, 0x45, 0x82, 0xCF, 0x49, 0x41, 0x08, 0x55, 0xC1, 0xA6, 0x21, 0x8F, 0x0F, +0x4B, 0x43, 0x5F, 0xC4, 0xC0, 0xA8, 0xDF, 0x94, 0x2C, 0x24, 0x29, 0xEA, 0x63, 0x9D, 0x72, 0x5D, +0x0F, 0xF4, 0xCB, 0xF9, 0x34, 0x11, 0xCA, 0x50, 0x49, 0x88, 0x43, 0x52, 0x94, 0xA1, 0x14, 0x95, +0x78, 0xCE, 0x48, 0x88, 0xA5, 0xA2, 0x3F, 0x6A, 0xC0, 0x58, 0xAE, 0xAA, 0xF5, 0x20, 0x47, 0xBC, +0x21, 0x0B, 0x29, 0x35, 0x54, 0x66, 0x84, 0x42, 0x74, 0x86, 0x4A, 0x9F, 0x9A, 0xA8, 0x36, 0x86, +0xEB, 0x0E, 0x1F, 0x3D, 0x19, 0xB0, 0x1F, 0xCA, 0x87, 0x15, 0x17, 0x31, 0xCC, 0xA7, 0x2F, 0x5F, +0x4C, 0x2D, 0x24, 0xBD, 0x10, 0x25, 0x67, 0x91, 0xA2, 0x10, 0x47, 0xC7, 0x63, 0x0C, 0x55, 0x5C, +0xA0, 0x28, 0x48, 0x86, 0x1C, 0xB2, 0x50, 0xB0, 0x4E, 0xC8, 0x50, 0x5A, 0x8E, 0xA5, 0x14, 0x31, +0x24, 0x5B, 0x4C, 0xFB, 0x3B, 0x82, 0x1B, 0x79, 0x26, 0xD5, 0x57, 0xE1, 0x5A, 0x39, 0x30, 0x7E, +0xBF, 0xA6, 0xB7, 0xB8, 0xD5, 0xEF, 0x4F, 0x0B, 0x42, 0xBF, 0x9A, 0x5A, 0xA8, 0x22, 0x8A, 0x3F, +0xD6, 0x15, 0x2D, 0xFE, 0xA8, 0x41, 0x32, 0x46, 0xD2, 0xF4, 0x83, 0x10, 0x43, 0x37, 0xCF, 0x60, +0x08, 0xE2, 0x44, 0x88, 0x21, 0x88, 0x7D, 0xDC, 0x11, 0x51, 0x0C, 0x90, 0xFA, 0xE5, 0x2E, 0x45, +0x57, 0x1F, 0xCF, 0x2C, 0xA6, 0x69, 0x79, 0xBB, 0xE6, 0x22, 0xC6, 0xE7, 0x51, 0x97, 0x20, 0x92, +0xAE, 0xA7, 0x83, 0x96, 0x7A, 0x15, 0xD9, 0x16, 0x61, 0x64, 0x4A, 0x8D, 0x29, 0x19, 0x71, 0x5C, +0x9C, 0x80, 0x97, 0x82, 0x21, 0x13, 0x8D, 0x42, 0x0F, 0x13, 0x21, 0x53, 0xCD, 0xD1, 0x19, 0x7E, +0x77, 0xD7, 0xCE, 0xCE, 0x02, 0xA6, 0xE5, 0x9F, 0x97, 0xAB, 0x2E, 0x62, 0x7C, 0x1E, 0x55, 0x51, +0xEC, 0xBB, 0x2E, 0x12, 0x4E, 0x8C, 0x54, 0xD1, 0x29, 0x82, 0xB8, 0x54, 0x71, 0xA9, 0x23, 0xFD, +0xC3, 0xD0, 0xAF, 0xA4, 0x4A, 0x66, 0x08, 0xA2, 0x2F, 0x22, 0x33, 0x4D, 0x3D, 0xFD, 0x2C, 0x3B, +0xE5, 0x52, 0x88, 0x9F, 0x9E, 0xAC, 0xE8, 0xBD, 0xA6, 0xAD, 0xF5, 0xD4, 0x13, 0xF6, 0x51, 0x51, +0x66, 0x5D, 0x54, 0xA4, 0x97, 0x15, 0xC5, 0xB3, 0xBA, 0x62, 0x7B, 0x4D, 0x75, 0x8E, 0xCB, 0x04, +0x21, 0xF4, 0x86, 0x7E, 0x3F, 0x6C, 0x18, 0x3E, 0xEF, 0x23, 0x63, 0x41, 0x97, 0x09, 0x0E, 0x21, +0x5D, 0x37, 0x93, 0xFC, 0xFB, 0x87, 0x75, 0x5E, 0xB8, 0xE5, 0x6F, 0x22, 0x4E, 0x78, 0xD7, 0x8A, +0x76, 0xC4, 0xEB, 0xCE, 0x22, 0xC2, 0x0E, 0xC4, 0xE6, 0x82, 0x7A, 0x76, 0xC6, 0x82, 0xCA, 0xC6, +0x18, 0x23, 0xC5, 0x72, 0xC4, 0xC1, 0x91, 0xC0, 0x97, 0x05, 0x3C, 0x08, 0xE7, 0x86, 0x6C, 0x87, +0x12, 0xC4, 0xD0, 0x21, 0xF6, 0xB1, 0x88, 0xFD, 0x28, 0xD7, 0xDB, 0xAF, 0xE1, 0xD5, 0x07, 0x45, +0xFC, 0x0E, 0x96, 0x2E, 0x45, 0x5F, 0x8D, 0xF5, 0x9E, 0xF3, 0xB3, 0xA3, 0xE2, 0x28, 0xD8, 0x29, +0x72, 0xEC, 0x3B, 0x65, 0xE8, 0xE4, 0x88, 0x22, 0x4B, 0xEA, 0x81, 0x11, 0xD5, 0xC2, 0xB6, 0x08, +0x23, 0x8A, 0x30, 0xF2, 0xAC, 0x11, 0xC7, 0x66, 0xA8, 0x9F, 0x37, 0x6C, 0x8F, 0x34, 0x2D, 0xC3, +0x21, 0xED, 0x88, 0x93, 0xA1, 0x25, 0x1A, 0x26, 0x41, 0xF9, 0x91, 0xDB, 0x11, 0xF2, 0xCF, 0x75, +0x4F, 0x35, 0xD3, 0xD5, 0x9B, 0x08, 0x85, 0x98, 0x1C, 0x77, 0xFA, 0x88, 0x23, 0x4F, 0x17, 0x51, +0x14, 0xE3, 0xFE, 0xB8, 0xDF, 0xFB, 0xF3, 0xA2, 0x92, 0x29, 0x66, 0x8E, 0x53, 0x1D, 0x49, 0xDD, +0xAF, 0x4E, 0x98, 0xC2, 0x44, 0x93, 0x00, 0x31, 0x64, 0x31, 0x55, 0x92, 0x61, 0x1F, 0x22, 0x44, +0x9F, 0x24, 0x78, 0x3E, 0x25, 0x42, 0xDE, 0xDE, 0xF6, 0x6B, 0x3E, 0xE7, 0xCF, 0x8F, 0x8A, 0x77, +0x81, 0x30, 0x31, 0xF6, 0xF6, 0xEA, 0x20, 0x8D, 0x8E, 0xFD, 0x9C, 0x31, 0x21, 0x9A, 0xA2, 0x1C, +0x63, 0x17, 0x43, 0x32, 0x45, 0x0B, 0x8A, 0x0A, 0x8C, 0x38, 0xB6, 0x83, 0x20, 0xC1, 0xAF, 0x6D, +0x68, 0x9F, 0x47, 0x51, 0xC4, 0x48, 0x48, 0xFB, 0xC8, 0x00, 0x61, 0xB0, 0xDB, 0xC7, 0x20, 0xB9, +0xF2, 0xE3, 0xC5, 0x6C, 0xB4, 0x11, 0x20, 0xE9, 0x43, 0x1B, 0xBB, 0x79, 0x30, 0xB4, 0xCC, 0x14, +0x0F, 0xAA, 0x62, 0x43, 0x51, 0x81, 0x51, 0x81, 0x91, 0x2C, 0x01, 0xF4, 0x84, 0x0C, 0x34, 0x0B, +0x0D, 0xFB, 0xC9, 0x30, 0x43, 0x9C, 0xFE, 0x53, 0x00, 0xDC, 0xDF, 0xDC, 0x00, 0xF9, 0xFE, 0x87, +0x0D, 0x14, 0x31, 0x8E, 0x36, 0x10, 0xE2, 0x98, 0x57, 0x71, 0x80, 0x11, 0x45, 0xE5, 0x38, 0x57, +0xF4, 0x1B, 0xA3, 0xE2, 0x15, 0x61, 0xAC, 0xA7, 0xB1, 0x84, 0x3A, 0x42, 0x09, 0x9E, 0x36, 0x64, +0xA6, 0x51, 0x4A, 0x43, 0x4D, 0xA2, 0x33, 0xC2, 0x1B, 0xE5, 0x4A, 0x89, 0xA0, 0xEF, 0xD6, 0x7E, +0xBC, 0x18, 0x11, 0xC3, 0x68, 0x13, 0xA8, 0x6E, 0xA7, 0x74, 0xE4, 0xD0, 0x1D, 0xA8, 0x22, 0xA1, +0x8A, 0x86, 0x98, 0x14, 0xCF, 0x38, 0xF6, 0x3B, 0x45, 0xC7, 0xB8, 0x00, 0xD2, 0x0B, 0x96, 0x3B, +0x21, 0x86, 0x08, 0x9A, 0x61, 0x42, 0x14, 0x61, 0x44, 0x1C, 0x30, 0xF4, 0x2D, 0xEC, 0xD2, 0x56, +0x98, 0x04, 0x89, 0x38, 0x3F, 0xAE, 0xF4, 0x79, 0x7E, 0xF5, 0x16, 0x1C, 0x42, 0xCF, 0x78, 0xD0, +0xCF, 0xA4, 0x48, 0x2A, 0x8A, 0x67, 0x16, 0x29, 0xE2, 0x08, 0x63, 0xE9, 0x48, 0x96, 0x03, 0x2E, +0x32, 0x54, 0x8E, 0xA3, 0x21, 0x6B, 0x48, 0xB1, 0x13, 0x5A, 0x1C, 0xE1, 0xD9, 0x3C, 0xF6, 0xF7, +0xFB, 0x2D, 0x4C, 0x35, 0x23, 0xA2, 0xDD, 0xDA, 0xDC, 0xFA, 0xA8, 0x9B, 0x51, 0x51, 0xD1, 0x41, +0xBF, 0x3E, 0xD2, 0xED, 0x33, 0xC5, 0x8B, 0xBA, 0xA2, 0x67, 0x5C, 0x1A, 0xF4, 0x20, 0x54, 0x10, +0x3C, 0x61, 0x38, 0x60, 0xE8, 0x19, 0x33, 0x43, 0x04, 0x33, 0xC4, 0x6D, 0x4C, 0x35, 0xD3, 0x77, +0x65, 0xE4, 0x4D, 0xD4, 0x70, 0x3D, 0x29, 0x8E, 0x8C, 0x3D, 0xC9, 0x15, 0xD5, 0x45, 0xCB, 0xA8, +0x68, 0x29, 0x14, 0x61, 0x24, 0x9F, 0x21, 0x88, 0x21, 0x80, 0xCE, 0x10, 0xC2, 0xC3, 0xC1, 0x0C, +0x73, 0x45, 0x56, 0x53, 0xF6, 0xF4, 0xB1, 0x86, 0xE0, 0x91, 0xF7, 0xAB, 0xBF, 0xAB, 0xC9, 0x1F, +0xF0, 0x83, 0x08, 0x63, 0x54, 0x64, 0x63, 0x2C, 0x0C, 0xE9, 0xA2, 0x10, 0x51, 0x64, 0x4E, 0xC5, +0x91, 0x63, 0x23, 0x59, 0x26, 0x48, 0x00, 0xAC, 0x1B, 0x9E, 0x9D, 0xC5, 0xFD, 0x30, 0x22, 0xA6, +0x22, 0xA2, 0x88, 0x20, 0x86, 0x05, 0xE1, 0x85, 0x72, 0x66, 0x59, 0xE9, 0xBB, 0x14, 0xDB, 0xA7, +0x0C, 0xD1, 0x9D, 0x8F, 0x09, 0x7F, 0x19, 0xCA, 0x28, 0x49, 0x45, 0x8A, 0x69, 0x41, 0x25, 0xBA, +0xBA, 0x51, 0x17, 0x33, 0x45, 0x05, 0xC5, 0x06, 0x23, 0x39, 0x01, 0x48, 0x00, 0x84, 0x10, 0x43, +0x7D, 0xE1, 0x59, 0x4A, 0x31, 0x2C, 0x93, 0x00, 0x35, 0x94, 0x62, 0xC8, 0x32, 0x72, 0x11, 0xF3, +0xE7, 0x56, 0xA6, 0x9A, 0xE9, 0x81, 0x14, 0x86, 0x30, 0x06, 0xC5, 0x43, 0x62, 0xA4, 0x8A, 0x7E, +0x45, 0x6D, 0x2B, 0x52, 0x46, 0xC7, 0xF8, 0xD8, 0xB0, 0x88, 0xD6, 0x0D, 0x2F, 0xD8, 0x0D, 0xF7, +0x75, 0x43, 0x0E, 0xFA, 0x5C, 0xCF, 0x24, 0x43, 0x04, 0xF5, 0xCF, 0x1A, 0xF3, 0xE3, 0xBA, 0x1F, +0x05, 0x57, 0x4F, 0x19, 0x89, 0x10, 0x46, 0x11, 0x56, 0x15, 0x77, 0xB9, 0x62, 0x40, 0x44, 0x11, +0xC6, 0xC6, 0x84, 0xA3, 0x3C, 0x52, 0xD0, 0x13, 0x22, 0x88, 0xA1, 0x08, 0x27, 0xC3, 0xC3, 0xC0, +0x62, 0x2A, 0x41, 0x0C, 0x87, 0x6E, 0x5C, 0x49, 0x83, 0xA1, 0x08, 0x99, 0xC8, 0x50, 0x7C, 0xB7, +0x9D, 0xA9, 0x66, 0x3A, 0x65, 0x9C, 0x17, 0x09, 0x80, 0xFA, 0xC5, 0x5E, 0xFE, 0xE6, 0xE6, 0xB4, +0x62, 0xC9, 0x88, 0x22, 0x92, 0x8F, 0x11, 0x84, 0x10, 0x43, 0xBE, 0xE8, 0xA5, 0xE1, 0xA1, 0x30, +0x14, 0xA0, 0x08, 0x4B, 0x43, 0x08, 0x31, 0xDC, 0xCC, 0x11, 0x71, 0x5E, 0xC5, 0x8F, 0x13, 0x9E, +0x51, 0x4C, 0x8C, 0xA6, 0x78, 0x98, 0x29, 0xF6, 0x83, 0x7A, 0xB8, 0xAB, 0xEE, 0x30, 0x6D, 0x45, +0x18, 0x3D, 0xE5, 0x22, 0xC1, 0x3A, 0x61, 0x4A, 0x9C, 0x42, 0x30, 0x3C, 0x28, 0x18, 0xAA, 0x85, +0x18, 0x76, 0x5D, 0x32, 0xB4, 0x78, 0x43, 0x72, 0xBF, 0x99, 0x23, 0x62, 0xB5, 0x8A, 0xFB, 0x98, +0xA8, 0x18, 0x7E, 0xEA, 0x11, 0x5B, 0x54, 0xE4, 0x61, 0x69, 0xB0, 0x44, 0x71, 0xCC, 0x79, 0x54, +0xBC, 0xAF, 0x2A, 0x02, 0xE9, 0xD3, 0xF2, 0x3B, 0xBD, 0x8E, 0x42, 0xE8, 0x0C, 0x95, 0xA2, 0x87, +0x20, 0x9E, 0x30, 0x24, 0x1B, 0x3A, 0x22, 0x66, 0x07, 0xFE, 0x49, 0xF1, 0xFC, 0xEA, 0x3C, 0x31, +0x6A, 0xA7, 0x3C, 0x88, 0x51, 0xB9, 0xDE, 0x49, 0x31, 0xA4, 0xAA, 0x78, 0xEE, 0x14, 0x15, 0x18, +0x91, 0x5C, 0x9E, 0x93, 0xD3, 0xCC, 0x22, 0x43, 0x0E, 0x88, 0x9D, 0x19, 0xA6, 0xB1, 0x94, 0x99, +0x66, 0x22, 0x24, 0x1F, 0x37, 0x74, 0x44, 0xCC, 0x1E, 0x2B, 0x52, 0xC3, 0x74, 0xFD, 0x3B, 0xED, +0x8E, 0x33, 0xC5, 0x60, 0xB7, 0x8B, 0x99, 0x2B, 0x0E, 0x5E, 0xB1, 0xCE, 0x48, 0xBE, 0x90, 0xF0, +0x22, 0x27, 0xDC, 0x5B, 0xBC, 0x21, 0x49, 0x6B, 0xA9, 0x19, 0x1E, 0x92, 0xE1, 0xCD, 0x55, 0xDD, +0x30, 0xFE, 0xE3, 0xB7, 0xB7, 0x98, 0x8E, 0x55, 0x7C, 0x7F, 0x2E, 0xBF, 0x94, 0xFD, 0x7C, 0x6F, +0xE4, 0x59, 0xF7, 0xAE, 0x57, 0x09, 0xAB, 0x8A, 0x3C, 0x0F, 0x40, 0xD1, 0x31, 0x7E, 0x2E, 0xA4, +0x3B, 0xD7, 0xFF, 0xA7, 0xE1, 0x4C, 0x30, 0x33, 0x54, 0x64, 0xB8, 0xC7, 0x10, 0xC0, 0x98, 0x2D, +0x2E, 0xA6, 0xF1, 0xC0, 0xFF, 0xE4, 0xED, 0x3E, 0xD0, 0xC5, 0x97, 0x63, 0xB4, 0x01, 0x67, 0xEA, +0xE2, 0x6E, 0xCA, 0xB5, 0x1C, 0xBD, 0xE2, 0x71, 0xAC, 0x33, 0x8A, 0x30, 0x2E, 0x95, 0x44, 0x8E, +0x40, 0x48, 0x0D, 0x43, 0x8C, 0xD0, 0x1B, 0xF6, 0x84, 0xA1, 0x66, 0xC8, 0xF7, 0xC3, 0xD1, 0x90, +0xCF, 0x8B, 0x4F, 0x6C, 0x9B, 0x8B, 0x69, 0xAA, 0xE2, 0xD5, 0xD5, 0xF9, 0x55, 0x16, 0x57, 0x46, +0x21, 0x8A, 0x0E, 0xC8, 0x4C, 0x91, 0x25, 0xB5, 0xCD, 0xE8, 0x29, 0x53, 0x3C, 0x5C, 0x21, 0x98, +0x82, 0x60, 0xD5, 0x70, 0xC8, 0x0D, 0xEF, 0x76, 0x53, 0x11, 0x93, 0xA1, 0x16, 0x9C, 0xC9, 0xF0, +0xC2, 0x13, 0x7E, 0xFD, 0xDB, 0x26, 0x17, 0xD3, 0x54, 0xC5, 0x2B, 0x02, 0xA3, 0x99, 0xA4, 0xC3, +0x7F, 0xAE, 0x78, 0x39, 0xD5, 0xD1, 0x2B, 0x1E, 0xF7, 0x30, 0xA2, 0x08, 0x23, 0x92, 0x8B, 0x03, +0xE0, 0x98, 0x44, 0x98, 0x19, 0x0E, 0x5A, 0x49, 0x49, 0xF8, 0xC6, 0x92, 0x3E, 0x46, 0x77, 0x87, +0xE9, 0x9E, 0x06, 0xC3, 0x51, 0xF1, 0x2B, 0xB2, 0xC9, 0xC9, 0x34, 0xAF, 0x22, 0xA1, 0x8C, 0xA3, +0xA2, 0x65, 0x54, 0xEC, 0xFF, 0x4B, 0xD1, 0x18, 0x51, 0xAC, 0xB5, 0x91, 0x2C, 0xF5, 0x03, 0x10, +0x42, 0xB6, 0xC3, 0x9A, 0xE1, 0x2E, 0x18, 0xF6, 0x85, 0xA1, 0x8A, 0x18, 0x0D, 0x45, 0x38, 0x1A, +0x92, 0xAD, 0x2E, 0xA6, 0xE9, 0xAC, 0x78, 0x55, 0xCB, 0x5C, 0x91, 0xE1, 0xA6, 0xA5, 0xC8, 0x78, +0x03, 0xA3, 0x02, 0x63, 0x3D, 0x90, 0xB9, 0x40, 0xD8, 0xAA, 0xE1, 0xC1, 0xE2, 0x0D, 0x75, 0x94, +0xBD, 0x4B, 0x9C, 0x32, 0x8C, 0x9F, 0x99, 0x08, 0x93, 0x61, 0x49, 0xB8, 0xE1, 0xC5, 0x74, 0xAC, +0xE2, 0xC7, 0x2B, 0x72, 0x53, 0xCC, 0xA9, 0x28, 0x26, 0x43, 0x29, 0x2A, 0x52, 0xEC, 0xA4, 0xA8, +0x38, 0x45, 0xE7, 0xB8, 0x38, 0x08, 0xD6, 0x6B, 0xA8, 0x4F, 0xEC, 0xB4, 0xE1, 0x6E, 0x91, 0x21, +0xD9, 0xDA, 0x9D, 0x69, 0xBD, 0x8A, 0x30, 0x26, 0xC7, 0xFD, 0x55, 0x4B, 0x91, 0xA4, 0x3B, 0x2D, +0xCA, 0xC8, 0x80, 0x53, 0x73, 0xFC, 0x72, 0xC2, 0x78, 0x94, 0x3D, 0x9E, 0xE8, 0xA1, 0x7D, 0xC0, +0xF0, 0x56, 0x9F, 0x53, 0x61, 0xE8, 0xD7, 0xEE, 0x6D, 0x3D, 0x80, 0xAA, 0xDF, 0xA0, 0x46, 0xBD, +0x90, 0xF8, 0x71, 0x52, 0xBC, 0x42, 0xD1, 0x8D, 0xA8, 0x28, 0xF6, 0x83, 0x84, 0x51, 0xAC, 0x32, +0xA6, 0x3C, 0x1A, 0x10, 0xC2, 0x7D, 0x88, 0x08, 0x55, 0xC3, 0xAA, 0x21, 0xD7, 0x4A, 0x9D, 0xE5, +0xB4, 0x21, 0x79, 0xBF, 0xAD, 0x07, 0x50, 0xF5, 0x77, 0x2F, 0x06, 0x39, 0x02, 0x23, 0x8A, 0x42, +0x3C, 0xAD, 0x08, 0x23, 0x8B, 0xAA, 0x77, 0x24, 0x8B, 0xFC, 0x00, 0x84, 0xF0, 0x88, 0xE1, 0xE0, +0x0D, 0x77, 0x6D, 0x43, 0x21, 0x42, 0x98, 0xE7, 0x8F, 0x27, 0x5B, 0x5E, 0x4C, 0xC7, 0x2A, 0x7E, +0x40, 0x10, 0xC6, 0xE4, 0x28, 0x46, 0x14, 0xCB, 0x94, 0x8A, 0x62, 0xE4, 0x6C, 0x8D, 0xE3, 0xC2, +0x60, 0x07, 0x61, 0xAA, 0xE1, 0x6C, 0x29, 0x55, 0x30, 0xDC, 0x61, 0xB8, 0x7B, 0x94, 0xE1, 0x76, +0x4F, 0x17, 0xD9, 0xBB, 0x6D, 0xF6, 0x37, 0x25, 0xA3, 0x04, 0xED, 0xE7, 0x39, 0x8C, 0x52, 0x64, +0x67, 0x24, 0x43, 0x8B, 0xB1, 0x7C, 0x4F, 0xD9, 0x67, 0x08, 0x42, 0x78, 0x8C, 0x84, 0x18, 0x22, +0x88, 0xA1, 0xC5, 0x1B, 0x5A, 0x30, 0xCC, 0x6F, 0x1A, 0xB6, 0x7D, 0xBA, 0x98, 0x57, 0xF1, 0xED, +0xFC, 0x0B, 0x0D, 0x63, 0x8C, 0x4C, 0x50, 0x64, 0x46, 0xCD, 0xDA, 0xD8, 0x54, 0x84, 0x91, 0x2C, +0xF7, 0x83, 0x90, 0xA1, 0x34, 0x5F, 0x4A, 0x75, 0xDE, 0x21, 0xB9, 0xA1, 0xFE, 0xF5, 0x55, 0xC3, +0xE9, 0xAA, 0xE8, 0xA7, 0x87, 0x27, 0x2B, 0xF9, 0x63, 0x4A, 0xBF, 0xF8, 0xC4, 0x7F, 0x96, 0x82, +0xE3, 0x22, 0x45, 0x18, 0xBB, 0x6B, 0x14, 0x3D, 0x23, 0x8E, 0x2E, 0xD8, 0x35, 0x32, 0x07, 0x84, +0x30, 0x00, 0x62, 0x98, 0xA7, 0x77, 0x86, 0xE3, 0x62, 0xEA, 0x09, 0x15, 0x9D, 0x2E, 0xB6, 0xBE, +0x21, 0x4E, 0x97, 0x6F, 0xEF, 0xCE, 0x5C, 0x64, 0x38, 0x2A, 0x72, 0xD4, 0x40, 0xF1, 0xB2, 0x54, +0xEC, 0xAF, 0x1B, 0x8C, 0x38, 0x3E, 0x32, 0x37, 0x10, 0x2A, 0x73, 0xC2, 0x0E, 0xC2, 0x9A, 0xE1, +0xE1, 0x36, 0x18, 0x1A, 0xE1, 0xDC, 0x10, 0x42, 0xF2, 0x76, 0xDB, 0xA7, 0x8B, 0x59, 0x15, 0xED, +0x98, 0x71, 0xD6, 0x66, 0x94, 0xA2, 0xA5, 0xAE, 0x48, 0xA2, 0x22, 0x8C, 0x38, 0x2E, 0x86, 0x64, +0x1D, 0x00, 0xD0, 0x13, 0x76, 0x21, 0x43, 0xCB, 0x70, 0xFC, 0x1F, 0xE9, 0x36, 0x6E, 0x87, 0xD1, +0x90, 0xA5, 0xD4, 0x13, 0xFE, 0x2F, 0x36, 0x44, 0x8E, 0x19, 0xF7, 0xD5, 0x2F, 0xA6, 0x0C, 0xDB, +0x8A, 0xD5, 0x32, 0x2A, 0x39, 0x23, 0x8E, 0x92, 0x6C, 0x53, 0x46, 0x3E, 0x00, 0x21, 0x44, 0x70, +0xA1, 0xA1, 0x6E, 0x4B, 0xAF, 0xD8, 0x0E, 0xBF, 0xAA, 0xBD, 0xE9, 0xE7, 0xFD, 0xFF, 0x62, 0x43, +0x64, 0xB6, 0x61, 0x83, 0x62, 0x8B, 0xAA, 0x2A, 0x5E, 0x4B, 0xF1, 0x52, 0x8A, 0x96, 0x4A, 0x19, +0x95, 0xDB, 0x5B, 0x31, 0xE2, 0x08, 0xA4, 0x28, 0xAB, 0xD9, 0xD7, 0x05, 0x69, 0x61, 0x9D, 0xF0, +0xD2, 0x19, 0x9E, 0x7B, 0xC3, 0xD6, 0x1B, 0xB7, 0x36, 0x7F, 0x42, 0xF4, 0xB3, 0xCD, 0xBF, 0xEC, +0xDD, 0xFB, 0xAB, 0x4C, 0x51, 0x14, 0xC0, 0xF1, 0x24, 0x51, 0x9E, 0xE5, 0x91, 0xBC, 0x1F, 0x45, +0x0C, 0xA1, 0x90, 0x1F, 0xFC, 0xC0, 0x2F, 0x52, 0x6A, 0x14, 0xA1, 0x3C, 0xA3, 0x48, 0x29, 0x94, +0x3B, 0x2E, 0xE7, 0x1A, 0x35, 0xFF, 0xB9, 0xB5, 0xD7, 0x99, 0x7D, 0xBE, 0x67, 0xAD, 0xBD, 0xCF, +0x39, 0x33, 0xFC, 0xE2, 0x9E, 0x39, 0x5F, 0xF2, 0xEC, 0xBA, 0x9A, 0x8F, 0xB5, 0xF7, 0x3E, 0xE7, +0x8E, 0xB9, 0x67, 0x4D, 0xC9, 0x30, 0x06, 0xC3, 0xFA, 0x2C, 0x5E, 0x52, 0x48, 0xCD, 0x6C, 0x49, +0x75, 0xC6, 0x07, 0x30, 0x12, 0x94, 0xFE, 0x0B, 0x79, 0x41, 0x3F, 0x86, 0x2A, 0x88, 0xE1, 0x07, +0x63, 0xF8, 0x20, 0x1A, 0x4A, 0x18, 0x46, 0xC2, 0x3E, 0x6E, 0x88, 0x3C, 0x1F, 0x3C, 0x7F, 0xDA, +0xB7, 0x8A, 0x92, 0x51, 0xAC, 0x6A, 0x61, 0x94, 0x80, 0xEC, 0x0C, 0xC1, 0x26, 0x42, 0x00, 0x5D, +0xF3, 0xDB, 0x34, 0x71, 0x3B, 0xC4, 0x10, 0x42, 0xDB, 0x26, 0xBF, 0x65, 0x9A, 0xBD, 0x6F, 0x73, +0xD6, 0x3F, 0x21, 0xDA, 0x2B, 0x2A, 0x23, 0x2B, 0x6A, 0x80, 0x24, 0x19, 0x4B, 0xA7, 0xC8, 0xAA, +0x5A, 0x49, 0x2E, 0x01, 0x88, 0x20, 0x84, 0x77, 0xEE, 0x30, 0x83, 0x4D, 0x97, 0x16, 0x61, 0x3B, +0xC4, 0xF0, 0xEC, 0xB1, 0x66, 0xC3, 0xE9, 0xE6, 0xF8, 0x6F, 0xDD, 0xCB, 0xDD, 0xB7, 0xF9, 0xB9, +0xAF, 0x5E, 0xCA, 0x18, 0xF7, 0xC5, 0xA3, 0x0D, 0x8A, 0x0C, 0xA4, 0x65, 0xC4, 0x91, 0x91, 0xEC, +0xF6, 0x43, 0xB0, 0xF6, 0x02, 0x1F, 0xA9, 0xE1, 0x25, 0x76, 0xE3, 0xC4, 0xB0, 0x7A, 0x4A, 0x94, +0x21, 0xDC, 0x36, 0xEF, 0xCD, 0x46, 0x6F, 0x0E, 0x35, 0x8C, 0xE2, 0xDD, 0x75, 0x04, 0x71, 0xCC, +0x2B, 0x4A, 0x77, 0xD8, 0x15, 0x6D, 0x30, 0x66, 0x1C, 0x91, 0x24, 0xF0, 0x9C, 0x9E, 0x4E, 0x3D, +0x84, 0x0D, 0x63, 0xC8, 0x2B, 0xF2, 0x3C, 0x90, 0xCC, 0x9D, 0xB6, 0x74, 0x0C, 0xB7, 0x51, 0x9F, +0x0E, 0x35, 0xB5, 0x8B, 0xC5, 0x02, 0x3F, 0xC3, 0x88, 0xE2, 0x0D, 0x14, 0x65, 0x2E, 0x44, 0x10, +0xC5, 0x7A, 0x3C, 0xB0, 0x38, 0x56, 0xFB, 0x23, 0x98, 0x84, 0x1C, 0x80, 0x08, 0xCE, 0xDF, 0x5B, +0x4A, 0x68, 0x27, 0xBF, 0x24, 0x94, 0x29, 0x4C, 0x0C, 0xAF, 0x6D, 0x89, 0x84, 0xD4, 0xAF, 0x43, +0x4D, 0x6E, 0x41, 0x25, 0x86, 0xD1, 0x1C, 0x6F, 0xA2, 0x62, 0x10, 0xBB, 0xDF, 0xC1, 0x88, 0x23, +0x13, 0x89, 0x25, 0xA6, 0xFA, 0x05, 0x40, 0x3A, 0x0F, 0x61, 0xD6, 0xF0, 0x4E, 0x87, 0x61, 0x9D, +0x30, 0xFE, 0x87, 0x81, 0x9E, 0x1D, 0x6A, 0x6A, 0x0B, 0xEA, 0x77, 0xF3, 0xC4, 0x05, 0xC3, 0x58, +0xDD, 0xBE, 0x31, 0x8A, 0xA8, 0x75, 0xAE, 0xAA, 0x48, 0x42, 0x49, 0xCC, 0x1F, 0x80, 0xAC, 0xA3, +0x89, 0x9B, 0xAE, 0xE3, 0xFA, 0x33, 0xFE, 0xA9, 0xCC, 0x57, 0x52, 0x29, 0x1A, 0xA6, 0x9F, 0x87, +0xA5, 0xAA, 0x77, 0x87, 0x9A, 0xFA, 0x09, 0x75, 0x0B, 0xE1, 0x58, 0x0E, 0x63, 0x5D, 0x31, 0x38, +0xCA, 0xE9, 0xA6, 0x52, 0xBC, 0xCF, 0xB7, 0x29, 0x23, 0x90, 0x48, 0xA6, 0xC1, 0xE7, 0x87, 0x90, +0xCC, 0x2E, 0x1C, 0x45, 0x19, 0x43, 0x0C, 0xCB, 0x31, 0x94, 0x2C, 0x21, 0x86, 0xFD, 0xB9, 0x53, +0x43, 0x3C, 0x6B, 0x6A, 0x8B, 0xCB, 0x0C, 0x63, 0xA9, 0x58, 0xDF, 0x18, 0x39, 0x9F, 0x66, 0x17, +0x55, 0x1C, 0xB1, 0xEC, 0x8E, 0x19, 0xB4, 0x84, 0xA6, 0x8A, 0x10, 0xC3, 0x48, 0x98, 0x18, 0x96, +0x82, 0xF4, 0x62, 0xA3, 0x7F, 0x87, 0x9A, 0x88, 0x18, 0xEE, 0xA1, 0x7E, 0x62, 0x01, 0x32, 0x8C, +0x76, 0x49, 0x95, 0xDC, 0x92, 0x7A, 0x9F, 0x61, 0xC4, 0xD3, 0x38, 0x2E, 0x45, 0x79, 0xFE, 0x68, +0x78, 0x93, 0x54, 0x0F, 0x42, 0x37, 0x86, 0xDE, 0x70, 0x5F, 0x40, 0xE4, 0x13, 0x3D, 0x5A, 0xC3, +0x1E, 0x1E, 0x4C, 0xCD, 0x82, 0xBA, 0x6E, 0xAF, 0x8A, 0x13, 0x46, 0x96, 0xD4, 0x90, 0x20, 0xB2, +0xA4, 0x4A, 0x30, 0x02, 0xC9, 0x75, 0x80, 0xA9, 0x75, 0x00, 0x01, 0x44, 0xB0, 0x6B, 0x0C, 0x4F, +0xB3, 0x94, 0x72, 0x2C, 0x85, 0xB0, 0xD6, 0x7A, 0x2F, 0x0F, 0x35, 0xE6, 0x3A, 0x03, 0x41, 0x1C, +0x13, 0x45, 0x9E, 0xB3, 0x01, 0xE3, 0xFD, 0xB2, 0x8A, 0xD1, 0x3A, 0x02, 0xD9, 0x9D, 0x59, 0x41, +0x5B, 0xC7, 0x50, 0x12, 0xC2, 0x07, 0x7C, 0xDC, 0x09, 0x43, 0x56, 0x52, 0x57, 0x2F, 0x2F, 0x2E, +0xEC, 0x75, 0xC6, 0x78, 0x8A, 0x5F, 0x1B, 0x63, 0x5D, 0xB1, 0xDA, 0x17, 0x63, 0xF1, 0xC7, 0x66, +0x5D, 0xA5, 0x6E, 0x3E, 0x04, 0xF3, 0x84, 0x8C, 0xA1, 0x9E, 0x4A, 0xAD, 0x21, 0x63, 0x08, 0x21, +0xAF, 0xB2, 0xF2, 0xAB, 0xE7, 0x86, 0xF3, 0x6D, 0x11, 0x3E, 0xC7, 0xE8, 0x87, 0xF1, 0x01, 0xC3, +0x08, 0x23, 0xE1, 0x08, 0x64, 0x67, 0x29, 0xE0, 0x7D, 0xFD, 0x6A, 0x0B, 0x86, 0xF1, 0xA0, 0x1B, +0x09, 0x6F, 0x65, 0xC6, 0x30, 0x0A, 0x92, 0x5C, 0x20, 0xF6, 0xF4, 0x60, 0x6A, 0xB7, 0x45, 0x73, +0x73, 0x23, 0xCF, 0xC8, 0x30, 0x4A, 0x3A, 0x8C, 0xD7, 0x41, 0x24, 0x1C, 0x69, 0x21, 0x3F, 0x04, +0x59, 0x97, 0x89, 0x23, 0x4D, 0x1C, 0x43, 0x29, 0x1D, 0x43, 0x08, 0xA9, 0x18, 0xF7, 0xF5, 0xE2, +0xC2, 0x6D, 0x8B, 0x13, 0x08, 0x6B, 0x90, 0xB5, 0x35, 0xF5, 0xDE, 0x31, 0x55, 0xF4, 0x6B, 0x2A, +0x8C, 0x84, 0xA3, 0xC7, 0x68, 0xC4, 0xA3, 0xDA, 0xDB, 0xBA, 0x15, 0x55, 0xD7, 0xD2, 0x07, 0x92, +0x1E, 0x4A, 0xA5, 0xEC, 0x18, 0x46, 0x42, 0x9A, 0xAE, 0x82, 0xE1, 0xFC, 0x6A, 0xD1, 0x5C, 0x1B, +0x3B, 0x46, 0x73, 0x1F, 0xEE, 0xC6, 0xC2, 0x8C, 0x78, 0x76, 0x54, 0x91, 0x73, 0x4E, 0x2A, 0xBF, +0x91, 0x58, 0x4A, 0x73, 0x63, 0x78, 0x96, 0x31, 0x34, 0x84, 0xBC, 0x0C, 0x67, 0x7F, 0x2F, 0xF2, +0x1D, 0xA2, 0xDE, 0x44, 0x85, 0x50, 0x4B, 0x18, 0xB9, 0x83, 0xC3, 0x9A, 0xEA, 0xCF, 0xA9, 0x4B, +0x62, 0xF2, 0x1B, 0xFC, 0x90, 0x20, 0x64, 0x25, 0x0D, 0x88, 0xB7, 0x22, 0x21, 0x1F, 0xFE, 0x85, +0xB0, 0x14, 0xA4, 0x9F, 0x3F, 0x7A, 0x7C, 0x81, 0x98, 0x1E, 0x6E, 0x5E, 0x00, 0x88, 0x23, 0x8C, +0x0D, 0x37, 0xC5, 0x23, 0xE3, 0x7D, 0x18, 0xE2, 0xA7, 0x2F, 0x96, 0xEF, 0xFE, 0x2D, 0x08, 0x59, +0x49, 0x95, 0x90, 0x31, 0x64, 0x25, 0x85, 0xD0, 0x18, 0xF6, 0xF7, 0x46, 0x4D, 0xFE, 0x56, 0x38, +0x7A, 0x29, 0x23, 0xC3, 0x58, 0x3A, 0xDE, 0xA8, 0x33, 0xC6, 0x55, 0x15, 0xB9, 0xF7, 0x65, 0xEA, +0xD9, 0x21, 0x8A, 0x7D, 0xC3, 0xDC, 0x56, 0x84, 0xA7, 0x21, 0x64, 0x0C, 0xEB, 0x2B, 0xA9, 0x0A, +0xAE, 0xAC, 0x61, 0x79, 0xB8, 0x59, 0xAF, 0x9F, 0xEC, 0x2C, 0xA3, 0x5F, 0x53, 0xF3, 0x8C, 0x38, +0x2A, 0x23, 0x21, 0xEB, 0x9A, 0xF3, 0x49, 0x20, 0xB6, 0x10, 0xDE, 0x68, 0x59, 0x49, 0x21, 0xE4, +0x75, 0xFE, 0x9F, 0xAF, 0x94, 0x61, 0xA9, 0x38, 0xA9, 0x08, 0x0D, 0x24, 0x8C, 0x6D, 0xD3, 0x78, +0xA9, 0xB6, 0xAA, 0xAA, 0xC9, 0x72, 0x89, 0xA1, 0x52, 0x22, 0x18, 0xBA, 0x63, 0x09, 0xB5, 0x16, +0x42, 0x15, 0xA4, 0x55, 0x33, 0x2C, 0x15, 0x8B, 0xB9, 0x21, 0xA5, 0x8C, 0xAA, 0x28, 0xB9, 0xBD, +0x31, 0x8E, 0x23, 0x8E, 0xA2, 0xB2, 0x6C, 0xCA, 0xCF, 0x10, 0xA6, 0x84, 0xF7, 0x1C, 0xA1, 0x04, +0x61, 0x29, 0x48, 0xAB, 0xB5, 0x96, 0x56, 0x87, 0x9B, 0x71, 0x61, 0xCF, 0xE7, 0x9A, 0x61, 0xD4, +0x61, 0x3C, 0x6B, 0x18, 0xA3, 0x23, 0x67, 0x55, 0x1C, 0x97, 0x81, 0x54, 0x77, 0x08, 0x11, 0x0C, +0xDD, 0x32, 0x84, 0xFB, 0xD8, 0x0C, 0x3D, 0xE1, 0xCE, 0x79, 0x2B, 0x69, 0x38, 0x57, 0x9C, 0x42, +0x58, 0xD6, 0xC8, 0xC8, 0xBD, 0x38, 0xC6, 0x31, 0x71, 0xCC, 0x1A, 0x3E, 0xC9, 0x23, 0xBA, 0x9D, +0x30, 0x4F, 0x28, 0xD5, 0x09, 0xB7, 0x41, 0x58, 0x02, 0xD2, 0x4A, 0x1A, 0x46, 0x45, 0xFC, 0xBC, +0x63, 0x9E, 0x91, 0xDB, 0x38, 0xA7, 0xA3, 0x23, 0x90, 0x48, 0xB6, 0xE7, 0x37, 0x42, 0x15, 0xE4, +0xCA, 0xDE, 0xDE, 0xE9, 0x96, 0x3C, 0xA1, 0xCE, 0xE0, 0x60, 0x58, 0x5D, 0xF4, 0x4F, 0xED, 0xE6, +0xD2, 0xC4, 0x28, 0x29, 0xA3, 0x77, 0x94, 0x80, 0xB4, 0xD7, 0xF4, 0x79, 0x3D, 0xF8, 0x00, 0x44, +0x50, 0x87, 0x90, 0xA7, 0x41, 0xE5, 0x09, 0xA3, 0xE0, 0xED, 0xD8, 0xCE, 0x9D, 0xD3, 0x95, 0xB9, +0xC6, 0x6F, 0x52, 0xC4, 0x10, 0x48, 0xCF, 0x28, 0x8E, 0x1C, 0x55, 0xEF, 0xE1, 0x28, 0x01, 0x09, +0x25, 0x71, 0x00, 0x25, 0x56, 0x50, 0x05, 0x64, 0x06, 0x17, 0x26, 0x54, 0x41, 0x5A, 0x61, 0x43, +0xBD, 0xE8, 0x17, 0x45, 0xBB, 0x38, 0xA9, 0x63, 0x03, 0x23, 0xE3, 0xC8, 0xAD, 0x1C, 0x20, 0x25, +0x61, 0x29, 0x2D, 0xC1, 0xF4, 0x78, 0xA2, 0x87, 0x9F, 0x02, 0x86, 0x14, 0x10, 0xC1, 0xB3, 0xED, +0x84, 0xB7, 0x4D, 0x5F, 0xA7, 0xE3, 0x15, 0x36, 0x44, 0x71, 0xA7, 0x2D, 0x8E, 0x63, 0xC2, 0xC8, +0x95, 0xA3, 0xF9, 0xAF, 0x8D, 0x48, 0x2A, 0xA5, 0x02, 0xDD, 0xC9, 0x77, 0x54, 0x33, 0x7E, 0x37, +0x10, 0x84, 0x50, 0x05, 0x53, 0x42, 0x04, 0xBF, 0x6A, 0xB7, 0xA5, 0x95, 0xF8, 0xD8, 0x53, 0xB7, +0xA2, 0xDF, 0x62, 0xA4, 0xFA, 0x38, 0x72, 0x33, 0x2E, 0x40, 0x7A, 0xC7, 0x38, 0x93, 0x50, 0xA2, +0x49, 0xD8, 0xC1, 0x07, 0x60, 0x5D, 0x50, 0xDA, 0x97, 0x12, 0xC6, 0x21, 0x04, 0x30, 0x2A, 0xFE, +0x1A, 0xAD, 0xB8, 0x61, 0xDC, 0x17, 0x21, 0x04, 0x32, 0xB7, 0xAA, 0x46, 0xC7, 0xE4, 0xC5, 0x1B, +0x78, 0x65, 0x23, 0x30, 0x89, 0xF8, 0xFD, 0x1A, 0x9F, 0x11, 0x6C, 0x21, 0x44, 0x70, 0x57, 0xD9, +0x57, 0x69, 0xD2, 0xFF, 0x8F, 0xE3, 0x2F, 0x7A, 0xD5, 0x0F, 0x5F, 0xEA, 0xE8, 0x19, 0xA3, 0xA3, +0xDE, 0x04, 0x88, 0x90, 0xC6, 0x92, 0xB9, 0xB4, 0xC5, 0x13, 0x68, 0xF4, 0x03, 0xD0, 0x0B, 0x72, +0x77, 0xC6, 0xAE, 0xA3, 0x25, 0xE0, 0xEE, 0x32, 0x51, 0xFC, 0xB8, 0x3E, 0x18, 0x5A, 0xC5, 0xAF, +0x84, 0xA3, 0x5F, 0x55, 0x71, 0xE4, 0xF2, 0xD1, 0x4B, 0x32, 0x99, 0xE6, 0x67, 0xB6, 0x70, 0x3C, +0x8A, 0x80, 0x08, 0x32, 0x84, 0x59, 0xC2, 0x00, 0x48, 0xBB, 0x7E, 0x7E, 0x1F, 0x0C, 0x51, 0x1C, +0x4D, 0xBE, 0xB2, 0x4E, 0x49, 0x15, 0xA4, 0x8E, 0x63, 0x64, 0xCC, 0x3A, 0x02, 0xC9, 0x2B, 0x8E, +0x11, 0xA1, 0x57, 0xE7, 0x53, 0x40, 0x4D, 0xFD, 0x54, 0x30, 0xBB, 0x8E, 0x22, 0x48, 0x72, 0x69, +0xD1, 0xF3, 0xE7, 0xB5, 0x2D, 0xA1, 0xA8, 0x1F, 0x99, 0x52, 0xC2, 0xDD, 0x14, 0x20, 0x19, 0x47, +0x1C, 0x95, 0x51, 0xB2, 0xFF, 0xE5, 0x18, 0x49, 0xE6, 0xD2, 0x05, 0x1E, 0x7E, 0x00, 0x22, 0x98, +0x0C, 0xA1, 0x13, 0x3C, 0x71, 0xE2, 0xC4, 0x6E, 0xAD, 0x58, 0xED, 0x4B, 0x0B, 0x42, 0xF1, 0xFB, +0x63, 0x08, 0xD9, 0x74, 0xD4, 0x31, 0xD9, 0x1D, 0x71, 0xD4, 0xDC, 0x6B, 0x00, 0x38, 0x4E, 0xD8, +0xE6, 0xDF, 0x09, 0x1F, 0x7E, 0x4D, 0x82, 0x4A, 0xC8, 0x10, 0xCE, 0xFD, 0x68, 0xF7, 0x97, 0xC9, +0x70, 0x2C, 0x4D, 0x14, 0xEF, 0x6E, 0xFC, 0x8C, 0xFF, 0xD4, 0x43, 0x11, 0x12, 0x47, 0x7B, 0x58, +0x05, 0x92, 0xB5, 0x15, 0xCB, 0x50, 0xF0, 0x22, 0xD5, 0x95, 0xE0, 0xF3, 0x9F, 0x01, 0xAE, 0x79, +0x08, 0x1D, 0xA0, 0xF6, 0x68, 0xD8, 0x0E, 0x93, 0x82, 0xE2, 0x8F, 0xC2, 0x3F, 0x56, 0x38, 0xA6, +0xCB, 0x2A, 0x03, 0x09, 0x24, 0x92, 0x80, 0x3A, 0x39, 0xF8, 0xF0, 0x43, 0xD0, 0xEC, 0x84, 0x5E, +0x70, 0x6B, 0x4C, 0x7E, 0x2C, 0xDB, 0xE1, 0x60, 0x98, 0x3F, 0xA4, 0x4E, 0xE6, 0x86, 0x5B, 0x35, +0x20, 0xF3, 0x8E, 0x3A, 0x90, 0x48, 0xB2, 0xBC, 0x7A, 0x4C, 0xAF, 0x87, 0x1F, 0x80, 0xD9, 0x65, +0x14, 0xC1, 0xAD, 0xA6, 0x13, 0xC5, 0x78, 0x38, 0xD2, 0x34, 0x1F, 0x6F, 0x1E, 0xF1, 0x80, 0xD5, +0x24, 0x5B, 0x1C, 0x81, 0x24, 0x30, 0x4D, 0xE8, 0xE1, 0x07, 0x20, 0x82, 0x66, 0x19, 0xD5, 0xBF, +0x8F, 0x23, 0x7C, 0x38, 0x5C, 0x1D, 0xB6, 0x6F, 0x8C, 0xD3, 0xEA, 0x31, 0xA3, 0x06, 0x47, 0x03, +0x09, 0x65, 0x57, 0xF8, 0x01, 0xD8, 0x2D, 0x78, 0x52, 0xD3, 0x1F, 0x4E, 0x37, 0x86, 0xA5, 0xB4, +0x5D, 0x71, 0x5C, 0xF0, 0xA0, 0x69, 0x40, 0xA6, 0x8E, 0x40, 0xF2, 0x2C, 0x72, 0xAD, 0x15, 0x0F, +0x3F, 0x03, 0xE8, 0x04, 0x59, 0x44, 0x4F, 0xD6, 0xDB, 0xFA, 0x74, 0x32, 0x1E, 0x0C, 0x17, 0x58, +0x52, 0x79, 0xDC, 0x90, 0x64, 0x20, 0x39, 0xAF, 0xD6, 0x21, 0xA1, 0xC4, 0xD2, 0x87, 0x9E, 0xF2, +0xF1, 0x2C, 0x7C, 0x4E, 0x32, 0x46, 0x10, 0x40, 0x9A, 0x0D, 0xA7, 0xD2, 0x6E, 0x45, 0x3D, 0xA5, +0x9E, 0x0C, 0x9D, 0xAA, 0x02, 0xD2, 0x0D, 0x24, 0x90, 0x48, 0x82, 0x99, 0x04, 0x1E, 0x7E, 0x11, +0xB0, 0x76, 0x92, 0xB1, 0x80, 0xA7, 0x48, 0xFE, 0x0E, 0xC3, 0x18, 0x2E, 0xAA, 0x38, 0x5A, 0x7F, +0x18, 0x1F, 0x3C, 0xCA, 0x3B, 0x2A, 0xA4, 0xE4, 0x9E, 0x2F, 0x97, 0x0F, 0x3E, 0xF5, 0x73, 0x80, +0x4E, 0x10, 0x3F, 0x1A, 0xC6, 0x70, 0xB9, 0x61, 0x3C, 0x15, 0xDA, 0x51, 0xD5, 0x0E, 0x89, 0x64, +0xB4, 0x24, 0xD4, 0x24, 0xF4, 0xC4, 0xAF, 0x13, 0xD0, 0xFF, 0x05, 0x8A, 0x61, 0x0C, 0x97, 0x1D, +0xC6, 0xF8, 0x10, 0x52, 0x33, 0x24, 0x1F, 0x4B, 0x06, 0x33, 0x0D, 0x3C, 0x9E, 0x28, 0xA3, 0x80, +0x08, 0x02, 0xB8, 0xC3, 0x25, 0x63, 0x18, 0xEE, 0xB3, 0x0D, 0x86, 0xCB, 0x0D, 0xE3, 0xE7, 0x1D, +0xD2, 0x21, 0x42, 0xD2, 0x40, 0x72, 0xB7, 0x5C, 0x2D, 0xC1, 0x74, 0x81, 0xA7, 0x7C, 0xEA, 0xD7, +0x0E, 0x58, 0x7F, 0xBF, 0x9F, 0x87, 0xDD, 0xF0, 0xAF, 0x86, 0xF1, 0xFB, 0x4C, 0x1E, 0xC7, 0x03, +0xA6, 0x43, 0x87, 0x18, 0x49, 0x20, 0xA3, 0x24, 0x94, 0x25, 0x27, 0x41, 0x07, 0x5F, 0xF4, 0xB3, +0x80, 0x91, 0xCF, 0xBD, 0xD3, 0x62, 0x63, 0x74, 0x65, 0x18, 0xC3, 0xBF, 0x5B, 0x53, 0xD7, 0x0C, +0x61, 0x2A, 0xE9, 0x2E, 0x3F, 0xB0, 0x0C, 0x9C, 0x04, 0x1D, 0x7A, 0xF8, 0x01, 0x88, 0x9F, 0xE9, +0xD0, 0x6C, 0x7D, 0x34, 0x8C, 0xE1, 0x92, 0x80, 0x9A, 0x28, 0x5E, 0x19, 0xFD, 0x98, 0xC0, 0xE8, +0x25, 0xFD, 0x2E, 0xC9, 0x3D, 0x3A, 0x52, 0x53, 0x51, 0x23, 0x6E, 0x67, 0x77, 0xF8, 0xD1, 0xDA, +0x64, 0x2C, 0x63, 0x28, 0x86, 0xA6, 0x61, 0x2C, 0x09, 0xB9, 0x24, 0x1D, 0xC6, 0x1F, 0x85, 0x32, +0x1E, 0xAE, 0xD5, 0x2A, 0x09, 0x66, 0x1A, 0x78, 0x12, 0x17, 0x81, 0x19, 0xBF, 0xDA, 0xBB, 0x39, +0x54, 0xFC, 0x18, 0xDD, 0x75, 0x86, 0x83, 0x67, 0x2B, 0x9D, 0x57, 0x94, 0xFB, 0x70, 0x1B, 0x05, +0x84, 0x59, 0x4A, 0xB3, 0x4F, 0x82, 0xE9, 0x43, 0x0F, 0x3E, 0xEF, 0x97, 0xBE, 0x8F, 0x62, 0x63, +0xAC, 0x86, 0x35, 0xC4, 0x81, 0x13, 0xBD, 0x2E, 0x40, 0x4D, 0x14, 0x47, 0xC2, 0x78, 0xF0, 0xB0, +0x76, 0xA6, 0x2C, 0x47, 0xC9, 0x46, 0x89, 0xA6, 0x0D, 0x3B, 0xF8, 0xD0, 0xCB, 0x57, 0x7C, 0x1F, +0x07, 0x43, 0x41, 0xB4, 0xAD, 0xB6, 0x65, 0xB7, 0x1C, 0xA9, 0xA1, 0x2A, 0x0A, 0xE3, 0x5A, 0x20, +0x3C, 0x52, 0x0B, 0xCD, 0x74, 0x81, 0x8D, 0x9E, 0x04, 0x5D, 0xF3, 0xF0, 0x9D, 0xA9, 0x35, 0x27, +0x7C, 0x35, 0x1E, 0x05, 0x43, 0x4A, 0x3D, 0x57, 0x0A, 0x73, 0x11, 0x3D, 0xE8, 0xE8, 0xEE, 0xDD, +0xA0, 0xF8, 0x4A, 0x18, 0x4B, 0xC3, 0x8B, 0xB1, 0x0A, 0x93, 0xB1, 0xAC, 0xC7, 0x25, 0x1E, 0xD7, +0x7C, 0x6E, 0xDF, 0x03, 0xEF, 0x88, 0x4B, 0x7E, 0x49, 0x08, 0x9F, 0xBD, 0x92, 0x39, 0x14, 0xC5, +0x32, 0x30, 0x53, 0xCE, 0xFE, 0x6F, 0x99, 0xCB, 0xE9, 0x81, 0x17, 0x1B, 0x8D, 0x82, 0xE2, 0xB3, +0xB7, 0x93, 0x19, 0x84, 0xF5, 0xAA, 0x87, 0x1D, 0xCD, 0x96, 0xC0, 0x63, 0xB4, 0xD3, 0x3F, 0x6F, +0xAD, 0xD8, 0x78, 0xF6, 0xEC, 0x95, 0x20, 0x8A, 0x62, 0xEC, 0x2E, 0x35, 0x5A, 0xF6, 0x92, 0xF2, +0xEF, 0xF4, 0xE0, 0xD3, 0xC6, 0xD2, 0xAB, 0x57, 0xCF, 0x9E, 0xBD, 0x5D, 0x2F, 0x2E, 0x86, 0x8E, +0x9B, 0x2C, 0x26, 0x9A, 0x4D, 0x31, 0x79, 0xB8, 0x39, 0xC5, 0xD9, 0xE4, 0xF5, 0xDB, 0x60, 0x18, +0x14, 0x69, 0x09, 0xCB, 0xFE, 0x40, 0x2E, 0xE4, 0x67, 0xF4, 0xB0, 0x43, 0xAF, 0xEC, 0x95, 0x20, +0x8A, 0xE2, 0xDB, 0x77, 0x93, 0x99, 0x18, 0x5E, 0xBE, 0x7C, 0x79, 0x0F, 0x5D, 0x0E, 0x65, 0x38, +0x95, 0x54, 0x8B, 0x6A, 0xC8, 0xF1, 0x8F, 0xE1, 0x32, 0xCD, 0xFF, 0x88, 0xD9, 0xEF, 0xD7, 0x6F, +0xDF, 0x0A, 0xA2, 0x30, 0x92, 0xB1, 0x74, 0x9A, 0x0D, 0x94, 0x9B, 0x1F, 0xB2, 0x1B, 0x30, 0xEF, +0x97, 0xEA, 0xC5, 0x9E, 0xA9, 0xE2, 0xEB, 0xD7, 0xEB, 0xC5, 0x1A, 0x84, 0x3E, 0x3C, 0xB3, 0xE1, +0xB6, 0x27, 0x53, 0x78, 0xD3, 0xD9, 0xAF, 0x97, 0xEF, 0x5E, 0x0B, 0xA2, 0x32, 0xC6, 0x9A, 0x2C, +0xBB, 0x25, 0x37, 0xAF, 0xE3, 0x22, 0x80, 0xDD, 0x7E, 0xE8, 0xC5, 0xC4, 0x30, 0x28, 0xBE, 0x7E, +0xF7, 0xBB, 0x58, 0xDB, 0x23, 0x9D, 0x4B, 0xCB, 0xD2, 0xE4, 0xCD, 0x33, 0x6F, 0xB4, 0x56, 0xFC, +0x7E, 0xF9, 0x4E, 0x0C, 0x4B, 0x45, 0x24, 0xBD, 0x65, 0xA3, 0x64, 0x5F, 0x20, 0x97, 0x16, 0xCC, +0x03, 0xE2, 0x07, 0xA0, 0xA6, 0x8A, 0xEF, 0x5E, 0xFE, 0x2E, 0x66, 0x0A, 0xB0, 0x37, 0x13, 0x3C, +0x44, 0xEE, 0x6D, 0x2A, 0xC8, 0x8B, 0x22, 0x28, 0x84, 0x62, 0x28, 0x01, 0xE9, 0x29, 0xBB, 0x20, +0xBD, 0xE3, 0xF6, 0xCD, 0xE7, 0xD8, 0x42, 0x38, 0x67, 0x04, 0x30, 0xD6, 0x0C, 0x88, 0x1F, 0x82, +0xDA, 0x3B, 0x61, 0x7C, 0xF9, 0xED, 0xD7, 0x6C, 0x8F, 0xF1, 0xB8, 0x7A, 0xF5, 0xEA, 0xDE, 0xA5, +0x02, 0x52, 0x66, 0xF0, 0xDB, 0x4B, 0x35, 0x14, 0x45, 0x1C, 0x8D, 0x64, 0x27, 0x64, 0x3A, 0x90, +0x71, 0x16, 0x37, 0x15, 0xE3, 0xE2, 0x43, 0xF8, 0xB7, 0x82, 0x4A, 0x28, 0x88, 0x81, 0x51, 0x1C, +0xC3, 0x40, 0xAA, 0x9E, 0xB6, 0x7F, 0x91, 0xAE, 0x52, 0x89, 0xBE, 0x67, 0xF6, 0x2B, 0x08, 0x46, +0x43, 0x20, 0xFF, 0xC1, 0x11, 0x46, 0xDA, 0x24, 0x8A, 0x4D, 0x86, 0xDB, 0x3D, 0x61, 0xFB, 0x2A, +0x0A, 0xA0, 0x13, 0xC4, 0x30, 0x2A, 0x8A, 0xE3, 0xB7, 0xDF, 0xBF, 0x66, 0x6B, 0x95, 0xDF, 0x85, +0xEE, 0xEA, 0x9C, 0xE7, 0x02, 0xA0, 0xF4, 0xB2, 0x44, 0x84, 0xB1, 0xD9, 0xB1, 0x92, 0x6C, 0x5F, +0x57, 0x61, 0x8C, 0x86, 0x9B, 0x41, 0x71, 0xFB, 0xB2, 0x84, 0x18, 0xE6, 0xA7, 0x50, 0x1E, 0xAD, +0x08, 0x98, 0x10, 0xA2, 0xA8, 0x8E, 0x2A, 0x39, 0xB3, 0x82, 0x37, 0x7D, 0x4E, 0xF2, 0xEA, 0xAC, +0x98, 0x28, 0xA0, 0x0A, 0x2A, 0x21, 0x86, 0x19, 0xC7, 0xEE, 0x69, 0x1C, 0x75, 0x4E, 0xE3, 0x7F, +0xBF, 0xA6, 0xFE, 0x61, 0xDF, 0x6E, 0x76, 0x1A, 0x04, 0xA2, 0x30, 0x0C, 0xB3, 0xEB, 0xD2, 0x18, +0xAF, 0xC2, 0x7B, 0x22, 0x24, 0xDC, 0x83, 0x6E, 0x4C, 0x63, 0xC2, 0x9D, 0x3B, 0x1C, 0x62, 0x5F, +0xA6, 0xF9, 0xF0, 0x4C, 0x27, 0x34, 0x71, 0xE0, 0xBC, 0xAD, 0xED, 0xC2, 0xB6, 0x2E, 0x1E, 0x0F, +0x94, 0xBF, 0x8B, 0xCE, 0x0C, 0x25, 0x22, 0x84, 0xDA, 0x90, 0x10, 0x5C, 0x0C, 0x07, 0x14, 0x71, +0x9C, 0x25, 0xD3, 0xD2, 0x75, 0x7A, 0x99, 0xF9, 0x5E, 0x75, 0x8B, 0xE5, 0xCB, 0x34, 0x7D, 0x19, +0x1F, 0x82, 0x30, 0xF6, 0x37, 0x40, 0x13, 0xC4, 0x71, 0x1C, 0x18, 0x46, 0x6F, 0x99, 0xAA, 0xD7, +0x8C, 0x0D, 0xAC, 0x18, 0x9D, 0x49, 0xC4, 0xB0, 0x68, 0x0E, 0xC7, 0xF9, 0x7E, 0x1B, 0xC3, 0x15, +0xE3, 0xAA, 0xFE, 0xC6, 0x88, 0xE3, 0x62, 0xF9, 0x79, 0x4D, 0x9A, 0x69, 0x21, 0xFB, 0x8E, 0xDF, +0xDB, 0xC7, 0x94, 0xEC, 0xAE, 0xD7, 0x6F, 0xE3, 0x5B, 0xEA, 0x13, 0xA1, 0x3D, 0xA0, 0xB8, 0x7C, +0x2C, 0x41, 0x38, 0x40, 0x58, 0x36, 0x8B, 0x28, 0x1E, 0x67, 0x12, 0xCB, 0x11, 0x97, 0xE4, 0x17, +0x1A, 0xBB, 0x41, 0x68, 0xC3, 0x43, 0xB3, 0x88, 0x1B, 0x80, 0x2A, 0x08, 0xED, 0x2F, 0xE5, 0xA3, +0x08, 0xE3, 0xF8, 0x10, 0xE2, 0x71, 0x26, 0xD1, 0x5D, 0x9C, 0xEA, 0x49, 0xB4, 0x51, 0xC4, 0x31, +0xDD, 0xA9, 0x67, 0x12, 0x8B, 0x29, 0xF1, 0x63, 0x0A, 0x01, 0xBC, 0x9B, 0x44, 0x08, 0xC5, 0xC2, +0x74, 0xF3, 0xBB, 0xCD, 0x99, 0xD6, 0x89, 0x5A, 0x51, 0x6F, 0xE0, 0xD3, 0x3C, 0x21, 0xD4, 0xA7, +0x5B, 0xEE, 0x97, 0x13, 0xE1, 0xC6, 0x6F, 0xD2, 0x13, 0xAF, 0xCB, 0xCA, 0x08, 0x07, 0x08, 0x33, +0x45, 0xFB, 0x0F, 0xFB, 0xD3, 0xB0, 0xE1, 0x75, 0x62, 0xE1, 0x16, 0x46, 0xF9, 0x57, 0x9B, 0x31, +0x67, 0x24, 0x63, 0x24, 0x18, 0x15, 0xE5, 0xCA, 0x4D, 0xDA, 0x01, 0x98, 0x13, 0x6E, 0x6D, 0x63, +0x64, 0x84, 0xDE, 0x1C, 0x5A, 0xAD, 0x6D, 0x29, 0x6E, 0x31, 0x6E, 0x0F, 0xA3, 0xE3, 0xA8, 0x57, +0x8D, 0xA9, 0x95, 0xA1, 0x84, 0x34, 0x31, 0x6E, 0x0B, 0x23, 0xA2, 0xF7, 0x94, 0x7C, 0x94, 0x05, +0x5F, 0x2E, 0x58, 0xB1, 0xF7, 0x8D, 0xCD, 0xC4, 0xAE, 0x09, 0xC2, 0x4D, 0xC5, 0x8E, 0x65, 0xAA, +0x70, 0xF4, 0xF7, 0x7B, 0x13, 0x8E, 0x40, 0x52, 0x5F, 0xD1, 0x22, 0x87, 0x1F, 0x5B, 0x16, 0xFE, +0xEE, 0x9A, 0xF2, 0xFD, 0x35, 0x97, 0xFF, 0xBF, 0x3A, 0xAC, 0xDC, 0x01, 0x8E, 0xE3, 0x63, 0x90, +0xA4, 0x24, 0x4D, 0xA4, 0x00, 0x4F, 0x35, 0xD0, 0x23, 0x80, 0x5A, 0xB0, 0xED, 0x23, 0x8B, 0xEE, +0x38, 0xFA, 0x07, 0x32, 0xB4, 0xA4, 0xA6, 0x04, 0xB3, 0xBE, 0xC1, 0xE1, 0x13, 0x7E, 0xCE, 0x21, +0x8C, 0x56, 0x87, 0x70, 0xDD, 0x53, 0x8E, 0x09, 0x63, 0xA9, 0x34, 0xA9, 0xC2, 0x0D, 0x3B, 0xF4, +0xEA, 0x8F, 0x0A, 0x37, 0xB4, 0x51, 0xF1, 0xD4, 0xB3, 0x33, 0xA0, 0xD4, 0x63, 0x89, 0x26, 0x9C, +0x80, 0x16, 0x87, 0x1C, 0x76, 0x7A, 0xF8, 0xE8, 0x3C, 0xE7, 0x67, 0x20, 0x59, 0x41, 0x89, 0xA5, +0xC6, 0x84, 0x13, 0x4F, 0x13, 0xB5, 0xA7, 0xB2, 0x78, 0x79, 0x7A, 0x14, 0x74, 0x02, 0x0F, 0x3D, +0xC1, 0x77, 0xCC, 0x13, 0xA5, 0x7E, 0xAB, 0x38, 0x63, 0x51, 0x69, 0xC2, 0x89, 0x27, 0xA2, 0x86, +0x0A, 0x6C, 0xCE, 0x6B, 0x3F, 0x3A, 0x7B, 0x53, 0x7A, 0x3B, 0x21, 0x07, 0x9D, 0xB6, 0x43, 0x8F, +0x8E, 0x78, 0xCA, 0x62, 0xDD, 0xB9, 0xC3, 0x5A, 0x13, 0x4F, 0x40, 0x25, 0x2B, 0x41, 0x8C, 0x13, +0x09, 0x32, 0xE0, 0x90, 0xA3, 0x33, 0x9F, 0x3D, 0x5C, 0x46, 0x09, 0xA6, 0xEF, 0x89, 0x29, 0x21, +0xEB, 0xA7, 0xC1, 0x50, 0x73, 0xE5, 0xE8, 0xB4, 0x17, 0x65, 0x5C, 0xC8, 0xE1, 0xD4, 0x9E, 0x5A, +0xD5, 0x23, 0xD6, 0x4C, 0xDA, 0x4C, 0xCB, 0x51, 0x5C, 0x1E, 0xE5, 0x68, 0xBA, 0xA0, 0xC0, 0xEE, +0x1A, 0x60, 0xBA, 0xB8, 0xB4, 0x6D, 0x0F, 0x4D, 0x54, 0x9F, 0x1F, 0x66, 0x61, 0x57, 0xE3, 0xD9, +0x4E, 0x5D, 0xD4, 0x22, 0x69, 0x17, 0xED, 0x2A, 0x0B, 0xF1, 0xEE, 0x4C, 0xE1, 0x15, 0x45, 0x51, +0x14, 0x45, 0x51, 0x14, 0x45, 0x51, 0x14, 0x45, 0x51, 0x14, 0x45, 0x51, 0x14, 0xFD, 0xB0, 0x07, +0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0xFE, 0xAF, 0x8D, 0xA0, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, +0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x6C, 0x14, 0x8C, 0x82, 0x51, 0x30, 0x0A, +0x46, 0xC1, 0x28, 0x18, 0x05, 0xA3, 0x60, 0xC0, 0x00, 0x00, 0xAE, 0x35, 0x8B, 0xDF, 0x5E, 0xD0, +0xA6, 0x12, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82 +}; \ No newline at end of file diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Portrait_png.cpp b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Portrait_png.cpp new file mode 100644 index 0000000000..b940a96fb5 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Portrait_png.cpp @@ -0,0 +1,7642 @@ +#include "ResData.h" +const unsigned char __portraitPngData[122214] = { +0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, +0x00, 0x00, 0x03, 0x20, 0x00, 0x00, 0x05, 0x00, 0x08, 0x03, 0x00, 0x00, 0x00, 0x88, 0xD2, 0xC6, +0x56, 0x00, 0x00, 0x01, 0xE9, 0x50, 0x4C, 0x54, 0x45, 0x1E, 0xA2, 0xF1, 0x1A, 0x8A, 0xE8, 0x26, +0x77, 0xE2, 0x25, 0xA9, 0xF5, 0x23, 0xAF, 0xF6, 0x1E, 0x9B, 0xF1, 0x18, 0x92, 0xEB, 0x19, 0x8D, +0xE9, 0x15, 0x87, 0xE5, 0x12, 0x78, 0xDB, 0x48, 0x90, 0xE8, 0x1B, 0x8E, 0xEC, 0x47, 0x99, 0xED, +0x17, 0x84, 0xE3, 0x12, 0x7E, 0xDE, 0x12, 0x82, 0xE1, 0x1D, 0x81, 0xE4, 0x16, 0x8E, 0xE8, 0x33, +0xA3, 0xF3, 0x29, 0xAD, 0xF3, 0x32, 0x98, 0xF2, 0x18, 0x96, 0xEC, 0x21, 0xA5, 0xF3, 0x22, 0x7C, +0xE2, 0x40, 0x9B, 0xF0, 0x28, 0x7C, 0xE6, 0x2D, 0xC0, 0xF6, 0x15, 0x7D, 0xE0, 0x29, 0xB3, 0xF3, +0x22, 0xAA, 0xF5, 0x1B, 0x97, 0xEE, 0x1B, 0x9B, 0xEE, 0x20, 0xA2, 0xF3, 0x29, 0xBA, 0xF7, 0x20, +0x93, 0xF1, 0x20, 0x99, 0xF0, 0x48, 0x95, 0xEB, 0x24, 0x83, 0xE9, 0x4E, 0x9E, 0xEB, 0x25, 0xB3, +0xF6, 0x32, 0x8D, 0xED, 0x24, 0xA0, 0xF2, 0x41, 0xA2, 0xF0, 0x15, 0x86, 0xE3, 0x47, 0x89, 0xE5, +0x1A, 0x90, 0xE8, 0x2B, 0xA4, 0xF4, 0x46, 0x9E, 0xEF, 0x2B, 0x89, 0xEC, 0x3A, 0x9F, 0xF3, 0x3B, +0xAB, 0xF3, 0x5D, 0xB2, 0xE8, 0x2A, 0x82, 0xE9, 0x4D, 0x98, 0xE8, 0x2D, 0x7D, 0xE8, 0x5F, 0xB8, +0xE9, 0x22, 0x9C, 0xF3, 0x43, 0x94, 0xEB, 0x1C, 0x77, 0xDA, 0x2B, 0x91, 0xF1, 0x54, 0xB4, 0xED, +0x57, 0xA2, 0xDD, 0x46, 0xBF, 0xEE, 0x21, 0x8A, 0xED, 0x5E, 0xBD, 0xED, 0x5B, 0xAC, 0xE3, 0x4B, +0xA5, 0xEE, 0x4A, 0x8D, 0xE1, 0x1F, 0x77, 0xDD, 0x4C, 0xAB, 0xED, 0x40, 0xAD, 0xF0, 0x1A, 0x84, +0xE4, 0x3B, 0xA5, 0xF2, 0x19, 0x80, 0xE0, 0x33, 0x86, 0xE8, 0x1F, 0x85, 0xEB, 0x56, 0x9D, 0xDC, +0x36, 0xBD, 0xED, 0x55, 0xA2, 0xE6, 0x3A, 0xB2, 0xEF, 0x4D, 0xD2, 0xE8, 0x2B, 0xB9, 0xF4, 0x32, +0xAB, 0xF1, 0x54, 0xAD, 0xEC, 0x22, 0x8D, 0xEF, 0x35, 0xC4, 0xF2, 0x50, 0xBB, 0xED, 0x2A, 0x9A, +0xF3, 0x58, 0xA7, 0xE2, 0x4F, 0x95, 0xDF, 0x3C, 0xB9, 0xEF, 0x32, 0xBD, 0xF1, 0x2A, 0x9C, 0xEF, +0x4C, 0xCD, 0xE8, 0x21, 0xA8, 0xF3, 0x33, 0xB4, 0xF0, 0x43, 0xC4, 0xEB, 0x56, 0xC8, 0xEB, 0x42, +0xB5, 0xEF, 0x1B, 0x7A, 0xDC, 0x3A, 0x87, 0xE9, 0x4C, 0x91, 0xE3, 0x56, 0xA8, 0xE9, 0x51, 0x9A, +0xE2, 0x44, 0xA6, 0xEF, 0x23, 0x96, 0xEF, 0x39, 0x8A, 0xEB, 0x39, 0x93, 0xEE, 0x3C, 0xCC, 0xF4, +0x67, 0xCD, 0xEA, 0x50, 0xA1, 0xEB, 0x36, 0xC8, 0xF6, 0x45, 0xAC, 0xF0, 0x5C, 0xC3, 0xED, 0x1B, +0x92, 0xEF, 0x45, 0xCD, 0xEB, 0x48, 0xB1, 0xEF, 0x5B, 0xAB, 0xEF, 0x31, 0xC6, 0xF9, 0x50, 0xC9, +0xE9, 0x40, 0xC7, 0xE9, 0x47, 0xD6, 0xF6, 0x3E, 0x9D, 0xF1, 0x31, 0x82, 0xE9, 0x3E, 0x8B, 0xE9, +0x3A, 0x97, 0xF0, 0x78, 0xE6, 0xF2, 0x64, 0xC1, 0xEA, 0x6D, 0xE2, 0xF3, 0x51, 0xA7, 0xEE, 0x85, +0xE9, 0xF0, 0x3A, 0xC6, 0xEE, 0x1D, 0x86, 0xE5, 0x15, 0x8A, 0xE5, 0x25, 0xB7, 0xF7, 0x21, 0x79, +0xE0, 0x2F, 0xB7, 0xEF, 0x5A, 0xD6, 0xE3, 0x0E, 0x71, 0xD6, 0x3E, 0xD2, 0xF7, 0x4E, 0xD9, 0xF3, +0x44, 0xD1, 0xF2, 0x18, 0x87, 0xE5, 0x53, 0xD7, 0xE8, 0x67, 0xC6, 0xEB, 0x20, 0x7E, 0xE3, 0x4A, +0xC9, 0xF1, 0x95, 0xEB, 0xF0, 0x4C, 0x93, 0xE7, 0x62, 0xDB, 0xF3, 0x62, 0xDE, 0xEB, 0x57, 0xDC, +0xEF, 0x60, 0xE1, 0xF5, 0x56, 0xDB, 0xF7, 0x62, 0xD1, 0xE8, 0x56, 0xD1, 0xF3, 0x25, 0x83, 0xDE, +0x5A, 0xD1, 0xE5, 0x5E, 0xDB, 0xE1, 0x38, 0xCF, 0xF9, 0x6C, 0xE2, 0xE5, 0xA1, 0xEF, 0xED, 0x11, +0x7C, 0xDB, 0x2A, 0xF1, 0xB6, 0xF5, 0x00, 0x01, 0xDB, 0x38, 0x49, 0x44, 0x41, 0x54, 0x78, 0xDA, +0xCC, 0x99, 0xB1, 0x6A, 0xE3, 0x40, 0x10, 0x86, 0xF7, 0x60, 0x2D, 0x17, 0xAE, 0x12, 0x72, 0x2E, +0x04, 0x96, 0x4E, 0xB8, 0x50, 0xA5, 0xFE, 0xE0, 0x5E, 0x42, 0x29, 0x5C, 0xC9, 0xDE, 0xDE, 0x20, +0x08, 0xD8, 0x10, 0x9C, 0x5A, 0x20, 0x10, 0xC1, 0xA8, 0x3F, 0x70, 0x9E, 0xF5, 0x7E, 0xED, 0xAE, +0xBD, 0x77, 0xC9, 0x61, 0xFD, 0x03, 0x31, 0xE4, 0x9B, 0x59, 0x29, 0x04, 0xA1, 0x58, 0xBB, 0xF3, +0x79, 0xB4, 0x44, 0xAD, 0x97, 0x5B, 0x8A, 0xA5, 0x90, 0x89, 0x0C, 0xE5, 0x30, 0x0B, 0x06, 0x63, +0x74, 0x0E, 0xB4, 0xCE, 0x33, 0x92, 0xD8, 0xF1, 0x4C, 0xF2, 0xE4, 0xA8, 0x49, 0x8E, 0x9E, 0xB2, +0xEF, 0xCB, 0x51, 0xFA, 0xB2, 0xF7, 0x74, 0x6F, 0x24, 0xFD, 0x99, 0x72, 0x9C, 0x1E, 0x71, 0xF4, +0xD4, 0x1C, 0x4F, 0x1E, 0x76, 0x7A, 0x62, 0x07, 0x39, 0xF3, 0x59, 0xAE, 0xDD, 0x6A, 0x19, 0x72, +0x71, 0x95, 0x63, 0x22, 0x63, 0x29, 0x84, 0x2B, 0xFA, 0xED, 0x5A, 0xAD, 0xB7, 0x5F, 0xC8, 0x10, +0x4C, 0x21, 0x6F, 0x88, 0xD6, 0x6D, 0x06, 0xE2, 0xEB, 0x19, 0x0C, 0xC9, 0x68, 0x3F, 0x62, 0xA7, +0x48, 0xCD, 0xE3, 0xFD, 0x28, 0xCB, 0x17, 0x1C, 0x46, 0xC6, 0xB1, 0x94, 0xF9, 0x01, 0xBA, 0xDE, +0x72, 0x64, 0x6E, 0x5F, 0x22, 0x83, 0x1E, 0x02, 0x45, 0xF0, 0xD8, 0x24, 0x17, 0x3F, 0xE2, 0xF1, +0x6C, 0xAD, 0x21, 0x2D, 0xEB, 0x07, 0x30, 0x5F, 0xC6, 0x0F, 0xB0, 0x56, 0xF7, 0xCB, 0x2D, 0x19, +0xE0, 0xA7, 0x24, 0x6C, 0xD9, 0xD3, 0x31, 0x51, 0x3F, 0xE6, 0x0B, 0xAD, 0x17, 0x2C, 0x30, 0x04, +0x7E, 0xC4, 0xC4, 0x2A, 0xC5, 0x67, 0x43, 0x9E, 0x05, 0x58, 0x3F, 0x8E, 0x22, 0x41, 0x7A, 0xE0, +0xFA, 0xC3, 0x0B, 0xC6, 0xD8, 0xB9, 0x7F, 0x13, 0x71, 0xBE, 0x39, 0xA1, 0x08, 0x8E, 0xBD, 0xC8, +0x0F, 0x00, 0x3D, 0x24, 0x58, 0x3F, 0x68, 0xE2, 0x56, 0xC3, 0x0F, 0x7E, 0x65, 0xCD, 0xD7, 0xF1, +0x63, 0xF9, 0xA0, 0x1E, 0x48, 0x3D, 0x10, 0x10, 0x44, 0x62, 0xC8, 0x12, 0x65, 0x2F, 0x41, 0x2D, +0xF4, 0x82, 0x67, 0x6E, 0xF0, 0xDD, 0xC4, 0x75, 0x10, 0xEF, 0x91, 0xAC, 0x04, 0x9E, 0x06, 0x3D, +0x5E, 0xA9, 0x40, 0x42, 0x91, 0xDE, 0x16, 0xA7, 0xAB, 0xD2, 0x1E, 0x87, 0x6B, 0x67, 0x5C, 0xF7, +0x26, 0xC4, 0xDF, 0x1D, 0x61, 0x4F, 0x57, 0x03, 0x02, 0x8A, 0xFC, 0x78, 0x85, 0x21, 0xC2, 0xE9, +0xE1, 0xED, 0xC8, 0x40, 0x8B, 0xE5, 0x5A, 0xD0, 0xE8, 0x85, 0xB0, 0x70, 0x26, 0x28, 0x37, 0x51, +0xF0, 0x35, 0x7F, 0xAF, 0xD6, 0xB3, 0x1D, 0x1D, 0xB3, 0x48, 0xC0, 0x2E, 0x8A, 0x92, 0x74, 0x99, +0x26, 0x74, 0xA4, 0x4A, 0xCD, 0xE9, 0x50, 0xCA, 0xE4, 0x59, 0x3B, 0x90, 0x8F, 0xA4, 0x65, 0x68, +0x37, 0xB1, 0x8C, 0x95, 0x8C, 0x7A, 0x6F, 0x39, 0x8E, 0x0E, 0x24, 0x28, 0xFB, 0x4E, 0x44, 0x5F, +0x9E, 0x6F, 0x0F, 0xAE, 0xFE, 0x29, 0xCF, 0x4A, 0x46, 0x2C, 0x23, 0xC3, 0xC4, 0x72, 0xE4, 0xF6, +0x60, 0xB0, 0xB6, 0x24, 0x0A, 0x99, 0xA2, 0x70, 0x68, 0x26, 0x49, 0x12, 0x89, 0xD8, 0xCD, 0x8A, +0x1D, 0x1B, 0x5B, 0xB5, 0xFD, 0x26, 0x61, 0x5A, 0xDC, 0x4D, 0x39, 0xEE, 0x8A, 0xA2, 0x80, 0x21, +0x29, 0xE7, 0x06, 0x06, 0x50, 0x2C, 0x10, 0x44, 0xE7, 0x39, 0x92, 0xC5, 0x6F, 0x57, 0x10, 0x64, +0xC6, 0xC8, 0xD5, 0xAA, 0xE2, 0xA2, 0xAA, 0x1A, 0xB0, 0x67, 0x39, 0xEC, 0xF7, 0x9B, 0x72, 0x53, +0x76, 0xA7, 0xEE, 0xF4, 0xBF, 0xFC, 0x78, 0xE8, 0x3A, 0x5C, 0xBF, 0xD9, 0xB3, 0xE0, 0xCA, 0x06, +0x54, 0x2B, 0x9A, 0xCA, 0xEE, 0xD1, 0xC8, 0x88, 0x5D, 0x53, 0xC8, 0x79, 0x74, 0xDE, 0x6A, 0xFA, +0xDB, 0x6F, 0xAE, 0xE0, 0x07, 0x32, 0x49, 0x49, 0x92, 0xA8, 0x88, 0x8A, 0xBB, 0xBB, 0x82, 0x8C, +0xE9, 0x37, 0x09, 0x10, 0x64, 0x2A, 0xA2, 0x60, 0x89, 0x40, 0x51, 0x70, 0x4F, 0x69, 0xDB, 0x07, +0x22, 0x55, 0x73, 0xC3, 0x4C, 0xA2, 0x81, 0x1F, 0x6D, 0x2B, 0x11, 0xA4, 0xF5, 0xFD, 0x5E, 0x44, +0xB5, 0x6A, 0x56, 0x1C, 0xCD, 0xA1, 0x3E, 0xC0, 0x10, 0xAE, 0x86, 0xAD, 0x1E, 0x88, 0x53, 0x47, +0x73, 0x2A, 0x07, 0x78, 0x3F, 0xEA, 0xA6, 0x3E, 0xD4, 0xCD, 0xCD, 0xDA, 0x07, 0x90, 0x18, 0x02, +0xAC, 0x21, 0xAC, 0x20, 0xAE, 0x18, 0x58, 0x12, 0x5B, 0x6B, 0x05, 0xCD, 0x54, 0x84, 0x50, 0x10, +0xC0, 0x0B, 0xC2, 0x1B, 0x92, 0x24, 0xA9, 0xF2, 0x93, 0x62, 0x7B, 0xEC, 0x58, 0x38, 0x3F, 0x80, +0xC8, 0x0F, 0xF0, 0x68, 0xEB, 0x9E, 0x1C, 0x40, 0xE0, 0x47, 0xDD, 0x34, 0x35, 0xED, 0x87, 0x63, +0x33, 0xF4, 0x86, 0x8F, 0x03, 0xF1, 0xEE, 0x57, 0x1B, 0x7F, 0xFD, 0x86, 0x14, 0xA4, 0xC1, 0x07, +0x42, 0xB0, 0x86, 0xE0, 0x61, 0x91, 0xF4, 0xC8, 0x2C, 0x72, 0x43, 0xE6, 0x84, 0x21, 0xB6, 0x7F, +0xD8, 0x10, 0xF9, 0x01, 0x6E, 0xE3, 0x47, 0xF1, 0x0B, 0x82, 0x08, 0x61, 0xFD, 0xF0, 0x1F, 0xFB, +0x7B, 0x4A, 0xA1, 0xCE, 0xA1, 0x8C, 0x19, 0xDF, 0x7E, 0x68, 0xE1, 0xE2, 0x64, 0x1E, 0xBB, 0x11, +0x21, 0xD4, 0xA8, 0x6C, 0x02, 0xAA, 0x87, 0x34, 0x75, 0x7D, 0x08, 0x3D, 0x84, 0xEA, 0x1F, 0x9E, +0xAE, 0xFB, 0xED, 0xD2, 0x9F, 0x31, 0x80, 0x3B, 0x87, 0xC4, 0xE5, 0x1E, 0xCE, 0x90, 0x1A, 0x1F, +0xC6, 0x39, 0xCB, 0xF7, 0x0F, 0xFE, 0x6B, 0xE3, 0x31, 0xBB, 0x70, 0x03, 0x43, 0x14, 0xCC, 0x90, +0x28, 0x12, 0x85, 0x52, 0x23, 0xFD, 0x90, 0x77, 0x90, 0xD9, 0xE7, 0x1B, 0x12, 0x5D, 0xC0, 0xCF, +0x02, 0x3D, 0x00, 0x26, 0x71, 0x7C, 0x7B, 0x1E, 0xD0, 0xF9, 0x38, 0x19, 0x08, 0x86, 0x54, 0x31, +0x49, 0x85, 0x60, 0x7A, 0xC8, 0xA0, 0x86, 0x35, 0x84, 0xDB, 0x87, 0x84, 0x72, 0x87, 0x28, 0x5D, +0xE0, 0xAC, 0xC7, 0x09, 0xF9, 0xEE, 0xF5, 0x4A, 0x66, 0x48, 0xE3, 0xFD, 0x18, 0x06, 0xE7, 0x47, +0x15, 0xF3, 0x64, 0x01, 0xA9, 0x21, 0xB9, 0x19, 0x33, 0xC4, 0x38, 0x3F, 0x90, 0x08, 0x99, 0x1F, +0xE0, 0x06, 0x7E, 0xCC, 0x86, 0x4D, 0x3A, 0x04, 0x11, 0x42, 0xE8, 0x11, 0x28, 0x22, 0x52, 0x10, +0x7B, 0x1A, 0x57, 0x04, 0x7E, 0xB4, 0x22, 0x43, 0x3E, 0xFE, 0x53, 0xBD, 0x1A, 0x4B, 0x8C, 0x33, +0xD4, 0xFB, 0x15, 0xC2, 0x3B, 0x72, 0xA0, 0xFA, 0x47, 0x30, 0xE4, 0x14, 0x5A, 0x45, 0xE8, 0x1C, +0x21, 0xC3, 0xFB, 0x15, 0x6D, 0x48, 0xD3, 0xB8, 0x0E, 0x42, 0xEE, 0x43, 0xFC, 0xF3, 0xB2, 0x99, +0xFD, 0x4B, 0x2E, 0x03, 0x02, 0x5C, 0xD3, 0xC3, 0x38, 0x29, 0xD4, 0x25, 0x92, 0x51, 0x3F, 0xA2, +0xBF, 0xF9, 0x6C, 0x3D, 0xFE, 0xB0, 0x6A, 0xC6, 0xA8, 0xD1, 0xC3, 0x40, 0x18, 0xF5, 0x42, 0x20, +0xC5, 0x5F, 0xC7, 0xC5, 0x5F, 0x18, 0x5C, 0xA5, 0xCA, 0x61, 0x52, 0xA4, 0x0A, 0xCE, 0x09, 0xB6, +0x4B, 0xB3, 0xBD, 0x21, 0x87, 0x08, 0xEC, 0x5D, 0x33, 0x96, 0x84, 0xDF, 0x0A, 0xD9, 0xA3, 0x19, +0x98, 0xCF, 0xB3, 0x6B, 0x3B, 0x60, 0x30, 0x89, 0x9F, 0x9F, 0xA4, 0x89, 0xA0, 0x91, 0x0C, 0x72, +0x89, 0x94, 0x08, 0x7C, 0x10, 0x13, 0x1E, 0x58, 0x64, 0x50, 0x66, 0xEA, 0xF0, 0x41, 0x4C, 0x7C, +0x10, 0x8B, 0x3B, 0x4A, 0x19, 0x1C, 0x72, 0xCD, 0xC3, 0xFD, 0xA2, 0x91, 0x75, 0xB5, 0xF9, 0x83, +0xDC, 0x51, 0x85, 0xF0, 0x40, 0xF0, 0x87, 0x8B, 0x90, 0x9B, 0xF0, 0x71, 0xCB, 0x95, 0xC9, 0xD5, +0xE1, 0x56, 0xDC, 0xA1, 0xFB, 0xC3, 0x3B, 0x11, 0xC1, 0x21, 0x1D, 0x7D, 0xA4, 0x8D, 0xBD, 0x89, +0x0F, 0x12, 0xAB, 0x8F, 0x4B, 0x32, 0xC8, 0xBF, 0xE7, 0x28, 0x87, 0x00, 0x88, 0xD9, 0x21, 0x00, +0xC2, 0x99, 0xD4, 0x38, 0x76, 0xFD, 0xE1, 0x9C, 0x7E, 0x10, 0xF9, 0x49, 0x57, 0x20, 0x29, 0x05, +0x11, 0x9D, 0x90, 0x32, 0x9A, 0x61, 0xB7, 0xDE, 0x1C, 0x7C, 0xC8, 0x29, 0x0E, 0xD9, 0xC2, 0x7C, +0xE4, 0x9E, 0x3E, 0xF7, 0xFD, 0x02, 0xAE, 0xD0, 0xA6, 0xE7, 0xD7, 0x35, 0xB3, 0xCA, 0x3D, 0x5D, +0x3F, 0x94, 0x20, 0x0F, 0x53, 0xCD, 0xC4, 0x47, 0x08, 0x51, 0x16, 0xB3, 0xBE, 0x18, 0x5E, 0xB1, +0xD9, 0xF8, 0x20, 0x01, 0x7C, 0xA0, 0x0F, 0x0C, 0x22, 0xE5, 0x8C, 0x83, 0x0F, 0x16, 0xB3, 0x74, +0x7F, 0xEC, 0xB5, 0x39, 0xE4, 0x74, 0xF9, 0xEA, 0x95, 0xB8, 0xF9, 0x80, 0x90, 0xF3, 0x40, 0x06, +0x67, 0xCA, 0xF4, 0xBC, 0x3C, 0x89, 0xF2, 0xCD, 0x4C, 0x44, 0xE5, 0xE3, 0xE0, 0x89, 0xDF, 0x67, +0x20, 0x8D, 0x41, 0xE0, 0xC3, 0xE6, 0x90, 0x72, 0x2F, 0x94, 0x3E, 0x55, 0x77, 0xFA, 0x63, 0x6E, +0xE3, 0x77, 0x88, 0x10, 0xA2, 0xFB, 0x43, 0x32, 0xF0, 0x5C, 0xE8, 0xED, 0x8F, 0x83, 0x44, 0xFA, +0x43, 0x2A, 0x1B, 0x24, 0x95, 0x33, 0x26, 0x3E, 0x70, 0xC8, 0x31, 0x21, 0x53, 0xF5, 0xA6, 0x18, +0x52, 0xA5, 0xC8, 0x78, 0xD4, 0xC1, 0xC7, 0x93, 0x91, 0x0F, 0x62, 0x9B, 0x84, 0x7C, 0xCA, 0xA6, +0x11, 0xB2, 0x8F, 0xF5, 0x31, 0x48, 0x26, 0x64, 0xE9, 0xFB, 0x83, 0x2C, 0xF7, 0x7A, 0xF5, 0x0A, +0x8F, 0x40, 0x93, 0x4E, 0x08, 0xED, 0x0F, 0xEE, 0x85, 0x23, 0x08, 0x89, 0xF6, 0x47, 0x64, 0x43, +0x64, 0xDC, 0xFD, 0x31, 0xA4, 0x2F, 0x9E, 0x8C, 0x49, 0x59, 0xDE, 0xB5, 0x13, 0xE2, 0xC5, 0xA3, +0x31, 0x88, 0x5B, 0x22, 0x0A, 0x1E, 0x56, 0x87, 0x4C, 0xB5, 0x3F, 0xF8, 0x05, 0xC9, 0xFE, 0x40, +0x22, 0xE7, 0xFE, 0x78, 0x32, 0xF3, 0x41, 0x43, 0xC4, 0x96, 0xC2, 0x8B, 0xE6, 0x0F, 0xF9, 0xD4, +0x3B, 0x08, 0xD1, 0xF1, 0x40, 0x22, 0x08, 0x84, 0xC0, 0x47, 0x07, 0x11, 0xDA, 0x1F, 0x68, 0x83, +0xA3, 0xF4, 0x09, 0x6B, 0x0F, 0xC6, 0x13, 0x82, 0x3F, 0x8A, 0x3A, 0x08, 0x88, 0x18, 0xF8, 0x20, +0x71, 0xFE, 0x90, 0xDA, 0x00, 0xB9, 0xE0, 0x10, 0x47, 0x2E, 0xCF, 0x16, 0x3E, 0xC8, 0xDB, 0xA4, +0xFB, 0x83, 0xB9, 0x59, 0x3A, 0x78, 0x69, 0x09, 0x19, 0x46, 0x77, 0xFB, 0x43, 0x89, 0xFA, 0xB2, +0x44, 0x1E, 0xCA, 0x28, 0xAB, 0x9E, 0x7C, 0x60, 0x13, 0x1C, 0xD2, 0xE1, 0x83, 0x2C, 0x0F, 0xF3, +0xF4, 0x5C, 0x72, 0xA8, 0x5D, 0x70, 0xDC, 0xFE, 0xE0, 0x56, 0x10, 0xC8, 0x89, 0x43, 0xD6, 0x0F, +0x9F, 0x3E, 0x68, 0x7F, 0x04, 0x10, 0xD2, 0x00, 0x92, 0xF8, 0x28, 0xEA, 0xA0, 0x00, 0xC4, 0xC2, +0x07, 0x89, 0x58, 0xBF, 0x52, 0x0C, 0x62, 0x8F, 0x0F, 0x90, 0xB7, 0x17, 0xDD, 0x1F, 0x85, 0x0E, +0x0E, 0xEA, 0x7F, 0x3B, 0x89, 0xE5, 0xE3, 0xE7, 0x67, 0xB6, 0x75, 0x42, 0x18, 0x73, 0x1D, 0xFB, +0x63, 0x2F, 0x1E, 0xCA, 0xCD, 0x21, 0x57, 0x1B, 0x1F, 0x38, 0xA4, 0x60, 0xA1, 0xFB, 0x83, 0x2C, +0x4B, 0xEB, 0x0F, 0xCC, 0xB1, 0xC3, 0x4A, 0x05, 0xF8, 0x23, 0x90, 0x90, 0xBA, 0x21, 0xB2, 0xFD, +0x71, 0x1F, 0xBC, 0x91, 0x4B, 0x75, 0xC8, 0x36, 0x68, 0x57, 0x12, 0xE5, 0x0F, 0x56, 0xB1, 0x4A, +0x79, 0x63, 0xC7, 0x83, 0x96, 0x61, 0x8B, 0x47, 0x63, 0xD4, 0x87, 0xE5, 0x5E, 0xF7, 0xF2, 0x15, +0x99, 0xF5, 0x08, 0x21, 0xFD, 0x59, 0x08, 0x79, 0xFF, 0xDF, 0xF2, 0xC1, 0x2B, 0x3A, 0xEF, 0x38, +0x11, 0x44, 0x1C, 0x7C, 0xE0, 0x90, 0x5F, 0xAA, 0x7B, 0xC1, 0x59, 0xFB, 0x03, 0x34, 0x30, 0x48, +0xE3, 0x10, 0xAF, 0x3F, 0x66, 0x12, 0x40, 0x08, 0xCB, 0xBD, 0xF8, 0x03, 0x6D, 0xF0, 0xD2, 0x64, +0x9B, 0x9A, 0xF6, 0xA0, 0x9A, 0x80, 0xF5, 0xAB, 0xCA, 0x20, 0x94, 0x37, 0x56, 0x3C, 0x20, 0x84, +0x0C, 0x6C, 0xB9, 0x18, 0x69, 0x95, 0x3D, 0x0D, 0x91, 0x8A, 0x0F, 0xD3, 0x3C, 0xE4, 0x7D, 0xEE, +0x12, 0xA2, 0xCB, 0xA3, 0x7C, 0xB3, 0xF2, 0x5B, 0xF3, 0xF1, 0xCD, 0x18, 0x1F, 0x83, 0x50, 0x10, +0x02, 0x1F, 0xBA, 0x43, 0x9A, 0xF6, 0xB9, 0x8B, 0x10, 0xDA, 0x1F, 0xA0, 0x51, 0xAF, 0x65, 0xAD, +0xE1, 0xFE, 0x88, 0x69, 0xAA, 0x8F, 0x03, 0x63, 0xEB, 0xB2, 0x2F, 0x81, 0x95, 0x66, 0x79, 0xB7, +0x1B, 0x37, 0x1E, 0xA4, 0x02, 0x22, 0x77, 0xD2, 0x1F, 0xCB, 0x19, 0x8D, 0x0F, 0xAD, 0x21, 0x32, +0xFD, 0xB1, 0x72, 0xEE, 0xB8, 0x6D, 0x03, 0x41, 0x00, 0x6D, 0x08, 0x35, 0xA9, 0x99, 0x42, 0x80, +0x21, 0xE8, 0x00, 0x3A, 0x0C, 0x8B, 0x54, 0x06, 0x75, 0x82, 0x00, 0x29, 0xDC, 0xA8, 0x27, 0xA0, +0x36, 0x27, 0x70, 0xCE, 0x9A, 0xF5, 0xEE, 0x88, 0x4F, 0x9A, 0x5D, 0x72, 0x66, 0xB0, 0x1E, 0x52, +0xFF, 0x04, 0xB0, 0x69, 0x3E, 0x3E, 0xCE, 0x87, 0x02, 0x0F, 0x59, 0x79, 0x95, 0x61, 0x21, 0x55, +0x57, 0x7C, 0xF8, 0x10, 0x39, 0x7B, 0x62, 0xC7, 0x1F, 0x14, 0xB2, 0x20, 0x46, 0xB7, 0x3F, 0x6A, +0x83, 0xD0, 0x81, 0xC8, 0x0D, 0x91, 0x19, 0x3E, 0x6C, 0x40, 0x32, 0x21, 0x9F, 0x65, 0xA5, 0xBC, +0xEB, 0x22, 0x64, 0xFE, 0x9A, 0x72, 0xB9, 0x29, 0x83, 0xEC, 0x34, 0x44, 0x7C, 0xD6, 0x60, 0x3D, +0xDF, 0x83, 0x84, 0xD8, 0x01, 0x21, 0xE2, 0x0F, 0xAA, 0x98, 0x3A, 0x05, 0xC1, 0x21, 0xF0, 0x61, +0x47, 0xAF, 0x3E, 0xB4, 0x41, 0x58, 0x83, 0x01, 0x20, 0x11, 0x42, 0x74, 0x3F, 0x88, 0xA7, 0xF2, +0x21, 0x67, 0x59, 0x85, 0x8F, 0x7B, 0xF0, 0xFC, 0xCA, 0x19, 0x7B, 0xA5, 0x2B, 0x48, 0x59, 0x85, +0x82, 0x3F, 0x2A, 0x63, 0xF0, 0x9A, 0xDD, 0xF2, 0x41, 0x48, 0x06, 0xC0, 0x8E, 0xCF, 0x75, 0x1C, +0x8B, 0x7F, 0xEE, 0x42, 0xE4, 0xB6, 0x54, 0x3A, 0xDB, 0x6D, 0x88, 0xF4, 0xEA, 0xA3, 0xFF, 0x34, +0x0B, 0x87, 0xB4, 0xDA, 0x83, 0x64, 0x21, 0x7C, 0xE0, 0xE4, 0x83, 0xE8, 0x4E, 0x3F, 0xE8, 0x83, +0x7C, 0x87, 0x43, 0x0E, 0xBE, 0x90, 0x6B, 0xA8, 0x74, 0xAB, 0x94, 0x67, 0x9C, 0x87, 0xCA, 0xED, +0x9A, 0x36, 0x64, 0x7C, 0xBA, 0xDD, 0x17, 0xF7, 0xE6, 0x64, 0x56, 0xCD, 0x0A, 0x4F, 0x1F, 0xFE, +0x68, 0x1A, 0xE4, 0xA6, 0x0A, 0x5A, 0xE2, 0x10, 0xC6, 0xAF, 0x3C, 0x84, 0x24, 0x46, 0x1C, 0x7C, +0x08, 0x72, 0xA5, 0xFD, 0xC1, 0x8F, 0x80, 0x41, 0x76, 0x1A, 0x22, 0xC2, 0xBE, 0x77, 0x35, 0xCE, +0x55, 0xBB, 0x9A, 0xEA, 0x6A, 0xFC, 0x0A, 0x1E, 0x54, 0x1E, 0x42, 0xA6, 0x4E, 0x7B, 0xD0, 0x47, +0x48, 0x14, 0x0F, 0xDB, 0x20, 0x71, 0x89, 0xC0, 0x87, 0x9B, 0x90, 0x3A, 0xFF, 0x00, 0x8D, 0x93, +0xCA, 0xD4, 0x7F, 0xF6, 0x94, 0xAF, 0xEC, 0x78, 0x6F, 0x0A, 0x84, 0x4A, 0xAF, 0x76, 0x08, 0xED, +0x0F, 0x6D, 0x10, 0x9E, 0xC9, 0x6B, 0x29, 0x66, 0x39, 0xF1, 0x90, 0xA6, 0xFA, 0x27, 0xFE, 0xF0, +0x29, 0x84, 0xF2, 0xD5, 0x66, 0x15, 0x8B, 0xCF, 0x68, 0x0F, 0xC6, 0xFD, 0x61, 0x03, 0x12, 0x2F, +0xF7, 0x5E, 0xD7, 0xFC, 0xA3, 0xEE, 0x9D, 0xF3, 0xB6, 0x2C, 0xF0, 0xE1, 0x8B, 0x4E, 0x7F, 0xD0, +0x07, 0xE9, 0x76, 0xC8, 0x81, 0x70, 0x10, 0x32, 0x2A, 0x7F, 0xE8, 0xCD, 0x00, 0x24, 0x22, 0x91, +0x0E, 0x3E, 0x62, 0x89, 0x08, 0x1C, 0x68, 0x58, 0x78, 0xF1, 0x6B, 0x59, 0xD2, 0x21, 0x7B, 0x33, +0x07, 0x51, 0x0F, 0x8B, 0x4E, 0x3F, 0xEC, 0x62, 0x56, 0xE0, 0x1F, 0x7F, 0xDD, 0xB2, 0xAA, 0xB6, +0x0D, 0xC2, 0x3B, 0xE2, 0x10, 0x7E, 0x97, 0x7E, 0x7F, 0xF4, 0x37, 0x44, 0x54, 0xA5, 0xBF, 0x79, +0xCC, 0x64, 0xA1, 0xFD, 0xE1, 0x8B, 0x78, 0xFB, 0xE3, 0x5B, 0x0D, 0x02, 0x76, 0x87, 0x18, 0x21, +0x0D, 0x87, 0xAA, 0xA3, 0xC5, 0x8B, 0x43, 0x62, 0xE3, 0x57, 0x03, 0x7C, 0xF8, 0x62, 0x02, 0x00, +0x30, 0xA8, 0x60, 0xA1, 0x96, 0x85, 0x3E, 0x36, 0x0D, 0xC2, 0xC3, 0xF2, 0xDB, 0x97, 0x7F, 0xD0, +0x0F, 0xF9, 0xC7, 0xBC, 0x96, 0xEB, 0x7F, 0x2C, 0x42, 0xC7, 0x4E, 0x15, 0x0B, 0xAD, 0x7D, 0x64, +0x40, 0x02, 0x97, 0xC4, 0x9C, 0x83, 0x21, 0x5F, 0x12, 0xE7, 0xCD, 0x43, 0xDE, 0x4E, 0xEA, 0xF2, +0x0F, 0x5D, 0xCE, 0x52, 0xF9, 0x09, 0xFE, 0x70, 0x45, 0x78, 0x57, 0x06, 0x82, 0xBA, 0x8A, 0xD5, +0xD3, 0x0E, 0x89, 0x11, 0x32, 0x8E, 0x27, 0x65, 0x0A, 0x6A, 0x17, 0x8D, 0x6B, 0x44, 0xAE, 0xC3, +0x30, 0x84, 0xF8, 0x08, 0x10, 0xC2, 0x59, 0x56, 0xAD, 0x90, 0xFA, 0x41, 0x46, 0x7B, 0x23, 0x06, +0xB9, 0x51, 0xC1, 0x72, 0x0A, 0x04, 0x85, 0xB8, 0x42, 0xAE, 0x1F, 0xDC, 0xCB, 0x41, 0x6E, 0xAF, +0x49, 0x88, 0xDF, 0x1F, 0x71, 0x3E, 0xEE, 0xE7, 0xC8, 0x37, 0x05, 0x0C, 0xC3, 0x70, 0x65, 0xFF, +0x67, 0x0F, 0x00, 0x11, 0x55, 0xBF, 0x19, 0xC7, 0xD8, 0xA1, 0xD8, 0xB3, 0x2B, 0xC7, 0x0D, 0xE2, +0x0D, 0xF0, 0x48, 0x4B, 0x88, 0x8F, 0xF1, 0x30, 0x8A, 0x39, 0xD4, 0xE1, 0x02, 0xBF, 0xA2, 0x94, +0xEB, 0xF0, 0x96, 0x10, 0xC1, 0xDD, 0xD6, 0xD7, 0x67, 0xE4, 0x2E, 0x79, 0x20, 0xA6, 0x74, 0x6B, +0x3B, 0x04, 0x6E, 0x38, 0xD3, 0xA2, 0x87, 0x6E, 0x19, 0x84, 0xB9, 0xDE, 0x39, 0xC0, 0x47, 0x0E, +0xBF, 0x42, 0xE6, 0x0F, 0x92, 0x90, 0x6D, 0x83, 0xF0, 0x66, 0xA9, 0x61, 0xBD, 0xFB, 0xFD, 0x71, +0x3C, 0x4F, 0x11, 0x3E, 0xEE, 0x11, 0x42, 0x12, 0x1E, 0xC3, 0xF0, 0x46, 0x9F, 0x58, 0x15, 0xB3, +0x78, 0xF3, 0xF1, 0x7A, 0x3C, 0x84, 0x08, 0x49, 0xFB, 0x65, 0x1C, 0x11, 0xDB, 0x20, 0xD1, 0xF8, +0x71, 0xC9, 0x4B, 0x80, 0x8F, 0x42, 0xC8, 0xCA, 0x85, 0xBA, 0x58, 0x4A, 0x56, 0xF9, 0xB0, 0x7C, +0x99, 0xDC, 0xF5, 0x6D, 0x88, 0xF0, 0x11, 0x23, 0xE4, 0x38, 0x9D, 0x27, 0x0E, 0xAA, 0x10, 0x41, +0x00, 0xCD, 0x3A, 0x85, 0x55, 0x1B, 0x84, 0x55, 0x5E, 0x32, 0xF7, 0x3E, 0xCF, 0xDE, 0xF3, 0x2B, +0x09, 0x08, 0xF1, 0xF0, 0x21, 0x12, 0xD9, 0xC9, 0x41, 0xF0, 0x07, 0x5D, 0x74, 0x4F, 0xFB, 0x23, +0xD1, 0x31, 0xA5, 0x7B, 0x3F, 0x1F, 0x11, 0x42, 0xD2, 0x81, 0x2F, 0xFD, 0x69, 0x87, 0xE1, 0x59, +0x1D, 0xA4, 0xEC, 0xBC, 0x89, 0x3E, 0x72, 0xF8, 0xF5, 0x71, 0x09, 0x12, 0x12, 0xEF, 0x83, 0x04, +0xF8, 0xB8, 0x5C, 0xDC, 0x78, 0x08, 0x21, 0x27, 0x35, 0xBF, 0xA9, 0x94, 0x22, 0xCF, 0x86, 0x81, +0xEF, 0xE2, 0x75, 0xF1, 0x71, 0x97, 0x70, 0x27, 0x20, 0xE7, 0xA9, 0x3D, 0xDC, 0xDB, 0x1A, 0x5C, +0xFC, 0xB5, 0xA4, 0x05, 0x87, 0xDC, 0xF6, 0xAA, 0x58, 0x2F, 0x57, 0xDF, 0xFA, 0x32, 0xEE, 0xD6, +0x1C, 0x96, 0x6F, 0x1E, 0x4B, 0x12, 0x91, 0x5D, 0x83, 0xC8, 0x3C, 0x56, 0xBA, 0x77, 0xE6, 0x21, +0x69, 0xCB, 0x64, 0x3A, 0x26, 0x37, 0x1F, 0x10, 0xE2, 0xE4, 0x43, 0x08, 0x69, 0x37, 0xC5, 0x78, +0x3B, 0xEB, 0x63, 0x8D, 0x8B, 0x8F, 0x0F, 0xD9, 0x33, 0x3B, 0x1A, 0xE9, 0x32, 0x8B, 0xD5, 0x99, +0x7E, 0x3C, 0x16, 0xC7, 0x69, 0xD6, 0x25, 0xF3, 0x01, 0x21, 0xCC, 0x6F, 0x62, 0xD4, 0xA7, 0x2E, +0x21, 0x7C, 0x40, 0x88, 0xC1, 0xC7, 0x53, 0xB8, 0xF0, 0xF8, 0x5A, 0x8F, 0x19, 0x12, 0xF1, 0x06, +0x40, 0xBC, 0xD7, 0x83, 0x8B, 0x6A, 0x92, 0xB7, 0x6D, 0x10, 0x6A, 0xBC, 0xCE, 0x49, 0x13, 0xAE, +0x0A, 0xF9, 0x07, 0x21, 0x7F, 0x1D, 0x88, 0xA8, 0x49, 0x5E, 0xC3, 0x20, 0xB4, 0x09, 0x17, 0x69, +0x85, 0x58, 0xFE, 0x10, 0xB9, 0x9E, 0x8F, 0x21, 0x3E, 0x20, 0xC4, 0xE6, 0x43, 0x08, 0xF9, 0xC9, +0x21, 0x52, 0x25, 0xE5, 0x38, 0x65, 0x7C, 0x0A, 0xB7, 0x3F, 0xE2, 0x0E, 0x89, 0xCF, 0x62, 0xD9, +0xFE, 0x60, 0xF1, 0xF9, 0x43, 0x3B, 0x84, 0x6D, 0xC2, 0x5D, 0x79, 0xF3, 0xA7, 0xF0, 0x01, 0x21, +0xA6, 0x3F, 0x08, 0x17, 0x1E, 0xC7, 0xB4, 0x0F, 0x64, 0x8D, 0xA4, 0x1B, 0x48, 0xD4, 0x0A, 0x91, +0x16, 0xC8, 0x22, 0xEB, 0x57, 0x18, 0x7D, 0x10, 0x3D, 0xCF, 0x6B, 0x9D, 0x35, 0xCD, 0x7F, 0x8D, +0x6B, 0x09, 0x8D, 0x59, 0x2C, 0x23, 0x07, 0x59, 0xF9, 0x58, 0xE4, 0xCE, 0x9C, 0x63, 0x2E, 0x78, +0xE4, 0xED, 0xE4, 0x71, 0xC8, 0xEB, 0xA6, 0x37, 0x09, 0x19, 0x0A, 0x1E, 0x10, 0x42, 0x3E, 0xAE, +0xCF, 0x29, 0xE0, 0x83, 0x7D, 0xE7, 0xE2, 0xF4, 0x47, 0xBF, 0x43, 0x12, 0x20, 0x9D, 0xFE, 0x08, +0x38, 0x44, 0xFD, 0x96, 0x07, 0xE4, 0x91, 0x56, 0xDD, 0x22, 0x82, 0x0F, 0x08, 0xD9, 0xE7, 0x83, +0x3F, 0x92, 0x93, 0x90, 0x52, 0xE4, 0x17, 0x44, 0x26, 0xCE, 0xCB, 0xB9, 0x3D, 0xE5, 0xAB, 0xF5, +0xD5, 0xE8, 0x48, 0xA4, 0x3A, 0xDD, 0x6F, 0x5C, 0x99, 0xEE, 0x49, 0xCF, 0xDD, 0xE3, 0xEE, 0x33, +0xFE, 0x80, 0x90, 0xB6, 0x41, 0xA4, 0xFF, 0x21, 0x60, 0x70, 0x6F, 0x64, 0x21, 0xB2, 0x85, 0xF2, +0xC1, 0x23, 0xAD, 0x93, 0x97, 0x0F, 0x08, 0xB1, 0xF9, 0x80, 0x90, 0xEB, 0x6B, 0x9E, 0x4E, 0xFE, +0x21, 0xEF, 0x8D, 0x2A, 0x1C, 0xFE, 0xB0, 0x1D, 0x12, 0x37, 0x48, 0x2C, 0xF0, 0x07, 0x8B, 0x8F, +0x0F, 0x1C, 0xA2, 0x47, 0xB1, 0x9E, 0x07, 0x15, 0xAF, 0x85, 0x0F, 0x62, 0x8F, 0x90, 0x61, 0x90, +0xF4, 0xFC, 0x39, 0x4C, 0x3C, 0xE4, 0x28, 0x29, 0xDD, 0x30, 0x98, 0xA0, 0x90, 0x05, 0x32, 0x7F, +0x16, 0x0C, 0xC2, 0x40, 0xD6, 0xC6, 0x34, 0x2F, 0x63, 0x58, 0x81, 0x0B, 0xA6, 0x74, 0xCC, 0x1E, +0x7D, 0x10, 0xAD, 0x1C, 0x84, 0x97, 0x2F, 0x74, 0x2C, 0x46, 0x31, 0xEB, 0xBD, 0x6C, 0x99, 0xB4, +0xA6, 0x25, 0x9F, 0x67, 0x45, 0xF0, 0x80, 0x10, 0x9B, 0x0F, 0x08, 0xE1, 0x50, 0x09, 0x18, 0xE4, +0x1F, 0x3A, 0x1C, 0xFE, 0xE8, 0x75, 0x08, 0x55, 0xAC, 0x7E, 0x7F, 0xB0, 0xF8, 0xF8, 0xC0, 0x21, +0xAA, 0x9A, 0x47, 0xFE, 0x01, 0x1F, 0x26, 0x21, 0xF0, 0x11, 0x21, 0xA4, 0x78, 0x43, 0x0A, 0x99, +0xC7, 0xB2, 0x23, 0x3C, 0x39, 0x44, 0x29, 0x64, 0xA5, 0x42, 0xD8, 0x10, 0x42, 0xDA, 0xB3, 0x58, +0xE2, 0x0F, 0x1D, 0x46, 0xF9, 0x2A, 0xE4, 0x90, 0x8F, 0x46, 0x6C, 0x4E, 0xF3, 0x7E, 0xC8, 0x0F, +0xAF, 0x18, 0xD9, 0x54, 0x48, 0x36, 0x46, 0xB9, 0x15, 0x32, 0x0C, 0x44, 0x9A, 0x5B, 0xFE, 0x3E, +0xB8, 0xF9, 0xC0, 0x21, 0x54, 0xB4, 0x9E, 0xF2, 0x8F, 0xB1, 0x15, 0x86, 0x3F, 0x3A, 0x1D, 0xD2, +0x32, 0x48, 0x28, 0xF0, 0x87, 0x5E, 0x5C, 0x7C, 0x10, 0xAA, 0x9A, 0xC7, 0x0C, 0xA7, 0xF0, 0x61, +0x11, 0x02, 0x1F, 0x77, 0xC2, 0x41, 0x88, 0x54, 0x68, 0xA6, 0xD5, 0x20, 0x47, 0x1C, 0xD2, 0x10, +0x08, 0xEE, 0xC0, 0x20, 0xAA, 0x21, 0xC2, 0x33, 0xD2, 0x73, 0x4D, 0xC8, 0xEC, 0xF2, 0x07, 0x31, +0xFB, 0xFD, 0x41, 0x31, 0xAB, 0x36, 0xC8, 0xEF, 0x95, 0x8B, 0x05, 0x3C, 0x52, 0x6C, 0xFA, 0x63, +0x2A, 0x02, 0x11, 0xBF, 0x9A, 0xC5, 0xAC, 0x7B, 0x2B, 0x36, 0x09, 0x19, 0x84, 0x0F, 0x4D, 0x08, +0xF9, 0x87, 0x6E, 0x0F, 0x1E, 0x42, 0x84, 0xB0, 0x2F, 0x7E, 0x87, 0x43, 0x56, 0x83, 0x44, 0xE3, +0xF2, 0xFA, 0x03, 0xB0, 0x84, 0xF8, 0x38, 0x8C, 0x6B, 0xCB, 0x10, 0x4A, 0x4A, 0xFB, 0x43, 0xF8, +0xD0, 0x84, 0x0C, 0x86, 0x3F, 0xBC, 0x84, 0x1C, 0x05, 0x0C, 0x0C, 0x92, 0x9F, 0x88, 0x43, 0x60, +0xA4, 0xE5, 0x0F, 0x76, 0xB4, 0xDF, 0x37, 0xBC, 0x21, 0x0F, 0xF0, 0x51, 0xC7, 0x6C, 0x95, 0x77, +0x75, 0xE4, 0x8F, 0x6D, 0x3E, 0x20, 0xA4, 0x69, 0x10, 0x90, 0x78, 0x4E, 0xD4, 0xD3, 0xB2, 0xE1, +0x0F, 0xC9, 0xCB, 0x64, 0x3B, 0x89, 0x40, 0xD2, 0x1A, 0xE0, 0x83, 0x62, 0x96, 0xCD, 0x07, 0x84, +0x70, 0xB8, 0x64, 0x7F, 0x00, 0x0F, 0x15, 0x86, 0x3E, 0x7A, 0x25, 0x62, 0x18, 0x24, 0xAE, 0x0F, +0x16, 0x17, 0x1F, 0x20, 0x02, 0x1D, 0xCC, 0xE3, 0x0C, 0xF0, 0x61, 0x10, 0x42, 0x7B, 0x30, 0x42, +0xC8, 0xA4, 0x73, 0x90, 0xF4, 0xBC, 0x3C, 0x79, 0x85, 0x03, 0x7F, 0x60, 0x0F, 0xE9, 0x85, 0xE0, +0x10, 0x76, 0x47, 0x2E, 0x47, 0x37, 0x08, 0x31, 0xF9, 0xC0, 0x21, 0xB3, 0x93, 0x0F, 0xDD, 0x10, +0xA1, 0x7E, 0x05, 0xD3, 0xCA, 0x20, 0x6D, 0x87, 0x9C, 0x91, 0xEA, 0x24, 0x2F, 0xE4, 0x6C, 0x74, +0x32, 0xF9, 0xB0, 0x09, 0xA1, 0xBC, 0x5B, 0x23, 0x82, 0x3F, 0x68, 0x23, 0x8F, 0xDB, 0x61, 0xF8, +0xA3, 0x9B, 0x90, 0x87, 0x41, 0x3A, 0xDA, 0xE7, 0x2E, 0x42, 0xC0, 0xE3, 0x24, 0xF7, 0x9A, 0x90, +0x17, 0xA3, 0xD2, 0x1E, 0x6C, 0x06, 0x4D, 0x75, 0xCD, 0x87, 0x1B, 0x11, 0x39, 0x1E, 0xBE, 0xE4, +0x20, 0x99, 0x8D, 0x02, 0x09, 0x02, 0xA1, 0x3D, 0x58, 0x05, 0x49, 0xEF, 0x0D, 0x83, 0xD0, 0x3E, +0x37, 0x09, 0xB1, 0xF9, 0xC0, 0x21, 0x7E, 0x3C, 0x68, 0x88, 0x50, 0xBF, 0x02, 0x08, 0x7E, 0x76, +0x78, 0xA9, 0x9A, 0xEA, 0x79, 0x3B, 0x88, 0x54, 0x33, 0x1C, 0x05, 0x0F, 0x49, 0x43, 0x26, 0x27, +0x1F, 0x10, 0xE2, 0xE4, 0x03, 0x42, 0x18, 0xA2, 0x50, 0xF9, 0xC7, 0x49, 0xDD, 0x52, 0x18, 0xFE, +0xE8, 0x26, 0x04, 0x83, 0x18, 0xE1, 0xE3, 0x83, 0xC5, 0xD0, 0x87, 0xE6, 0x44, 0x8D, 0x2E, 0x52, +0xDE, 0x25, 0x54, 0xB9, 0xB7, 0x6E, 0x7F, 0xF8, 0x09, 0x99, 0x04, 0x92, 0x89, 0x1C, 0x44, 0x4E, +0x22, 0xC4, 0x21, 0xAA, 0xC0, 0xFB, 0xBC, 0x43, 0xE1, 0x91, 0x3A, 0x0F, 0xB9, 0x3D, 0xDA, 0xE7, +0xFB, 0xBB, 0x70, 0x3D, 0xBE, 0xAB, 0x99, 0xD8, 0x6D, 0x88, 0xCC, 0x06, 0x20, 0xBA, 0x21, 0x42, +0x7E, 0xAE, 0x04, 0x22, 0xA1, 0x2F, 0x0F, 0x7B, 0x34, 0x07, 0x33, 0x23, 0xF9, 0xA1, 0xE8, 0x55, +0x38, 0xF1, 0xF2, 0x01, 0x21, 0x6E, 0x3E, 0x68, 0xAA, 0x93, 0xA4, 0x8F, 0x46, 0x1C, 0x2E, 0x46, +0xF9, 0xCA, 0x48, 0x44, 0xFE, 0xD3, 0x76, 0xF6, 0xBA, 0x4E, 0x03, 0x41, 0x14, 0xCE, 0x95, 0xA2, +0x60, 0x09, 0x51, 0xA4, 0xB8, 0x29, 0x50, 0x7E, 0x44, 0x95, 0xC2, 0xCA, 0x13, 0xF0, 0x00, 0x54, +0x91, 0x70, 0xE1, 0x0A, 0xD9, 0x32, 0x25, 0x15, 0x05, 0x05, 0xEE, 0x83, 0x11, 0x34, 0x14, 0x94, +0x48, 0xF0, 0xAC, 0x8C, 0x77, 0xD7, 0x1C, 0xB3, 0xEB, 0x78, 0xE6, 0x40, 0x72, 0x36, 0x4E, 0x7C, +0x23, 0x08, 0x8E, 0x33, 0x9F, 0xCF, 0xCE, 0xCC, 0xE6, 0xA2, 0x29, 0xF4, 0x41, 0x58, 0x29, 0x78, +0xC8, 0x51, 0xA6, 0xED, 0xF3, 0x43, 0x6A, 0x22, 0xD0, 0xC8, 0x57, 0xC1, 0x87, 0x4E, 0x08, 0xFC, +0x83, 0x20, 0x24, 0x14, 0x30, 0xFD, 0x23, 0x2E, 0x8E, 0x6E, 0x0F, 0x1E, 0x82, 0xAB, 0x6A, 0x08, +0xAF, 0x48, 0x20, 0xC5, 0x13, 0x82, 0xD5, 0xBB, 0x9A, 0x2A, 0x25, 0x3D, 0x57, 0x8A, 0x59, 0x1F, +0x44, 0x3A, 0x21, 0x89, 0x7F, 0x5C, 0x26, 0x32, 0x90, 0x70, 0x1B, 0x4F, 0x28, 0xFF, 0x14, 0xAD, +0xB0, 0x06, 0xC7, 0xA3, 0xE1, 0xB1, 0x91, 0x2D, 0xE1, 0x83, 0x21, 0x24, 0x4D, 0x3F, 0xD2, 0x62, +0x16, 0xAA, 0x99, 0x23, 0x3E, 0xAE, 0x92, 0x42, 0xF8, 0x07, 0xEB, 0x21, 0x70, 0x10, 0x42, 0xF0, +0x0F, 0x65, 0x28, 0xFE, 0x81, 0xB7, 0x9D, 0x34, 0x44, 0x34, 0x3E, 0x50, 0xCC, 0x82, 0x7F, 0x30, +0x80, 0x0C, 0x9F, 0xFD, 0x73, 0xB7, 0x3D, 0x77, 0x44, 0x0C, 0xB4, 0x04, 0x3B, 0x19, 0x79, 0x48, +0x79, 0x49, 0x42, 0x0A, 0xBB, 0x58, 0x76, 0xE2, 0x13, 0x11, 0xB4, 0xCF, 0x15, 0x0F, 0xA9, 0xA2, +0xF6, 0xB9, 0xDD, 0x43, 0x2C, 0xAF, 0x8F, 0x5A, 0x2F, 0xDA, 0x1F, 0x30, 0x91, 0x14, 0xF7, 0x91, +0x7F, 0x04, 0x0F, 0x0D, 0x35, 0xBD, 0x70, 0x8E, 0x30, 0x15, 0x2D, 0x18, 0xFF, 0x40, 0x43, 0x44, +0xE7, 0x03, 0x19, 0xE6, 0x06, 0x13, 0x2C, 0x50, 0x31, 0x13, 0x3D, 0x89, 0x7F, 0xDC, 0xD6, 0x43, +0x38, 0x40, 0xE0, 0x1F, 0x84, 0x87, 0xA4, 0x40, 0x4C, 0xC8, 0x37, 0x44, 0xD0, 0xFE, 0x30, 0x11, +0x02, 0x3E, 0x18, 0x44, 0x82, 0x59, 0x14, 0x1E, 0x87, 0xE0, 0x20, 0x83, 0x99, 0xB8, 0x1F, 0x64, +0x7F, 0x00, 0xA4, 0x04, 0x1E, 0x83, 0xB0, 0x0F, 0x4E, 0x84, 0x10, 0x2C, 0x4F, 0xD4, 0x55, 0x5D, +0x4D, 0x3F, 0x7E, 0xE1, 0x3E, 0xF5, 0x10, 0xB9, 0xB7, 0xBD, 0x3E, 0xFA, 0xF9, 0xA3, 0xE3, 0x4C, +0xCC, 0x0F, 0xCF, 0xC3, 0x3F, 0x3C, 0x0F, 0x58, 0xC4, 0x89, 0x1C, 0x7D, 0x98, 0x78, 0x3D, 0x67, +0xF0, 0x40, 0x43, 0x44, 0xE7, 0x23, 0x6D, 0x88, 0x20, 0x6A, 0xD2, 0x14, 0x04, 0x4A, 0xFC, 0xE3, +0xB6, 0x79, 0xC8, 0x4B, 0x00, 0x42, 0xF8, 0x07, 0xE1, 0x21, 0xD7, 0xD0, 0x3F, 0x44, 0x26, 0x12, +0x5A, 0xE8, 0xE0, 0xC3, 0x42, 0x08, 0xDA, 0x1F, 0x46, 0x42, 0x3C, 0x17, 0xDE, 0x41, 0xFA, 0x1B, +0x1C, 0x24, 0x7C, 0xF4, 0xE1, 0xEA, 0x19, 0x02, 0x26, 0xC4, 0x55, 0x94, 0x85, 0x84, 0xDD, 0xF4, +0xB7, 0x64, 0x7D, 0xB0, 0xCA, 0xE3, 0x51, 0x7D, 0x35, 0xAB, 0x82, 0x7F, 0x58, 0x84, 0xF6, 0x39, +0xDE, 0x00, 0x88, 0x48, 0xE5, 0x01, 0x01, 0x0F, 0x1E, 0x87, 0xC1, 0x4C, 0xE0, 0x1C, 0xE1, 0xB2, +0x42, 0xF0, 0x01, 0x0F, 0x01, 0x1F, 0x8A, 0x87, 0xD4, 0x07, 0x7C, 0xFB, 0xC3, 0x22, 0x94, 0xAF, +0x4C, 0x83, 0x74, 0x03, 0x38, 0x08, 0xE9, 0x1F, 0xFA, 0x00, 0x1F, 0xA0, 0xFE, 0x8A, 0xC2, 0x77, +0xA8, 0x1E, 0x75, 0x3E, 0x90, 0x87, 0x2C, 0x3F, 0x2F, 0xB1, 0x7C, 0xD7, 0x4E, 0x48, 0xF8, 0xDC, +0x07, 0xDB, 0x18, 0x76, 0xFD, 0x04, 0x1B, 0xA6, 0x32, 0x9E, 0x5F, 0x45, 0xD3, 0x12, 0x3C, 0x8B, +0x88, 0xF3, 0x84, 0x20, 0x42, 0x75, 0x0F, 0x91, 0x11, 0x9B, 0xC7, 0xDC, 0xCF, 0x3D, 0x51, 0xD5, +0x07, 0xBB, 0xFE, 0xB4, 0x07, 0x81, 0x08, 0x94, 0xCE, 0x15, 0xBD, 0x7F, 0x78, 0x77, 0xF5, 0x94, +0x0C, 0x06, 0x3B, 0x18, 0xEB, 0xC0, 0x8C, 0x1B, 0x66, 0x3E, 0x90, 0x88, 0xA0, 0xFD, 0xA1, 0x7B, +0x88, 0xAB, 0x65, 0x2A, 0x53, 0x8F, 0x43, 0x44, 0x88, 0x3D, 0x2E, 0xEF, 0xE9, 0x20, 0x4F, 0x31, +0xCB, 0x33, 0x8C, 0xEB, 0xF6, 0x31, 0x2D, 0x29, 0xEF, 0xDA, 0x55, 0xF7, 0x78, 0xBC, 0xA0, 0x04, +0x04, 0x3C, 0x28, 0x0E, 0x8F, 0x10, 0x0D, 0xFE, 0x79, 0xDF, 0x3D, 0x0E, 0x24, 0x4D, 0x44, 0x15, +0x68, 0x89, 0xF4, 0xFE, 0xBD, 0xE0, 0xC1, 0xC8, 0x98, 0x7E, 0x80, 0x16, 0x2C, 0x4F, 0xB4, 0x9A, +0xC8, 0x7B, 0x78, 0xDF, 0x24, 0xD3, 0x90, 0xFC, 0x51, 0xC7, 0x87, 0xC3, 0xC0, 0x21, 0xE0, 0x21, +0xC1, 0xD9, 0x08, 0x1D, 0x55, 0x4C, 0xBB, 0x38, 0x09, 0x21, 0xCB, 0xDD, 0xD2, 0xA6, 0x9D, 0xDC, +0x94, 0xF4, 0x23, 0x89, 0x26, 0xF8, 0x87, 0x69, 0xDC, 0xC9, 0x41, 0x1E, 0x1E, 0x64, 0x7A, 0x45, +0x39, 0x54, 0x0F, 0xC8, 0xCA, 0x32, 0x5C, 0xC1, 0x6E, 0x2D, 0xF9, 0x47, 0xCD, 0x08, 0xCB, 0x77, +0x4D, 0x1A, 0x5D, 0x0E, 0xE5, 0xE6, 0xF7, 0xE0, 0x20, 0x28, 0x63, 0x0E, 0x13, 0xF0, 0x92, 0xD3, +0x85, 0x8B, 0xDF, 0xEA, 0x2B, 0xA9, 0x0F, 0x1C, 0x81, 0x97, 0x92, 0x53, 0xB0, 0x0B, 0xB7, 0x85, +0xD3, 0xE4, 0x15, 0xAC, 0x23, 0x10, 0xE3, 0x6D, 0x04, 0xFE, 0x61, 0xD3, 0x8B, 0x63, 0xCD, 0x48, +0x66, 0x59, 0x27, 0x89, 0x0A, 0xF3, 0xED, 0x71, 0xC5, 0x44, 0x65, 0x0F, 0xC8, 0x83, 0x59, 0xEF, +0x16, 0x9F, 0x9E, 0x99, 0xF5, 0xED, 0xDB, 0xC3, 0x7A, 0x2D, 0x37, 0xA3, 0xBA, 0xEE, 0x04, 0x40, +0xD4, 0x71, 0x7A, 0x5C, 0x6C, 0x16, 0xF5, 0xC6, 0xAA, 0xC5, 0x66, 0xB7, 0x24, 0x75, 0xDC, 0x16, +0x5B, 0xB9, 0x99, 0xC6, 0xB1, 0x28, 0x8A, 0x37, 0x84, 0xBE, 0xBC, 0x29, 0xDB, 0x86, 0x18, 0x6D, +0x55, 0xFD, 0xFC, 0xF9, 0xF3, 0xED, 0x95, 0x31, 0x71, 0xAB, 0xAA, 0x56, 0x64, 0x7E, 0xF9, 0xA6, +0x7C, 0x43, 0xA9, 0xE8, 0x4F, 0xCD, 0x67, 0xE3, 0xAD, 0xD8, 0x1E, 0x97, 0xA4, 0x76, 0xF2, 0x81, +0xD9, 0x25, 0xB3, 0xED, 0x95, 0x43, 0xC4, 0xA4, 0xC7, 0x53, 0xB7, 0x7E, 0x20, 0x46, 0x97, 0x65, +0xB9, 0x39, 0xE6, 0x3F, 0x11, 0x80, 0x64, 0x79, 0x9E, 0x77, 0x6B, 0x42, 0xDD, 0x5A, 0x08, 0xB1, +0x66, 0x5A, 0x87, 0xFE, 0xBC, 0x10, 0x7C, 0x2C, 0xFF, 0x41, 0x12, 0xFA, 0x46, 0x15, 0x22, 0x10, +0xA2, 0xE3, 0x71, 0xBE, 0x94, 0xE7, 0xA6, 0xA9, 0x1A, 0xA3, 0xAA, 0xEA, 0xA3, 0x10, 0xF2, 0xE3, +0xA7, 0x51, 0x3F, 0x84, 0x0F, 0xF9, 0x1B, 0x12, 0xFA, 0xFD, 0xF6, 0x5D, 0x79, 0x90, 0xD1, 0x94, +0xE7, 0xCB, 0xF9, 0x8D, 0x51, 0x67, 0xE1, 0x43, 0x64, 0xBE, 0x7A, 0x80, 0x0F, 0x46, 0xE6, 0x6B, +0x5F, 0xED, 0xE2, 0x00, 0x39, 0xBA, 0xAA, 0x55, 0xF7, 0x40, 0x45, 0x65, 0x26, 0xCA, 0x6F, 0x0F, +0x48, 0xEE, 0x5E, 0x37, 0xE3, 0x08, 0xE9, 0x4E, 0x66, 0x3E, 0xE4, 0xBC, 0x88, 0x36, 0x75, 0x6D, +0xE2, 0xA3, 0x5E, 0x42, 0x94, 0x87, 0x98, 0x86, 0xF0, 0xC1, 0x11, 0x52, 0x5E, 0x24, 0x20, 0xCB, +0x4B, 0x53, 0x59, 0xAE, 0xEF, 0x4D, 0xDB, 0xE3, 0x21, 0x22, 0xF8, 0xF0, 0x6A, 0x02, 0x22, 0xB2, +0x7D, 0x9F, 0x7E, 0x00, 0x1F, 0x72, 0x48, 0x84, 0x7F, 0x78, 0x42, 0x4C, 0x88, 0x14, 0xC5, 0x92, +0x11, 0x4F, 0xC8, 0x62, 0x41, 0x11, 0x72, 0xEA, 0x3A, 0x92, 0x0F, 0x82, 0x90, 0x57, 0x00, 0x44, +0xE5, 0xC3, 0x8B, 0x23, 0xE4, 0xC1, 0x46, 0xC8, 0xEA, 0xD1, 0xF9, 0x87, 0x9D, 0x10, 0xF0, 0x41, +0x7B, 0x88, 0x01, 0x0F, 0xC7, 0x07, 0x43, 0xC8, 0xF9, 0x72, 0x71, 0x11, 0xD9, 0x13, 0xA2, 0x5E, +0xDF, 0x65, 0xF3, 0xB2, 0x7B, 0x48, 0x25, 0x02, 0x21, 0xD8, 0xAE, 0xFC, 0xD4, 0xB3, 0x7A, 0x96, +0x51, 0x12, 0x7C, 0x10, 0x1E, 0xB2, 0xFC, 0x47, 0xD5, 0x0B, 0x33, 0x1F, 0x22, 0x1B, 0x21, 0xFB, +0xC7, 0x35, 0xED, 0x1F, 0x14, 0x21, 0x00, 0x44, 0xE5, 0xE3, 0x0E, 0x84, 0xA0, 0xC4, 0x1B, 0xCE, +0x8B, 0x4E, 0x08, 0xEF, 0x1F, 0xBC, 0x87, 0x20, 0x60, 0x6C, 0x84, 0x94, 0xC2, 0x87, 0x1B, 0xBD, +0x87, 0xC8, 0x98, 0xBD, 0xCC, 0xCB, 0x06, 0x11, 0xFE, 0x01, 0x42, 0xF0, 0x42, 0xF8, 0xB7, 0xF0, +0xD3, 0xF7, 0xC6, 0x1D, 0x88, 0x27, 0x96, 0xE0, 0xC3, 0xE8, 0x21, 0xE0, 0x83, 0xD7, 0x8E, 0xE0, +0xA3, 0x8F, 0x88, 0x95, 0x4E, 0xC8, 0xEA, 0x44, 0xF3, 0x01, 0x42, 0x38, 0x07, 0xD1, 0xF9, 0x00, +0x21, 0x8C, 0xBA, 0xD3, 0x2A, 0x69, 0x84, 0x46, 0xDD, 0xC2, 0xC0, 0x07, 0x10, 0x21, 0xFC, 0xE3, +0xE6, 0x1E, 0xE2, 0xF9, 0x80, 0x74, 0xFB, 0xF8, 0xE3, 0x1F, 0x92, 0x87, 0x5C, 0x5A, 0x44, 0x2D, +0x2E, 0xEC, 0xC8, 0x1E, 0xC0, 0x87, 0xDD, 0x43, 0xAA, 0xB1, 0x9A, 0x99, 0x97, 0xF6, 0x0E, 0xE5, +0x61, 0x0D, 0xC4, 0x9A, 0xD2, 0xF3, 0x31, 0x21, 0x84, 0x7F, 0xDC, 0x65, 0x96, 0x35, 0x8E, 0x83, +0xFE, 0xBB, 0x20, 0x4A, 0xEC, 0x48, 0x9E, 0x4B, 0xF2, 0x01, 0xE5, 0x39, 0xE1, 0x20, 0x3A, 0x1E, +0x50, 0x9E, 0xAD, 0x39, 0x69, 0x17, 0x02, 0x39, 0x15, 0x63, 0x51, 0xF3, 0x2B, 0x5E, 0xC7, 0x79, +0x42, 0x12, 0x69, 0x7C, 0xB8, 0xD6, 0x42, 0x40, 0x44, 0x7E, 0x48, 0xF8, 0xF8, 0x9B, 0x98, 0xB6, +0x8A, 0xF4, 0xE3, 0x87, 0xC5, 0x3F, 0xA0, 0xA6, 0x4D, 0x3D, 0x6A, 0xBC, 0x95, 0xE7, 0xF2, 0xEC, +0x60, 0x0D, 0xA0, 0x18, 0xED, 0x03, 0x88, 0x10, 0xFE, 0x41, 0x6B, 0x67, 0xC4, 0x03, 0x84, 0xAC, +0x66, 0xFD, 0x83, 0xE7, 0xC3, 0x40, 0x08, 0xEF, 0x20, 0x59, 0xA4, 0x9C, 0x3B, 0xAC, 0x87, 0x39, +0x42, 0x4E, 0xF0, 0x0F, 0x1B, 0x22, 0x64, 0x79, 0x97, 0xF7, 0x90, 0x44, 0x7A, 0xFA, 0x81, 0x21, +0xD1, 0xD9, 0x7E, 0x4F, 0x2C, 0x04, 0xD7, 0xF8, 0xA6, 0x8A, 0x65, 0xB4, 0x0F, 0xA8, 0x6D, 0x52, +0x06, 0x51, 0xBF, 0xEA, 0xD9, 0x00, 0xB0, 0xB2, 0x77, 0x56, 0xF8, 0x20, 0x08, 0x61, 0xF9, 0xE0, +0x09, 0x59, 0x70, 0x84, 0xA0, 0xE7, 0x40, 0xF1, 0x01, 0xE5, 0xBC, 0x83, 0xE8, 0x7C, 0xF0, 0x1E, +0xD2, 0x75, 0x73, 0xEF, 0x12, 0xA7, 0x05, 0xDA, 0xD4, 0x9C, 0x7D, 0xF0, 0x84, 0x28, 0x78, 0x58, +0x09, 0x71, 0x17, 0x6B, 0x7F, 0xCD, 0x0E, 0x77, 0x65, 0xD9, 0xA6, 0x57, 0x76, 0xFF, 0x84, 0x44, +0x71, 0x15, 0xEB, 0x83, 0x78, 0xC8, 0x8C, 0x7F, 0xF4, 0xD5, 0xDD, 0x48, 0x40, 0x2E, 0xD9, 0xBE, +0xBB, 0xF2, 0x6E, 0xF0, 0x8E, 0x61, 0xDE, 0x77, 0xE6, 0xF8, 0x98, 0x3B, 0x37, 0xC7, 0xE5, 0xFF, +0xCB, 0x84, 0x07, 0x08, 0x39, 0x5C, 0x27, 0x64, 0xD5, 0xAD, 0x29, 0x65, 0x13, 0xCA, 0x79, 0x07, +0xD1, 0xF9, 0xE0, 0x13, 0x91, 0xEE, 0xE1, 0xB4, 0x9F, 0x5C, 0x6C, 0x72, 0x5A, 0x1D, 0x30, 0xBF, +0x32, 0x11, 0xB2, 0xA4, 0xC4, 0xA7, 0xEA, 0x93, 0x9A, 0xE1, 0x43, 0x02, 0xD0, 0x05, 0xA2, 0x27, +0xC4, 0xED, 0xBD, 0x11, 0x0E, 0xAE, 0x44, 0xF0, 0xB4, 0x8C, 0xD3, 0x2B, 0xA8, 0x99, 0x24, 0x44, +0x3C, 0xA4, 0x1C, 0xF2, 0xF3, 0x70, 0x48, 0x1E, 0x17, 0x8E, 0x8F, 0x2B, 0xFE, 0xAA, 0xF0, 0x61, +0x17, 0xC1, 0x47, 0x42, 0x08, 0x56, 0xF8, 0x1E, 0xD0, 0xFE, 0x20, 0xF8, 0xE0, 0x09, 0x51, 0x01, +0xC9, 0xB3, 0x69, 0xF1, 0x0D, 0x11, 0xAC, 0x58, 0xF4, 0x3B, 0x68, 0x0F, 0x4E, 0x13, 0x52, 0x2B, +0xFE, 0x71, 0x07, 0x42, 0xAE, 0xEA, 0x2A, 0x1F, 0x51, 0x44, 0xBA, 0x90, 0x94, 0x7B, 0xA4, 0x0A, +0x33, 0xE9, 0x87, 0x9E, 0xAA, 0x57, 0xB1, 0xD2, 0x62, 0x16, 0x36, 0xCF, 0xC7, 0xB9, 0x04, 0xB0, +0xF0, 0x10, 0x9D, 0x0F, 0xDD, 0x43, 0x8A, 0xE5, 0x8D, 0x54, 0x1B, 0xF9, 0x00, 0x21, 0x11, 0x1C, +0x4E, 0x27, 0x3A, 0xFD, 0xE0, 0x08, 0x81, 0x83, 0xF0, 0x7C, 0xDC, 0xA8, 0x65, 0x78, 0x7A, 0x04, +0x1F, 0x0A, 0x21, 0x7C, 0x79, 0x97, 0x4F, 0x44, 0x24, 0x2A, 0xEC, 0x84, 0xC0, 0x3F, 0x30, 0x06, +0x54, 0xA4, 0x76, 0xD4, 0x20, 0x11, 0x19, 0xA7, 0x1F, 0x0A, 0x21, 0xAA, 0x7F, 0x40, 0x93, 0x79, +0x88, 0xFF, 0xC7, 0x2F, 0xA0, 0x03, 0x1E, 0xA2, 0xF2, 0xA1, 0x13, 0x42, 0xF8, 0x07, 0xDF, 0x10, +0x99, 0x89, 0x83, 0xCD, 0xE4, 0x2C, 0x8B, 0x2F, 0xEF, 0x1A, 0x08, 0xE1, 0x1D, 0x24, 0x13, 0xDD, +0x8A, 0x90, 0xB5, 0x74, 0x75, 0xFE, 0x56, 0x68, 0x9F, 0xEB, 0x84, 0xE8, 0x7C, 0xF0, 0xD2, 0xEA, +0xBB, 0x90, 0x2B, 0x84, 0x4E, 0xB7, 0xCF, 0x07, 0xEB, 0xC0, 0x94, 0x66, 0x78, 0x6C, 0xA2, 0x59, +0x16, 0xF8, 0x98, 0x94, 0xCA, 0x87, 0x3E, 0xCB, 0x12, 0x12, 0xC0, 0x6A, 0x9C, 0x87, 0x58, 0xF9, +0x00, 0x21, 0x44, 0x7A, 0x4E, 0xAB, 0xB6, 0xF2, 0x81, 0xA6, 0xFA, 0xCD, 0xF9, 0x80, 0x72, 0xC5, +0x41, 0x48, 0xFF, 0x80, 0xBE, 0xFD, 0x27, 0x21, 0x27, 0x94, 0xAF, 0x4C, 0x84, 0x28, 0x7C, 0xF0, +0xB3, 0xAC, 0xC4, 0x3F, 0x28, 0x44, 0xCE, 0x97, 0xC8, 0x40, 0x30, 0xB5, 0xE9, 0x43, 0x35, 0x29, +0x31, 0x89, 0x28, 0x0F, 0xA9, 0xE6, 0xD5, 0x46, 0x95, 0x64, 0x38, 0x18, 0x8A, 0x58, 0xA3, 0xBD, +0x94, 0x0F, 0xE5, 0x0D, 0x13, 0xED, 0x0F, 0x5E, 0xBB, 0x85, 0xCE, 0x07, 0x84, 0x96, 0xE1, 0x1D, +0xF8, 0x00, 0x21, 0xBC, 0x83, 0x64, 0x8A, 0x72, 0xB2, 0xA9, 0xBE, 0xFE, 0xFB, 0x7B, 0x60, 0xE0, +0xC3, 0x40, 0xC8, 0x82, 0xE3, 0x83, 0xF7, 0x10, 0x4D, 0x31, 0x21, 0x01, 0x8E, 0x49, 0x03, 0x91, +0x87, 0xB8, 0x65, 0x58, 0x69, 0x22, 0xFC, 0x03, 0xC5, 0x2C, 0xE4, 0x1F, 0x0E, 0xCA, 0x14, 0x57, +0x0C, 0x2B, 0x1E, 0x20, 0x84, 0xF0, 0x0F, 0x9E, 0x10, 0x1D, 0x0F, 0x68, 0xE3, 0x5B, 0x86, 0xD0, +0xBA, 0x7B, 0xB2, 0x86, 0x08, 0x3E, 0x14, 0x44, 0x48, 0x07, 0xC9, 0xF4, 0x17, 0x66, 0x09, 0x59, +0x8D, 0x97, 0x97, 0xD4, 0xDA, 0x89, 0x41, 0x31, 0xAB, 0x26, 0x56, 0xB7, 0x53, 0x79, 0x08, 0x62, +0x80, 0x24, 0xC4, 0x05, 0x20, 0x62, 0x30, 0xCA, 0x44, 0x5C, 0xB8, 0x4A, 0x1E, 0x02, 0x44, 0x74, +0x8D, 0xF1, 0x80, 0x7F, 0x18, 0xF3, 0x10, 0xD4, 0xAC, 0xE0, 0x21, 0x67, 0x78, 0x48, 0xDC, 0x10, +0x29, 0x2C, 0xDA, 0x12, 0x7C, 0xD0, 0xAA, 0x09, 0x40, 0xA2, 0x86, 0x08, 0xDB, 0x3E, 0xCF, 0x0C, +0xCA, 0x79, 0x07, 0xC9, 0x4D, 0xAF, 0x9B, 0x71, 0x84, 0x74, 0x03, 0x1E, 0x7E, 0xF9, 0x95, 0xAA, +0x4D, 0x20, 0x84, 0xE5, 0x83, 0xCF, 0xD4, 0x29, 0x42, 0xBE, 0xF4, 0x7C, 0x80, 0x08, 0x84, 0xA3, +0xDF, 0xFA, 0x5D, 0xB9, 0x2F, 0x9B, 0x6A, 0x68, 0x80, 0x54, 0xBA, 0x3E, 0x8C, 0x09, 0xA9, 0x4C, +0x1A, 0xB7, 0x3F, 0x30, 0x9B, 0xC2, 0xC1, 0x60, 0xDF, 0x1F, 0x11, 0xC9, 0x47, 0xB1, 0xA5, 0xF8, +0xE0, 0x3D, 0x04, 0x78, 0x30, 0x84, 0xAC, 0xC8, 0xF6, 0x60, 0x66, 0x52, 0x4E, 0x3B, 0x48, 0x66, +0xD4, 0x9A, 0x43, 0x64, 0x35, 0xF0, 0x51, 0x2F, 0x4C, 0xAA, 0x6B, 0x82, 0x0F, 0x5A, 0xC7, 0x10, +0x07, 0x56, 0x85, 0xF8, 0x92, 0x68, 0xC3, 0xC5, 0x3A, 0x99, 0xCD, 0x20, 0x13, 0xF1, 0xB5, 0x2C, +0xF0, 0xA1, 0x08, 0xED, 0x41, 0xAB, 0x86, 0xE5, 0x57, 0x65, 0x3A, 0xB9, 0x4A, 0x9E, 0x91, 0x9B, +0x91, 0x0F, 0x30, 0x42, 0xB7, 0x07, 0xF9, 0x86, 0x88, 0x31, 0x0E, 0x36, 0x1B, 0x47, 0x08, 0xBD, +0xBC, 0xE4, 0x21, 0x33, 0x2A, 0x27, 0x1C, 0x84, 0xE1, 0x83, 0x6F, 0x19, 0x4A, 0x4D, 0x02, 0xED, +0x41, 0x23, 0x21, 0xD7, 0x7C, 0xFA, 0x06, 0x84, 0x80, 0x0F, 0x13, 0x21, 0x67, 0x97, 0x9E, 0x23, +0x22, 0x01, 0x09, 0xF6, 0x87, 0x21, 0x79, 0x8A, 0x44, 0x6F, 0xF3, 0xE1, 0x63, 0x65, 0x11, 0x9A, +0xEA, 0x68, 0x9F, 0xAB, 0x72, 0x0E, 0x55, 0x02, 0x89, 0xD4, 0x40, 0xF0, 0xDC, 0xE0, 0x21, 0x85, +0x59, 0x6C, 0x7B, 0x90, 0x27, 0x44, 0x99, 0x66, 0x27, 0x0D, 0x91, 0xFD, 0x8A, 0x6D, 0x7F, 0x98, +0x95, 0x33, 0x0E, 0x92, 0x67, 0x84, 0x38, 0xA2, 0xD7, 0xB2, 0xBA, 0x17, 0x7C, 0x18, 0x44, 0x96, +0xAF, 0xF8, 0x62, 0x16, 0x25, 0xC7, 0x47, 0x54, 0x2C, 0x8A, 0xEA, 0xAA, 0x7E, 0x78, 0x33, 0x41, +0xFA, 0x61, 0x13, 0xE6, 0x57, 0x66, 0x42, 0xDA, 0x99, 0xE4, 0x1C, 0xCF, 0xC1, 0x43, 0x0A, 0x46, +0x5B, 0xAE, 0xFD, 0xC1, 0x27, 0x22, 0x8B, 0x05, 0x43, 0xC8, 0xE3, 0x89, 0xF3, 0x8F, 0x2E, 0x23, +0x94, 0x9B, 0x1C, 0x84, 0xE7, 0x83, 0xFF, 0x86, 0x08, 0xDA, 0x1F, 0x26, 0x51, 0x7C, 0xF0, 0x2A, +0x38, 0xBD, 0x41, 0x0E, 0x8C, 0x78, 0x2C, 0xD3, 0x90, 0x1C, 0x72, 0xF8, 0x8F, 0x15, 0x25, 0x99, +0x5F, 0x71, 0x8A, 0xCA, 0x57, 0x57, 0x32, 0x10, 0xE4, 0x21, 0x05, 0xA7, 0xE5, 0x5D, 0x65, 0x9B, +0x5F, 0xA1, 0x21, 0xC2, 0x96, 0x77, 0xBF, 0x65, 0x8C, 0x72, 0xB3, 0x83, 0x64, 0x84, 0xD8, 0x96, +0x61, 0xD7, 0xA1, 0x7F, 0x6E, 0xD1, 0x64, 0xFE, 0x71, 0x4B, 0x66, 0x38, 0x0B, 0xD9, 0xBE, 0x19, +0xE2, 0x7F, 0x1C, 0x87, 0x65, 0x7A, 0xB9, 0x0E, 0x6B, 0x7B, 0xCB, 0x8A, 0xD3, 0x8F, 0xAF, 0x34, +0x20, 0x97, 0x52, 0xB5, 0x10, 0x1C, 0x28, 0x09, 0x08, 0x69, 0x20, 0x7C, 0xA6, 0xCE, 0x01, 0xB2, +0xEA, 0xA8, 0x50, 0xCB, 0x48, 0xE5, 0x8A, 0x83, 0xF0, 0x7C, 0xF0, 0x0D, 0x11, 0x29, 0xF5, 0x1E, +0xF6, 0x32, 0xC5, 0x62, 0xF8, 0x60, 0x32, 0x74, 0x7E, 0x8A, 0xC5, 0x4D, 0xB2, 0x90, 0x82, 0x8C, +0x2E, 0xD3, 0x31, 0x1F, 0xB8, 0x6F, 0x45, 0x1C, 0x1F, 0x5F, 0x29, 0x42, 0x5A, 0xD1, 0xB9, 0x54, +0x0C, 0x04, 0xA3, 0x24, 0xA7, 0x58, 0xDB, 0xFB, 0x4E, 0xB1, 0x76, 0x0C, 0x21, 0x9B, 0x45, 0xBF, +0x44, 0xF1, 0x81, 0x08, 0xB5, 0x5C, 0x22, 0x93, 0x26, 0x44, 0x77, 0x10, 0xE2, 0x35, 0x79, 0x42, +0xA4, 0x59, 0x78, 0x38, 0xEC, 0x91, 0x84, 0x98, 0xF8, 0xD8, 0x29, 0x84, 0xD4, 0xFF, 0xC3, 0x87, +0x88, 0x20, 0x24, 0xF4, 0xD0, 0x23, 0x0C, 0xA6, 0x83, 0x51, 0x6E, 0x6D, 0xCB, 0x11, 0xF2, 0x55, +0x00, 0x61, 0x08, 0x69, 0x9D, 0x4A, 0x83, 0x85, 0xB8, 0x15, 0x27, 0x28, 0x62, 0xD9, 0x74, 0xDC, +0xDE, 0x93, 0x90, 0x9D, 0x08, 0x84, 0x18, 0xF8, 0xD8, 0xEF, 0x0F, 0x07, 0x34, 0x41, 0x0C, 0x7C, +0xF0, 0xCA, 0x15, 0x07, 0xA1, 0xF8, 0xE0, 0x09, 0xE9, 0x1C, 0x1F, 0x87, 0xBD, 0x23, 0x64, 0x63, +0xCC, 0x3F, 0x76, 0x4E, 0xCB, 0x7B, 0xE8, 0x78, 0xDC, 0x3A, 0x1D, 0x19, 0x3E, 0xB0, 0x8C, 0x17, +0x33, 0xAA, 0x6B, 0xFE, 0x11, 0xC4, 0xF0, 0xF1, 0x43, 0xC6, 0x4F, 0x86, 0x0F, 0x91, 0x23, 0x20, +0x22, 0x23, 0xA1, 0x04, 0x8D, 0x10, 0xC2, 0x3F, 0xEE, 0x49, 0x48, 0xF8, 0x5C, 0x37, 0x66, 0x3E, +0x64, 0x38, 0x42, 0xBA, 0xF5, 0x03, 0xC1, 0x07, 0xA7, 0x5C, 0x73, 0x90, 0xEC, 0xDF, 0x94, 0xE7, +0x99, 0x89, 0x8F, 0x1E, 0x8F, 0x7E, 0xEC, 0xA5, 0x51, 0xC8, 0xF0, 0xB1, 0xBB, 0x4B, 0xA6, 0xBE, +0x0D, 0x3A, 0x9A, 0x1B, 0x85, 0x65, 0xF4, 0x45, 0xC2, 0x18, 0x12, 0x3C, 0x55, 0x3A, 0xFF, 0x60, +0x08, 0xF9, 0xE9, 0xEC, 0xC3, 0xDD, 0xFD, 0xA4, 0xF8, 0x68, 0x1B, 0xC7, 0xAB, 0xD2, 0x08, 0x71, +0xFE, 0xE1, 0xDF, 0x00, 0xC1, 0xC7, 0xDD, 0x08, 0xD9, 0xD5, 0xF8, 0x5D, 0xBC, 0x06, 0x3C, 0x1C, +0x1F, 0x20, 0x84, 0xE0, 0x83, 0xD5, 0xBC, 0x83, 0xE4, 0xD9, 0xFD, 0x08, 0xE9, 0xA4, 0x7E, 0x25, +0xDA, 0xFB, 0xF1, 0x28, 0x6F, 0xDB, 0xC8, 0x07, 0xE1, 0x21, 0x24, 0x1F, 0x14, 0x21, 0x1E, 0x8D, +0x52, 0x86, 0x48, 0x88, 0xD0, 0xE6, 0x34, 0xED, 0x48, 0xD5, 0x6B, 0x9D, 0x0F, 0x0F, 0x87, 0xDD, +0x43, 0x5A, 0xA8, 0x51, 0x0C, 0x04, 0xDF, 0x4E, 0x0F, 0x8C, 0x6C, 0x2D, 0x7C, 0x40, 0x4B, 0x42, +0x84, 0x7F, 0x80, 0x10, 0xBD, 0x91, 0xBE, 0x3F, 0x0C, 0x03, 0xB5, 0x2C, 0x82, 0x0F, 0x42, 0xB1, +0x83, 0x28, 0x7C, 0xD8, 0x09, 0xC9, 0x3B, 0xB5, 0x7C, 0x75, 0xC0, 0xDB, 0x94, 0x77, 0xBC, 0x61, +0xF8, 0xD0, 0x01, 0xE1, 0xF9, 0x60, 0x08, 0xD9, 0x86, 0xD8, 0x1A, 0x04, 0xEB, 0x98, 0x6C, 0x39, +0xF8, 0xF9, 0x15, 0xA4, 0xF3, 0x21, 0x58, 0x0C, 0x88, 0x80, 0x10, 0x85, 0x0F, 0xA8, 0xF7, 0x90, +0xB9, 0x51, 0x86, 0xC3, 0x1F, 0x1E, 0x09, 0x3E, 0xEE, 0x41, 0x48, 0x5D, 0xEF, 0x28, 0x42, 0xF6, +0x7B, 0x44, 0x4E, 0x4F, 0x48, 0x37, 0xDB, 0x6A, 0xEB, 0xA2, 0xE4, 0x9C, 0xD4, 0x75, 0x07, 0xC9, +0xFE, 0x4B, 0x42, 0x88, 0xEA, 0x1F, 0x7B, 0x8C, 0xFD, 0xA3, 0x42, 0x48, 0xF4, 0x5F, 0x41, 0xD7, +0x2E, 0x19, 0xAF, 0x6F, 0xCC, 0x07, 0x08, 0xD9, 0xAA, 0xFE, 0x81, 0x20, 0x73, 0x3B, 0x71, 0xAA, +0x8E, 0x01, 0x3E, 0x20, 0x0B, 0x1F, 0xC1, 0x3F, 0xFC, 0x83, 0x91, 0x0F, 0xE4, 0x21, 0xC8, 0xD5, +0x53, 0x6C, 0xC3, 0x52, 0xC5, 0x12, 0x94, 0x6F, 0x09, 0x3C, 0x6E, 0x3F, 0xCD, 0xDA, 0x8D, 0x25, +0x3F, 0xCE, 0xFB, 0x87, 0x8F, 0x1B, 0x0C, 0xA5, 0xDC, 0xDB, 0x45, 0xFE, 0x41, 0x2B, 0x9F, 0x76, +0x10, 0xB6, 0x24, 0x46, 0x10, 0x02, 0xFF, 0xC0, 0xD0, 0x8A, 0x59, 0x52, 0xE1, 0x88, 0x75, 0xF3, +0xF2, 0x95, 0x4E, 0x08, 0xFC, 0x03, 0x01, 0x36, 0x6C, 0x08, 0x40, 0x85, 0x0F, 0x9D, 0x90, 0xB1, +0x7D, 0x04, 0x42, 0x7E, 0x1A, 0xF9, 0x00, 0x21, 0x57, 0x0F, 0xE8, 0x02, 0x30, 0x4A, 0x53, 0x22, +0xF2, 0x79, 0x7B, 0x57, 0x42, 0xEA, 0xF4, 0x83, 0x9D, 0x6D, 0x7F, 0x78, 0xFF, 0xC0, 0x98, 0x25, +0x44, 0xF1, 0x0F, 0x92, 0x90, 0x31, 0x20, 0x19, 0x2B, 0x82, 0x90, 0xAE, 0x7B, 0x3C, 0x24, 0x80, +0x80, 0x10, 0x1B, 0x1F, 0xB5, 0x42, 0x04, 0xC7, 0x07, 0x45, 0xC8, 0xE0, 0x1C, 0xC0, 0x63, 0xD4, +0x10, 0x29, 0xA7, 0xF2, 0x0F, 0x86, 0x90, 0x8F, 0xBF, 0x99, 0x3B, 0x83, 0xDE, 0xD6, 0x89, 0x28, +0x0A, 0xB7, 0x4A, 0x9F, 0x55, 0x84, 0x92, 0xAA, 0x8A, 0x92, 0x0D, 0x69, 0xD3, 0x1D, 0x42, 0x51, +0x58, 0xB3, 0xCA, 0x9E, 0x45, 0x85, 0x40, 0xC0, 0x22, 0x08, 0xB7, 0x61, 0x9F, 0xC5, 0x5B, 0x95, +0x3D, 0x44, 0x2A, 0x9B, 0x0A, 0xB1, 0x7C, 0xA2, 0x2C, 0xFA, 0x4B, 0x39, 0x9E, 0x19, 0xE7, 0xD8, +0x33, 0x63, 0xDF, 0x7B, 0x49, 0x02, 0x9C, 0x71, 0xC6, 0x4E, 0x9B, 0x97, 0x67, 0x4F, 0xE6, 0xF3, +0x99, 0x3B, 0xD7, 0x71, 0x11, 0x7F, 0xD0, 0x40, 0xF6, 0x88, 0xE8, 0xF8, 0xA0, 0xBE, 0xCB, 0x23, +0xF2, 0x9D, 0x0B, 0x3F, 0x52, 0xC0, 0x05, 0xFF, 0x38, 0x19, 0x21, 0x65, 0xF4, 0xC9, 0x72, 0x32, +0xAB, 0x7B, 0x7A, 0x37, 0x2E, 0xF3, 0x49, 0x27, 0x21, 0xBB, 0x45, 0xCA, 0x87, 0x3D, 0x21, 0x92, +0x71, 0x10, 0xAB, 0x7F, 0xC8, 0xD3, 0xBD, 0x1C, 0x13, 0x82, 0x8F, 0x77, 0x3C, 0xBC, 0x46, 0x1C, +0x42, 0x42, 0xD2, 0xF4, 0x47, 0x4E, 0xA7, 0xE3, 0x23, 0x9F, 0x10, 0xE1, 0x1D, 0x48, 0x33, 0x88, +0x80, 0x90, 0xBC, 0x7F, 0xFC, 0xDC, 0xA1, 0x6E, 0xFF, 0xD8, 0xE3, 0x51, 0x9B, 0x88, 0x2B, 0x7A, +0x3C, 0x98, 0x10, 0xE9, 0x8B, 0x3F, 0x22, 0x44, 0x04, 0x3E, 0x4E, 0x44, 0x48, 0x09, 0x03, 0xD1, +0x10, 0x42, 0x3E, 0x32, 0x80, 0x90, 0x10, 0x4B, 0x78, 0x6E, 0x27, 0x84, 0x0E, 0x62, 0x78, 0x5B, +0x7B, 0x42, 0x24, 0xA4, 0x3F, 0xD2, 0x72, 0xDB, 0x41, 0xC8, 0x94, 0xC3, 0xD4, 0x48, 0xE5, 0xF1, +0xC3, 0x0F, 0x39, 0x54, 0xAF, 0xE7, 0xAE, 0x20, 0xAE, 0x99, 0x32, 0x4C, 0xF9, 0xE8, 0xEA, 0xC2, +0xF9, 0x61, 0x13, 0xC7, 0x56, 0x1E, 0x11, 0x3E, 0xD7, 0xF1, 0x41, 0xB9, 0xEC, 0x64, 0x92, 0x34, +0xE4, 0x0E, 0x47, 0x80, 0x0B, 0x7C, 0x9C, 0x86, 0x90, 0x9E, 0x3F, 0xBD, 0x96, 0xE7, 0x23, 0x5B, +0x98, 0x32, 0x4C, 0xFC, 0x63, 0x77, 0x3C, 0x42, 0x08, 0x08, 0xF8, 0x38, 0x19, 0x21, 0xE7, 0xE0, +0x83, 0x78, 0x24, 0x88, 0xA4, 0x84, 0xF4, 0xFE, 0xA9, 0xC2, 0xEE, 0x61, 0xD6, 0xD8, 0xE4, 0x1F, +0x06, 0x0F, 0xA9, 0xA3, 0x72, 0x57, 0xDC, 0x9A, 0xA3, 0x2C, 0x9A, 0x08, 0xD3, 0x1F, 0x3D, 0xCA, +0xF4, 0xF6, 0x7D, 0xFA, 0xE3, 0x95, 0x26, 0x82, 0x95, 0x2F, 0x3A, 0x3E, 0x28, 0xE6, 0x43, 0x58, +0x92, 0xB1, 0x15, 0x8F, 0x42, 0xE0, 0xE3, 0x04, 0x84, 0x94, 0x65, 0xCF, 0x27, 0x9B, 0x4D, 0x7F, +0xF4, 0x11, 0xB2, 0x13, 0xC6, 0x57, 0x07, 0x12, 0x42, 0x40, 0xF0, 0xFC, 0x44, 0x84, 0x30, 0xFD, +0xD1, 0x7D, 0xA8, 0x53, 0x81, 0x0F, 0x6B, 0x20, 0x22, 0xF3, 0x61, 0x22, 0x24, 0x71, 0x0E, 0x56, +0x69, 0xA8, 0x9E, 0x0B, 0x3F, 0xFA, 0x13, 0x22, 0x4D, 0x28, 0x18, 0x80, 0x70, 0xBA, 0x57, 0xC5, +0x07, 0x09, 0x09, 0x98, 0xD2, 0x3F, 0xF2, 0x78, 0xF0, 0xBB, 0xE9, 0x09, 0x1F, 0x27, 0x25, 0xE4, +0x86, 0x92, 0x09, 0x61, 0xFA, 0x23, 0x4F, 0x48, 0x9C, 0x10, 0xD9, 0x09, 0xFE, 0x61, 0x14, 0x01, +0x21, 0x75, 0x87, 0xAB, 0xDA, 0xC7, 0x5D, 0xFB, 0xF2, 0x76, 0xD2, 0x91, 0x2D, 0x48, 0xAA, 0x6B, +0xF8, 0xA0, 0x0E, 0xC6, 0xC3, 0x42, 0x48, 0x23, 0x37, 0xE8, 0x96, 0xB8, 0x82, 0x85, 0x34, 0x26, +0xAF, 0x30, 0xBE, 0x12, 0xD4, 0x95, 0xFE, 0x20, 0x17, 0xCC, 0x17, 0xE6, 0x08, 0x91, 0xDE, 0xBF, +0xFE, 0xAA, 0x23, 0xED, 0xA3, 0xD3, 0x41, 0xDC, 0x5A, 0xC5, 0x07, 0x75, 0x32, 0xFF, 0x20, 0x21, +0xC4, 0x03, 0x7C, 0xF4, 0xF5, 0x1C, 0x26, 0x44, 0x18, 0x7F, 0x1C, 0x55, 0x35, 0x20, 0x47, 0x7E, +0x5B, 0x47, 0xC8, 0x79, 0x63, 0x7A, 0x57, 0x00, 0xE4, 0xF6, 0x56, 0xC5, 0x07, 0x55, 0x1E, 0x2D, +0xFE, 0x90, 0xE3, 0x90, 0xD0, 0xA5, 0xF2, 0x78, 0x78, 0x35, 0xCE, 0xD6, 0xE0, 0x43, 0x54, 0xC2, +0x07, 0xF1, 0xE0, 0xD6, 0x2B, 0xE3, 0x90, 0x57, 0x1D, 0x1F, 0x24, 0x84, 0x26, 0x82, 0xCD, 0x16, +0xDF, 0x6E, 0x45, 0x4E, 0xBC, 0x66, 0x1A, 0x3E, 0xEC, 0x84, 0x8C, 0x0D, 0xFE, 0x41, 0x42, 0x6E, +0x14, 0xFE, 0xC1, 0xE2, 0x08, 0x39, 0x57, 0xFB, 0x87, 0x5D, 0x1E, 0x10, 0x3E, 0x3F, 0xAE, 0x87, +0x30, 0xFD, 0x21, 0x15, 0x9F, 0x54, 0x67, 0x7A, 0x50, 0xD2, 0x11, 0x0D, 0x44, 0x98, 0xEE, 0x65, +0x9F, 0x82, 0x52, 0x44, 0x82, 0x89, 0x34, 0xD2, 0x1F, 0x3F, 0x9A, 0x08, 0x09, 0x78, 0xD0, 0x31, +0x22, 0x0B, 0x41, 0x01, 0x2C, 0x2A, 0x3E, 0xA8, 0xE4, 0x8E, 0x8A, 0x8C, 0x9B, 0x08, 0x7B, 0xE3, +0xB9, 0x0A, 0x0F, 0xEA, 0x20, 0xFF, 0x30, 0x10, 0x32, 0x9D, 0xF7, 0xFB, 0x07, 0x13, 0x22, 0xE4, +0xE3, 0xF2, 0xD8, 0xAA, 0x00, 0x79, 0xB9, 0x3C, 0xB2, 0x80, 0x31, 0x10, 0x61, 0xFA, 0x43, 0x01, +0x08, 0x08, 0x09, 0x88, 0x00, 0x0F, 0x59, 0x65, 0x69, 0x8E, 0xD0, 0xE9, 0x1F, 0x16, 0x42, 0x1A, +0xA1, 0x06, 0x4A, 0x44, 0x06, 0x43, 0x75, 0xDE, 0xE9, 0x47, 0xA5, 0x26, 0x1F, 0x09, 0x1D, 0xB4, +0x12, 0xFE, 0x46, 0xCF, 0x07, 0x93, 0xEA, 0xD5, 0x3E, 0x71, 0xC7, 0x6B, 0x35, 0x77, 0x7A, 0x5F, +0xCB, 0x7C, 0xD8, 0x03, 0x11, 0xAB, 0x7F, 0x90, 0x10, 0x4E, 0x5F, 0x4D, 0xE4, 0x9E, 0x43, 0x42, +0xB4, 0xF6, 0x61, 0x83, 0xE8, 0xE5, 0xD7, 0xB3, 0x6F, 0xB1, 0x3A, 0xB6, 0x83, 0xD4, 0x29, 0x43, +0xF0, 0x21, 0xE1, 0xC1, 0x84, 0x48, 0xC9, 0xF4, 0xA0, 0xAC, 0xF2, 0x24, 0xF6, 0x41, 0x31, 0xFE, +0x88, 0x3A, 0x15, 0xB7, 0xD9, 0xCD, 0x9C, 0x87, 0x70, 0xFA, 0x4A, 0x8D, 0x08, 0x03, 0x73, 0x42, +0x12, 0x14, 0x65, 0xD6, 0xC9, 0x87, 0x4E, 0xED, 0xDB, 0xFC, 0x90, 0x68, 0x6E, 0x12, 0x16, 0x2C, +0xE4, 0xC3, 0x44, 0xC8, 0xE1, 0xE9, 0x8F, 0xAE, 0x84, 0x08, 0xF8, 0x90, 0xFD, 0x83, 0x09, 0x91, +0xC0, 0x87, 0xDD, 0x40, 0x64, 0x9C, 0xBE, 0x85, 0x83, 0x2C, 0x8E, 0xEF, 0x20, 0x9E, 0x10, 0x4C, +0xEF, 0xBE, 0x93, 0x00, 0x61, 0x52, 0xDD, 0xFF, 0x6D, 0xE7, 0x1B, 0x2D, 0x20, 0xE5, 0xA9, 0xF8, +0x60, 0x20, 0x42, 0x3C, 0xB8, 0x22, 0x28, 0x9C, 0xF5, 0x85, 0xF8, 0xED, 0x28, 0x3D, 0x21, 0x8E, +0x08, 0xB7, 0xB8, 0xC2, 0xF5, 0x6B, 0x64, 0x20, 0x58, 0xF4, 0x78, 0x30, 0x21, 0xD2, 0x44, 0x9A, +0x3E, 0x98, 0x7A, 0x09, 0x44, 0x3E, 0x8E, 0x4B, 0xC8, 0xD8, 0x66, 0x1F, 0x24, 0x84, 0xFE, 0x21, +0x16, 0xF7, 0x2D, 0x43, 0xC7, 0xC7, 0x4E, 0xD9, 0x3F, 0x4F, 0xE7, 0x20, 0x18, 0xE6, 0xE9, 0x75, +0x35, 0x74, 0xDF, 0xFE, 0x50, 0x96, 0x6A, 0x32, 0xAB, 0x34, 0xD9, 0xB5, 0x19, 0x0F, 0xF0, 0x61, +0x21, 0x84, 0x0E, 0x41, 0x23, 0x21, 0x16, 0x41, 0x44, 0x04, 0xC3, 0x2B, 0x8B, 0xF0, 0xED, 0x8F, +0xBF, 0x6A, 0x04, 0xB8, 0x8E, 0x9F, 0x12, 0x94, 0x57, 0xF0, 0x61, 0x11, 0xBF, 0xFD, 0xC1, 0x3D, +0x4D, 0x5C, 0x90, 0x26, 0x42, 0x3E, 0x54, 0xFE, 0xFA, 0xE9, 0xA7, 0x9F, 0x9A, 0x2F, 0x2F, 0x41, +0x51, 0xC8, 0xBD, 0xAE, 0x04, 0x1F, 0x73, 0x83, 0x96, 0x8E, 0x8F, 0x53, 0x38, 0xC8, 0x0E, 0x0E, +0xB2, 0x18, 0x6A, 0x75, 0x85, 0x3D, 0x30, 0x00, 0xB2, 0x58, 0xCE, 0x27, 0x7A, 0x15, 0xCB, 0x79, +0x79, 0x53, 0xEA, 0x35, 0x2D, 0x7D, 0x6B, 0x86, 0xC2, 0xA5, 0x53, 0xE3, 0xD9, 0xA7, 0xE3, 0xF1, +0x4C, 0xB3, 0xA0, 0x5C, 0x7C, 0xFA, 0xEC, 0x6E, 0xA1, 0xA8, 0xD3, 0xD7, 0xCF, 0x5F, 0xDF, 0x3F, +0x56, 0x37, 0x5C, 0xFF, 0x45, 0xF3, 0xC0, 0x2B, 0xEF, 0x7F, 0x7E, 0xFD, 0x2D, 0xDC, 0x65, 0x14, +0x0F, 0x94, 0x7A, 0xED, 0x56, 0x89, 0xF0, 0x33, 0xFC, 0x33, 0xFC, 0x5B, 0x9D, 0x70, 0x2F, 0xC7, +0xFB, 0x67, 0x10, 0xFE, 0x35, 0x0E, 0x40, 0xF3, 0xC0, 0x81, 0xCE, 0x2E, 0x78, 0xF8, 0xF2, 0x22, +0x45, 0xEA, 0xFC, 0x30, 0xC2, 0xA7, 0x83, 0x8F, 0x0B, 0x9A, 0x2A, 0x8A, 0x13, 0xFF, 0xE2, 0x81, +0x46, 0xB7, 0xCB, 0xAB, 0x85, 0x5E, 0xE8, 0xC3, 0x57, 0x43, 0xB5, 0x10, 0xA4, 0x5F, 0xE9, 0x35, +0x5A, 0x5C, 0xEF, 0xB4, 0xAA, 0x6E, 0x75, 0xB2, 0xAC, 0x0E, 0xB3, 0xD0, 0x2C, 0xEE, 0x6F, 0x4D, +0x99, 0x74, 0x37, 0x18, 0x94, 0x83, 0x9B, 0x81, 0x5E, 0x65, 0x39, 0xB6, 0x68, 0x36, 0x7E, 0x7E, +0x78, 0xC0, 0xA2, 0xD4, 0x0F, 0xF7, 0xEB, 0xC7, 0xC7, 0x95, 0x66, 0xF1, 0xE5, 0x69, 0xB3, 0xF9, +0xB0, 0xDD, 0x74, 0x14, 0x08, 0x75, 0xA8, 0xFC, 0xB3, 0xA7, 0xA7, 0x55, 0xF5, 0xEF, 0x34, 0x5A, +0x61, 0xB9, 0xBF, 0x77, 0x7B, 0xAF, 0x2B, 0x10, 0x0E, 0xD7, 0x22, 0x34, 0xBD, 0x41, 0x37, 0x38, +0xF3, 0xDD, 0x9D, 0x99, 0x34, 0x2F, 0x96, 0xEC, 0x1B, 0xD2, 0xE2, 0xA2, 0x5D, 0xBD, 0x16, 0x57, +0x06, 0x11, 0x10, 0x9D, 0xAA, 0xC8, 0x42, 0xA9, 0x25, 0x76, 0xBC, 0x50, 0xFB, 0x47, 0xF1, 0x6E, +0x7A, 0x66, 0xD1, 0x74, 0x70, 0x83, 0x76, 0x07, 0x20, 0x16, 0x8D, 0x2F, 0xC6, 0xAA, 0x05, 0x9A, +0xCD, 0x1C, 0x21, 0x1A, 0x3D, 0x63, 0xB9, 0xAF, 0xB4, 0x42, 0x1F, 0xD6, 0x14, 0xE0, 0x81, 0x0E, +0xFF, 0xB4, 0xFD, 0x80, 0x92, 0x2E, 0x9B, 0x0F, 0x9B, 0xB0, 0x46, 0xED, 0x2A, 0xAC, 0xF0, 0xF2, +0xCD, 0x93, 0x86, 0x0F, 0x08, 0x7B, 0xE1, 0x76, 0xE7, 0x41, 0xCF, 0x88, 0x3B, 0x5C, 0xB6, 0x80, +0xB4, 0xF8, 0x6E, 0x6F, 0xD2, 0xC0, 0xF8, 0xF1, 0xCE, 0xD1, 0xF5, 0x95, 0x5A, 0xA2, 0x9F, 0x2D, +0x2D, 0x7C, 0x8C, 0xAE, 0x74, 0xFA, 0xF2, 0xEA, 0x6A, 0x68, 0x04, 0x64, 0x34, 0x1A, 0xEE, 0x94, +0xBA, 0x06, 0x1F, 0x90, 0xF2, 0x18, 0x27, 0x67, 0xC6, 0x06, 0xBC, 0xB1, 0xA9, 0x26, 0xA4, 0xD2, +0x85, 0x54, 0x63, 0x99, 0xCD, 0x3C, 0x21, 0x9A, 0x12, 0xF8, 0x80, 0xD0, 0x39, 0x55, 0x67, 0xF8, +0x27, 0xAF, 0x0D, 0xBA, 0x7E, 0xC0, 0x00, 0xC5, 0xAD, 0x3C, 0x25, 0xE1, 0x29, 0x2B, 0xFF, 0x7A, +0x12, 0x22, 0x68, 0x7D, 0x6F, 0x23, 0xC4, 0x1F, 0xAE, 0xAE, 0x71, 0xA0, 0x9B, 0xC1, 0xE9, 0x08, +0xA1, 0xB4, 0x84, 0x5C, 0x43, 0x06, 0x42, 0x86, 0xEC, 0xFE, 0x1A, 0x44, 0x74, 0x80, 0xF0, 0xCD, +0x40, 0xDF, 0x4E, 0xA3, 0xF3, 0xA5, 0xE7, 0x43, 0x67, 0x22, 0xC5, 0xC9, 0xF9, 0x08, 0xBA, 0xB9, +0x70, 0x9F, 0x71, 0x7F, 0x0D, 0x3C, 0x82, 0xC6, 0x9A, 0x1E, 0x46, 0x3E, 0x30, 0xCA, 0x5A, 0x19, +0xF8, 0x00, 0x21, 0x5B, 0xBA, 0x44, 0x93, 0x15, 0xFE, 0x14, 0x0B, 0xF9, 0xD8, 0x3C, 0x89, 0xEF, +0xEF, 0x10, 0xBD, 0xAF, 0xE5, 0xE0, 0x95, 0xCB, 0xAC, 0x96, 0xA2, 0x71, 0x50, 0x95, 0xFB, 0xD6, +0xB4, 0xC9, 0xF8, 0x11, 0x9F, 0x4D, 0x96, 0x3A, 0x3E, 0x4C, 0x84, 0x5C, 0x59, 0xE4, 0x1D, 0xE4, +0x13, 0xF5, 0xAB, 0x49, 0x88, 0x6C, 0x1F, 0xE0, 0x43, 0x4D, 0x48, 0x71, 0x6B, 0xE4, 0xA3, 0xB4, +0xF2, 0x41, 0xB9, 0xE8, 0x22, 0x54, 0xF9, 0x1A, 0xC1, 0x3C, 0xA5, 0x20, 0x04, 0xE1, 0x07, 0xD0, +0xD0, 0x78, 0x48, 0xF8, 0x25, 0x3A, 0x3A, 0x44, 0x0F, 0x21, 0x15, 0x59, 0x56, 0xC0, 0x07, 0xA5, +0x00, 0x64, 0x75, 0x4F, 0xFD, 0xA0, 0xD8, 0xFF, 0x59, 0xE3, 0x78, 0x15, 0x8D, 0x43, 0x3E, 0xCC, +0x84, 0x94, 0x56, 0x42, 0x0A, 0x1D, 0x1F, 0x81, 0x90, 0x6B, 0x2D, 0x1F, 0x06, 0x0F, 0xF9, 0xA4, +0x02, 0xE4, 0x13, 0xAD, 0x7F, 0x8C, 0xC2, 0x5A, 0xE6, 0xC3, 0xF9, 0x47, 0x44, 0xC8, 0x3C, 0xF7, +0xA0, 0x7F, 0x9C, 0x98, 0x0F, 0x06, 0x8C, 0xE3, 0x59, 0x18, 0x48, 0xF9, 0x6A, 0x16, 0x6D, 0x7B, +0xFF, 0xA0, 0xA4, 0x0E, 0x46, 0xFF, 0x08, 0x71, 0x88, 0xD4, 0x81, 0x9F, 0x2A, 0x91, 0x10, 0x1F, +0x6C, 0x04, 0x20, 0xF0, 0x84, 0xAB, 0x3A, 0x26, 0xF9, 0x91, 0x2F, 0xF7, 0x71, 0xC8, 0x4A, 0xF4, +0x0F, 0x12, 0x22, 0x7A, 0xC8, 0x0C, 0x80, 0x50, 0x68, 0x85, 0xFE, 0xC6, 0x19, 0x40, 0xFF, 0x26, +0x21, 0xFD, 0x7D, 0xA7, 0xD5, 0xCD, 0x0A, 0x99, 0x10, 0x9E, 0xE5, 0x75, 0xFA, 0xC4, 0x01, 0x02, +0x42, 0x8C, 0xBA, 0x3C, 0xD7, 0xF8, 0x87, 0xD6, 0x43, 0xE6, 0xFF, 0x02, 0x1F, 0x54, 0xC9, 0xB1, +0xB4, 0x5B, 0x27, 0x4F, 0x67, 0x91, 0x84, 0xE1, 0xD5, 0x9A, 0xF6, 0x51, 0x47, 0xEA, 0x7D, 0xFE, +0xB1, 0xA2, 0x7F, 0xD0, 0x43, 0x1A, 0x16, 0x92, 0x18, 0xC8, 0x53, 0xA4, 0xD5, 0x4A, 0xE3, 0x1F, +0x94, 0xE0, 0x21, 0xB3, 0x48, 0x71, 0x83, 0x44, 0x0D, 0x55, 0x0E, 0x0E, 0x23, 0xE4, 0xCE, 0x46, +0xC8, 0x7C, 0x29, 0x85, 0xE7, 0x94, 0xEC, 0x21, 0x2F, 0x09, 0x1D, 0x5F, 0x0A, 0x7C, 0x78, 0x40, +0x20, 0x4D, 0xF8, 0x31, 0x6A, 0x54, 0x97, 0x22, 0x1F, 0x6A, 0x42, 0x0A, 0x23, 0x1F, 0x77, 0x46, +0x3E, 0x72, 0x93, 0x59, 0x33, 0x9E, 0x11, 0x51, 0x39, 0xD7, 0x88, 0xE3, 0x0F, 0xED, 0x30, 0xEB, +0x3E, 0x51, 0xDF, 0x6C, 0xEC, 0x2A, 0xE6, 0x03, 0x02, 0x12, 0x91, 0x85, 0xD0, 0x40, 0xC8, 0x47, +0xD3, 0x43, 0xBA, 0x09, 0x24, 0x1F, 0xD4, 0x83, 0x10, 0x7E, 0x24, 0x84, 0x44, 0x0D, 0x72, 0xC1, +0x86, 0x8A, 0x0D, 0xC4, 0x8E, 0x48, 0x69, 0x9D, 0xCC, 0x2A, 0x64, 0x3E, 0xA8, 0x7E, 0x0F, 0xB9, +0x6C, 0x47, 0x0A, 0xB2, 0x00, 0xC6, 0x97, 0x01, 0x10, 0xBB, 0x87, 0x08, 0xD3, 0x57, 0x91, 0x96, +0x3D, 0xFE, 0xC1, 0x26, 0x3B, 0x3D, 0x1F, 0xD1, 0x64, 0x56, 0xEA, 0x20, 0xD9, 0xAB, 0x19, 0x7B, +0x0C, 0xE4, 0x3E, 0xD1, 0x33, 0x09, 0x49, 0x1D, 0xE4, 0x8F, 0xA7, 0x8C, 0x38, 0x8D, 0x15, 0xC5, +0xE6, 0xE4, 0x43, 0xEB, 0x21, 0xF7, 0x39, 0xA9, 0xFC, 0x83, 0x8A, 0x1A, 0xA4, 0xD9, 0x42, 0xE5, +0xCD, 0xE0, 0xDF, 0x27, 0xA4, 0x10, 0xF9, 0xA0, 0xFA, 0x3C, 0x64, 0x91, 0x07, 0xE3, 0xCB, 0x1E, +0x3E, 0xE8, 0x20, 0x90, 0xC6, 0x3F, 0xB8, 0x31, 0xEA, 0x48, 0x88, 0x5C, 0x92, 0x8F, 0x8C, 0x87, +0xCC, 0x03, 0x13, 0xB4, 0x8F, 0x62, 0x6E, 0x4E, 0x7F, 0x98, 0xD4, 0x91, 0xB9, 0x22, 0x1E, 0x9C, +0xA2, 0x49, 0xE3, 0x0F, 0x69, 0x32, 0x8B, 0xE1, 0x47, 0x8C, 0xC8, 0x2A, 0x0F, 0x08, 0xA3, 0x89, +0x24, 0x10, 0xD9, 0xB6, 0xC2, 0x8F, 0x7A, 0x93, 0xAF, 0x91, 0xE3, 0x90, 0x15, 0xC0, 0xBC, 0xEF, +0x22, 0x44, 0xF6, 0x0F, 0x6A, 0x8F, 0x06, 0x31, 0xF1, 0xBE, 0x32, 0x48, 0xF4, 0xAF, 0x26, 0x44, +0xD8, 0x7F, 0xC8, 0x87, 0xCE, 0x43, 0xC8, 0x87, 0xC2, 0x44, 0x88, 0x07, 0x1D, 0x24, 0x21, 0x24, +0xFF, 0x56, 0x6F, 0x8B, 0xB7, 0xC5, 0xFE, 0x27, 0x8B, 0xDD, 0xB9, 0xC8, 0x47, 0xDE, 0x43, 0x78, +0x90, 0xCB, 0xE2, 0x8C, 0x3A, 0x39, 0x1F, 0x54, 0x39, 0xA8, 0x07, 0x12, 0x17, 0x6D, 0x07, 0x99, +0xE5, 0x35, 0xCE, 0xE3, 0x41, 0xFF, 0x88, 0x85, 0xDE, 0x2A, 0x85, 0xE7, 0x14, 0x13, 0x22, 0x5C, +0x42, 0x7A, 0xB0, 0x43, 0x7F, 0xAC, 0xB2, 0xFE, 0x04, 0x34, 0xF3, 0x7A, 0x26, 0x21, 0x02, 0x1F, +0x8C, 0xD4, 0x21, 0x8E, 0xB3, 0xB0, 0xA2, 0x7F, 0xFC, 0x37, 0x84, 0xCC, 0xFB, 0xFD, 0x83, 0x81, +0x88, 0x90, 0xFE, 0x70, 0xDD, 0x58, 0xF6, 0x10, 0x00, 0x41, 0x07, 0x21, 0x21, 0x92, 0xFD, 0x2C, +0x46, 0x0D, 0x68, 0xCE, 0x13, 0x42, 0x16, 0x9C, 0xBE, 0xCA, 0x13, 0xC2, 0xE3, 0x0C, 0x7C, 0xFC, +0xEB, 0xFE, 0x41, 0x42, 0x68, 0x21, 0xB3, 0x7A, 0x35, 0xA3, 0x64, 0x42, 0x62, 0xFF, 0x10, 0x27, +0xB3, 0x00, 0x42, 0x0F, 0x21, 0xE0, 0xA1, 0x59, 0xFA, 0xF8, 0xC0, 0x2F, 0x56, 0x29, 0x1E, 0x48, +0x0F, 0x76, 0x2A, 0x3B, 0x97, 0xD5, 0x7D, 0xBC, 0xCC, 0x98, 0x46, 0xE9, 0xC1, 0x53, 0x13, 0x22, +0x4F, 0xF7, 0xCE, 0xC9, 0x87, 0x85, 0x90, 0x61, 0x3D, 0xF2, 0x91, 0x3C, 0x84, 0x7C, 0xD0, 0x41, +0x48, 0xC8, 0xB0, 0xC7, 0x3F, 0xF8, 0xB4, 0x27, 0x21, 0x42, 0x3E, 0x32, 0x2A, 0xFE, 0xFD, 0xF4, +0x60, 0x2F, 0x21, 0x0C, 0x42, 0xC2, 0x79, 0x72, 0xD6, 0xA7, 0x75, 0x6C, 0x1F, 0xEB, 0x1E, 0x3E, +0x7E, 0x60, 0x20, 0x92, 0xA6, 0x07, 0xF3, 0x84, 0x44, 0xF6, 0x41, 0x3E, 0xF2, 0x5A, 0x09, 0xD3, +0x57, 0xB2, 0x87, 0xF4, 0x1E, 0x6E, 0x38, 0x6B, 0x70, 0xA6, 0x77, 0xDC, 0xD3, 0x9C, 0xA7, 0x4F, +0x19, 0x16, 0x8A, 0xF8, 0x83, 0x84, 0x9C, 0x0B, 0xE9, 0x41, 0x8E, 0x86, 0x68, 0x04, 0x29, 0x1F, +0x74, 0x10, 0x2A, 0xEB, 0x1F, 0x7C, 0x4B, 0x14, 0x32, 0xE2, 0x08, 0x39, 0x4F, 0xD3, 0x1F, 0x6A, +0x42, 0x96, 0x27, 0xE6, 0x63, 0x20, 0xA8, 0x8C, 0xE2, 0xD0, 0x59, 0xAF, 0xC6, 0xB3, 0x07, 0x21, +0xFE, 0x88, 0x09, 0x59, 0xB5, 0x2F, 0x1F, 0xEC, 0xF0, 0x0F, 0x26, 0xD5, 0x55, 0xFE, 0x41, 0x0F, +0x09, 0x00, 0x32, 0xFD, 0x21, 0xE8, 0x41, 0xE3, 0x1F, 0x54, 0x23, 0x3A, 0x13, 0xFC, 0xE3, 0x3F, +0x48, 0x19, 0x0A, 0xDD, 0xAC, 0xB8, 0x56, 0xA7, 0x3F, 0x46, 0x3D, 0xFE, 0x41, 0x07, 0xA1, 0xB2, +0xFE, 0x11, 0xE0, 0x10, 0x92, 0xEA, 0x0B, 0x4E, 0xEF, 0x6A, 0x08, 0xB1, 0xF3, 0x61, 0x9D, 0xBE, +0x92, 0x01, 0x61, 0xEC, 0x11, 0x85, 0x1F, 0xBD, 0x91, 0x3A, 0xC3, 0x0F, 0xA5, 0x87, 0xB8, 0x75, +0x2F, 0x1E, 0x8C, 0xD4, 0xC3, 0xC2, 0xF8, 0x5C, 0xF2, 0x10, 0xD9, 0x3F, 0x98, 0x54, 0x17, 0xF1, +0xC8, 0x27, 0x44, 0x2E, 0x7C, 0xFE, 0xE3, 0xFF, 0x43, 0x88, 0xD0, 0xCD, 0x92, 0x84, 0x48, 0x72, +0x9A, 0x47, 0xE9, 0x0E, 0x26, 0xC8, 0x07, 0x1D, 0x84, 0x52, 0xE5, 0x50, 0x12, 0x0F, 0xA1, 0x7F, +0x68, 0x09, 0x29, 0x96, 0xE6, 0xF4, 0x87, 0xE9, 0x33, 0x50, 0x5D, 0x85, 0x5D, 0xB3, 0x21, 0xFA, +0x47, 0x3A, 0xDD, 0x4B, 0x3A, 0x34, 0x71, 0x08, 0xFC, 0x43, 0xD4, 0x8F, 0x20, 0x84, 0x06, 0x82, +0xF4, 0xB9, 0x20, 0x4E, 0x66, 0x31, 0xFD, 0xA1, 0xF6, 0x90, 0x99, 0x42, 0x74, 0x8F, 0xB1, 0xAA, +0x35, 0x6D, 0xB2, 0x5F, 0xFF, 0x1E, 0xF1, 0xA1, 0xF6, 0x90, 0xCB, 0xD8, 0x2C, 0x08, 0x0A, 0x7F, +0x9C, 0xE7, 0x83, 0x0E, 0x42, 0x49, 0x16, 0x14, 0xDE, 0x96, 0x93, 0x59, 0xE7, 0x51, 0x7A, 0x50, +0x47, 0x08, 0xA6, 0x77, 0x4F, 0xED, 0x1F, 0xB2, 0x6E, 0x7C, 0xA8, 0x4E, 0x3E, 0xF4, 0x84, 0xDC, +0x6B, 0x84, 0x8E, 0xCB, 0xF4, 0xB9, 0x24, 0xA6, 0x0C, 0x51, 0x9E, 0x54, 0x5A, 0xAD, 0xE8, 0x1F, +0x26, 0x42, 0x66, 0x2A, 0x71, 0xFA, 0x0A, 0x2D, 0x25, 0xE8, 0xD4, 0x09, 0x91, 0x29, 0x08, 0xD1, +0xF0, 0xC1, 0x84, 0x88, 0xF9, 0xDB, 0x1F, 0x5F, 0x92, 0x8F, 0x8C, 0x83, 0x50, 0xB1, 0x7D, 0x2C, +0xDE, 0x58, 0x52, 0x76, 0x40, 0x48, 0x92, 0x1E, 0x94, 0x09, 0x29, 0x26, 0x46, 0x3E, 0xA6, 0x76, +0x3E, 0x74, 0x1F, 0x69, 0x98, 0xEE, 0x9F, 0x29, 0x15, 0x66, 0x83, 0xEE, 0x95, 0x5A, 0xAF, 0x42, +0xFA, 0x5C, 0xA9, 0x90, 0x0C, 0x91, 0xF9, 0x60, 0x52, 0x9D, 0xFE, 0xA1, 0x27, 0x64, 0xA6, 0x94, +0xE0, 0x1F, 0xFF, 0x4D, 0xCA, 0x70, 0xA9, 0xEC, 0x67, 0xD7, 0x71, 0x7A, 0x70, 0xC4, 0x1E, 0xDC, +0x63, 0x02, 0xE4, 0x83, 0x0E, 0x12, 0x2B, 0x42, 0x80, 0x08, 0x36, 0x7D, 0x64, 0x44, 0x82, 0xC8, +0x87, 0x8A, 0x6D, 0xC7, 0xC7, 0xDD, 0xF4, 0xA4, 0xD3, 0x57, 0x7A, 0x69, 0xFD, 0x83, 0x17, 0x66, +0x31, 0x7D, 0xAE, 0xF3, 0x10, 0x86, 0xE7, 0xB2, 0x00, 0x07, 0xF9, 0xD0, 0x79, 0x08, 0xF0, 0xC0, +0xF5, 0x60, 0x4A, 0xB9, 0x38, 0x64, 0xA6, 0x16, 0xC3, 0x73, 0x25, 0x21, 0x36, 0xD9, 0x09, 0xA1, +0x7F, 0x28, 0x09, 0x59, 0xE4, 0xFA, 0x6E, 0xBB, 0x34, 0x3C, 0x84, 0x78, 0x64, 0x1D, 0x84, 0x84, +0x18, 0xC5, 0xE1, 0x95, 0x46, 0x45, 0xE5, 0x1F, 0x67, 0xFF, 0x13, 0x3E, 0x5C, 0x20, 0x32, 0x33, +0x48, 0x98, 0xBE, 0x4A, 0x42, 0x75, 0xA5, 0x7F, 0x70, 0x32, 0x8B, 0xE1, 0xB9, 0x2C, 0x44, 0x2A, +0xC8, 0x9E, 0x5B, 0xF4, 0xF0, 0xFC, 0x3C, 0x33, 0x1C, 0xAF, 0xBF, 0xFA, 0xEA, 0x7F, 0x43, 0xC8, +0x04, 0xE1, 0xB7, 0x5A, 0xE8, 0x92, 0x8A, 0x6F, 0x0F, 0x2E, 0xBC, 0x0B, 0xD0, 0x3E, 0x64, 0x07, +0x81, 0x1A, 0xFE, 0x41, 0xE4, 0x5A, 0x85, 0xAF, 0xC0, 0x6A, 0x01, 0x3E, 0xF4, 0xDA, 0x2D, 0xFF, +0x47, 0x7C, 0x54, 0x09, 0x91, 0x99, 0x45, 0x63, 0x1D, 0x1F, 0xBC, 0xEC, 0xE4, 0xE9, 0xD5, 0xC0, +0xC7, 0x8F, 0x18, 0x65, 0x59, 0x78, 0x82, 0x37, 0x01, 0x42, 0x8B, 0x9E, 0x6D, 0x87, 0x6B, 0xE2, +0xE3, 0xF4, 0x29, 0xC3, 0xE5, 0xEE, 0x5A, 0xAF, 0x62, 0xB9, 0xA8, 0x7B, 0xA8, 0xFA, 0xEA, 0x44, +0x9D, 0x83, 0x8C, 0xC4, 0x37, 0x5B, 0xBC, 0x45, 0x5F, 0x54, 0xB7, 0x38, 0xC8, 0xE4, 0x0C, 0x3A, +0x5D, 0xFC, 0x51, 0x0E, 0x4C, 0x02, 0x20, 0x26, 0x01, 0x10, 0x8B, 0x78, 0xFD, 0xAE, 0x76, 0x8C, +0xF5, 0x6A, 0xE2, 0x83, 0x06, 0xA2, 0x04, 0x64, 0x66, 0xD2, 0x38, 0xC4, 0xE7, 0xFF, 0x8F, 0x38, +0x64, 0x3E, 0xB7, 0xF0, 0x51, 0x44, 0x03, 0x2C, 0xC6, 0xD1, 0xC9, 0xAC, 0x53, 0x60, 0x68, 0xA4, +0x73, 0x90, 0x11, 0x24, 0xD3, 0x46, 0x36, 0xAB, 0x7B, 0xA2, 0x02, 0x57, 0xED, 0x7E, 0xCF, 0x21, +0x13, 0x1F, 0xA5, 0x89, 0x10, 0x2B, 0x1E, 0x90, 0x05, 0x91, 0x67, 0xE8, 0x5E, 0x23, 0x7E, 0xC3, +0xF0, 0x47, 0x3D, 0x21, 0xAF, 0x5B, 0xCC, 0xF5, 0x5A, 0x80, 0xAA, 0x82, 0x74, 0x0B, 0x1E, 0x90, +0x01, 0x91, 0x31, 0x74, 0x4A, 0x0F, 0x29, 0x4B, 0x13, 0x21, 0x73, 0xC8, 0x12, 0x83, 0xA0, 0x5F, +0x36, 0x49, 0xC8, 0x46, 0x21, 0xCD, 0x17, 0xA0, 0xDF, 0x6B, 0x1C, 0x64, 0x54, 0xE9, 0x8D, 0x73, +0xC5, 0x39, 0xD1, 0xB8, 0xFC, 0xBD, 0xB2, 0x40, 0xC8, 0x72, 0xA9, 0xE6, 0x03, 0x32, 0xF1, 0x41, +0x44, 0x4E, 0xC3, 0xC7, 0xC0, 0x82, 0x87, 0x89, 0x90, 0x70, 0xA7, 0x1F, 0xBD, 0x7F, 0x38, 0xBD, +0xAA, 0xFD, 0xC3, 0x4F, 0x22, 0x5B, 0xF8, 0x80, 0x1E, 0xF4, 0x7C, 0x9C, 0x94, 0x90, 0x12, 0xB2, +0x10, 0x32, 0x77, 0x2A, 0x76, 0x4A, 0x3E, 0x2E, 0xAF, 0x16, 0xE8, 0x9B, 0x74, 0x89, 0x85, 0x74, +0xAE, 0x77, 0x92, 0x1D, 0x64, 0x14, 0xD4, 0x19, 0xF8, 0xEF, 0x9F, 0xBB, 0xDF, 0x78, 0x3E, 0x9C, +0x87, 0x28, 0xE0, 0xDE, 0x81, 0x0F, 0x13, 0x21, 0x65, 0xAD, 0x93, 0xF1, 0x01, 0x61, 0xA5, 0x8C, +0x3F, 0x20, 0x03, 0x21, 0x6B, 0xDF, 0x7F, 0x99, 0x46, 0x17, 0xB4, 0xFD, 0x0B, 0x06, 0x02, 0x69, +0xE3, 0xF4, 0x3A, 0x57, 0xBF, 0xB2, 0xF0, 0x01, 0x59, 0xF2, 0x20, 0xA7, 0x23, 0xA4, 0xAC, 0x65, +0xE1, 0x03, 0x2A, 0x74, 0x7C, 0x2C, 0x20, 0x4F, 0x48, 0x10, 0xDD, 0x22, 0x3B, 0x2B, 0x5B, 0x4B, +0x70, 0x90, 0xD1, 0x5E, 0x00, 0x41, 0xD4, 0x1B, 0xEF, 0xB5, 0x78, 0xB5, 0xD0, 0x10, 0x52, 0xCC, +0xF7, 0xC7, 0xA9, 0xCA, 0xA4, 0x97, 0x94, 0x0E, 0x0F, 0x3B, 0x1F, 0x01, 0x11, 0x1D, 0x1F, 0x36, +0x42, 0xEA, 0x3C, 0x1E, 0xD6, 0x9A, 0x2E, 0x0F, 0x32, 0x1C, 0x1E, 0x58, 0x5E, 0xF5, 0xFE, 0xE1, +0x10, 0xB4, 0xF1, 0xC1, 0x99, 0x2C, 0x6D, 0x26, 0xDD, 0x28, 0x1D, 0x1F, 0x36, 0x42, 0x26, 0xF3, +0x5A, 0x13, 0x4D, 0x26, 0xBD, 0x79, 0x1F, 0xC5, 0x34, 0x7F, 0x9E, 0x26, 0xBE, 0x47, 0x54, 0x9F, +0x83, 0x8C, 0x9A, 0x52, 0xF1, 0xB1, 0xA8, 0x85, 0x50, 0x5D, 0x22, 0xA4, 0xFA, 0x53, 0xB7, 0x0D, +0x69, 0xF8, 0xA0, 0x8E, 0xCE, 0x47, 0x39, 0xE0, 0xC5, 0x46, 0x2A, 0x42, 0x9E, 0x9B, 0xD2, 0xF3, +0x01, 0xAD, 0x34, 0xB9, 0xF4, 0x8A, 0x0C, 0x4A, 0xE6, 0x03, 0x6F, 0xCB, 0xF7, 0x5F, 0xFF, 0xA0, +0xE1, 0x83, 0x52, 0xF0, 0xC1, 0x7B, 0xFD, 0x5C, 0x9C, 0x80, 0x90, 0xB2, 0x29, 0xA5, 0x7D, 0x90, +0x10, 0x99, 0x0F, 0x8A, 0x84, 0xE4, 0x48, 0x61, 0xFC, 0x41, 0x25, 0x0E, 0x92, 0xE7, 0x83, 0x81, +0x48, 0x67, 0x0C, 0x02, 0x3C, 0x1B, 0x12, 0x09, 0xF1, 0x7C, 0x50, 0x1A, 0x3E, 0x28, 0x11, 0x0F, +0x2B, 0x1F, 0xC4, 0x43, 0x75, 0x35, 0xEF, 0x73, 0x5B, 0x7A, 0x3E, 0x74, 0xC3, 0x2C, 0x40, 0x41, +0x6D, 0x65, 0x42, 0xA2, 0xAB, 0xE9, 0x6D, 0x7C, 0xC8, 0x84, 0xB0, 0x69, 0x2E, 0x4E, 0xE1, 0x21, +0x65, 0x5B, 0x3A, 0x3E, 0x48, 0x88, 0x38, 0x7D, 0x45, 0x91, 0x90, 0xBC, 0x88, 0x07, 0xD5, 0xE5, +0x20, 0xA3, 0x44, 0xFD, 0x99, 0xF9, 0x05, 0x77, 0x44, 0x26, 0x64, 0x77, 0x3D, 0x09, 0xC7, 0x49, +0x09, 0xE1, 0x79, 0xAC, 0xA3, 0xDA, 0x07, 0xF8, 0xA0, 0x83, 0x48, 0x71, 0xC8, 0x18, 0xFE, 0x11, +0x4B, 0x7B, 0xB5, 0x3B, 0x3D, 0x44, 0xF4, 0x8F, 0x6D, 0x58, 0xDC, 0xA6, 0xE0, 0x1F, 0xC9, 0xFB, +0x0B, 0xD7, 0xF2, 0xC6, 0x12, 0xC3, 0x8F, 0x36, 0x22, 0x37, 0x47, 0x25, 0xA4, 0x8C, 0x35, 0xB5, +0xF0, 0x41, 0x42, 0x64, 0x3E, 0x48, 0xC8, 0x48, 0xE4, 0x83, 0xCA, 0x3B, 0xC8, 0x28, 0xD5, 0x5B, +0xC3, 0x92, 0x42, 0xCD, 0xF1, 0xD5, 0xE5, 0x6E, 0x11, 0xA9, 0xCA, 0xA9, 0x77, 0xA6, 0x07, 0x27, +0xF3, 0x77, 0xF3, 0x58, 0x2A, 0x3E, 0xA8, 0xE3, 0xF2, 0x71, 0x81, 0xA5, 0x85, 0x88, 0xCA, 0x3F, +0xA8, 0x1F, 0x24, 0xFB, 0x50, 0x7F, 0x63, 0x6A, 0x85, 0xF4, 0xC7, 0x5F, 0x1F, 0x28, 0x4F, 0xC8, +0x46, 0xB8, 0x92, 0x37, 0xD2, 0x4A, 0xC5, 0x07, 0xA5, 0x88, 0x3F, 0xB0, 0xE6, 0x20, 0xD4, 0x28, +0x81, 0x0F, 0x0B, 0x21, 0xF3, 0x8C, 0x94, 0x7C, 0x90, 0x90, 0x74, 0x6C, 0x55, 0x6F, 0x8D, 0x32, +0xCA, 0x39, 0xC8, 0x28, 0xAB, 0xCE, 0x09, 0x5E, 0xF2, 0xD1, 0x22, 0x64, 0x59, 0x74, 0xF8, 0xC7, +0x3C, 0x7B, 0x9C, 0x2A, 0x3E, 0xA8, 0xA3, 0x0D, 0xB0, 0xF8, 0x5D, 0x74, 0x21, 0x0E, 0x21, 0x1F, +0x16, 0x42, 0xE0, 0x1F, 0xD6, 0xEF, 0xA4, 0x6F, 0x23, 0x3C, 0x7A, 0xE3, 0x10, 0xE0, 0x66, 0x21, +0xE4, 0x39, 0x2B, 0x61, 0x7A, 0x37, 0xDC, 0x2E, 0xEE, 0x1F, 0x23, 0x22, 0xF0, 0xA1, 0x27, 0xA4, +0xEB, 0x6F, 0x82, 0xA8, 0xF8, 0x48, 0x26, 0xB3, 0x88, 0x0A, 0xFD, 0x23, 0xA3, 0xC8, 0x41, 0x62, +0x3E, 0x84, 0xC9, 0x2C, 0xF2, 0x91, 0xA8, 0xC3, 0x43, 0x96, 0xB0, 0x8F, 0xAC, 0x54, 0x7C, 0x50, +0x47, 0x9B, 0xDE, 0x8D, 0x6E, 0x6A, 0xD2, 0x3B, 0x99, 0x35, 0x7E, 0xEE, 0x92, 0xE8, 0x1F, 0x9A, +0x38, 0x04, 0xFE, 0x41, 0x2A, 0x9A, 0x83, 0xAC, 0xED, 0x46, 0x98, 0xBE, 0x8A, 0xDF, 0x5F, 0xC7, +0x07, 0x95, 0x3F, 0x5C, 0xDE, 0x4D, 0xB1, 0x35, 0xD2, 0x3A, 0x1A, 0x21, 0x65, 0x5E, 0x53, 0x25, +0x1F, 0x24, 0x64, 0xD9, 0x91, 0x1E, 0xEC, 0x22, 0x64, 0xD4, 0x3A, 0xC5, 0x2F, 0xC2, 0x56, 0x87, +0xE8, 0x20, 0xE4, 0x43, 0xEF, 0x21, 0x9C, 0xDE, 0x4D, 0x74, 0x99, 0x23, 0xA4, 0x20, 0x1F, 0xB1, +0x74, 0x7C, 0x50, 0xC7, 0xE0, 0x83, 0x5C, 0x84, 0x5B, 0xD1, 0xF2, 0x9B, 0xB7, 0x72, 0xFC, 0x21, +0x13, 0xB2, 0xEA, 0xE8, 0xC0, 0xAB, 0x3C, 0x21, 0xAF, 0x74, 0x0F, 0x6C, 0xC9, 0xA3, 0x2C, 0xBE, +0xBD, 0xCE, 0x43, 0x9E, 0x3B, 0x95, 0xE7, 0x83, 0xF2, 0xAD, 0xC2, 0x7B, 0xB5, 0x1E, 0x83, 0x90, +0xB2, 0x53, 0x53, 0x35, 0x1F, 0x4C, 0x19, 0x26, 0x7C, 0xB0, 0x5B, 0x4A, 0x1E, 0x32, 0xA2, 0x7F, +0x64, 0xD5, 0x76, 0x90, 0x51, 0xB7, 0xDE, 0xA2, 0xF8, 0x66, 0xD4, 0xC7, 0x07, 0x53, 0x86, 0x69, +0xFA, 0x5C, 0x8F, 0x48, 0xD9, 0xA7, 0xC3, 0xF9, 0xE0, 0xA9, 0x11, 0x55, 0x7C, 0xFB, 0x0E, 0x61, +0x7A, 0x37, 0x96, 0xCE, 0x3F, 0xC8, 0x48, 0x76, 0x7C, 0xF5, 0xDB, 0x87, 0x0E, 0x6D, 0x5F, 0x73, +0xFE, 0xD1, 0xF3, 0xFE, 0x12, 0x1F, 0xB2, 0x87, 0xF8, 0xF6, 0xE0, 0x9D, 0x27, 0xD9, 0x44, 0x47, +0xF1, 0x90, 0xB2, 0x4F, 0xF9, 0xF4, 0x87, 0x4C, 0x08, 0xF9, 0xE8, 0xFF, 0xC3, 0x52, 0xA9, 0x46, +0x3D, 0x6A, 0x3A, 0xC8, 0xA8, 0x57, 0xF1, 0x15, 0x91, 0xE4, 0x23, 0xAF, 0x98, 0x90, 0x49, 0x2F, +0x1F, 0xB7, 0x3A, 0xFF, 0xA0, 0x8E, 0x91, 0x1E, 0xBC, 0x00, 0x09, 0x44, 0x04, 0x4F, 0x38, 0xD6, +0x12, 0xC2, 0x0F, 0x91, 0x90, 0xFE, 0xFB, 0xBB, 0x3F, 0xC5, 0xE2, 0x90, 0x2A, 0x4B, 0xC8, 0x46, +0xEF, 0x1F, 0xF9, 0x84, 0x88, 0xB0, 0xFB, 0x39, 0xFF, 0x60, 0xBB, 0x10, 0x93, 0xD9, 0x71, 0x26, +0xB3, 0xCA, 0x7E, 0xA9, 0xFC, 0x83, 0x2A, 0xD2, 0xF4, 0x87, 0x4C, 0xC8, 0x28, 0x9A, 0xBF, 0xEA, +0x51, 0x70, 0x10, 0xE2, 0xA1, 0x8C, 0x43, 0x16, 0x7D, 0x78, 0x70, 0xBA, 0x97, 0x7C, 0x48, 0x52, +0xF9, 0x07, 0x75, 0x10, 0x1F, 0x37, 0xED, 0x73, 0x62, 0xA8, 0x9A, 0x41, 0xBB, 0xCA, 0x3F, 0x28, +0x9D, 0x7F, 0xF0, 0xEE, 0xB9, 0x3F, 0x6E, 0xD2, 0xF4, 0x20, 0x19, 0x89, 0x70, 0x81, 0xBB, 0x68, +0xF8, 0xA0, 0x56, 0x02, 0x1F, 0x02, 0x21, 0x6C, 0x17, 0x3E, 0xD8, 0x3E, 0x07, 0x4F, 0x66, 0x95, +0x92, 0x54, 0x78, 0x50, 0x93, 0x88, 0x8F, 0xAB, 0x45, 0x9F, 0x22, 0x0F, 0x01, 0x2A, 0x23, 0x41, +0x1E, 0x90, 0x91, 0xAC, 0x37, 0x3D, 0x1F, 0x24, 0x84, 0x7C, 0x98, 0x08, 0x29, 0x65, 0x1D, 0xE4, +0x1F, 0x9C, 0xC0, 0xC4, 0xD6, 0x8C, 0xC3, 0x2B, 0x0E, 0xB5, 0x5B, 0xFE, 0xF1, 0x83, 0x89, 0x90, +0x95, 0xE2, 0x0F, 0x78, 0xB4, 0xFE, 0x3E, 0xC8, 0x5F, 0x59, 0xDF, 0x68, 0x6D, 0x27, 0xE9, 0x0F, +0x3D, 0x21, 0xD8, 0x79, 0x13, 0x21, 0xB5, 0xB9, 0xD2, 0x36, 0xD8, 0x3E, 0x28, 0x87, 0x26, 0xD5, +0x4B, 0x59, 0x16, 0x3E, 0x48, 0x08, 0xA7, 0xAF, 0x94, 0x84, 0x8C, 0x9C, 0x7D, 0xC8, 0xAA, 0x00, +0xC1, 0x4A, 0x4F, 0x08, 0xD3, 0xE7, 0x32, 0x21, 0xE4, 0x43, 0x96, 0x6A, 0x78, 0x45, 0x1D, 0xC0, +0x07, 0x23, 0x8F, 0x8B, 0x78, 0x1C, 0x81, 0x8D, 0x78, 0x2E, 0xEB, 0x59, 0xA3, 0x1F, 0xD6, 0x0A, +0xFB, 0xA0, 0x85, 0x3C, 0xC6, 0xFE, 0x41, 0xE5, 0x31, 0x89, 0xD2, 0xE7, 0xE2, 0xFF, 0x10, 0xF1, +0xA1, 0x27, 0xA4, 0x31, 0xBA, 0x4A, 0xFF, 0x34, 0xC8, 0xE1, 0x49, 0xF5, 0x52, 0xA3, 0xA9, 0x81, +0x0F, 0x12, 0x42, 0x3E, 0xD4, 0x1E, 0x32, 0x52, 0x89, 0x80, 0x48, 0x4A, 0x2F, 0xBF, 0x92, 0x09, +0x21, 0x1F, 0x32, 0x21, 0x53, 0xF2, 0xA1, 0xD0, 0x61, 0xF1, 0x47, 0xD0, 0x2C, 0x37, 0x96, 0x20, +0x21, 0x9C, 0xBE, 0x12, 0x09, 0x21, 0x1F, 0xB2, 0x38, 0x99, 0xB5, 0xE1, 0xC0, 0x8A, 0x4C, 0xA4, +0x94, 0xD0, 0x43, 0xB4, 0x7F, 0xE6, 0x96, 0x7C, 0xA8, 0x94, 0xDA, 0x47, 0x58, 0x6A, 0x5D, 0xD0, +0x61, 0x0F, 0x20, 0xA4, 0xD4, 0x69, 0x4A, 0x3E, 0x54, 0x84, 0x90, 0x0F, 0x13, 0x21, 0x6F, 0xC7, +0x06, 0xE4, 0x4D, 0xED, 0x1F, 0x4C, 0x19, 0x22, 0x3D, 0xA8, 0x16, 0xF9, 0x50, 0xE9, 0x9F, 0xA5, +0x07, 0xD9, 0x05, 0x50, 0xE8, 0x22, 0x1E, 0x96, 0x38, 0x10, 0x19, 0x3F, 0xEB, 0x45, 0x3E, 0x64, +0x55, 0x1E, 0xE2, 0x10, 0x69, 0x32, 0xC1, 0xE0, 0x23, 0x26, 0x85, 0x09, 0x91, 0x47, 0x8D, 0x38, +0x99, 0xF5, 0xAC, 0x56, 0x00, 0x24, 0xFA, 0x1B, 0xA7, 0x9C, 0xCC, 0x8A, 0x4F, 0x26, 0xA5, 0x9D, +0x10, 0xF2, 0x21, 0x13, 0xA2, 0xE5, 0x83, 0x09, 0x11, 0x2D, 0x1F, 0x9C, 0xEE, 0x1D, 0xE9, 0xF4, +0x25, 0x01, 0xD1, 0x79, 0x08, 0xEE, 0xC3, 0xA5, 0x13, 0x3C, 0x84, 0x57, 0xB7, 0xAB, 0x44, 0x3E, +0xD4, 0x80, 0xD8, 0xED, 0x83, 0xA7, 0x46, 0x92, 0x11, 0x40, 0xA9, 0xE9, 0xD9, 0xDF, 0x68, 0x11, +0xCE, 0x60, 0x22, 0xE4, 0xD1, 0x20, 0xF7, 0xED, 0x41, 0x52, 0x10, 0x8B, 0xC0, 0x04, 0x6D, 0xE8, +0x1F, 0x2A, 0x44, 0xE8, 0x1F, 0x2A, 0xF1, 0x4E, 0x8A, 0x4D, 0x44, 0x08, 0x05, 0x0A, 0x43, 0x37, +0x7B, 0xA8, 0x4E, 0x3E, 0xD4, 0x84, 0xCC, 0x0D, 0x42, 0xC2, 0x10, 0x7C, 0x98, 0x08, 0x19, 0x69, +0x45, 0x40, 0x14, 0xE2, 0xD5, 0x89, 0x0A, 0xC1, 0xCB, 0xC8, 0x87, 0x46, 0x13, 0xF2, 0xA1, 0x64, +0x64, 0x50, 0x9A, 0x0A, 0x47, 0x57, 0xED, 0x61, 0x35, 0x87, 0xDD, 0x7C, 0x8A, 0xB3, 0x29, 0xF9, +0x50, 0xC9, 0xC4, 0x07, 0xBA, 0xFA, 0x07, 0xC4, 0xE7, 0x7A, 0x6D, 0x5F, 0x39, 0x7D, 0xA5, 0x12, +0xFC, 0xC3, 0xA4, 0xA8, 0x25, 0x18, 0x9A, 0xF3, 0xA7, 0xF4, 0x5C, 0x3B, 0x21, 0xA5, 0x4D, 0x4C, +0x7F, 0xE8, 0x08, 0xC1, 0xCC, 0x91, 0x5E, 0x97, 0xE4, 0x43, 0xE3, 0x20, 0x7F, 0xEA, 0x01, 0x41, +0x00, 0x82, 0x7E, 0x3F, 0xD4, 0x14, 0x97, 0xC8, 0x2F, 0x6E, 0xE7, 0xC5, 0x44, 0xA7, 0xDB, 0x49, +0x51, 0xBC, 0xBB, 0xB3, 0xDD, 0x8E, 0x12, 0x3C, 0x4D, 0x2D, 0x2A, 0xE1, 0x21, 0x65, 0x5D, 0xD2, +0x0D, 0x6C, 0xEE, 0x7F, 0x3F, 0x80, 0x66, 0x0F, 0x16, 0xCD, 0xD6, 0x2B, 0x8B, 0xD6, 0xAB, 0xAD, +0xD3, 0x07, 0x75, 0xB5, 0x32, 0xFE, 0x07, 0x0F, 0x26, 0xCD, 0xDC, 0x31, 0xEF, 0x1B, 0x82, 0x2D, +0xD3, 0x2E, 0x83, 0xBA, 0x79, 0x6C, 0x0D, 0x8F, 0xBB, 0x04, 0x9A, 0x34, 0x7D, 0x37, 0x29, 0x26, +0x6A, 0xDD, 0xDE, 0x16, 0xE8, 0x95, 0x96, 0x53, 0xF7, 0x48, 0xAF, 0x3F, 0xCF, 0x7E, 0x7D, 0xD3, +0x03, 0xF2, 0x36, 0xDA, 0xED, 0x16, 0x43, 0xE5, 0x5E, 0x9C, 0x17, 0xD0, 0xA4, 0xB8, 0x55, 0x3E, +0xC0, 0xC7, 0xD9, 0x17, 0xA6, 0x72, 0x77, 0xE7, 0x1A, 0x5F, 0x55, 0xF0, 0xCA, 0xBB, 0xBB, 0x01, +0xF4, 0x79, 0xE9, 0x0A, 0xD6, 0xBD, 0x5B, 0x95, 0xDD, 0x7C, 0xF3, 0xF0, 0xD5, 0xC3, 0x57, 0xAA, +0x05, 0xAF, 0x5C, 0xAF, 0x6D, 0x1D, 0xF8, 0xFD, 0x66, 0x53, 0xDF, 0xA8, 0xFA, 0xF7, 0xAA, 0x60, +0x73, 0x13, 0x36, 0xB7, 0xDB, 0xD6, 0xE2, 0x08, 0xC1, 0xCB, 0x37, 0x2B, 0x83, 0x7E, 0x5A, 0x83, +0x10, 0xED, 0xFE, 0xE3, 0x00, 0x70, 0xB8, 0x8D, 0xE3, 0x1F, 0xB3, 0x3D, 0x32, 0x05, 0xAD, 0x88, +0xA6, 0xD7, 0xAB, 0xBC, 0xAB, 0x64, 0xF9, 0x64, 0xDF, 0xDD, 0xBD, 0x43, 0x97, 0xB8, 0x2D, 0x54, +0x65, 0x52, 0x40, 0xE7, 0x6A, 0x3A, 0x76, 0xC3, 0x2B, 0xF4, 0x63, 0xCA, 0x16, 0x83, 0xC8, 0x84, +0xBC, 0xEC, 0x16, 0x9A, 0xB2, 0x18, 0x9E, 0x63, 0xC7, 0x31, 0xB9, 0x70, 0x7B, 0x3B, 0xD1, 0x94, +0x02, 0xF9, 0x74, 0x93, 0x7F, 0xDC, 0x39, 0x4D, 0x4B, 0x2D, 0x20, 0x81, 0x90, 0x71, 0x89, 0xC1, +0x93, 0xAB, 0x43, 0xE1, 0x36, 0x7F, 0x86, 0x9E, 0x31, 0x76, 0x42, 0x0F, 0x53, 0x2D, 0x8E, 0x8F, +0x9F, 0x2A, 0x42, 0xBE, 0xD7, 0x2D, 0x1B, 0x27, 0xF4, 0x7E, 0x00, 0xF1, 0x1E, 0x8C, 0xBC, 0xF7, +0x8C, 0x00, 0x11, 0x3C, 0x50, 0xB5, 0x16, 0x68, 0xE3, 0x54, 0xBD, 0x3F, 0x8A, 0xA2, 0x5A, 0x57, +0x7A, 0xF8, 0x06, 0xBB, 0x26, 0xC8, 0xEF, 0xFE, 0xB8, 0x12, 0x0E, 0xBB, 0x6E, 0x09, 0x36, 0x48, +0xB6, 0x7C, 0x7E, 0xE6, 0xF8, 0x50, 0x37, 0xFD, 0x9D, 0xD3, 0x99, 0x41, 0xE8, 0x0B, 0xB7, 0x05, +0x10, 0xD1, 0x94, 0x02, 0xD2, 0x07, 0xE9, 0x2F, 0x8B, 0xAA, 0x17, 0xEB, 0xC5, 0x21, 0x96, 0x96, +0x10, 0x55, 0x1C, 0x32, 0x5C, 0x80, 0x0D, 0x2F, 0x15, 0x1E, 0x93, 0xF9, 0x99, 0xB1, 0x01, 0x83, +0xB4, 0x9F, 0xD2, 0x9D, 0x27, 0x04, 0xE7, 0x46, 0x74, 0x83, 0x12, 0x2B, 0x3C, 0x5A, 0x4B, 0xF8, +0xF9, 0xB4, 0xFA, 0xCD, 0x14, 0xEE, 0x81, 0xE2, 0x08, 0x41, 0x91, 0xF8, 0x70, 0xFE, 0xE1, 0x84, +0xF9, 0x29, 0xF4, 0x50, 0xE8, 0xFB, 0xFC, 0x46, 0xAD, 0x8D, 0x17, 0x78, 0x08, 0xD6, 0xB1, 0xF5, +0x70, 0xB8, 0xCD, 0xBD, 0xA5, 0xBC, 0xA7, 0xB7, 0x40, 0x81, 0x10, 0xBC, 0x8D, 0x50, 0x41, 0x6B, +0x2F, 0x87, 0x2E, 0x28, 0xE9, 0x5F, 0xBE, 0x72, 0x7C, 0xB8, 0xC3, 0x85, 0x3F, 0x8C, 0x61, 0x10, +0xBE, 0x79, 0xD8, 0x20, 0xAC, 0x7D, 0xB3, 0x79, 0xFF, 0x50, 0x37, 0xBD, 0x97, 0x9D, 0x10, 0x65, +0xDF, 0x09, 0xBA, 0x56, 0xFA, 0xC7, 0x08, 0x78, 0x98, 0x86, 0x58, 0x7F, 0x7E, 0x34, 0x32, 0x21, +0x32, 0x1A, 0x6A, 0x08, 0xA9, 0xF9, 0x58, 0x6A, 0xCE, 0x03, 0x78, 0x89, 0x95, 0x0F, 0x4A, 0x6B, +0x20, 0xF4, 0x10, 0x2C, 0x28, 0x83, 0xFD, 0xF2, 0x39, 0x9E, 0xE1, 0x41, 0x5A, 0x06, 0xDF, 0xCC, +0x5C, 0x9F, 0xF1, 0x84, 0x88, 0xF6, 0x01, 0x3E, 0x6A, 0x79, 0x14, 0xBE, 0x7F, 0x44, 0x9D, 0xDD, +0xF0, 0x9B, 0x9B, 0xBD, 0x7E, 0xDF, 0x3A, 0x00, 0x3C, 0x07, 0xAE, 0xAA, 0xDC, 0xA4, 0x1E, 0x6C, +0xA1, 0x7E, 0xC5, 0x7A, 0xFB, 0xB4, 0xA9, 0xB5, 0xF7, 0x28, 0x54, 0xE9, 0x56, 0xA8, 0x1E, 0xD7, +0xB5, 0xBC, 0x83, 0x48, 0xB5, 0x3F, 0x54, 0x3C, 0x7C, 0x53, 0x30, 0xDC, 0xA8, 0x9E, 0x01, 0x19, +0xD6, 0xAE, 0xD9, 0x82, 0x7F, 0x40, 0x4A, 0xFF, 0xF8, 0xA7, 0x84, 0xCC, 0x55, 0x7D, 0xA7, 0x30, +0x10, 0x82, 0xE1, 0x8F, 0x91, 0x8F, 0x8F, 0x2A, 0x40, 0x40, 0x88, 0x49, 0x8B, 0xDD, 0x8B, 0x8E, +0x8F, 0x80, 0x88, 0x7C, 0x90, 0x73, 0x6B, 0xE3, 0x51, 0x2A, 0x13, 0xA1, 0xEE, 0xCA, 0x81, 0x77, +0x91, 0xAA, 0x38, 0x1A, 0x42, 0x2F, 0x08, 0x1F, 0x7F, 0xB5, 0x1E, 0x38, 0x3A, 0xC2, 0x43, 0x72, +0x10, 0xE7, 0x1F, 0x94, 0xEF, 0xA3, 0xAE, 0x4E, 0x36, 0xE8, 0x1F, 0x54, 0x45, 0xC5, 0x6B, 0x0D, +0x83, 0x03, 0x02, 0x95, 0xC7, 0xC3, 0x55, 0xCE, 0x5B, 0x1A, 0x7A, 0xE2, 0xDB, 0xE5, 0xB7, 0x50, +0x35, 0xF6, 0x07, 0x16, 0x11, 0x10, 0x77, 0x55, 0xBA, 0x8D, 0xB2, 0x3F, 0x56, 0x54, 0x65, 0xAB, +0x69, 0x9C, 0x9D, 0x00, 0x95, 0x7D, 0xED, 0x1A, 0x89, 0xE1, 0x87, 0xD2, 0x3F, 0x0E, 0x21, 0x44, +0xE3, 0x1F, 0x24, 0x64, 0x78, 0x6C, 0xFF, 0xF8, 0xC8, 0x01, 0x62, 0x25, 0xE4, 0xED, 0x4A, 0x22, +0x64, 0x39, 0x29, 0x9A, 0x92, 0x0E, 0xD2, 0x3C, 0xBE, 0x6A, 0xAB, 0x2C, 0x35, 0x80, 0x90, 0x10, +0xE7, 0x20, 0x83, 0xC0, 0x04, 0xB6, 0x42, 0x4F, 0x28, 0x3D, 0x38, 0x25, 0xFA, 0x0A, 0x96, 0xF0, +0x50, 0x10, 0xB2, 0x6E, 0xEA, 0x2B, 0x7F, 0x8A, 0x7F, 0x74, 0x56, 0x81, 0xAD, 0x55, 0xB2, 0xE1, +0xED, 0x80, 0x84, 0x40, 0x9E, 0x11, 0x0F, 0x04, 0x1E, 0x6E, 0x05, 0x74, 0x5E, 0x7D, 0x6C, 0xB2, +0x69, 0x29, 0x18, 0xC6, 0xCA, 0xBD, 0x19, 0xAD, 0x89, 0x0E, 0xB2, 0xAE, 0xF8, 0xA0, 0x3C, 0x0D, +0xA1, 0xE2, 0x76, 0xA8, 0x1D, 0x1F, 0x3C, 0x56, 0x68, 0xEA, 0x9B, 0x66, 0x10, 0x4E, 0x1C, 0x9E, +0x95, 0xBA, 0x06, 0x35, 0xE4, 0x43, 0x85, 0xC8, 0x1D, 0x75, 0x0A, 0x0F, 0x29, 0x5A, 0x5A, 0x0A, +0x78, 0xBC, 0x5C, 0xBD, 0x59, 0xF9, 0x08, 0x80, 0x58, 0x47, 0x59, 0x57, 0x2F, 0x7D, 0x84, 0x20, +0xB1, 0x19, 0xA9, 0xFF, 0x20, 0xDF, 0x9D, 0x51, 0x76, 0x3E, 0xE4, 0x48, 0x3D, 0x88, 0x84, 0x38, +0x97, 0xA8, 0x8C, 0xC4, 0x8F, 0xB4, 0xE9, 0x20, 0x28, 0x88, 0x3F, 0x88, 0x87, 0x1C, 0xA9, 0x7F, +0x13, 0xF8, 0x20, 0x21, 0x6B, 0xC1, 0x41, 0x36, 0x91, 0x02, 0x17, 0xE1, 0xB1, 0xDD, 0x04, 0x5C, +0xDC, 0xF4, 0x16, 0xE3, 0x73, 0xEA, 0x71, 0x05, 0xC8, 0x22, 0xDF, 0xA8, 0x7C, 0xE5, 0xD1, 0x03, +0xB8, 0x8E, 0x85, 0x5D, 0x6C, 0xB9, 0x46, 0x54, 0x11, 0x8F, 0xAA, 0x42, 0x41, 0x93, 0xF8, 0xB6, +0x41, 0xAB, 0x60, 0xD3, 0xB5, 0x56, 0x5D, 0x07, 0xFF, 0xA0, 0x94, 0xFE, 0x41, 0x19, 0x3F, 0x69, +0x4C, 0xF7, 0x2A, 0xFC, 0x83, 0xDA, 0xF5, 0x78, 0xC8, 0x8B, 0x9D, 0x0F, 0x02, 0x62, 0x24, 0xE4, +0x23, 0x78, 0x88, 0x82, 0x0F, 0xAA, 0x2F, 0xFE, 0x78, 0x67, 0x6D, 0xB5, 0x54, 0xA5, 0x96, 0x0F, +0x06, 0x22, 0x3E, 0x14, 0xF1, 0x3E, 0xE2, 0xE3, 0x10, 0x1F, 0xBB, 0x7B, 0x28, 0x88, 0x48, 0x65, +0x27, 0x3D, 0x26, 0xF2, 0x50, 0xCD, 0x5E, 0xB5, 0xF5, 0x93, 0xEF, 0xB7, 0xAE, 0x3C, 0xB5, 0x36, +0xE8, 0x1F, 0xB1, 0x89, 0xC0, 0x36, 0xDE, 0xD7, 0x63, 0x2D, 0x2C, 0x6E, 0xE5, 0xC7, 0x5C, 0xF1, +0x3F, 0x78, 0xBF, 0xA9, 0xC1, 0x08, 0x1E, 0x42, 0x07, 0xA9, 0xB4, 0x4E, 0x95, 0x77, 0x90, 0x30, +0xBF, 0x90, 0x9C, 0x0E, 0xD0, 0x14, 0xA1, 0x6D, 0xAA, 0x93, 0x87, 0xAB, 0x07, 0xA1, 0x06, 0x2E, +0x0C, 0x3F, 0x28, 0x21, 0xFC, 0x38, 0x98, 0x10, 0xD9, 0x3F, 0xA8, 0xE5, 0xEE, 0x98, 0x7C, 0x10, +0x10, 0xE8, 0xED, 0x93, 0x91, 0x5E, 0x6F, 0x6F, 0x57, 0x30, 0x2C, 0x99, 0x0F, 0xAA, 0x7B, 0x7A, +0xD7, 0xCE, 0x47, 0xAA, 0xA9, 0x30, 0x7D, 0x15, 0x11, 0x32, 0xAD, 0xF2, 0x21, 0xF5, 0xF8, 0x01, +0x83, 0x2B, 0x3C, 0x7C, 0xEC, 0x01, 0x44, 0x02, 0x14, 0xF5, 0xC3, 0xE3, 0xD2, 0xC1, 0x07, 0xC3, +0x8F, 0xB6, 0x56, 0x4F, 0x79, 0x07, 0x41, 0x78, 0x9E, 0x55, 0x85, 0x87, 0xCF, 0x88, 0xB8, 0x47, +0x98, 0xF0, 0xDD, 0xD0, 0x3E, 0x22, 0x91, 0x07, 0x67, 0x1C, 0x58, 0xFC, 0x06, 0xFD, 0x23, 0x22, +0x24, 0x09, 0x42, 0xC8, 0x47, 0x0B, 0x11, 0x7F, 0xEC, 0xBE, 0x69, 0x3C, 0x11, 0xE1, 0xB4, 0x11, +0xC6, 0x57, 0x68, 0xBA, 0x44, 0x82, 0x7D, 0x1C, 0x4C, 0xC8, 0x6D, 0x21, 0xF8, 0x87, 0xE0, 0x21, +0xD6, 0xF1, 0x15, 0x5D, 0x80, 0x80, 0x78, 0x42, 0x46, 0x36, 0x42, 0x5E, 0xB2, 0xB0, 0x0E, 0x77, +0x45, 0x56, 0x1F, 0x17, 0x32, 0x1F, 0x76, 0x3C, 0x28, 0x9D, 0x7F, 0x90, 0x90, 0xB1, 0xFB, 0xCC, +0x99, 0x1B, 0x0E, 0x9D, 0x22, 0x40, 0x11, 0x77, 0x99, 0xFC, 0x30, 0x0B, 0x5A, 0xE7, 0x05, 0x14, +0xEA, 0xD3, 0x7B, 0x6B, 0x63, 0xD3, 0xA1, 0x6D, 0x3D, 0x91, 0x85, 0xAD, 0x10, 0x8E, 0xB8, 0x1F, +0xBD, 0xDF, 0xE4, 0x45, 0x8B, 0x6A, 0x3B, 0xC8, 0x3A, 0x2F, 0x44, 0xEA, 0x1E, 0x09, 0xD2, 0xC1, +0xFC, 0x47, 0x7A, 0x3A, 0xF0, 0xF1, 0x79, 0xE9, 0x5B, 0xC4, 0x6F, 0x02, 0x17, 0xF2, 0x11, 0x4B, +0xE7, 0x1F, 0xD4, 0x51, 0x08, 0x99, 0x17, 0x1D, 0x42, 0x26, 0x3B, 0xCB, 0xC7, 0xC8, 0xCA, 0x47, +0x04, 0x88, 0x3D, 0x10, 0x59, 0x9C, 0xA7, 0x78, 0xF8, 0xF4, 0x39, 0xD5, 0x3F, 0x99, 0x75, 0xC0, +0xF4, 0x6E, 0x4A, 0xC8, 0x40, 0xF2, 0x0F, 0x0A, 0x2F, 0xC7, 0x27, 0xEE, 0x66, 0xAD, 0x82, 0x8F, +0x20, 0xFB, 0x55, 0x32, 0x3E, 0x4F, 0xBB, 0xCC, 0xB8, 0x4A, 0x38, 0x67, 0xD3, 0x83, 0x79, 0xE5, +0x1D, 0x64, 0xD3, 0xA9, 0x6D, 0x8D, 0x07, 0x63, 0x75, 0xA6, 0x3F, 0xF2, 0x84, 0xA4, 0xFF, 0x43, +0xCC, 0x47, 0xF7, 0x64, 0x16, 0x2A, 0x94, 0xE4, 0x58, 0x51, 0x87, 0x75, 0x38, 0x61, 0x54, 0x6C, +0xD4, 0x06, 0x3B, 0x08, 0xE9, 0x8F, 0x54, 0x5A, 0xFF, 0x38, 0x6A, 0x42, 0xA4, 0x28, 0x2C, 0x84, +0xEC, 0x86, 0x46, 0x3E, 0x80, 0x43, 0x0A, 0xC8, 0xA1, 0x09, 0x91, 0x17, 0xDC, 0xC0, 0x7A, 0x52, +0x74, 0x2B, 0x3D, 0xC8, 0xA3, 0xF0, 0xC1, 0x50, 0x5D, 0xE1, 0x1F, 0x8C, 0x43, 0xDC, 0xF4, 0xD5, +0x34, 0xF8, 0x08, 0x2A, 0x20, 0x13, 0x80, 0x68, 0x75, 0x9B, 0xF0, 0x24, 0x4D, 0x88, 0x20, 0xC7, +0xD6, 0xDD, 0x21, 0xD7, 0x9C, 0xBD, 0x62, 0x96, 0x62, 0xD3, 0x2D, 0x8F, 0x86, 0xAF, 0xEA, 0x39, +0x2D, 0xF2, 0x91, 0x91, 0x77, 0x26, 0x54, 0x9C, 0x30, 0x7B, 0x5C, 0x77, 0x8B, 0x64, 0xB0, 0x4A, +0x8F, 0x95, 0x90, 0x0C, 0x7C, 0x80, 0x1E, 0x02, 0x73, 0xCF, 0x0B, 0xE3, 0x8F, 0x44, 0x82, 0x7F, +0x1C, 0xEA, 0x21, 0x70, 0x0B, 0x29, 0xFC, 0xE8, 0x9F, 0xEE, 0xB5, 0xA7, 0x3F, 0x32, 0x80, 0xD8, +0x09, 0x79, 0x8B, 0xE2, 0x90, 0xAB, 0xE1, 0x75, 0xD1, 0xAB, 0x08, 0x0F, 0x6B, 0xFA, 0xE3, 0xAE, +0x5F, 0x53, 0x35, 0x1E, 0x21, 0xA9, 0x0E, 0xDB, 0x70, 0x0E, 0xE2, 0xAA, 0xF2, 0x73, 0x9E, 0x42, +0xA3, 0x99, 0x9D, 0xEC, 0x74, 0x2F, 0x52, 0xD0, 0xEB, 0x3E, 0x3D, 0xAE, 0x9A, 0x69, 0x6F, 0xF2, +0x21, 0x8D, 0xB2, 0x38, 0xA7, 0xB5, 0x81, 0x04, 0x42, 0x5A, 0x0E, 0x42, 0x5E, 0xF3, 0x1E, 0x12, +0x21, 0x82, 0x63, 0x4A, 0x8F, 0x95, 0xEB, 0x81, 0xF7, 0xD8, 0x7D, 0x74, 0xD6, 0x7B, 0xF9, 0x95, +0xE4, 0x1F, 0x87, 0x7B, 0x88, 0xC6, 0x3F, 0x48, 0xC8, 0xC1, 0xE9, 0x8F, 0x3C, 0x20, 0x76, 0x42, +0x86, 0x4D, 0x42, 0x86, 0x43, 0xA4, 0x3F, 0xFA, 0x75, 0x50, 0xFA, 0xE3, 0x4E, 0x94, 0xCC, 0x07, +0x85, 0x57, 0x87, 0x51, 0x96, 0x47, 0x64, 0xD0, 0x3E, 0x85, 0xA6, 0x88, 0x24, 0x09, 0x91, 0x75, +0xAF, 0xBE, 0x72, 0x51, 0x33, 0xB3, 0xDB, 0xE0, 0x43, 0x22, 0x64, 0xB3, 0xF5, 0x31, 0x7A, 0xF0, +0x0F, 0x41, 0x8F, 0xCC, 0x0D, 0x3A, 0x0F, 0x91, 0xF6, 0x27, 0x9A, 0xBF, 0xAA, 0x79, 0x40, 0xC9, +0x22, 0xE2, 0x27, 0xF9, 0x50, 0x00, 0x0A, 0xD3, 0x1F, 0x5A, 0x44, 0xEE, 0x04, 0xD9, 0x13, 0x22, +0x91, 0x7F, 0x18, 0x08, 0x79, 0xB1, 0xF3, 0xD1, 0x0D, 0x88, 0x3D, 0x21, 0xB2, 0xDB, 0x87, 0x1F, +0x11, 0x1F, 0x42, 0xA4, 0x5E, 0x98, 0xF9, 0xD0, 0x00, 0xD2, 0x0E, 0x3F, 0x04, 0x44, 0x06, 0x53, +0x58, 0x88, 0x33, 0x12, 0x77, 0x05, 0x6B, 0x97, 0x83, 0xF0, 0xC2, 0x2C, 0xA8, 0x31, 0x7F, 0x25, +0x8A, 0x3D, 0x58, 0xF4, 0x0F, 0xE8, 0xA9, 0xB2, 0x10, 0x40, 0xC2, 0xCB, 0xAF, 0x44, 0x42, 0x9A, +0x0E, 0x22, 0xEF, 0x0F, 0xCD, 0x83, 0x97, 0x97, 0xA4, 0xC7, 0xCA, 0x1F, 0xF8, 0x2B, 0xD4, 0x06, +0xCE, 0x5C, 0xC5, 0xD6, 0x94, 0xFC, 0xE3, 0x70, 0x42, 0x34, 0xFE, 0x41, 0x42, 0x78, 0xE2, 0xBE, +0xDC, 0x5D, 0x59, 0xF9, 0xE8, 0x06, 0x84, 0x84, 0x98, 0x27, 0xB3, 0x86, 0x8B, 0x42, 0xDC, 0xF1, +0x8F, 0xAF, 0x8B, 0xDB, 0x43, 0xD2, 0x1F, 0xB2, 0x18, 0x87, 0x08, 0x62, 0x52, 0xDD, 0xCF, 0xF8, +0x12, 0x03, 0x9E, 0x55, 0x93, 0x4E, 0x84, 0x9E, 0xC5, 0xF4, 0x87, 0xA4, 0x9F, 0xF6, 0x09, 0x11, +0xE8, 0xB1, 0x99, 0xC9, 0xF0, 0x55, 0x7E, 0x94, 0xE5, 0x7D, 0x04, 0xB5, 0xE2, 0x1F, 0xAC, 0x88, +0xC8, 0x5A, 0xC1, 0xEB, 0x57, 0x0D, 0x0B, 0x21, 0xF8, 0x28, 0x8C, 0x41, 0x5C, 0xC5, 0x0B, 0xB3, +0x9C, 0x81, 0xE0, 0x21, 0xFB, 0x07, 0x24, 0xF8, 0xC7, 0xC1, 0xD3, 0xBD, 0x1C, 0x7F, 0x14, 0x0A, +0x2D, 0x5F, 0x0E, 0x48, 0x7F, 0xF4, 0x01, 0x62, 0x27, 0xE4, 0xF2, 0xC5, 0xEF, 0x08, 0xFC, 0x43, +0x16, 0x08, 0x39, 0x05, 0x1F, 0x54, 0xA9, 0xF1, 0x0F, 0x4E, 0xF7, 0x7A, 0x07, 0xC1, 0x2A, 0x86, +0x83, 0xDD, 0x86, 0x7D, 0x06, 0x8B, 0xB7, 0x0F, 0xF2, 0x21, 0x28, 0xE0, 0x91, 0xFA, 0x47, 0xBE, +0xE7, 0x07, 0xF3, 0x20, 0x1F, 0x91, 0xE2, 0x97, 0xEF, 0x01, 0x5C, 0xEB, 0xF4, 0x50, 0x27, 0x74, +0xEA, 0xC3, 0x25, 0xFC, 0xD1, 0x0F, 0x38, 0xDD, 0x3B, 0x80, 0xD0, 0x50, 0x0A, 0x09, 0xF6, 0x71, +0xB4, 0xA4, 0x7A, 0x41, 0xC9, 0x84, 0xBC, 0x5C, 0x9A, 0xF9, 0xE8, 0x06, 0xE4, 0x80, 0x84, 0x08, +0xD3, 0x1F, 0xA2, 0x26, 0x87, 0xA4, 0x07, 0x65, 0xD1, 0x40, 0x94, 0x84, 0x80, 0x91, 0x01, 0xA1, +0x80, 0xB8, 0x4A, 0x86, 0x21, 0x8E, 0x10, 0xC8, 0x19, 0x84, 0x8E, 0x90, 0x76, 0xFA, 0xFC, 0xBD, +0x10, 0x87, 0xF8, 0xF4, 0xC7, 0x46, 0x16, 0x93, 0xEA, 0xE4, 0x43, 0x4B, 0x08, 0x23, 0x2D, 0x5F, +0x78, 0x74, 0xA1, 0xEC, 0xED, 0xA4, 0x74, 0x1E, 0x42, 0x3E, 0x04, 0x71, 0xFA, 0xEA, 0x04, 0x84, +0x4C, 0x91, 0x10, 0x51, 0xF1, 0xC1, 0xA4, 0xFA, 0x10, 0xD3, 0x57, 0x36, 0x3E, 0x3E, 0x79, 0xFB, +0x48, 0x04, 0x84, 0x84, 0xE8, 0xBF, 0x87, 0x3B, 0x8C, 0xD2, 0xE7, 0x42, 0xA4, 0x6E, 0x4F, 0x0F, +0x1A, 0x44, 0xFF, 0xD0, 0x11, 0xC2, 0xAB, 0x77, 0x33, 0x0E, 0xD2, 0x1E, 0x75, 0x40, 0x69, 0x78, +0x2E, 0xC7, 0x21, 0xE4, 0x42, 0x96, 0x73, 0x90, 0x06, 0x03, 0x92, 0x8F, 0x98, 0xF8, 0xF8, 0xC9, +0xC5, 0x21, 0x63, 0x48, 0x74, 0x90, 0xB0, 0xAE, 0xE6, 0xB2, 0xF4, 0x7C, 0x88, 0xE3, 0xAB, 0xC3, +0x53, 0x86, 0x85, 0x46, 0x4C, 0xAA, 0xDB, 0xD3, 0x83, 0x1A, 0x40, 0xEC, 0x29, 0xC3, 0xEB, 0x42, +0x2F, 0xA0, 0x64, 0x4F, 0x7F, 0x18, 0x09, 0xD1, 0x0B, 0xAF, 0x1E, 0x44, 0xC3, 0x6F, 0x57, 0xA5, +0x2B, 0x22, 0xB2, 0xB6, 0x48, 0x08, 0xCF, 0x13, 0x10, 0x74, 0xC3, 0x2B, 0x0A, 0x7C, 0x58, 0xC4, +0xF0, 0xBC, 0xCB, 0x41, 0xDA, 0x8D, 0xF1, 0x39, 0xF9, 0xD0, 0xE9, 0xCE, 0x24, 0x7B, 0xCA, 0xD0, +0xA2, 0xF3, 0x85, 0x39, 0x3D, 0xA8, 0x02, 0xC4, 0x3E, 0xCA, 0x62, 0xFC, 0x21, 0x6B, 0x79, 0x5D, +0xBC, 0x9B, 0x1A, 0xF9, 0x30, 0xC9, 0xF8, 0x81, 0x7E, 0x06, 0x40, 0x1A, 0x6A, 0xA3, 0xC2, 0x15, +0x67, 0x7B, 0x55, 0xA3, 0x2B, 0xA6, 0x0C, 0x37, 0x26, 0xAD, 0x00, 0x88, 0x46, 0x8C, 0x43, 0xB8, +0x37, 0x3A, 0x0F, 0x19, 0xF0, 0xB8, 0xBC, 0x78, 0x74, 0xA9, 0x1E, 0xFE, 0xA6, 0xED, 0x6C, 0x72, +0x9C, 0x06, 0x82, 0x28, 0x3C, 0x92, 0x15, 0x48, 0x84, 0x00, 0x45, 0x28, 0x5E, 0xCE, 0xB4, 0xC4, +0x6A, 0x34, 0x9A, 0x1C, 0x61, 0xAE, 0x80, 0xC4, 0x82, 0xA5, 0x87, 0x0B, 0xB0, 0x60, 0x95, 0x13, +0x64, 0x33, 0xC7, 0xF0, 0x49, 0x29, 0x77, 0x57, 0xF3, 0x29, 0x1D, 0xFF, 0xBC, 0x86, 0xF8, 0xD9, +0x71, 0xEC, 0x11, 0x4A, 0x62, 0xE3, 0xCF, 0xAF, 0xAB, 0xCB, 0x5D, 0x6E, 0x42, 0x3D, 0x1F, 0x2B, +0x7A, 0x88, 0x05, 0xB1, 0xBA, 0x0E, 0xEF, 0x3E, 0x57, 0x9E, 0xC9, 0x12, 0x20, 0x78, 0x88, 0x9C, +0x51, 0xDF, 0x9E, 0x2B, 0x7E, 0xF7, 0xF0, 0xAC, 0x90, 0x4D, 0xD5, 0x61, 0xA9, 0x3C, 0xEC, 0x8F, +0x98, 0x88, 0x16, 0x85, 0x38, 0x11, 0x70, 0x31, 0xE7, 0x20, 0x44, 0xE8, 0xB5, 0x0E, 0xF2, 0x7B, +0x39, 0x12, 0x79, 0xE1, 0x06, 0x45, 0xA1, 0xD7, 0xAB, 0xCA, 0x41, 0xE8, 0xEB, 0x05, 0x8B, 0x22, +0x55, 0x38, 0x32, 0x11, 0xA1, 0xAF, 0x82, 0x47, 0xDB, 0x56, 0x11, 0xB2, 0xD9, 0xD4, 0x11, 0x72, +0x3E, 0x7F, 0xC4, 0x41, 0x14, 0xFF, 0x58, 0x06, 0x04, 0xE9, 0x7C, 0x3C, 0x9D, 0xB7, 0x4F, 0xDB, +0xBD, 0xDA, 0xB9, 0x60, 0xFD, 0x57, 0x77, 0x15, 0x84, 0x6C, 0xF0, 0x8F, 0x1A, 0xD5, 0xF0, 0x91, +0x2A, 0x66, 0x21, 0x9A, 0x19, 0x38, 0x08, 0x78, 0x98, 0x6A, 0x08, 0x29, 0xFA, 0xB0, 0x96, 0x4E, +0xFD, 0x5F, 0x51, 0x62, 0xFC, 0x41, 0x0C, 0xA2, 0xF3, 0x31, 0xA8, 0xE8, 0x8E, 0x98, 0x71, 0x90, +0xEF, 0x5D, 0x15, 0x21, 0x01, 0xE9, 0xAA, 0xE1, 0xC3, 0x4E, 0x9C, 0x83, 0x4C, 0xC8, 0xDE, 0x4E, +0xCB, 0xF3, 0x93, 0x4E, 0xC8, 0x4E, 0x02, 0x04, 0xE9, 0x45, 0x1C, 0xCE, 0x5B, 0x9D, 0x90, 0xFD, +0xFD, 0x9D, 0xED, 0xA6, 0x4E, 0x48, 0x2D, 0x1F, 0x04, 0x22, 0x2A, 0x1F, 0xA6, 0xAE, 0x68, 0x91, +0xA3, 0x32, 0x2B, 0xF2, 0x9A, 0x54, 0x81, 0x07, 0x84, 0x08, 0xFA, 0xE5, 0x12, 0xFF, 0x79, 0x7D, +0x2F, 0x56, 0x12, 0xBB, 0x35, 0xE3, 0x20, 0x8E, 0xC7, 0x90, 0x46, 0x0D, 0x2A, 0x1F, 0x6B, 0x12, +0x12, 0x1E, 0x36, 0x36, 0xDD, 0x6D, 0xEE, 0xF7, 0x2A, 0x1F, 0xA6, 0xB3, 0x7E, 0x17, 0xD6, 0x4E, +0x04, 0x04, 0xE9, 0x7C, 0x98, 0x9E, 0x9E, 0x14, 0x42, 0xDE, 0xEF, 0xEF, 0xCD, 0x3F, 0x6A, 0x08, +0x09, 0xED, 0x3F, 0x13, 0x12, 0xA4, 0x4C, 0xE1, 0xD0, 0x91, 0x89, 0x87, 0x14, 0xE7, 0x49, 0x99, +0x57, 0xA7, 0x56, 0x8E, 0x14, 0x7F, 0xF8, 0x7D, 0x20, 0x10, 0xB2, 0xD0, 0xD1, 0x4B, 0x2D, 0x39, +0x2D, 0xAC, 0xA7, 0x84, 0x83, 0xCC, 0x07, 0xF7, 0x61, 0x99, 0xCA, 0x3E, 0xBA, 0x32, 0x16, 0xEB, +0x86, 0xA3, 0x63, 0x12, 0xB3, 0x4A, 0x61, 0x55, 0x42, 0x36, 0x0F, 0x69, 0xB2, 0x48, 0xFD, 0x83, +0xCA, 0x87, 0xE9, 0xBC, 0xD5, 0x08, 0xD9, 0x55, 0x03, 0xF2, 0xB6, 0xEB, 0x97, 0x83, 0x9A, 0x4F, +0xDB, 0x81, 0x0F, 0x27, 0x64, 0xF9, 0x47, 0xEF, 0xEF, 0xA3, 0x4F, 0x82, 0x88, 0xC2, 0xC7, 0x6A, +0x1E, 0x12, 0x22, 0x1E, 0xC7, 0xC6, 0x44, 0x57, 0xD6, 0x9C, 0x83, 0xD8, 0xA9, 0x95, 0xA5, 0xFA, +0x87, 0xEE, 0x21, 0xA7, 0x34, 0x3C, 0xBD, 0xC2, 0x43, 0x22, 0x1A, 0x2E, 0xA9, 0x03, 0x0B, 0x11, +0xA7, 0x97, 0x0E, 0xC2, 0x61, 0xE8, 0x8E, 0x7E, 0x27, 0x8E, 0x44, 0x48, 0xF8, 0x0F, 0x89, 0xFE, +0xE1, 0x93, 0x11, 0xB2, 0xD7, 0xF8, 0xD0, 0x09, 0xE9, 0x77, 0x15, 0x80, 0xA0, 0x7E, 0x91, 0x8F, +0x01, 0x0F, 0xAA, 0x55, 0x2B, 0xE1, 0xF9, 0x86, 0x3D, 0x5D, 0x95, 0x8F, 0xC7, 0xB0, 0xF8, 0x3F, +0x1A, 0xAF, 0x8F, 0x3E, 0xB8, 0xD4, 0x08, 0x21, 0xF1, 0x31, 0xE6, 0x20, 0xCE, 0x07, 0x12, 0xF8, +0xF0, 0x71, 0xB6, 0x78, 0x08, 0xFA, 0x3D, 0xEE, 0x1F, 0xC8, 0x02, 0xF6, 0xB9, 0xF0, 0x03, 0xFF, +0x70, 0x8F, 0x92, 0xF8, 0x40, 0x65, 0xAE, 0x90, 0x1D, 0xCD, 0x0B, 0x1F, 0xAE, 0xDF, 0x44, 0x48, +0xBA, 0xB0, 0x02, 0x1F, 0x48, 0xF1, 0x0F, 0x26, 0x81, 0x90, 0xFD, 0xD3, 0x16, 0x42, 0xCE, 0x24, +0x0B, 0xAB, 0xF9, 0x00, 0x90, 0x7A, 0x42, 0xFA, 0xBE, 0xA8, 0xF5, 0x6E, 0x84, 0x1C, 0xE6, 0x7E, +0xF4, 0x87, 0x07, 0xFC, 0x43, 0x20, 0xE4, 0x31, 0xA8, 0x9A, 0x42, 0x64, 0xCE, 0x43, 0x42, 0x6C, +0x5F, 0xA5, 0x32, 0x58, 0x86, 0x88, 0xAD, 0x73, 0x8E, 0xB8, 0x8A, 0xEE, 0x9E, 0xB2, 0x22, 0xE1, +0x6C, 0xFF, 0x2A, 0xB5, 0x1B, 0x52, 0x8D, 0x13, 0x08, 0x99, 0xEE, 0xBF, 0x2A, 0x8B, 0x29, 0xEA, +0xFE, 0x31, 0xAC, 0x6B, 0xCD, 0x2B, 0x5A, 0x59, 0xD7, 0x0E, 0x62, 0x33, 0x88, 0x1C, 0x3B, 0x2A, +0x85, 0x0D, 0x03, 0x0B, 0xC3, 0x0A, 0x7C, 0xE8, 0x88, 0x3C, 0x5C, 0x9E, 0x37, 0x0F, 0x0B, 0x84, +0x9C, 0xE1, 0x03, 0x42, 0x04, 0x3E, 0x54, 0x40, 0x50, 0x2F, 0xF1, 0x01, 0x21, 0xB3, 0xFE, 0x01, +0x1F, 0x0A, 0x21, 0x8F, 0x77, 0xF5, 0xC7, 0x5D, 0x8F, 0x43, 0x42, 0x48, 0xE6, 0x61, 0x0B, 0x47, +0xE4, 0x0B, 0x09, 0x02, 0x7C, 0xC4, 0x37, 0xF1, 0x0F, 0xD9, 0x43, 0xC0, 0x23, 0xAF, 0x68, 0xF1, +0x39, 0x71, 0xC8, 0x7C, 0xD4, 0x92, 0x3F, 0x9A, 0xCF, 0x97, 0xFC, 0x03, 0xB1, 0x93, 0xE0, 0x81, +0x83, 0x74, 0x7E, 0xA3, 0x7B, 0xC2, 0xC3, 0xB6, 0x9A, 0x10, 0x04, 0x3E, 0xD6, 0x21, 0xC4, 0x4F, +0x1B, 0x26, 0x08, 0x11, 0xF8, 0x80, 0x10, 0x81, 0x0F, 0x11, 0x10, 0xD4, 0x0B, 0x7C, 0x48, 0x84, +0x58, 0x7A, 0x90, 0xEB, 0x80, 0x14, 0x87, 0xDC, 0xE2, 0xB8, 0x77, 0x33, 0x7C, 0xE4, 0x2A, 0xA4, +0x19, 0x11, 0x2A, 0x9A, 0xD0, 0xE4, 0xA0, 0x1D, 0xC2, 0x19, 0x26, 0x45, 0xEA, 0x54, 0x1E, 0xF1, +0x15, 0x93, 0xC4, 0x07, 0x71, 0xC8, 0xEC, 0x90, 0x29, 0xCC, 0x29, 0x3B, 0xD4, 0xE9, 0x45, 0xF1, +0x0F, 0xF4, 0x8D, 0x9D, 0xBC, 0x4A, 0xF6, 0x0C, 0x5C, 0x78, 0xD1, 0x9F, 0xE6, 0xEF, 0xC0, 0xE4, +0x36, 0xAC, 0xC0, 0x07, 0x12, 0xF8, 0x60, 0x22, 0x21, 0x22, 0xF0, 0x01, 0x21, 0x02, 0x1F, 0x2A, +0x20, 0x68, 0x02, 0x0F, 0xE7, 0xA3, 0x24, 0x64, 0xFB, 0xAC, 0xF0, 0xC1, 0x34, 0x9D, 0xFE, 0xB8, +0xCD, 0x61, 0xEF, 0xC2, 0xF8, 0x60, 0xA9, 0x18, 0x7A, 0xE6, 0xF1, 0xA4, 0x4D, 0x5C, 0xB1, 0xE5, +0xF7, 0xCB, 0xA2, 0x0D, 0x38, 0xC8, 0x2B, 0x92, 0x08, 0x89, 0x95, 0xAB, 0x18, 0xCD, 0xE4, 0xEF, +0xD3, 0xF9, 0xF0, 0x5F, 0xD7, 0x5A, 0x1A, 0x93, 0xCE, 0x17, 0xD8, 0x9C, 0x5E, 0x1A, 0x1F, 0xA8, +0x18, 0x33, 0xC5, 0x4E, 0x0F, 0xAE, 0x11, 0x2F, 0x1C, 0x29, 0x12, 0x39, 0x76, 0xCD, 0x5C, 0xCA, +0x30, 0xDC, 0x46, 0x15, 0x7C, 0xCC, 0x26, 0x44, 0xB6, 0xF0, 0x01, 0x21, 0xD3, 0x09, 0x91, 0x1D, +0x12, 0x00, 0x51, 0x09, 0xF1, 0xEE, 0x5D, 0x04, 0x21, 0xE3, 0xBF, 0xFB, 0x00, 0x1F, 0x92, 0x87, +0x84, 0x5B, 0x69, 0x22, 0xFD, 0xE1, 0xFD, 0x33, 0x38, 0x48, 0x33, 0x20, 0xD2, 0x12, 0xA9, 0x13, +0xB1, 0x72, 0x13, 0xEF, 0xB5, 0x66, 0xFD, 0xC3, 0x87, 0x8C, 0x0F, 0xF2, 0xB7, 0x89, 0xF0, 0x83, +0xF8, 0x83, 0x39, 0x69, 0x02, 0x0F, 0xCC, 0x23, 0x7F, 0x51, 0x7A, 0x55, 0xF0, 0x41, 0xD5, 0x38, +0x5F, 0xF0, 0x66, 0xB6, 0xE1, 0x70, 0x74, 0xD1, 0x58, 0x73, 0x89, 0xC5, 0x09, 0x42, 0xC2, 0xAD, +0x24, 0xF0, 0xC1, 0x74, 0x07, 0x21, 0xE3, 0xDD, 0x57, 0x68, 0x36, 0x21, 0xB2, 0xAB, 0x06, 0xA4, +0x7F, 0x4B, 0x2F, 0xA4, 0xF0, 0x81, 0x20, 0x04, 0x3D, 0x1B, 0x1F, 0xEC, 0x9B, 0x60, 0x22, 0x21, +0xAC, 0x48, 0x48, 0xC8, 0x67, 0x40, 0x4B, 0x41, 0x2C, 0x9B, 0xE2, 0xE0, 0x20, 0x37, 0x11, 0xAE, +0xAB, 0xF8, 0xC7, 0x92, 0x89, 0x10, 0x9F, 0xF3, 0x98, 0x03, 0xA7, 0x04, 0x23, 0x59, 0x68, 0x5E, +0x21, 0x67, 0x64, 0x3E, 0xFC, 0xA0, 0xAA, 0x90, 0x2D, 0x07, 0xC9, 0x7C, 0x90, 0x10, 0x81, 0x91, +0xFC, 0xD6, 0x36, 0x6E, 0xAD, 0x1E, 0x83, 0xF8, 0x6B, 0x22, 0x21, 0x12, 0x6E, 0xA7, 0x85, 0xEE, +0xAB, 0xF2, 0xCA, 0x7A, 0xD8, 0x3F, 0x4F, 0xF0, 0xA1, 0x13, 0xB2, 0xAB, 0x05, 0x04, 0x4C, 0x7A, +0x36, 0xAE, 0xF9, 0xD8, 0x3A, 0x1E, 0x12, 0x21, 0x1F, 0xDE, 0xDD, 0x63, 0x1F, 0x12, 0x21, 0xE1, +0x76, 0x87, 0xFD, 0x91, 0x84, 0x08, 0x7C, 0x44, 0x16, 0x28, 0xCF, 0x6C, 0x2B, 0xA9, 0x3A, 0x9A, +0x3F, 0x18, 0xA4, 0x70, 0x10, 0xEC, 0x43, 0xF1, 0x90, 0x6F, 0x50, 0xE1, 0xE7, 0x30, 0xB2, 0xAD, +0x51, 0x3E, 0xDC, 0x36, 0x70, 0x0F, 0x34, 0x53, 0x36, 0xCE, 0xC3, 0x0F, 0x1C, 0xC4, 0x96, 0x4B, +0xE1, 0x79, 0x49, 0xC8, 0xB5, 0x83, 0x0C, 0xCD, 0xA9, 0x74, 0x60, 0xFE, 0x96, 0xBC, 0x1F, 0xB6, +0x87, 0x2D, 0x08, 0x41, 0xE1, 0x96, 0x1A, 0x4D, 0x7F, 0x4C, 0x23, 0x72, 0xFF, 0xFC, 0x41, 0xE4, +0x83, 0x84, 0x88, 0x1E, 0x7E, 0x00, 0xC8, 0xB2, 0xFA, 0x72, 0x04, 0x08, 0x7C, 0xCC, 0x10, 0xC2, +0x28, 0x42, 0x6C, 0x72, 0x74, 0x0A, 0x6B, 0xF0, 0x81, 0x4A, 0x3E, 0x72, 0xFC, 0x91, 0x10, 0xF1, +0x45, 0x7A, 0x0E, 0x42, 0x63, 0x8B, 0xD2, 0x41, 0x5E, 0x91, 0xE2, 0x21, 0x0C, 0xB3, 0x8D, 0x4B, +0x37, 0x0F, 0x1C, 0xE5, 0xBA, 0x7B, 0xB7, 0x14, 0xB4, 0x40, 0x08, 0xCA, 0x68, 0x64, 0x67, 0xFA, +0xE9, 0x2C, 0xE6, 0x6F, 0x94, 0xFC, 0x03, 0x5D, 0x38, 0x88, 0xCD, 0x54, 0x2B, 0xB6, 0xD9, 0xDD, +0xD5, 0x5E, 0x71, 0xEB, 0x3A, 0x21, 0x12, 0x6E, 0x2C, 0xD9, 0x3F, 0x48, 0x88, 0x94, 0x7C, 0xE8, +0x84, 0xC0, 0x87, 0x0E, 0xC8, 0x5B, 0x3F, 0x43, 0x08, 0xA3, 0x6C, 0xE1, 0x63, 0x54, 0x17, 0x49, +0xF5, 0x3D, 0xFE, 0x31, 0x39, 0x6D, 0x56, 0xE1, 0x03, 0x75, 0x45, 0xFB, 0xEA, 0x98, 0x82, 0xD0, +0x74, 0x71, 0x74, 0x07, 0x81, 0x95, 0x2F, 0x45, 0x7A, 0x50, 0x26, 0x84, 0xEE, 0x5D, 0xDA, 0x3F, +0xF6, 0xBA, 0xB8, 0xDA, 0x97, 0xA1, 0xFA, 0x35, 0x19, 0x28, 0x6D, 0x5C, 0x77, 0x5F, 0xF1, 0xA1, +0x54, 0x4D, 0xC1, 0xAE, 0x64, 0xFF, 0xC0, 0x43, 0x6C, 0x76, 0x91, 0xFB, 0x88, 0xD7, 0x8A, 0x36, +0x3F, 0x6C, 0xC8, 0x6D, 0xC5, 0x36, 0xC2, 0x7A, 0x7C, 0x94, 0x84, 0x2C, 0x9F, 0x37, 0x74, 0xF7, +0x92, 0x1E, 0x44, 0x33, 0x9D, 0x59, 0xF0, 0xA1, 0x03, 0x42, 0xB3, 0x8A, 0x68, 0x84, 0x75, 0x99, +0x0F, 0xBA, 0x7B, 0x49, 0x9F, 0x0B, 0x80, 0xD0, 0x7D, 0xB5, 0x82, 0x2E, 0x6F, 0x2F, 0xC9, 0xD5, +0x46, 0x9B, 0xCE, 0xA9, 0xF0, 0x3F, 0x0C, 0xD4, 0x44, 0x78, 0x70, 0x10, 0xD2, 0x83, 0x22, 0x21, +0x2F, 0x04, 0x04, 0x91, 0x0F, 0xAE, 0xF6, 0x6C, 0x17, 0x7C, 0x8C, 0xB4, 0xAD, 0xD8, 0x2A, 0x09, +0x31, 0xC7, 0x70, 0xAF, 0xC8, 0x53, 0x26, 0x12, 0x5C, 0x96, 0xF9, 0x40, 0xC5, 0xED, 0xEF, 0xE9, +0xCA, 0x91, 0x68, 0xF8, 0xEB, 0x20, 0x36, 0xE7, 0xE6, 0xE8, 0x65, 0x1C, 0x12, 0xD6, 0xD0, 0x6C, +0x78, 0x3E, 0x91, 0x10, 0xA1, 0x7B, 0x57, 0x20, 0x44, 0xE0, 0x43, 0x6E, 0x62, 0x81, 0xCC, 0x5B, +0x7F, 0x91, 0xFE, 0x10, 0x08, 0x39, 0x38, 0x1F, 0x5F, 0xF1, 0xC9, 0xE9, 0x09, 0x44, 0xC2, 0x3A, +0xEA, 0x5A, 0xD2, 0x1F, 0x3E, 0xE5, 0x66, 0xC3, 0x31, 0x2E, 0xFC, 0x72, 0x99, 0x50, 0xC1, 0x41, +0x5E, 0x15, 0x31, 0x86, 0xEA, 0x65, 0x10, 0x2C, 0x38, 0x1C, 0x79, 0x2D, 0x2F, 0x47, 0xFC, 0x03, +0x34, 0x46, 0x34, 0x76, 0x7B, 0x49, 0xD4, 0xC9, 0x3F, 0xF0, 0x94, 0xBE, 0x2F, 0xD3, 0x22, 0xF3, +0x51, 0x26, 0xD5, 0x1B, 0x1C, 0x24, 0xB7, 0xB5, 0x6C, 0x61, 0x53, 0x6A, 0x64, 0xF9, 0x5F, 0xDB, +0x00, 0x1F, 0x2B, 0x48, 0xF5, 0x0F, 0x92, 0xEA, 0xF0, 0x21, 0x12, 0x02, 0x1F, 0x3A, 0x20, 0x30, +0xE1, 0x73, 0xA9, 0x5E, 0xE2, 0x83, 0xEE, 0xDE, 0x48, 0x08, 0xE9, 0x0F, 0xD1, 0x44, 0xC2, 0x4A, +0xC7, 0xBD, 0xED, 0xF2, 0x08, 0xF4, 0x48, 0x80, 0xE7, 0x40, 0xBC, 0x28, 0x2F, 0x0E, 0x92, 0x58, +0x69, 0x1B, 0x6F, 0x76, 0x68, 0x7C, 0x10, 0xAA, 0xE7, 0x48, 0x83, 0x18, 0x9D, 0xAB, 0xFD, 0x09, +0x48, 0x9C, 0x90, 0x13, 0x7C, 0x8C, 0x5A, 0x08, 0x7F, 0x83, 0x0F, 0xFF, 0x00, 0xBE, 0xC2, 0x3F, +0x1F, 0x5C, 0x06, 0x49, 0xE1, 0x47, 0x99, 0x32, 0xB4, 0xD9, 0xAB, 0x29, 0x7A, 0xF6, 0xBC, 0x73, +0x2A, 0xF2, 0x8A, 0x1F, 0xBC, 0x9C, 0x10, 0x09, 0x6B, 0x49, 0xF4, 0x0F, 0x52, 0x86, 0xF0, 0x21, +0x13, 0x02, 0x1F, 0x3A, 0x20, 0xA8, 0xC7, 0x3C, 0xD0, 0xDB, 0xCE, 0x3A, 0xC5, 0x04, 0x3E, 0x48, +0x19, 0x1E, 0xE0, 0x43, 0x25, 0x24, 0xAC, 0xA7, 0x6E, 0xE0, 0xC3, 0x6F, 0xDF, 0x8D, 0xFE, 0x61, +0x6F, 0x94, 0x75, 0x6F, 0x28, 0xF2, 0x9F, 0x4E, 0x84, 0x41, 0x5E, 0x69, 0x4D, 0xF6, 0x10, 0x22, +0x0D, 0x5F, 0x8B, 0xD7, 0x76, 0xA2, 0x6A, 0xDE, 0x3C, 0x3C, 0x87, 0x82, 0x51, 0x4C, 0x50, 0x02, +0x8A, 0xF6, 0x9A, 0xF3, 0xE1, 0x88, 0x5C, 0x3F, 0xA7, 0x10, 0xFF, 0xD0, 0x94, 0xFC, 0xC3, 0xA1, +0xC8, 0xD9, 0xF3, 0xE6, 0xE2, 0xD8, 0x34, 0xF6, 0xF2, 0x72, 0xEF, 0x91, 0x90, 0xB0, 0x9E, 0xE0, +0x43, 0x24, 0x84, 0xF4, 0xA0, 0x4A, 0xC8, 0x0E, 0x89, 0x80, 0x60, 0x1A, 0x93, 0xF2, 0xD1, 0x1F, +0x92, 0xCE, 0x36, 0x5B, 0x78, 0x4E, 0x3F, 0x84, 0xD0, 0x9E, 0x7C, 0x34, 0xFF, 0xD0, 0x15, 0x6A, +0x63, 0xF9, 0x36, 0x76, 0xEF, 0xC6, 0xC0, 0x23, 0x96, 0x54, 0x8C, 0x70, 0x70, 0x99, 0x74, 0x30, +0x62, 0x4C, 0x62, 0xC2, 0x3E, 0x34, 0xF1, 0x8C, 0xDB, 0x1F, 0xEE, 0x19, 0x3F, 0x49, 0xA2, 0x47, +0x4C, 0xBC, 0xBF, 0xC9, 0x45, 0xF3, 0xAA, 0x10, 0xAC, 0xC4, 0x25, 0x88, 0x60, 0x41, 0x7C, 0xCE, +0x4F, 0x1C, 0xC4, 0xBF, 0xDB, 0x6D, 0x44, 0xF6, 0x0F, 0x1E, 0xE4, 0xD9, 0xE4, 0xA6, 0xE7, 0x30, +0x73, 0x4C, 0xE2, 0x32, 0x1E, 0x23, 0xFF, 0x63, 0xBA, 0xBB, 0xB7, 0x52, 0x35, 0x44, 0xB5, 0x41, +0xE3, 0x83, 0x94, 0xE1, 0xBB, 0xFD, 0x1F, 0xDA, 0xCE, 0x98, 0xB7, 0x69, 0x20, 0x0C, 0xC3, 0x54, +0x51, 0x4A, 0x18, 0x62, 0x0B, 0xA1, 0x63, 0x89, 0xE4, 0x22, 0x32, 0x9D, 0x4E, 0x30, 0x74, 0x8A, +0x18, 0x2A, 0xA6, 0xAC, 0x95, 0x3C, 0x74, 0x64, 0x30, 0x73, 0x07, 0x4B, 0xEC, 0x9D, 0xBC, 0x64, +0x88, 0xF8, 0x0D, 0xFD, 0xA5, 0xBC, 0xB1, 0xA9, 0x5E, 0x7A, 0xBD, 0xF3, 0xBD, 0x1F, 0x84, 0xE7, +0x12, 0x50, 0x23, 0x0F, 0x89, 0x7D, 0x4F, 0xDE, 0xBB, 0xEF, 0xB3, 0xDA, 0xD3, 0x7C, 0x93, 0x58, +0xE1, 0xC1, 0xFC, 0x90, 0x05, 0xC9, 0xD7, 0xAF, 0xF8, 0x3A, 0x04, 0x0A, 0x6F, 0x21, 0xAA, 0x48, +0xA8, 0xEB, 0x53, 0x7E, 0x18, 0x58, 0x9A, 0xA6, 0xFC, 0xAB, 0xF1, 0x60, 0xAF, 0x0D, 0x1C, 0xB9, +0xFB, 0xB0, 0x18, 0xBF, 0x1B, 0x59, 0xAC, 0xC2, 0xBF, 0xF0, 0x64, 0xDA, 0x93, 0x8E, 0x5F, 0x94, +0xBF, 0x57, 0xDC, 0x8B, 0x51, 0x95, 0x6F, 0x8C, 0x0F, 0x09, 0xF8, 0xC1, 0xE2, 0x52, 0xF4, 0x3F, +0x23, 0x85, 0x45, 0xE0, 0x7B, 0x23, 0x77, 0xA7, 0x02, 0x00, 0xBB, 0xF3, 0x2C, 0x1E, 0x27, 0x6A, +0x59, 0x78, 0xD2, 0x0F, 0x8D, 0x05, 0xCE, 0xC5, 0xD8, 0x1B, 0x5C, 0xF0, 0x8F, 0xFF, 0x4E, 0xE1, +0x31, 0xB9, 0x31, 0xBD, 0xF6, 0xEE, 0xE9, 0xCC, 0xE1, 0x74, 0xFE, 0x4F, 0xAE, 0xB6, 0xA6, 0x89, +0xF3, 0xA9, 0x5E, 0xAF, 0x54, 0xC2, 0x6A, 0x08, 0x6F, 0x88, 0x2C, 0x08, 0x53, 0x24, 0xDE, 0xA4, +0xF3, 0xC5, 0xAA, 0x0E, 0x2B, 0xD5, 0x90, 0xB0, 0x5E, 0x0F, 0xE3, 0xEF, 0x50, 0xD4, 0x1E, 0xCE, +0x5D, 0xBA, 0xE5, 0xD2, 0x2F, 0x65, 0x5E, 0xE1, 0xB9, 0x33, 0xE1, 0xB1, 0x3C, 0x30, 0x80, 0xFB, +0x13, 0xAF, 0xE5, 0xD1, 0x5E, 0xDF, 0x76, 0x77, 0x36, 0xFA, 0x9F, 0x26, 0xFA, 0xFE, 0xCE, 0x44, +0x77, 0x8D, 0xF7, 0xAF, 0x8F, 0xB6, 0xFD, 0xFC, 0x79, 0x21, 0x8E, 0xD3, 0x91, 0x7E, 0x67, 0x62, +0x8B, 0x0B, 0x66, 0xBA, 0xB6, 0x0E, 0x73, 0x42, 0x7F, 0xB8, 0x8B, 0x10, 0x56, 0x32, 0xA1, 0xAE, +0xAC, 0x82, 0xD0, 0x08, 0x86, 0x46, 0xEC, 0x09, 0xF6, 0x1F, 0xF5, 0x86, 0x25, 0xDE, 0x12, 0x21, +0x5C, 0x36, 0x4E, 0x7F, 0xE0, 0xC9, 0x53, 0xA8, 0xB1, 0x6D, 0xB6, 0x26, 0x3F, 0xBC, 0xB7, 0xF8, +0xD1, 0x82, 0xEB, 0xBD, 0x3A, 0xBF, 0xE0, 0x47, 0xD7, 0x99, 0xF4, 0x00, 0x36, 0x3F, 0x6C, 0x86, +0xE0, 0xED, 0xC8, 0x76, 0xEC, 0xE1, 0x07, 0xF8, 0xAC, 0x82, 0x23, 0x3D, 0xB0, 0xF8, 0xB1, 0x85, +0x21, 0x44, 0x51, 0x04, 0x53, 0xA2, 0x51, 0x71, 0xB0, 0x64, 0xB5, 0xD2, 0x56, 0xFF, 0xC3, 0xC5, +0x0A, 0xD3, 0xB8, 0xB6, 0x08, 0xF2, 0x08, 0x2D, 0x12, 0xA1, 0x81, 0xE7, 0x73, 0x6A, 0x80, 0x0C, +0x19, 0x86, 0xA3, 0x56, 0xC5, 0x6A, 0x1C, 0x90, 0x3F, 0xA2, 0xCD, 0x0F, 0x1C, 0x8B, 0x73, 0xFE, +0x71, 0xB9, 0xF3, 0xB2, 0x1E, 0xEF, 0x47, 0x43, 0xB4, 0x69, 0xB0, 0x80, 0x1F, 0x00, 0xB9, 0x20, +0xCE, 0x31, 0xF8, 0x01, 0x4C, 0x7E, 0x00, 0x8B, 0x1F, 0x36, 0x43, 0xA6, 0xF7, 0xA3, 0xE7, 0xC7, +0x88, 0xC9, 0x0F, 0xDD, 0x10, 0x8F, 0x2B, 0x35, 0x1A, 0x62, 0xBB, 0xC0, 0x57, 0x97, 0xF2, 0xE4, +0x01, 0x8D, 0xBA, 0x4B, 0x1F, 0x02, 0x26, 0x31, 0xD0, 0x05, 0xF9, 0x4E, 0x3F, 0x12, 0xC1, 0xC1, +0x1F, 0xEA, 0x91, 0xAA, 0x0A, 0x8A, 0xA8, 0xE1, 0xE8, 0x9E, 0xD0, 0x3E, 0xE2, 0x95, 0xDD, 0x8F, +0xED, 0x12, 0x43, 0x34, 0xC4, 0x2F, 0xFC, 0x84, 0x68, 0x48, 0x0B, 0x26, 0x43, 0x24, 0x45, 0xBA, +0x27, 0x2C, 0x7E, 0x00, 0xDD, 0x0F, 0x93, 0x21, 0xDD, 0x13, 0x5A, 0x7E, 0xB4, 0xC0, 0x60, 0xC8, +0xC2, 0x03, 0x8B, 0x21, 0xCD, 0x78, 0xA5, 0xEC, 0x86, 0x88, 0x73, 0x07, 0xE8, 0x86, 0x0C, 0x61, +0x03, 0x3F, 0x54, 0x43, 0xA0, 0xC6, 0xF7, 0x57, 0x5F, 0x4E, 0x69, 0x51, 0x2C, 0x64, 0x55, 0xF5, +0x04, 0xE2, 0x69, 0x3D, 0x28, 0x9D, 0xF4, 0xC6, 0x60, 0x88, 0x73, 0x5B, 0xE3, 0xC9, 0x9B, 0xEC, +0x58, 0xAA, 0x21, 0xE2, 0x89, 0xB0, 0x11, 0x59, 0xB4, 0x44, 0xCA, 0x90, 0x8E, 0xC8, 0x7E, 0xE8, +0x86, 0xDC, 0xFF, 0xE4, 0xF1, 0xBA, 0x1F, 0xBA, 0x21, 0x6D, 0x4B, 0x94, 0xFC, 0xF0, 0x44, 0x38, +0xF3, 0x3B, 0x5C, 0xA4, 0xA7, 0xA1, 0xA3, 0x1B, 0xC2, 0x69, 0xE6, 0x86, 0x75, 0xB9, 0xC6, 0xBB, +0xAE, 0x36, 0xF5, 0x6F, 0x1E, 0x15, 0x3F, 0x0E, 0x5F, 0x20, 0xC8, 0x21, 0x97, 0x21, 0x51, 0x7E, +0x4C, 0x6C, 0xAA, 0xA2, 0x21, 0xE1, 0xB4, 0x3D, 0x27, 0x67, 0xCF, 0x8F, 0xDD, 0xC7, 0x2D, 0x4F, +0xBB, 0xB0, 0x11, 0xC1, 0xF2, 0x0A, 0xC8, 0x19, 0xD2, 0x12, 0xC9, 0x90, 0x0E, 0xE8, 0x86, 0xDC, +0xF4, 0x7F, 0x82, 0xF9, 0x2F, 0xE4, 0x07, 0xD1, 0xFC, 0x20, 0x5A, 0x7E, 0x10, 0xC9, 0x0F, 0x22, +0xF8, 0xF1, 0x91, 0x97, 0x0A, 0x5F, 0x83, 0x26, 0x45, 0x04, 0x43, 0x1C, 0xA0, 0x21, 0x41, 0xF7, +0x03, 0x54, 0x82, 0x1F, 0x93, 0x20, 0xCC, 0x90, 0x99, 0xFC, 0x20, 0x15, 0xB6, 0xEA, 0xC7, 0x79, +0x3F, 0x9E, 0x53, 0xFA, 0x8C, 0xCB, 0xBF, 0xC9, 0x0F, 0x66, 0x88, 0x94, 0x1F, 0x44, 0xF3, 0x83, +0xDC, 0xEE, 0x85, 0xED, 0x07, 0x91, 0xF2, 0x83, 0x48, 0xF9, 0x41, 0x1E, 0x7A, 0xC9, 0x0F, 0xA2, +0x6D, 0x3F, 0x48, 0x41, 0x8F, 0x85, 0x7F, 0x8E, 0x94, 0x1F, 0x34, 0xE4, 0xDC, 0x19, 0xE2, 0x9E, +0x73, 0x11, 0x0A, 0x3D, 0xC2, 0x68, 0x22, 0x17, 0xFD, 0x98, 0x04, 0xA1, 0x21, 0x85, 0xFC, 0xA0, +0x21, 0xC7, 0x61, 0xEE, 0x5E, 0x5E, 0x17, 0x53, 0xF0, 0x83, 0x7A, 0x48, 0x8C, 0xF9, 0xC1, 0x81, +0x62, 0x96, 0x17, 0xF2, 0x83, 0xA0, 0xB8, 0x2F, 0xF8, 0x41, 0x66, 0x33, 0x64, 0xDF, 0xC5, 0x48, +0x7A, 0x90, 0x82, 0x1F, 0xFD, 0x0B, 0x24, 0x3F, 0x88, 0xB2, 0xBE, 0xD2, 0x33, 0xC4, 0xC7, 0x48, +0xF9, 0xC1, 0x61, 0xFD, 0x2E, 0x2C, 0xCC, 0x9D, 0x98, 0xB7, 0x61, 0xAE, 0x77, 0x4D, 0x3F, 0x14, +0x43, 0xE0, 0x07, 0x05, 0x39, 0xA0, 0x4D, 0x2E, 0xE6, 0x07, 0xD8, 0x20, 0x43, 0x72, 0xC5, 0xAC, +0x10, 0x5E, 0x3B, 0x20, 0x1B, 0x62, 0x2F, 0x5F, 0xF1, 0x74, 0x2B, 0xFB, 0x10, 0x9F, 0x40, 0xCD, +0x0F, 0x1A, 0x22, 0xE4, 0x07, 0xD1, 0xFC, 0x20, 0x33, 0xAB, 0xAC, 0xFB, 0x87, 0xC4, 0xF1, 0x92, +0x1F, 0x24, 0x1F, 0x80, 0xC8, 0x8F, 0x04, 0xA5, 0xF2, 0x55, 0xCC, 0x8C, 0x1F, 0x88, 0x8C, 0x68, +0x98, 0x1B, 0x22, 0x8D, 0x93, 0xFD, 0x00, 0x0D, 0x0C, 0x91, 0xFD, 0x00, 0x9B, 0x39, 0x43, 0x0E, +0x14, 0x64, 0x52, 0x24, 0x23, 0x12, 0xF3, 0x23, 0x32, 0x24, 0xE3, 0x47, 0xE3, 0x12, 0x9C, 0xCB, +0x0F, 0xE6, 0x87, 0x96, 0x21, 0x3E, 0x09, 0xCA, 0xB8, 0x82, 0x1F, 0x4A, 0x86, 0x74, 0x29, 0x04, +0x3F, 0x44, 0x43, 0xFA, 0x24, 0x92, 0x1F, 0x24, 0x2F, 0x48, 0x9B, 0x24, 0x5F, 0xFC, 0xF6, 0x49, +0x94, 0xFC, 0xB0, 0x1B, 0xC2, 0x86, 0x88, 0xE4, 0x07, 0x0D, 0x09, 0x82, 0x1F, 0x4A, 0x86, 0x1C, +0x28, 0xC8, 0xAC, 0x21, 0x75, 0x8A, 0xEA, 0x64, 0x48, 0xD2, 0x8F, 0xB7, 0x8D, 0x4B, 0x72, 0xC6, +0xF6, 0xC7, 0x8B, 0x01, 0x69, 0x24, 0x3F, 0x08, 0x2A, 0x55, 0x85, 0xFA, 0x55, 0x6C, 0xC8, 0x3E, +0xE3, 0xC7, 0x8F, 0x2E, 0xC1, 0x8D, 0xE0, 0x87, 0x62, 0x48, 0x9F, 0x41, 0xF2, 0x83, 0x68, 0x7E, +0x10, 0x2D, 0x3F, 0x48, 0x2E, 0x3F, 0x1A, 0x5E, 0x22, 0x0E, 0xE4, 0xBD, 0xD5, 0x10, 0xA7, 0xFA, +0x01, 0x9A, 0xCB, 0x10, 0x04, 0x3F, 0x48, 0x5E, 0x0F, 0x0A, 0x92, 0x37, 0xE4, 0x40, 0x3F, 0x22, +0xAA, 0x4D, 0xB8, 0x78, 0xA1, 0xC8, 0x7A, 0x6C, 0x0F, 0xCA, 0x86, 0xB8, 0x4B, 0x6B, 0xF9, 0x8A, +0xF9, 0x11, 0x67, 0xC8, 0xD6, 0xEB, 0x7E, 0xB0, 0x65, 0x28, 0xE5, 0x47, 0xBE, 0x21, 0xD2, 0x11, +0xC5, 0x90, 0x3E, 0x4B, 0xC1, 0x0F, 0xCD, 0x90, 0x9B, 0x2E, 0xC7, 0xAD, 0xB4, 0xBE, 0x22, 0x5A, +0x7E, 0x90, 0xA4, 0x1F, 0x8C, 0x8F, 0x78, 0x2C, 0xCD, 0x86, 0x48, 0x7E, 0xB0, 0x21, 0x92, 0x6B, +0x0F, 0xEA, 0x86, 0x1C, 0x52, 0x82, 0xD0, 0x10, 0x76, 0x0A, 0x6B, 0x20, 0x1B, 0x02, 0x3F, 0xAE, +0x5C, 0x1E, 0xB9, 0xBC, 0xAB, 0xE7, 0x07, 0x33, 0x24, 0xD5, 0x33, 0xF4, 0x33, 0xBC, 0x4F, 0x18, +0xD2, 0x12, 0x65, 0x1F, 0xB2, 0xEF, 0xB2, 0xEC, 0x3B, 0xC9, 0x0F, 0x92, 0x2F, 0x5F, 0xE9, 0x86, +0xC0, 0xD7, 0x1C, 0x3F, 0x0A, 0xF5, 0xAB, 0x18, 0x2D, 0x3F, 0x48, 0xBA, 0x7D, 0xCE, 0x71, 0xF6, +0x62, 0x96, 0x03, 0x59, 0x43, 0x8E, 0x21, 0xD5, 0x1E, 0xCC, 0x92, 0xD9, 0x9E, 0x53, 0x90, 0x9C, +0x21, 0xF8, 0xB1, 0x9E, 0xA1, 0x8A, 0x6F, 0x7E, 0x5F, 0x1F, 0xE9, 0x87, 0x60, 0x88, 0x6B, 0xCE, +0xE2, 0x07, 0x33, 0x24, 0x36, 0xC4, 0xCF, 0x43, 0x43, 0x04, 0x3F, 0xC0, 0x3E, 0x52, 0xA4, 0x9B, +0xE3, 0x56, 0xF3, 0x83, 0x68, 0xF9, 0x41, 0xB4, 0xE5, 0x15, 0x91, 0xF2, 0x83, 0xBC, 0x8B, 0xFD, +0xF0, 0xF3, 0xC4, 0xF1, 0x91, 0xCA, 0x0F, 0xA1, 0x21, 0xA2, 0x1A, 0xE2, 0x48, 0xCA, 0x90, 0x21, +0x24, 0xDA, 0x1F, 0x79, 0x1E, 0xF3, 0x7E, 0x50, 0x10, 0x1A, 0x42, 0x3F, 0x92, 0xD6, 0x65, 0x5B, +0x86, 0xF5, 0xE0, 0xE8, 0x47, 0x9A, 0x38, 0x3F, 0xEC, 0xE5, 0xAB, 0xFC, 0x68, 0xB6, 0x51, 0x31, +0xCB, 0x97, 0x58, 0x24, 0xB6, 0x1F, 0x7A, 0x86, 0x74, 0x25, 0x24, 0x3F, 0x88, 0x98, 0x1F, 0x44, +0xF2, 0x83, 0x48, 0xF9, 0x41, 0x34, 0x3F, 0x48, 0xA1, 0x7C, 0x75, 0xDE, 0x0C, 0x71, 0x39, 0xD8, +0x54, 0x17, 0xFC, 0x20, 0x55, 0xC6, 0x0F, 0x0A, 0x42, 0x1E, 0x55, 0x3F, 0xC0, 0x66, 0x53, 0xD3, +0x90, 0xF5, 0xE0, 0xCA, 0xFC, 0x43, 0x7B, 0x30, 0xB7, 0xFD, 0xC8, 0x35, 0xD5, 0x7D, 0x19, 0xDC, +0xD3, 0x1E, 0xE5, 0x87, 0xAA, 0x48, 0x4B, 0x3F, 0x24, 0x43, 0x6E, 0xBE, 0xF6, 0x45, 0x1E, 0xEE, +0xA3, 0xF6, 0x47, 0x01, 0xCD, 0x0F, 0x12, 0x6D, 0xCF, 0x8B, 0x48, 0xCB, 0x2B, 0xF2, 0xAC, 0x7C, +0xD5, 0x14, 0xAF, 0x95, 0xF1, 0xEA, 0xC3, 0x10, 0xD1, 0x0F, 0xB6, 0x0C, 0xE9, 0x47, 0x5D, 0xA2, +0x8A, 0xFC, 0xC8, 0x0B, 0xC2, 0x86, 0x48, 0xC1, 0x0F, 0xB6, 0x0C, 0x8F, 0x53, 0xF9, 0xEA, 0xC2, +0x29, 0x34, 0xF4, 0xC3, 0x9F, 0x61, 0x79, 0x95, 0x6F, 0x88, 0x78, 0xA2, 0xAC, 0xB2, 0x5A, 0x05, +0x36, 0xD5, 0xE9, 0x87, 0x66, 0x48, 0x2F, 0x71, 0x1F, 0xB5, 0x3F, 0x74, 0x45, 0x3A, 0x85, 0x3D, +0x6F, 0x2F, 0x91, 0xD0, 0xFC, 0x20, 0x42, 0x7E, 0xFC, 0x43, 0x43, 0xC4, 0x39, 0xD1, 0x0F, 0xB6, +0x0C, 0x59, 0xBE, 0xD2, 0x0D, 0xA1, 0x1F, 0xB1, 0x20, 0x54, 0x64, 0xE2, 0x17, 0x6D, 0x67, 0xAC, +0xDB, 0xB8, 0x11, 0x45, 0x51, 0x13, 0x86, 0x29, 0x13, 0xC6, 0x7A, 0xC3, 0x2C, 0x54, 0x09, 0xA0, +0x03, 0xBB, 0x12, 0x04, 0xA9, 0x50, 0x13, 0x21, 0x70, 0xA1, 0xCA, 0x48, 0x17, 0x60, 0x0B, 0xAB, +0xD9, 0x2A, 0xA9, 0x54, 0x18, 0x70, 0x0C, 0xF7, 0x69, 0xC2, 0x66, 0x0B, 0x43, 0x1F, 0x90, 0x4A, +0x5F, 0x9A, 0xCB, 0xE1, 0x30, 0xD7, 0x9A, 0x90, 0x7C, 0xF7, 0x05, 0xD9, 0x33, 0x14, 0xA5, 0x60, +0x95, 0x0D, 0x43, 0xCE, 0xF1, 0x9D, 0xE1, 0xA3, 0x49, 0xA4, 0x92, 0xCD, 0xAC, 0x31, 0x84, 0xE5, +0x41, 0x01, 0x3D, 0x3F, 0x74, 0x3F, 0xD8, 0x3A, 0x43, 0xE6, 0xE1, 0xF2, 0x5D, 0x2D, 0x43, 0x74, +0x3F, 0x58, 0x10, 0xF9, 0x55, 0x83, 0x7E, 0x48, 0x30, 0x3F, 0x44, 0xE8, 0x87, 0x04, 0xF3, 0x43, +0x83, 0x7E, 0x68, 0x74, 0x7E, 0x54, 0xDA, 0xB1, 0xF2, 0x17, 0x44, 0x74, 0x3F, 0xAA, 0xE9, 0x64, +0x41, 0x3F, 0x3C, 0x86, 0x7C, 0xD5, 0x04, 0x39, 0x7E, 0x34, 0x61, 0xC9, 0x90, 0x7E, 0x08, 0xC4, +0xF2, 0x07, 0xD1, 0xFD, 0x90, 0x33, 0x64, 0x2E, 0x73, 0x4E, 0x3F, 0x44, 0x43, 0x98, 0x1F, 0x02, +0xF4, 0x43, 0x83, 0xD3, 0x0F, 0x0D, 0xFA, 0x21, 0x41, 0x3F, 0x34, 0x78, 0xF9, 0x95, 0xC6, 0x48, +0xF9, 0xE3, 0x7F, 0x2B, 0x19, 0x4E, 0x55, 0xAE, 0x16, 0x0B, 0xFA, 0x61, 0x33, 0xA3, 0x1E, 0x03, +0x82, 0x10, 0xFA, 0x21, 0x10, 0x7E, 0x0F, 0x77, 0x59, 0x4D, 0x65, 0xCC, 0xF2, 0xA0, 0x5E, 0xFE, +0x18, 0x28, 0xAA, 0xCF, 0x1D, 0xAC, 0xCE, 0xE9, 0x87, 0x02, 0xF3, 0x43, 0x82, 0x7E, 0xE8, 0x86, +0x78, 0xBE, 0xCF, 0xF2, 0x87, 0x44, 0xA3, 0xF7, 0x67, 0x07, 0xBC, 0xFC, 0x4A, 0x36, 0x84, 0xC7, +0xE2, 0x9B, 0x64, 0xC8, 0x54, 0x67, 0x89, 0x91, 0x0D, 0xFD, 0xB0, 0x39, 0xC2, 0x0F, 0x4D, 0x10, +0x94, 0x07, 0x15, 0x58, 0x10, 0xC9, 0x3D, 0xDB, 0xFD, 0xDF, 0xCA, 0xE7, 0x72, 0x83, 0x21, 0x3E, +0xE8, 0x87, 0xC4, 0xFA, 0x57, 0x1F, 0xF4, 0x43, 0x82, 0x7E, 0x68, 0x30, 0x3E, 0x34, 0xD6, 0x9F, +0x5D, 0x50, 0x0F, 0x0D, 0x1E, 0x29, 0x2D, 0x44, 0xDC, 0xBF, 0x65, 0xA8, 0xC0, 0xA2, 0xFA, 0x35, +0xFC, 0xD0, 0x39, 0x7E, 0xFD, 0x36, 0x82, 0x7C, 0xAC, 0x3D, 0x82, 0xB0, 0x7C, 0xAE, 0x52, 0xB9, +0x76, 0x7A, 0x75, 0x31, 0xD7, 0x8F, 0xAA, 0x5F, 0x90, 0x4F, 0xBF, 0x78, 0x05, 0x39, 0x78, 0xBA, +0xFB, 0xEF, 0x4F, 0x4F, 0x3E, 0x41, 0xB6, 0x9E, 0x6D, 0x79, 0x45, 0x86, 0xF8, 0x04, 0x39, 0x9F, +0xFB, 0xE0, 0xE5, 0x57, 0xDF, 0x64, 0x94, 0x35, 0xA5, 0x21, 0x0A, 0xF5, 0xCC, 0x25, 0x48, 0xA1, +0x0A, 0xC2, 0x53, 0x58, 0xD2, 0x24, 0xA4, 0x9E, 0x64, 0xDC, 0x6E, 0xD5, 0x0F, 0x77, 0xF9, 0x43, +0x9E, 0x84, 0x00, 0x87, 0x22, 0xAB, 0x73, 0x96, 0x40, 0xB4, 0x49, 0x88, 0xCF, 0x10, 0xDF, 0x10, +0x0B, 0x7E, 0xF8, 0x0C, 0xE1, 0x0C, 0x44, 0x1D, 0x63, 0x7D, 0xE3, 0x21, 0x96, 0xEF, 0x70, 0x55, +0x17, 0x2E, 0x70, 0x17, 0x29, 0x87, 0x22, 0x79, 0x39, 0xA9, 0x3F, 0xB2, 0x04, 0xA2, 0x4C, 0xD3, +0x35, 0x41, 0x78, 0x92, 0x57, 0xF2, 0x23, 0xCB, 0x27, 0xA5, 0x6C, 0x48, 0x1E, 0x2E, 0x2F, 0xB9, +0x71, 0x08, 0x82, 0x48, 0xA8, 0xE4, 0x1D, 0x8E, 0xB0, 0x99, 0x6F, 0x30, 0x51, 0x97, 0x69, 0x6F, +0x76, 0xE3, 0xF1, 0x03, 0xB8, 0xF4, 0x00, 0x2E, 0x3F, 0x80, 0xC7, 0x0F, 0xE0, 0xF2, 0xC3, 0x65, +0x48, 0xBB, 0x77, 0x3C, 0x7E, 0x00, 0x47, 0x88, 0xE0, 0xC0, 0x7A, 0x86, 0xDB, 0x37, 0x8D, 0x22, +0xB9, 0xEC, 0x47, 0x9D, 0x95, 0x79, 0x26, 0x1B, 0x72, 0x6D, 0x4E, 0xD2, 0x59, 0x4C, 0xD7, 0x0D, +0xC1, 0x18, 0xAF, 0x5C, 0x96, 0x65, 0x99, 0x89, 0xA3, 0xAC, 0x3C, 0xBF, 0x89, 0x37, 0x23, 0x95, +0xF3, 0xA3, 0xC2, 0x7E, 0xD4, 0x87, 0x57, 0xE1, 0x32, 0x07, 0xAC, 0xF5, 0xFC, 0x58, 0x35, 0x2F, +0x97, 0x1F, 0xC0, 0xE5, 0x87, 0x3E, 0x0D, 0x79, 0x8A, 0xB8, 0xFC, 0x00, 0xBA, 0x1F, 0x2E, 0x43, +0xBA, 0xBD, 0xE3, 0xF1, 0x03, 0xE8, 0x7A, 0xE0, 0x85, 0xA6, 0x2A, 0x82, 0x5E, 0x83, 0xAF, 0xAA, +0x19, 0xB2, 0xAC, 0x4B, 0x70, 0x55, 0xC2, 0x10, 0xD5, 0x0F, 0x70, 0x14, 0x04, 0xE9, 0xB8, 0xD6, +0xFC, 0xC8, 0xCB, 0x86, 0x2C, 0x2B, 0xB5, 0xFC, 0xE8, 0x6E, 0x46, 0xEA, 0xC9, 0x0F, 0x55, 0x91, +0x78, 0x39, 0x16, 0x0D, 0xB1, 0xFD, 0x50, 0x0D, 0xE1, 0x55, 0xEF, 0x0D, 0x0F, 0xB2, 0x1F, 0x11, +0x97, 0x1F, 0xC0, 0xE5, 0x07, 0x50, 0xF5, 0x70, 0x19, 0x12, 0xF7, 0x0E, 0x56, 0x0E, 0x3D, 0xFC, +0x86, 0x88, 0x13, 0x11, 0xDE, 0xCF, 0x5D, 0x2B, 0x14, 0x66, 0x65, 0xC3, 0xA4, 0x2C, 0x79, 0xA1, +0x89, 0x56, 0x4A, 0x1F, 0x17, 0xA4, 0x78, 0x5F, 0x74, 0xB7, 0xFD, 0x58, 0xE4, 0x18, 0x5F, 0x05, +0xB2, 0x5A, 0x29, 0x85, 0x74, 0xF1, 0x81, 0xA6, 0xE8, 0x81, 0xF8, 0x70, 0xF8, 0x71, 0xDB, 0xE6, +0x47, 0x67, 0xC8, 0x4A, 0xBD, 0x18, 0xEB, 0x5C, 0x35, 0x84, 0x3D, 0x6C, 0xAD, 0x5D, 0x6A, 0x42, +0x34, 0x3F, 0xC8, 0x41, 0xF2, 0x83, 0x48, 0x82, 0x10, 0x75, 0x7C, 0x15, 0x47, 0xA0, 0x2B, 0x4D, +0x10, 0x1A, 0xE2, 0xD1, 0xA3, 0xA2, 0x21, 0x96, 0x20, 0x7A, 0x86, 0x4C, 0xB2, 0xB2, 0x63, 0xB2, +0xB0, 0x0D, 0x39, 0x16, 0xB2, 0x20, 0x80, 0x86, 0x98, 0x7E, 0x2C, 0xF3, 0x32, 0x92, 0xA1, 0x99, +0xF9, 0x41, 0x3F, 0xD0, 0x6C, 0x3F, 0x98, 0x1F, 0x78, 0x29, 0x7E, 0xFC, 0xC0, 0x63, 0x74, 0x61, +0x1B, 0xD2, 0xDD, 0x49, 0x13, 0x60, 0xAD, 0xF9, 0x41, 0x5C, 0x97, 0x62, 0x09, 0x86, 0x1C, 0x9E, +0x4E, 0xD0, 0xFC, 0x20, 0x92, 0x1E, 0x44, 0xCB, 0x0F, 0xB4, 0x88, 0xA4, 0x07, 0x51, 0x05, 0x61, +0x86, 0x28, 0x7A, 0x30, 0x43, 0x72, 0x2D, 0x3F, 0x62, 0x88, 0x5C, 0x5A, 0x86, 0x14, 0xEF, 0xB9, +0x2E, 0x86, 0x05, 0x29, 0x12, 0x8C, 0xCB, 0xDD, 0x2F, 0xF3, 0x65, 0x49, 0xB2, 0xBA, 0x9C, 0x56, +0x86, 0x1F, 0xC9, 0x9D, 0xB9, 0x4D, 0x3F, 0x92, 0xFD, 0x68, 0xF8, 0x91, 0x60, 0xFB, 0xC1, 0x04, +0x39, 0xB7, 0xAE, 0xE7, 0xFD, 0x14, 0xFD, 0x20, 0x9A, 0x1F, 0xE4, 0xA0, 0xE4, 0x87, 0x9E, 0x21, +0xDE, 0xCB, 0xDD, 0x13, 0xD6, 0xB6, 0x1F, 0xDC, 0x39, 0xEA, 0xE5, 0xEE, 0x44, 0xD2, 0x43, 0xCF, +0x90, 0x7F, 0xDF, 0xCF, 0xDD, 0xF6, 0x83, 0x58, 0x86, 0x14, 0x09, 0x83, 0x82, 0x14, 0xFF, 0x66, +0xCC, 0x8F, 0xBA, 0x8B, 0x0F, 0xA6, 0x48, 0x5E, 0x0D, 0x4F, 0xCF, 0xAB, 0x98, 0x1F, 0x6C, 0xB6, +0x1F, 0xBA, 0x21, 0xB7, 0x1B, 0xE6, 0x87, 0x64, 0xC8, 0xEA, 0x53, 0x77, 0xF4, 0x79, 0xBB, 0xEA, +0x11, 0xD6, 0xDD, 0xFC, 0x83, 0x48, 0x7E, 0x10, 0x2D, 0x3F, 0x0E, 0x9A, 0x21, 0x08, 0xA5, 0x14, +0xDB, 0x0F, 0xDD, 0x10, 0xDE, 0xA9, 0xBA, 0x05, 0xEF, 0x92, 0x1F, 0x44, 0x10, 0x44, 0xCF, 0x90, +0xB4, 0xDF, 0xA0, 0xA8, 0x3E, 0x62, 0x48, 0x9E, 0xFA, 0x31, 0xC9, 0x6B, 0xE9, 0x17, 0xA6, 0x48, +0xBF, 0x20, 0x45, 0x1F, 0x9A, 0x1F, 0x34, 0x64, 0x70, 0xAB, 0xAB, 0xDE, 0x47, 0x85, 0x48, 0xF3, +0x0F, 0xBE, 0x94, 0x5F, 0x28, 0x24, 0x17, 0xC6, 0xFC, 0x23, 0x1E, 0x7E, 0x76, 0x06, 0x69, 0x78, +0x45, 0x5C, 0x7E, 0xA0, 0x4B, 0x5B, 0x7E, 0xE8, 0x19, 0xB2, 0x7D, 0xEC, 0xC1, 0xE3, 0xC7, 0xC3, +0xA8, 0x21, 0xE9, 0xBE, 0x09, 0x4D, 0xF3, 0x83, 0x08, 0x76, 0xF0, 0x55, 0xA1, 0xA8, 0x2E, 0xF8, +0x41, 0x43, 0xA6, 0x83, 0x21, 0x92, 0x67, 0x9D, 0x20, 0x24, 0xAF, 0xFF, 0x87, 0x5F, 0xB9, 0x55, +0x6E, 0xFA, 0x93, 0x9E, 0xBE, 0x4A, 0xA9, 0x07, 0x0B, 0x22, 0x37, 0x37, 0x8A, 0x20, 0x84, 0x3B, +0x4F, 0x09, 0x91, 0xA6, 0xFC, 0xD1, 0xC3, 0x60, 0x51, 0x3D, 0xF6, 0x80, 0x93, 0x49, 0xC8, 0x58, +0x41, 0x24, 0x74, 0xA9, 0x7F, 0xA3, 0xF9, 0x41, 0xB4, 0xFC, 0xA0, 0x2D, 0xCE, 0x9B, 0x36, 0xD8, +0x7E, 0x68, 0x13, 0x91, 0x64, 0xDF, 0x44, 0xCE, 0x1D, 0x7E, 0xB0, 0x20, 0xA2, 0xF9, 0x71, 0x37, +0x62, 0xC8, 0xC0, 0xB3, 0x09, 0x07, 0x0A, 0x22, 0x55, 0xCC, 0x8F, 0x84, 0xAB, 0xA1, 0x92, 0xE1, +0xB5, 0x7C, 0xD3, 0x86, 0x02, 0xA8, 0x86, 0xCC, 0xE8, 0x87, 0x94, 0x21, 0x38, 0xBD, 0x3B, 0xF4, +0xCC, 0x20, 0x63, 0xFA, 0x21, 0x86, 0x08, 0xC7, 0x57, 0x29, 0x3F, 0x0C, 0xE4, 0x47, 0x92, 0x20, +0x9D, 0x30, 0x52, 0x7E, 0x10, 0xCD, 0x0F, 0xA2, 0x4D, 0x3F, 0x88, 0xE4, 0x07, 0xD1, 0xFC, 0x20, +0xC2, 0xF4, 0x9C, 0x09, 0xF2, 0xA9, 0x7F, 0x98, 0xB5, 0x9A, 0x5F, 0x6C, 0x7C, 0x86, 0x54, 0x46, +0x86, 0x58, 0x7E, 0xF0, 0x64, 0x96, 0x95, 0x1F, 0x84, 0x25, 0x43, 0xC9, 0x0F, 0x90, 0x0A, 0x72, +0x2C, 0x5C, 0x37, 0x8E, 0x9B, 0xD0, 0x8F, 0x84, 0x7A, 0x39, 0x54, 0x3E, 0x97, 0x0D, 0xC1, 0x10, +0x93, 0x82, 0x28, 0x21, 0xE2, 0xBE, 0x71, 0xDC, 0xE7, 0xFE, 0x04, 0x41, 0x1B, 0x2A, 0x7F, 0x0C, +0xA0, 0xE9, 0x41, 0xC6, 0xFC, 0x38, 0xF4, 0x84, 0x88, 0xE4, 0x07, 0xD1, 0xF4, 0x20, 0x03, 0xA7, +0x77, 0xA9, 0x86, 0x79, 0x63, 0x13, 0xFE, 0x60, 0x52, 0x0D, 0xA9, 0x3C, 0x19, 0x32, 0xFE, 0x80, +0xDB, 0x5E, 0x3F, 0x06, 0xB8, 0x62, 0x41, 0xC4, 0xF6, 0x03, 0x5C, 0x53, 0x10, 0xC6, 0x87, 0x65, +0x08, 0xFD, 0x58, 0x96, 0x83, 0x64, 0x65, 0x7F, 0xF9, 0x43, 0x33, 0x84, 0xF9, 0x21, 0x2B, 0x42, +0x3F, 0x34, 0x45, 0x70, 0xA0, 0x07, 0x12, 0xA4, 0x59, 0x6B, 0xF9, 0x41, 0x24, 0x3F, 0x88, 0x96, +0x1F, 0x44, 0xF3, 0x83, 0x48, 0x82, 0x90, 0xFE, 0xF1, 0x55, 0x9A, 0x20, 0x6C, 0xD2, 0xF8, 0x8A, +0x78, 0xFC, 0xE0, 0xC9, 0x2C, 0x43, 0x10, 0x66, 0x88, 0x71, 0xFA, 0x2A, 0x61, 0x02, 0x43, 0x04, +0x3F, 0x88, 0x29, 0x08, 0x39, 0xF5, 0x63, 0x51, 0x8E, 0x92, 0x4D, 0x8C, 0xFC, 0x30, 0x0C, 0x71, +0xFA, 0x61, 0x3E, 0x00, 0xA1, 0xF7, 0xB7, 0x08, 0xD3, 0x04, 0xE1, 0x4C, 0x5D, 0xF3, 0x83, 0x48, +0x7E, 0x90, 0xC1, 0xFC, 0x18, 0x08, 0x11, 0xCD, 0x0F, 0x62, 0xE8, 0x61, 0x19, 0x92, 0xEC, 0x11, +0xEB, 0xE6, 0x58, 0x1B, 0x83, 0x64, 0x48, 0x6C, 0x1D, 0xD8, 0xC4, 0x10, 0xF3, 0x21, 0xE9, 0x2E, +0x3F, 0xCA, 0x32, 0x29, 0x19, 0x1E, 0x0B, 0x83, 0x4E, 0x90, 0xC2, 0xBE, 0x11, 0xFC, 0x49, 0xF9, +0xA3, 0x1C, 0x07, 0x5B, 0x79, 0x3A, 0x3F, 0x37, 0x1F, 0x59, 0xEA, 0xF4, 0xA3, 0xEA, 0x29, 0x9F, +0x0F, 0x03, 0x81, 0xD2, 0xD3, 0x57, 0x7D, 0x09, 0x12, 0xC1, 0x27, 0xCD, 0x0F, 0xA2, 0xF9, 0x41, +0x92, 0xE9, 0xB9, 0xC5, 0x41, 0xF2, 0x83, 0x48, 0x7E, 0x90, 0xC4, 0x8F, 0xF1, 0x00, 0x51, 0x1F, +0x7F, 0x40, 0x8C, 0xFC, 0x30, 0x32, 0xC4, 0xE8, 0x37, 0x2C, 0x19, 0xDA, 0x7E, 0x80, 0xC4, 0x90, +0xC2, 0xA6, 0x15, 0xA4, 0x50, 0x60, 0x7E, 0x5C, 0x5E, 0x59, 0x82, 0xA0, 0x25, 0xE5, 0x73, 0x59, +0x90, 0x33, 0xD5, 0x0F, 0xE6, 0x87, 0x40, 0x3A, 0xBE, 0x7A, 0x97, 0x20, 0xFC, 0xC0, 0x81, 0x97, +0x36, 0xFF, 0x20, 0x9A, 0x1F, 0x14, 0xE4, 0x30, 0xE0, 0xC7, 0x81, 0xC1, 0x71, 0x18, 0x30, 0xE4, +0x51, 0x40, 0xF2, 0x83, 0x9C, 0x94, 0x3F, 0x06, 0x03, 0x84, 0xBE, 0x88, 0x7E, 0x70, 0x1E, 0x22, +0xFB, 0x91, 0x96, 0x0C, 0xB5, 0x47, 0x40, 0x4B, 0x7E, 0xB0, 0xA8, 0x7E, 0x4D, 0x3F, 0x04, 0x1A, +0x41, 0x0A, 0x8D, 0xA8, 0xC7, 0x75, 0xBD, 0x2C, 0x4D, 0x78, 0x32, 0x0B, 0xE5, 0x41, 0xE9, 0x51, +0xE9, 0x2E, 0x3F, 0xE8, 0xC8, 0x2D, 0xE3, 0x43, 0xCB, 0x90, 0xF7, 0x91, 0xC1, 0xE9, 0x79, 0xDA, +0x07, 0xCE, 0xE9, 0x87, 0xC0, 0xFA, 0x17, 0xD5, 0x8F, 0xF4, 0xEA, 0x5E, 0x3A, 0x40, 0x25, 0x68, +0x07, 0xDE, 0x13, 0x43, 0xB6, 0x28, 0x0F, 0x0A, 0xD0, 0x0F, 0x89, 0x75, 0x72, 0xB7, 0xB8, 0x9E, +0x00, 0x61, 0xC3, 0xF8, 0xD4, 0xFD, 0x08, 0x36, 0xFA, 0xE1, 0xCB, 0x90, 0x1B, 0xCD, 0x10, 0x96, +0x07, 0x6D, 0x58, 0x32, 0x2C, 0x34, 0x7E, 0xC2, 0x53, 0x6E, 0x45, 0xA2, 0x1F, 0x79, 0x69, 0xC0, +0x82, 0x48, 0xCE, 0xCB, 0x4B, 0xCC, 0xE6, 0xF6, 0x83, 0xA7, 0xAF, 0x74, 0x43, 0x78, 0xF0, 0x19, +0x20, 0x3D, 0xCF, 0x38, 0x06, 0xFF, 0xDC, 0xE6, 0x47, 0x83, 0x7E, 0x68, 0x30, 0x3F, 0x24, 0xBC, +0x0F, 0xF1, 0xA4, 0x1F, 0x12, 0x1C, 0x5E, 0x8D, 0x05, 0x08, 0x77, 0x1B, 0xFD, 0xD0, 0x1F, 0x52, +0x28, 0x1F, 0xD8, 0x0A, 0xDD, 0x80, 0x76, 0x48, 0x86, 0x28, 0x7E, 0xB0, 0xA8, 0xEE, 0x7C, 0x88, +0x27, 0x04, 0x51, 0x69, 0x7F, 0xBB, 0xB6, 0xD4, 0xC8, 0x6A, 0x6C, 0x37, 0x2F, 0x2F, 0x51, 0x1A, +0xF6, 0x8B, 0x28, 0x47, 0x25, 0x4C, 0x3F, 0x08, 0xAF, 0xEE, 0xC5, 0x41, 0xEF, 0x49, 0x10, 0x42, +0x73, 0x56, 0x52, 0x7C, 0xB0, 0x2E, 0x4D, 0x3F, 0x34, 0xD2, 0xE9, 0x79, 0x3A, 0xC8, 0x4A, 0x3F, +0xD3, 0x0F, 0x09, 0xFA, 0xA1, 0xC1, 0xE9, 0xB9, 0x15, 0x20, 0xA1, 0x20, 0x42, 0x3F, 0x34, 0x28, +0x87, 0xF2, 0x52, 0xE3, 0x83, 0x25, 0xC3, 0xA1, 0xF2, 0xC7, 0x50, 0x41, 0xC4, 0xF5, 0x18, 0xE8, +0xEF, 0x0A, 0x1D, 0x96, 0x07, 0xB5, 0x51, 0x16, 0x7E, 0xFB, 0xE3, 0xEC, 0x46, 0x6C, 0x17, 0x67, +0x28, 0x7F, 0x54, 0x17, 0x72, 0xC3, 0xAE, 0x64, 0x79, 0x50, 0x50, 0xE4, 0x87, 0xF9, 0xF9, 0xF9, +0x4A, 0x6F, 0x2B, 0x5E, 0x9D, 0xA8, 0x21, 0xEA, 0xC1, 0xAB, 0x7B, 0x9F, 0x5C, 0xC0, 0x8F, 0xF8, +0x6F, 0x4A, 0x50, 0x0F, 0xD5, 0x90, 0x76, 0xEF, 0x80, 0xEE, 0x1D, 0xAC, 0xD2, 0xD6, 0xFD, 0x29, +0x14, 0x69, 0x76, 0xBE, 0xBA, 0xDA, 0xC4, 0x03, 0x26, 0x87, 0xC8, 0x99, 0xA7, 0x61, 0xAA, 0x0E, +0x3F, 0x64, 0xF2, 0xF2, 0x43, 0xA1, 0xF3, 0x9D, 0x23, 0x41, 0xBE, 0x16, 0xF5, 0x32, 0xAB, 0x33, +0x2C, 0x4A, 0x2B, 0x2F, 0x2F, 0x73, 0xFC, 0x1C, 0xA8, 0x1C, 0xAD, 0xA9, 0x69, 0xDC, 0x58, 0x8D, +0x3F, 0x66, 0xEE, 0x36, 0x0E, 0xF0, 0x6D, 0x9C, 0x82, 0xF1, 0xB0, 0x7E, 0x08, 0x77, 0x21, 0xD4, +0xDA, 0x7A, 0x4D, 0x41, 0xB4, 0x79, 0xC8, 0xE1, 0x09, 0x4D, 0x05, 0x19, 0xF2, 0xF8, 0xFA, 0xE8, +0xE1, 0x15, 0xDB, 0xAE, 0x2F, 0x0F, 0xEB, 0x95, 0x87, 0xEF, 0xCF, 0xE7, 0x8E, 0x9D, 0x8F, 0xAF, +0x36, 0xC7, 0xD5, 0xC1, 0x45, 0x85, 0xEE, 0x20, 0x83, 0x9B, 0x9D, 0xD4, 0xEC, 0x96, 0x76, 0x2B, +0x6B, 0x74, 0x65, 0xC7, 0x10, 0xEB, 0xA8, 0x81, 0x7A, 0xE1, 0xE2, 0xAD, 0xCE, 0x64, 0xDE, 0xB2, +0x65, 0xBE, 0xBC, 0x72, 0xF0, 0x92, 0x57, 0x77, 0x3A, 0x9B, 0xBB, 0xDB, 0xDB, 0xFD, 0x6E, 0xA3, +0xB6, 0xFD, 0x7E, 0x87, 0xE3, 0xEA, 0x61, 0xBD, 0x7E, 0x78, 0x7E, 0xD0, 0x79, 0x7E, 0xBD, 0xBF, +0x7F, 0x94, 0xDB, 0xFD, 0xFD, 0xF6, 0x8F, 0x96, 0xC3, 0xC9, 0x82, 0xD6, 0xF7, 0x19, 0xDF, 0xDB, +0x6E, 0x3D, 0x7F, 0xFD, 0xE3, 0xEB, 0xF3, 0xB3, 0x63, 0xDB, 0x21, 0xC8, 0xFA, 0x7B, 0x17, 0xAB, +0xDD, 0xFE, 0x6E, 0xA7, 0xB5, 0xFD, 0x66, 0xB7, 0xBF, 0xBD, 0xBD, 0xF3, 0x50, 0xE5, 0x2F, 0x57, +0x0E, 0xD0, 0xD1, 0xD0, 0xDD, 0x64, 0xEA, 0xCB, 0x0F, 0xD7, 0x85, 0xC8, 0xF1, 0xAF, 0xB3, 0x3F, +0x65, 0x3F, 0xDE, 0xEA, 0xC5, 0xA2, 0x51, 0x50, 0x5C, 0x96, 0xD3, 0xDC, 0x63, 0x48, 0x5E, 0x81, +0x3B, 0x9D, 0x5B, 0x80, 0x7D, 0xAF, 0x36, 0xF8, 0xF1, 0x45, 0x37, 0x64, 0x05, 0x3F, 0x00, 0x7A, +0x8E, 0xBD, 0x44, 0x3F, 0x5E, 0x9F, 0x5F, 0x1F, 0x7F, 0x94, 0xFB, 0xF0, 0x16, 0x3D, 0xFE, 0x0F, +0x99, 0x43, 0xF3, 0xED, 0xDF, 0xD5, 0xBF, 0x1C, 0xF9, 0x71, 0x8F, 0xED, 0x79, 0x75, 0x08, 0xB2, +0xFE, 0x19, 0x86, 0xAC, 0xE4, 0xBD, 0xD3, 0xB0, 0xDB, 0xC8, 0x7B, 0x3F, 0x1C, 0x2B, 0x8F, 0x1F, +0xB7, 0x55, 0xA3, 0xC8, 0x8B, 0x48, 0x9E, 0xE7, 0xD3, 0x65, 0x96, 0xC9, 0x3D, 0xB3, 0x79, 0x04, +0xD5, 0x0C, 0xFD, 0x59, 0x6A, 0x21, 0x41, 0xB4, 0xF9, 0x07, 0xEE, 0x53, 0x07, 0x1A, 0x53, 0x27, +0x75, 0x36, 0xC9, 0xEA, 0xB1, 0x05, 0x42, 0xE7, 0xF0, 0x03, 0xBC, 0x48, 0xB4, 0x7E, 0x00, 0x8F, +0x1F, 0xD1, 0x10, 0x25, 0x3F, 0x36, 0x5F, 0x56, 0xC0, 0x61, 0xC8, 0xBA, 0x45, 0xCF, 0x8F, 0x80, +0xDC, 0x85, 0x43, 0x24, 0x38, 0x0C, 0xD9, 0x86, 0x6F, 0xA3, 0xE3, 0x6B, 0x0D, 0xB2, 0x02, 0xD9, +0x90, 0x75, 0xCB, 0xF7, 0xAA, 0x22, 0xCD, 0x9E, 0xC4, 0x0B, 0xBB, 0x55, 0x62, 0x7F, 0x1B, 0xD0, +0xFD, 0x08, 0xE4, 0xCD, 0x98, 0xE2, 0x25, 0xBF, 0x32, 0x97, 0xBC, 0x65, 0x22, 0xF6, 0xCC, 0xD0, +0x8B, 0xF1, 0xB0, 0x8E, 0xA2, 0x51, 0x64, 0x66, 0xBC, 0x8E, 0xD7, 0x7F, 0x9D, 0xFD, 0x56, 0x84, +0x78, 0x30, 0x5A, 0xF4, 0x03, 0x5C, 0xB6, 0x22, 0x96, 0x21, 0xAC, 0x26, 0x7D, 0x6B, 0xF0, 0x56, +0xC2, 0x8F, 0x8E, 0x97, 0x2B, 0x73, 0x79, 0xB9, 0xAD, 0x3A, 0x1C, 0x7E, 0xEC, 0xB1, 0x34, 0x7E, +0x18, 0xE3, 0xE1, 0xE8, 0x07, 0x5E, 0xF3, 0x95, 0x16, 0x1F, 0xF0, 0xC3, 0x65, 0xC8, 0x6B, 0x0B, +0x32, 0x64, 0x2B, 0xFA, 0xB1, 0x0D, 0x38, 0xFC, 0x00, 0x78, 0xD7, 0x02, 0xE4, 0x35, 0xF2, 0xEC, +0xF1, 0x03, 0xE8, 0xF9, 0x11, 0x0D, 0xD1, 0x46, 0xB7, 0xE1, 0x48, 0xE9, 0x86, 0xC4, 0xAE, 0x10, +0x32, 0x04, 0x29, 0x92, 0x8F, 0x2D, 0x78, 0x45, 0x30, 0x4F, 0x7F, 0x13, 0x7A, 0x66, 0xEB, 0x07, +0x0D, 0x29, 0x66, 0x58, 0xFA, 0xDF, 0x83, 0x1F, 0xC5, 0x6F, 0x67, 0xBF, 0x85, 0x27, 0x1E, 0x58, +0x26, 0x7D, 0xAC, 0x2F, 0x17, 0x91, 0xCB, 0xC6, 0x54, 0x6E, 0x08, 0xFE, 0xC3, 0xE9, 0x1A, 0x7F, +0x4E, 0x3F, 0x20, 0x88, 0xF1, 0x7F, 0x89, 0xFC, 0xA8, 0xDE, 0xE1, 0xF1, 0xA3, 0x35, 0xC4, 0x68, +0xD1, 0x0F, 0x34, 0x2C, 0x8A, 0x22, 0x9F, 0xD7, 0x44, 0xF5, 0x23, 0x1A, 0x22, 0x0D, 0xAF, 0x30, +0xBE, 0x8A, 0x60, 0xF0, 0x64, 0x71, 0x80, 0x17, 0x44, 0xD0, 0x23, 0xE4, 0x47, 0x44, 0xF7, 0x43, +0xCF, 0x10, 0xEE, 0x4A, 0x33, 0x43, 0xEE, 0x82, 0x1F, 0x00, 0x2B, 0xA0, 0xC5, 0x07, 0x41, 0x86, +0x58, 0xF9, 0x41, 0x50, 0x09, 0x79, 0x33, 0x7B, 0x26, 0xFC, 0xE8, 0x68, 0x0D, 0x89, 0xCB, 0xAC, +0xEF, 0x7D, 0x06, 0x2F, 0xBE, 0x42, 0x90, 0x70, 0xB3, 0x6A, 0xDA, 0x84, 0x0F, 0xE9, 0xE7, 0x2E, +0x3F, 0x68, 0x08, 0x1C, 0xC0, 0xAB, 0xDB, 0x94, 0x2C, 0x59, 0x23, 0x3F, 0x88, 0x99, 0x21, 0x68, +0xD5, 0x09, 0x1E, 0x3F, 0xB0, 0xDA, 0xEC, 0x8C, 0xFC, 0xD8, 0x05, 0x3D, 0xC2, 0x0A, 0x8B, 0x96, +0x1F, 0x44, 0xF2, 0x83, 0xDC, 0x9B, 0xE3, 0x20, 0xE8, 0xC1, 0x2E, 0xAF, 0xCD, 0x3F, 0x3A, 0xF0, +0x51, 0x1A, 0x5F, 0x11, 0xC9, 0x0F, 0xF2, 0x59, 0xD1, 0x23, 0x1A, 0x02, 0xBE, 0x98, 0xF3, 0x90, +0xCD, 0xC9, 0xA1, 0xDA, 0x5F, 0x28, 0x7E, 0x10, 0x74, 0x0D, 0x25, 0x3F, 0x68, 0x88, 0xD1, 0x33, +0x83, 0x1F, 0x34, 0x84, 0xB1, 0x80, 0x55, 0x78, 0x3B, 0xBE, 0xFF, 0xE7, 0xC6, 0x8F, 0x56, 0x10, +0x64, 0x08, 0x34, 0xA0, 0x4D, 0xF8, 0x12, 0x3D, 0x81, 0x3B, 0xC7, 0xE0, 0x07, 0xB9, 0x8C, 0x83, +0xBD, 0x65, 0xB3, 0x29, 0x98, 0x1E, 0x2D, 0xB1, 0x3D, 0x5C, 0xC3, 0xD4, 0x6E, 0x93, 0xC3, 0xCA, +0xC8, 0x10, 0xFA, 0xA1, 0x1A, 0xB2, 0xE7, 0x4E, 0x6F, 0xA3, 0x7B, 0xF4, 0x18, 0xED, 0x37, 0x9D, +0x1A, 0xDD, 0xCA, 0x9A, 0x9E, 0x27, 0x68, 0xD3, 0x0F, 0x1A, 0xB2, 0x1D, 0x57, 0x04, 0xB3, 0xED, +0xED, 0x3B, 0xC4, 0xF1, 0x15, 0x15, 0xB1, 0xF2, 0x23, 0xD9, 0x1E, 0xD1, 0x0F, 0x1A, 0xB2, 0xD2, +0xC6, 0x57, 0x51, 0x92, 0xDD, 0xDD, 0x58, 0x88, 0xEC, 0xA2, 0x1F, 0x5C, 0xC9, 0x7E, 0xD0, 0x10, +0x33, 0x3F, 0x38, 0x58, 0x99, 0xD4, 0xA3, 0x3D, 0x33, 0xF8, 0x41, 0x2E, 0x3F, 0x84, 0x0C, 0x89, +0x4E, 0x74, 0x6F, 0x74, 0xA0, 0xF1, 0xA3, 0x80, 0x20, 0x45, 0x34, 0x24, 0x7E, 0x03, 0x1F, 0xF8, +0x75, 0x88, 0x04, 0x3F, 0x3E, 0xB4, 0x7E, 0x90, 0xCB, 0xCE, 0x53, 0xC0, 0xF3, 0x03, 0xDD, 0xE7, +0xE5, 0x34, 0x6C, 0x75, 0xD4, 0xC3, 0xCA, 0x10, 0xFA, 0x41, 0x6C, 0x3F, 0x4E, 0x56, 0x63, 0xC7, +0xA8, 0xF1, 0x83, 0x86, 0x80, 0xF9, 0xA8, 0x21, 0x2B, 0x8C, 0xAF, 0x52, 0x54, 0x3F, 0x38, 0x11, +0x19, 0xCF, 0x8F, 0x53, 0x24, 0x3F, 0x48, 0x33, 0x0F, 0x11, 0xC6, 0x57, 0x44, 0xF2, 0x83, 0xFC, +0xBC, 0x52, 0x86, 0x57, 0xDC, 0x9F, 0x9B, 0xB1, 0x10, 0xE9, 0xA2, 0x9E, 0xAB, 0xBD, 0xE8, 0x07, +0x0D, 0x19, 0xCB, 0x0F, 0x76, 0xB3, 0xF8, 0x61, 0x99, 0x8D, 0xF4, 0xCC, 0x7A, 0x11, 0xA1, 0x21, +0xC7, 0xA0, 0x48, 0xB4, 0x22, 0xAE, 0x66, 0x5D, 0x82, 0x40, 0x8C, 0x98, 0x20, 0x80, 0x01, 0x12, +0xB5, 0x88, 0xA3, 0xAC, 0x50, 0xFE, 0xA0, 0x1F, 0xCC, 0x10, 0x28, 0x09, 0xCA, 0x18, 0x66, 0xF1, +0x14, 0x01, 0xE4, 0x0D, 0xA7, 0x77, 0x23, 0xD5, 0xB2, 0x5A, 0xE6, 0x15, 0x36, 0x7F, 0x28, 0x43, +0x78, 0xFA, 0x2A, 0x41, 0x1B, 0x5E, 0x71, 0xF5, 0x65, 0x70, 0xFA, 0xB1, 0xE3, 0xF4, 0x23, 0x7C, +0xDA, 0x35, 0x2B, 0x2D, 0x3F, 0x68, 0xC8, 0xB3, 0xE0, 0x07, 0x05, 0xC1, 0x30, 0x4B, 0xC8, 0x0F, +0xA2, 0xF9, 0x41, 0x43, 0xA4, 0xFC, 0x20, 0xCF, 0x92, 0x1F, 0x64, 0x24, 0x43, 0xF8, 0xA3, 0x86, +0x83, 0x56, 0x64, 0xF4, 0xE8, 0xE9, 0xAB, 0x74, 0xE5, 0xF0, 0x83, 0x19, 0x32, 0x94, 0x1F, 0xEC, +0x66, 0x20, 0x9E, 0xEE, 0x1D, 0xEC, 0x99, 0x8B, 0x14, 0xF4, 0xEB, 0x68, 0x04, 0x5A, 0x5C, 0x51, +0x04, 0xF8, 0x11, 0x13, 0x84, 0x86, 0x84, 0x64, 0x61, 0xE0, 0x04, 0xB9, 0x8E, 0x8B, 0x9A, 0x7E, +0x90, 0x7A, 0x32, 0x69, 0x6C, 0xA8, 0x27, 0x34, 0x16, 0xC4, 0xFC, 0x98, 0x86, 0xAD, 0x6E, 0x8C, +0xAE, 0x46, 0xE7, 0x21, 0xF4, 0x43, 0x36, 0xE4, 0xB6, 0x47, 0x90, 0x50, 0x32, 0xEC, 0x21, 0xFA, +0x71, 0xFA, 0x63, 0x2F, 0x48, 0x22, 0x4C, 0x3F, 0x08, 0x32, 0xE5, 0xD9, 0x9C, 0x7E, 0x90, 0xE7, +0xE7, 0xFB, 0xC1, 0x82, 0x48, 0x98, 0x7F, 0x10, 0x7B, 0xAA, 0xBE, 0xED, 0xF1, 0x69, 0x70, 0x1E, +0x42, 0x3F, 0x44, 0x43, 0xD6, 0x44, 0x31, 0x84, 0xFB, 0x90, 0xFB, 0x73, 0xA4, 0x20, 0xB2, 0xEF, +0x3F, 0x54, 0xB2, 0x1F, 0x3C, 0x99, 0x95, 0x0F, 0xE5, 0x47, 0xEC, 0x66, 0xB1, 0xBB, 0x4D, 0x5B, +0x43, 0xA0, 0x03, 0x7B, 0x26, 0x13, 0x64, 0xD1, 0x03, 0x0C, 0x49, 0xF2, 0x23, 0xF6, 0xFD, 0xE8, +0x07, 0x13, 0x04, 0x14, 0xB3, 0x18, 0x38, 0x1C, 0x88, 0x35, 0xF9, 0xC1, 0xF8, 0x48, 0x0D, 0xC9, +0x02, 0xED, 0xF8, 0x2E, 0x48, 0x5A, 0xD6, 0x28, 0x7F, 0xBC, 0xA7, 0xEA, 0xB6, 0x1D, 0xBC, 0xF4, +0x4E, 0x3F, 0xE8, 0x87, 0x66, 0x48, 0xDC, 0xCF, 0xE9, 0xEA, 0xE5, 0xCE, 0xC8, 0x8F, 0xF8, 0xC6, +0xC3, 0x3B, 0x52, 0xFE, 0xD0, 0x33, 0xE4, 0xB5, 0x8F, 0xE1, 0x92, 0x61, 0x38, 0x53, 0xDB, 0x87, +0x11, 0x1F, 0x8A, 0x21, 0x8D, 0x94, 0x21, 0xBE, 0xFA, 0x90, 0xF4, 0x20, 0x50, 0xC1, 0xC8, 0x0F, +0xFA, 0x31, 0x7C, 0x32, 0x6B, 0xDF, 0x7B, 0xAC, 0x80, 0xEC, 0x07, 0x0B, 0x22, 0x3D, 0x11, 0x02, +0x19, 0x18, 0x21, 0xD3, 0x65, 0x4C, 0x90, 0xB6, 0x64, 0xC8, 0x9E, 0x89, 0x4E, 0xDA, 0x28, 0xB3, +0xAC, 0xE9, 0x47, 0x62, 0xC8, 0x2C, 0x7A, 0x11, 0x57, 0xA1, 0x1D, 0xC3, 0xDD, 0x15, 0x99, 0x20, +0x91, 0xE2, 0x1A, 0x8A, 0xCC, 0x38, 0x4B, 0x39, 0xC6, 0xD3, 0x57, 0xBD, 0x7C, 0x40, 0xC9, 0xB0, +0x8D, 0x2E, 0x4A, 0x9A, 0xBD, 0x4D, 0x72, 0x10, 0x03, 0x04, 0x5E, 0x60, 0x35, 0xED, 0xB6, 0x3C, +0xCD, 0x10, 0xE6, 0x87, 0x6C, 0xC8, 0x05, 0xC7, 0x57, 0xC9, 0x0A, 0xEC, 0x7A, 0x4E, 0x5F, 0xCD, +0xDB, 0xFC, 0xA0, 0x23, 0xDD, 0x32, 0x5F, 0x69, 0xF9, 0xC1, 0x0C, 0x91, 0xFC, 0xE0, 0x28, 0xAB, +0x6F, 0x90, 0xD5, 0xE4, 0x07, 0x90, 0x0D, 0x19, 0xF9, 0xB6, 0x36, 0xFD, 0x20, 0x92, 0x20, 0xA4, +0x57, 0x8F, 0xA8, 0x03, 0x7F, 0xE6, 0x70, 0xA7, 0xF6, 0x65, 0xC8, 0x90, 0x1F, 0x58, 0x0D, 0x96, +0x3F, 0x06, 0x33, 0xA4, 0x37, 0x3F, 0x96, 0x55, 0xDB, 0x72, 0x80, 0x55, 0xF8, 0x14, 0x0B, 0x22, +0x50, 0xA2, 0xEB, 0x99, 0xC1, 0x13, 0x4E, 0xCF, 0x53, 0x50, 0x54, 0xA7, 0x1D, 0x31, 0x3F, 0xA2, +0x1F, 0x4C, 0x10, 0x1A, 0x92, 0x9E, 0x0C, 0x66, 0xF9, 0xA3, 0x47, 0x91, 0xBF, 0x69, 0x3B, 0x63, +0xDE, 0x46, 0x8A, 0x30, 0x0C, 0xE3, 0x02, 0x1C, 0x14, 0x25, 0x16, 0x28, 0x11, 0x45, 0x24, 0x90, +0x72, 0x55, 0x88, 0x8C, 0x44, 0x28, 0x82, 0x08, 0xD2, 0xA1, 0x93, 0x40, 0x46, 0x74, 0x24, 0xC2, +0x0D, 0x35, 0x8A, 0x0B, 0x90, 0xB1, 0xA8, 0x68, 0x4E, 0x27, 0x61, 0xD1, 0x59, 0xFC, 0x00, 0xAA, +0xFB, 0xA5, 0xBC, 0x3B, 0x33, 0x9B, 0xE7, 0x76, 0xBC, 0xBB, 0xF3, 0x8E, 0x81, 0x77, 0xC6, 0xE3, +0x75, 0xCE, 0x77, 0xB2, 0x67, 0xF7, 0xD9, 0x77, 0xBE, 0xEF, 0xDB, 0xEC, 0x1D, 0xE9, 0x23, 0x04, +0x36, 0xA6, 0x7A, 0xBC, 0x17, 0x68, 0xD1, 0xC7, 0x53, 0xEF, 0x6A, 0xD5, 0x42, 0xD2, 0xF9, 0x8E, +0xF8, 0xC7, 0x90, 0x3C, 0xFF, 0x00, 0x91, 0x81, 0xF2, 0x47, 0xB6, 0x22, 0xA0, 0x97, 0xFD, 0x03, +0x2D, 0x20, 0x24, 0xE3, 0xC3, 0xF7, 0x90, 0x5B, 0x8E, 0x78, 0x87, 0x90, 0xF1, 0x77, 0x7B, 0x7C, +0xA0, 0x02, 0x1E, 0x86, 0x87, 0x60, 0x1D, 0x2D, 0x18, 0x6C, 0x5F, 0x11, 0x87, 0x50, 0xFE, 0x18, +0xD9, 0x55, 0x9E, 0x7F, 0xE4, 0x1E, 0x92, 0xFB, 0x87, 0x22, 0x8F, 0x24, 0xB6, 0xCE, 0x53, 0x51, +0x3D, 0x85, 0xE8, 0x29, 0xDB, 0x0B, 0x1F, 0x3D, 0x84, 0xEC, 0x42, 0x41, 0x04, 0x03, 0x81, 0x0F, +0x1C, 0x04, 0x42, 0x22, 0x1E, 0x91, 0x26, 0xF8, 0x18, 0x25, 0x64, 0x9A, 0x10, 0xD9, 0xEE, 0x62, +0x79, 0xB0, 0xC5, 0x3A, 0x3C, 0x05, 0x62, 0xB4, 0xB1, 0x4A, 0x1E, 0xA2, 0x16, 0x46, 0xCA, 0x1F, +0xC3, 0xF2, 0xFC, 0x83, 0x69, 0xDF, 0xF3, 0x8F, 0x16, 0x0C, 0x9E, 0xE8, 0xF2, 0x10, 0xCB, 0x3F, +0x90, 0xC9, 0x07, 0x25, 0xC3, 0xBD, 0xF5, 0xD5, 0x57, 0x23, 0x52, 0xC1, 0x23, 0x2F, 0x7F, 0x8C, +0x48, 0xF4, 0x58, 0x7C, 0x20, 0x8B, 0x0F, 0xD4, 0x87, 0x47, 0x52, 0xBE, 0xC6, 0xEA, 0xF3, 0x90, +0xCF, 0x0B, 0xBB, 0xCA, 0xC6, 0x83, 0x92, 0x61, 0x27, 0x10, 0x09, 0xE2, 0x20, 0x0B, 0xCF, 0x3A, +0xCE, 0x56, 0x11, 0x12, 0x11, 0x12, 0x7C, 0x43, 0x3D, 0xA4, 0x8D, 0x86, 0xF9, 0xA0, 0xA8, 0x4E, +0xFD, 0x3C, 0x94, 0x3F, 0xDE, 0x70, 0x90, 0x0F, 0xE2, 0x06, 0x71, 0x08, 0x95, 0x42, 0xF8, 0x18, +0x5A, 0x66, 0x05, 0x42, 0x52, 0x75, 0x26, 0xFA, 0x47, 0x78, 0x20, 0x12, 0x0C, 0x31, 0x99, 0x45, +0x53, 0xF9, 0xBC, 0xA8, 0x8C, 0x0F, 0xCD, 0xAE, 0xEB, 0x21, 0xE2, 0x23, 0xEC, 0x51, 0xFC, 0x43, +0x82, 0x8F, 0xF8, 0x9C, 0xA5, 0x77, 0x4B, 0x32, 0xF9, 0x80, 0x90, 0xBC, 0x7C, 0x3E, 0xAA, 0xE1, +0xF2, 0x39, 0x42, 0x0A, 0xDE, 0x2D, 0x3E, 0x90, 0xCF, 0x07, 0x1E, 0x82, 0x9E, 0xB8, 0xC0, 0x91, +0x99, 0xDD, 0xF6, 0xDA, 0x45, 0xCA, 0x1F, 0xC5, 0x5D, 0x55, 0xC7, 0x07, 0xC9, 0xAC, 0xD0, 0x9F, +0x16, 0xF1, 0xD9, 0x41, 0x16, 0x7D, 0x25, 0x15, 0x44, 0x48, 0xEF, 0x4E, 0xAF, 0xA5, 0x32, 0x21, +0x29, 0x4E, 0x87, 0x0F, 0x1C, 0x04, 0x85, 0xA2, 0x7A, 0x6B, 0x20, 0x27, 0xF0, 0x31, 0x48, 0x48, +0xA2, 0xB4, 0xF1, 0x8F, 0xF7, 0x12, 0x04, 0x09, 0xEB, 0xAE, 0x8D, 0xC8, 0x45, 0xBA, 0xD7, 0x2E, +0xCA, 0x3F, 0x0C, 0x15, 0xD2, 0xBB, 0xBD, 0xC9, 0x2C, 0xD2, 0x57, 0xEC, 0xD1, 0x65, 0xD7, 0x41, +0xA2, 0x87, 0x28, 0xDD, 0xEB, 0xF0, 0x81, 0x2C, 0x3E, 0x10, 0x1E, 0x12, 0xD2, 0x57, 0x25, 0xB9, +0xEB, 0x2B, 0x3C, 0x04, 0xFA, 0xE0, 0x63, 0x58, 0x3E, 0x1F, 0x24, 0xB3, 0xF0, 0x8F, 0xAC, 0xF1, +0x84, 0x87, 0x38, 0xFE, 0xC1, 0x50, 0xC5, 0x07, 0x05, 0x11, 0x35, 0xCE, 0xC1, 0x84, 0x1E, 0xE9, +0x38, 0x7B, 0x42, 0x25, 0xC4, 0x1F, 0x31, 0x97, 0x25, 0xFF, 0x28, 0x12, 0x72, 0x12, 0x3D, 0x01, +0x3E, 0xFA, 0x62, 0x10, 0x08, 0xD1, 0x83, 0xF4, 0xEE, 0xB8, 0x76, 0xDB, 0xD6, 0x41, 0xE6, 0xE9, +0x73, 0xCB, 0xE6, 0x06, 0x14, 0x22, 0xF6, 0x64, 0x1F, 0xE2, 0xC3, 0x52, 0x56, 0x3E, 0x2F, 0x9E, +0x98, 0xDA, 0xF0, 0x83, 0xF8, 0x63, 0x2F, 0x8B, 0x45, 0xD4, 0x8E, 0x87, 0x7C, 0xB2, 0xB8, 0x71, +0xE4, 0xF2, 0x01, 0x21, 0xA4, 0x77, 0xCB, 0xB2, 0xF8, 0xC0, 0x41, 0x20, 0x84, 0xF4, 0xEE, 0xA8, +0xD6, 0x3E, 0x1F, 0x14, 0xD5, 0x49, 0x5F, 0x21, 0x72, 0x81, 0xF8, 0x49, 0x28, 0x19, 0x12, 0x7E, +0x58, 0x84, 0xC0, 0x87, 0x4F, 0x88, 0x86, 0x96, 0x07, 0xBC, 0x43, 0x63, 0x14, 0x49, 0xD3, 0x98, +0xCC, 0x9A, 0x92, 0xDE, 0x2D, 0x10, 0x92, 0x56, 0x4E, 0x7A, 0x82, 0x05, 0x1C, 0x04, 0xA5, 0xA2, +0xBA, 0xC1, 0x07, 0x45, 0xF5, 0x10, 0x08, 0xB5, 0x79, 0x36, 0x62, 0x10, 0x9E, 0xD4, 0x30, 0x44, +0xAE, 0x6E, 0xB7, 0x84, 0x7F, 0x18, 0xB3, 0xAE, 0x31, 0x86, 0x1F, 0xB1, 0x7C, 0xBE, 0xCF, 0x08, +0x3D, 0x51, 0x42, 0x79, 0xD0, 0x12, 0x7C, 0x38, 0x6A, 0x0B, 0x22, 0xE2, 0xC3, 0x25, 0x84, 0xF2, +0x47, 0x59, 0x22, 0x04, 0x3E, 0x1C, 0xB9, 0x7C, 0xE0, 0x21, 0xF8, 0x07, 0x2E, 0xDC, 0x5D, 0xA6, +0xB2, 0xD1, 0x16, 0x44, 0x1C, 0x38, 0x20, 0xC4, 0xE4, 0x83, 0x0B, 0xB3, 0x9E, 0x16, 0xF1, 0x44, +0x1F, 0x44, 0x23, 0xDA, 0x20, 0xDD, 0x2B, 0xFF, 0x30, 0xF8, 0xA0, 0x64, 0x28, 0x42, 0xE0, 0xA3, +0xDF, 0x41, 0xF0, 0x90, 0xD3, 0xA3, 0xF2, 0xBF, 0x4C, 0x41, 0x24, 0x94, 0xCF, 0xB9, 0xF6, 0x0A, +0x21, 0xEC, 0x90, 0xF4, 0x95, 0x25, 0xFC, 0xC3, 0x23, 0x24, 0xEC, 0x26, 0xBC, 0x5F, 0x9B, 0x99, +0x83, 0xA4, 0x21, 0x35, 0xC2, 0x73, 0x4F, 0xEB, 0xAC, 0x7C, 0xEE, 0xC4, 0x21, 0x94, 0x3F, 0xC6, +0x44, 0xC9, 0xB0, 0x4C, 0x07, 0x05, 0x11, 0xF8, 0x30, 0xB4, 0x86, 0x0F, 0x9B, 0x10, 0xCA, 0x1F, +0x39, 0x1F, 0xFB, 0xEB, 0xAD, 0xD5, 0xE7, 0x81, 0x0F, 0x17, 0x11, 0x9F, 0x0F, 0x92, 0x59, 0x29, +0x31, 0xAA, 0xE5, 0x54, 0x2A, 0x9D, 0x33, 0x06, 0x25, 0x50, 0x62, 0xC9, 0x10, 0x3E, 0x8A, 0x8A, +0x84, 0xC0, 0x47, 0x9F, 0x83, 0x40, 0x08, 0xE5, 0x41, 0x47, 0xBB, 0xC9, 0x54, 0x1F, 0xA8, 0xCD, +0x56, 0x81, 0x33, 0x2D, 0xFE, 0x80, 0x9A, 0x3A, 0x7C, 0x18, 0x22, 0xFE, 0xB0, 0x06, 0xE1, 0x91, +0x80, 0xC0, 0x37, 0x96, 0xEC, 0x53, 0x9C, 0x44, 0x4A, 0xC9, 0xAC, 0x9B, 0x1A, 0x61, 0x1F, 0x96, +0x7E, 0xA0, 0xFC, 0x61, 0x88, 0xF5, 0x95, 0x4D, 0x08, 0x7C, 0x98, 0x84, 0xDC, 0x54, 0x28, 0x45, +0xE7, 0x4C, 0x18, 0xB3, 0xC7, 0x40, 0x02, 0x84, 0xF2, 0xB9, 0x37, 0x3C, 0xFB, 0x1C, 0x3E, 0x0C, +0xC5, 0xFC, 0x55, 0x44, 0x83, 0x2A, 0xC8, 0xD3, 0xC8, 0x51, 0x46, 0x51, 0xFD, 0xDA, 0x10, 0x05, +0x11, 0x50, 0xE8, 0x75, 0x10, 0x04, 0x1F, 0x8E, 0x4E, 0xB6, 0x99, 0x51, 0x0C, 0x08, 0x13, 0xFC, +0xB0, 0x4A, 0x1E, 0x1F, 0x14, 0xD5, 0x13, 0x0C, 0x41, 0x79, 0x6C, 0xDE, 0x75, 0x92, 0x65, 0x20, +0xE4, 0xA6, 0x4E, 0x1C, 0x6E, 0x96, 0x89, 0x60, 0x1F, 0xA6, 0x87, 0x58, 0x6F, 0x23, 0x54, 0x27, +0x3C, 0xB7, 0x74, 0x83, 0x3C, 0x0F, 0xB9, 0x4A, 0x13, 0x46, 0xE3, 0xF5, 0xB2, 0x63, 0x25, 0xD2, +0x15, 0xA1, 0xA2, 0x33, 0xAC, 0x3E, 0xAC, 0x53, 0x38, 0xF4, 0x63, 0xF9, 0x59, 0xDB, 0x88, 0x68, +0xA4, 0x05, 0x45, 0xEF, 0x53, 0xDB, 0x9E, 0x5C, 0xFB, 0x3A, 0xDA, 0x9E, 0x42, 0x40, 0xBF, 0x83, +0x50, 0x0E, 0x39, 0xA9, 0x22, 0x64, 0xC2, 0xD5, 0x57, 0xE7, 0xA0, 0x1D, 0x6C, 0x70, 0xA5, 0x07, +0x60, 0x44, 0x71, 0xC7, 0x0A, 0x4B, 0x97, 0x1B, 0x9D, 0x6A, 0x2A, 0x08, 0xF9, 0xFC, 0xAA, 0x05, +0xA3, 0x37, 0xB9, 0xCB, 0x73, 0x6C, 0xF5, 0x80, 0xD4, 0xE9, 0xCB, 0x3A, 0x40, 0x7E, 0xFE, 0x99, +0x6D, 0xCB, 0x42, 0x2A, 0x01, 0x09, 0xBF, 0x7E, 0xEE, 0xEB, 0x7D, 0x3C, 0x22, 0x23, 0x04, 0x6B, +0x81, 0x10, 0xE5, 0xB2, 0x6C, 0x3E, 0x42, 0xE7, 0x37, 0x49, 0x2D, 0x3D, 0x3B, 0xE7, 0xFA, 0xBE, +0x6C, 0xA1, 0xD2, 0xC2, 0x91, 0x94, 0x02, 0xF5, 0x6B, 0x64, 0x84, 0x21, 0x33, 0xD3, 0x41, 0xDE, +0x9D, 0x9D, 0x1A, 0x84, 0x50, 0x2E, 0x7C, 0x6F, 0x3A, 0xE9, 0xAC, 0x01, 0x3B, 0x54, 0xC7, 0x01, +0xB8, 0xE7, 0x1B, 0xDD, 0xDE, 0xA7, 0x8E, 0x8F, 0xCD, 0xE6, 0x72, 0xE5, 0xE2, 0x11, 0x7F, 0x7F, +0x2A, 0x62, 0x91, 0xD7, 0x07, 0xD9, 0xB3, 0x3C, 0x5F, 0x51, 0x41, 0xF7, 0x44, 0x88, 0xEE, 0xE1, +0x21, 0x55, 0x78, 0xC8, 0xCB, 0xE6, 0x06, 0x3F, 0x35, 0x4B, 0x2C, 0xFD, 0xF3, 0x35, 0x78, 0x54, +0x2F, 0xB1, 0xA4, 0xE5, 0x15, 0x96, 0x2C, 0x65, 0x45, 0x74, 0x06, 0x8D, 0x4B, 0xDD, 0x06, 0xAB, +0xC6, 0x42, 0x36, 0x9B, 0x2A, 0x42, 0x74, 0xE4, 0x44, 0x7B, 0x20, 0xE9, 0x83, 0xC2, 0x4F, 0x60, +0x46, 0x1B, 0xBA, 0x9A, 0x76, 0x7A, 0x74, 0x62, 0xF3, 0x31, 0x3B, 0xBD, 0x80, 0x90, 0x5E, 0x07, +0x81, 0x0F, 0x69, 0xE6, 0x12, 0xB2, 0x9B, 0xBE, 0x37, 0xD5, 0x47, 0xE1, 0x93, 0x89, 0xDE, 0xF3, +0xD6, 0xE9, 0x62, 0x1D, 0x3D, 0xB9, 0x48, 0x60, 0x46, 0xF7, 0xF6, 0xF9, 0xA8, 0x92, 0x0F, 0xA9, +0xC6, 0x3F, 0x9A, 0x4A, 0x15, 0xAB, 0x63, 0x08, 0xE9, 0x71, 0x92, 0x26, 0x02, 0xF9, 0x9E, 0xDF, +0xB1, 0xB5, 0xF8, 0x58, 0x43, 0x88, 0x93, 0xE8, 0x8D, 0x84, 0xA8, 0x39, 0x7A, 0x19, 0x6F, 0xA6, +0xC8, 0x9B, 0x8B, 0xA5, 0x10, 0xE9, 0xD6, 0xE7, 0x23, 0xDD, 0xC2, 0xC4, 0x96, 0x66, 0x46, 0xD3, +0xF3, 0x49, 0x58, 0x4A, 0xD1, 0x86, 0x2F, 0x5A, 0x6C, 0xB4, 0xB4, 0x08, 0x49, 0x7C, 0xD4, 0x12, +0xA2, 0x63, 0xE7, 0x9D, 0xF9, 0x39, 0x48, 0x30, 0x70, 0x76, 0x6E, 0xA5, 0x83, 0x52, 0xDA, 0xF9, +0x7C, 0x48, 0x22, 0xA4, 0xE8, 0x20, 0xAF, 0xF5, 0x4E, 0x08, 0x31, 0xF8, 0x90, 0x1A, 0x42, 0x3A, +0x20, 0xA3, 0xC4, 0x45, 0x5B, 0xFB, 0x14, 0x1F, 0x55, 0xA6, 0xBA, 0x69, 0x75, 0xF9, 0xCC, 0x8A, +0x3F, 0x74, 0x0E, 0x0B, 0xC5, 0xC2, 0x37, 0x40, 0xE8, 0x89, 0x3D, 0x58, 0x42, 0x2F, 0x74, 0x00, +0xD8, 0x26, 0xC2, 0x55, 0xBD, 0x55, 0x7C, 0xFC, 0x86, 0x87, 0x58, 0x7C, 0x40, 0x48, 0xB1, 0x98, +0x2E, 0xFD, 0x60, 0x9B, 0x48, 0x7D, 0x9A, 0xB7, 0x91, 0x26, 0x88, 0x15, 0x55, 0x87, 0x89, 0xEE, +0x74, 0xBE, 0x1F, 0xCE, 0x4C, 0x6A, 0x4D, 0x1D, 0xC4, 0xF4, 0x0F, 0x08, 0xB1, 0x25, 0x42, 0x5A, +0x20, 0x10, 0x49, 0xDF, 0xF3, 0xA7, 0xEA, 0x42, 0xE0, 0x43, 0xDA, 0x56, 0xF0, 0x81, 0x87, 0x0C, +0x3B, 0xC8, 0x69, 0xE2, 0xC3, 0x24, 0x64, 0x3B, 0x8D, 0x52, 0x4D, 0x86, 0xCF, 0xFD, 0xE6, 0xD2, +0x30, 0x0C, 0x6D, 0x48, 0x75, 0x18, 0x1F, 0x78, 0xC8, 0xE8, 0x9C, 0x4B, 0xCF, 0x02, 0x1E, 0x0D, +0x21, 0xCB, 0xAB, 0xF7, 0x07, 0xD6, 0x58, 0xA4, 0x5D, 0x82, 0x7F, 0x84, 0xA6, 0xEE, 0xF1, 0xF1, +0x24, 0x2F, 0xC9, 0xDB, 0xEA, 0xB7, 0xAF, 0x7E, 0x7D, 0xE9, 0xF2, 0xF1, 0xD7, 0x5F, 0x1E, 0x21, +0x62, 0x2E, 0xE1, 0x21, 0xF9, 0x7C, 0xF8, 0x84, 0x2C, 0x3E, 0x89, 0x73, 0xA3, 0x8E, 0x73, 0x40, +0x45, 0x07, 0x13, 0xE9, 0x2A, 0xCE, 0xBB, 0x66, 0x5E, 0x84, 0x94, 0xC3, 0xF3, 0x84, 0x47, 0x3D, +0x21, 0xCF, 0xDA, 0x10, 0xA4, 0xDB, 0xC4, 0x46, 0xD8, 0xE8, 0xF8, 0x07, 0x84, 0x14, 0xF9, 0xB8, +0x68, 0x8F, 0xFA, 0x8B, 0x71, 0x07, 0x81, 0x0F, 0xD1, 0x74, 0xB4, 0x3D, 0x2A, 0xE5, 0xAF, 0xB4, +0xBE, 0x4A, 0x12, 0x21, 0xE7, 0xED, 0xC5, 0xF9, 0xDA, 0xC0, 0x41, 0xB8, 0xA6, 0xF7, 0x5F, 0xF0, +0xE1, 0x04, 0x22, 0x9B, 0x55, 0xE2, 0x23, 0xE8, 0x6A, 0x34, 0x8B, 0x15, 0x9A, 0xF6, 0xBD, 0x64, +0x7A, 0x88, 0x7F, 0xA9, 0x09, 0xBF, 0x58, 0xA8, 0x16, 0xE5, 0xE4, 0xB2, 0x82, 0x77, 0x68, 0x88, +0x8F, 0x32, 0x20, 0x3F, 0x24, 0x3C, 0xC2, 0x93, 0xCD, 0x87, 0xBD, 0xCA, 0x0A, 0x68, 0xB4, 0x83, +0x4E, 0x26, 0xCB, 0xCE, 0x6C, 0xEE, 0x85, 0x78, 0x61, 0xE6, 0xD3, 0xB9, 0x69, 0x59, 0xB8, 0x6C, +0x2E, 0xF1, 0x81, 0x2A, 0x09, 0x89, 0x46, 0x71, 0x3E, 0x98, 0x29, 0x4D, 0xF1, 0x07, 0x84, 0x94, +0x33, 0xBC, 0xAF, 0x39, 0xEC, 0xB9, 0x96, 0xB7, 0xEF, 0x6A, 0xDE, 0x40, 0x52, 0xD2, 0xEB, 0x8B, +0x52, 0xB5, 0x70, 0xF2, 0xDE, 0x14, 0x4D, 0x54, 0x2D, 0x8C, 0x8C, 0x6C, 0x22, 0xD2, 0xE4, 0x16, +0xE6, 0xE7, 0x87, 0xFB, 0x07, 0x1A, 0x9F, 0xF1, 0xE4, 0x1F, 0x4F, 0xFB, 0x49, 0x91, 0xFA, 0x68, +0x16, 0x6B, 0x29, 0x3E, 0x42, 0x33, 0x3D, 0x64, 0x61, 0x5E, 0xAC, 0x08, 0x1F, 0x1D, 0xFD, 0x50, +0x22, 0xE4, 0x09, 0x8D, 0xBF, 0xE2, 0x53, 0xB9, 0x02, 0x82, 0x84, 0x88, 0xC5, 0x07, 0xD2, 0xF7, +0xB1, 0x2E, 0xE7, 0xFD, 0x3E, 0x8D, 0xD0, 0x90, 0x5A, 0x7E, 0xF3, 0x06, 0x4D, 0xBB, 0x7A, 0xCB, +0x88, 0x08, 0xB1, 0xF8, 0x38, 0xDC, 0x43, 0xC8, 0x63, 0x91, 0x27, 0xD5, 0x76, 0x54, 0xE0, 0x03, +0x4D, 0x4A, 0x35, 0x42, 0x0E, 0xFA, 0xE0, 0x21, 0xEF, 0xEE, 0x39, 0x08, 0x7C, 0x9C, 0x76, 0x75, +0x7D, 0x34, 0x62, 0x1F, 0xF0, 0x01, 0x21, 0x01, 0x08, 0xD8, 0xE6, 0x45, 0xE3, 0x1F, 0x1F, 0xBD, +0x7D, 0x18, 0x1F, 0x78, 0xC8, 0x98, 0x7F, 0xE8, 0xD4, 0x15, 0xC0, 0x88, 0x90, 0x84, 0x50, 0x7D, +0x2C, 0x8B, 0x15, 0xFC, 0x03, 0x3E, 0xCA, 0x1E, 0xB2, 0xAE, 0xBC, 0xDC, 0x5D, 0x47, 0x2D, 0x2A, +0x5E, 0xAF, 0xF8, 0x17, 0xEB, 0x2B, 0x08, 0x19, 0xFD, 0x85, 0x90, 0x4C, 0x16, 0x1F, 0x48, 0x80, +0x94, 0xFC, 0x83, 0xA6, 0xC9, 0xD9, 0x2F, 0x16, 0x92, 0xCA, 0x82, 0x8F, 0x27, 0x4C, 0x9E, 0x8D, +0xC6, 0x21, 0x19, 0x1F, 0xF5, 0xA1, 0x3A, 0xF5, 0x36, 0xD2, 0xA4, 0x58, 0xC8, 0x7C, 0x02, 0x1F, +0x10, 0x32, 0x52, 0x43, 0x0F, 0x62, 0xE5, 0x94, 0xFF, 0x3E, 0x08, 0xE9, 0xAB, 0xD6, 0x3F, 0xF0, +0x90, 0xB1, 0x74, 0x2F, 0x7C, 0x40, 0x48, 0x03, 0x42, 0x5C, 0x0C, 0x62, 0x1C, 0x1A, 0x57, 0xA1, +0x3A, 0x58, 0xC5, 0x07, 0x93, 0xE8, 0xAD, 0xB2, 0x9E, 0x2D, 0xAF, 0x5A, 0xF3, 0x80, 0x90, 0xA1, +0x2C, 0xD6, 0x55, 0x58, 0x5F, 0xC5, 0x06, 0x26, 0xE3, 0xFE, 0x91, 0x00, 0x41, 0x5E, 0xFC, 0x81, +0x20, 0x64, 0x80, 0x8F, 0xD4, 0xD5, 0xC2, 0x86, 0xE7, 0x1F, 0xDE, 0x2A, 0xAB, 0xFF, 0x7E, 0xBC, +0x83, 0x7A, 0x9A, 0x12, 0x38, 0xE9, 0xA6, 0xB2, 0xBA, 0x4F, 0x4C, 0x7A, 0xD3, 0xE2, 0x32, 0xEB, +0xB2, 0x14, 0x9E, 0xFB, 0x84, 0x3C, 0xEB, 0x23, 0x84, 0x62, 0x5B, 0x9E, 0xCC, 0x82, 0x0F, 0x8E, +0xCC, 0xE1, 0x74, 0xAF, 0xEE, 0x64, 0x8D, 0xF6, 0x3D, 0x44, 0x80, 0xC0, 0x07, 0xFE, 0x81, 0x20, +0x24, 0x2F, 0x7F, 0x10, 0x7E, 0x74, 0x08, 0x69, 0xD0, 0x46, 0xAB, 0x36, 0xAF, 0x35, 0x3F, 0xA4, +0xFC, 0xB1, 0x41, 0xA3, 0xA1, 0xBA, 0xF4, 0xF9, 0x8F, 0x98, 0x87, 0x86, 0xD8, 0xC5, 0x41, 0x54, +0x5E, 0x1F, 0xC4, 0x3F, 0x58, 0x69, 0xE3, 0x21, 0xEE, 0x6D, 0x1B, 0xD6, 0x63, 0xEB, 0xAB, 0x9E, +0x43, 0x98, 0x5B, 0x9A, 0xF4, 0xF3, 0x01, 0x25, 0xEA, 0xD2, 0x48, 0xF9, 0x03, 0x39, 0x1E, 0xD2, +0xFB, 0xE1, 0x8D, 0xF4, 0x55, 0x9A, 0x96, 0x76, 0x95, 0xB5, 0x84, 0x8F, 0xCE, 0xE2, 0x95, 0x49, +0xD7, 0xF0, 0xF4, 0xE4, 0xF2, 0x71, 0x68, 0x32, 0x6B, 0x40, 0xE7, 0xF0, 0x61, 0x10, 0x72, 0x04, +0x1F, 0xFB, 0x84, 0xE0, 0x20, 0x94, 0x3F, 0x50, 0x21, 0x99, 0x75, 0xD4, 0xF3, 0x29, 0x48, 0xF7, +0x9E, 0xB7, 0xAB, 0xC3, 0xA4, 0xF9, 0xA6, 0xBA, 0xFC, 0x31, 0xA0, 0x81, 0xFC, 0x55, 0xC7, 0x3C, +0x20, 0x64, 0xD9, 0x9B, 0xC5, 0xBA, 0x0A, 0x7C, 0x84, 0x06, 0x1C, 0xA3, 0x84, 0x98, 0x37, 0xFD, +0xC1, 0x3F, 0x38, 0x84, 0x8D, 0x55, 0x96, 0xCA, 0x83, 0x98, 0x47, 0xDA, 0x20, 0xDD, 0xDB, 0x9B, +0xBE, 0xCA, 0x15, 0x81, 0x34, 0xEC, 0xC3, 0x09, 0xD5, 0x39, 0x73, 0x74, 0xD7, 0x59, 0x57, 0x9D, +0x15, 0x16, 0x37, 0x20, 0x85, 0x0A, 0x40, 0x91, 0x9F, 0xF7, 0x7A, 0x08, 0xF1, 0xC7, 0xBF, 0x5C, +0x65, 0xE9, 0xAC, 0x1B, 0xEC, 0x63, 0x95, 0x15, 0xD4, 0x09, 0x3F, 0xBA, 0x12, 0x21, 0x26, 0x1F, +0x14, 0x44, 0x70, 0x10, 0xCA, 0x1F, 0x26, 0x21, 0xF8, 0x47, 0x0F, 0x21, 0xE2, 0x02, 0xA0, 0x63, +0xF8, 0x71, 0xA8, 0x7F, 0x38, 0x1E, 0xA2, 0xF1, 0xF3, 0x2C, 0xFC, 0x68, 0x9F, 0x35, 0xB2, 0xB2, +0x92, 0x62, 0xF5, 0xE3, 0x2A, 0x1C, 0x01, 0xC4, 0x20, 0xD8, 0xC8, 0x27, 0x1E, 0x1F, 0xA8, 0xFF, +0x2A, 0xF7, 0x5B, 0xEC, 0x03, 0x0D, 0x16, 0xD5, 0x5F, 0x36, 0x3C, 0xE8, 0x81, 0x7D, 0xB4, 0x86, +0x02, 0x21, 0xBC, 0x39, 0x96, 0x3F, 0x06, 0x10, 0x59, 0x3B, 0x7C, 0xA0, 0xF1, 0xF5, 0x95, 0x1A, +0x9C, 0xC4, 0x74, 0x2F, 0x27, 0x1C, 0xCE, 0x37, 0x5D, 0xEB, 0x60, 0xE2, 0x83, 0x87, 0xF4, 0x05, +0x8B, 0xE8, 0x7F, 0xF0, 0x90, 0x39, 0x7C, 0x64, 0xDA, 0x0D, 0x96, 0x3F, 0x72, 0x51, 0x10, 0xC1, +0x41, 0x48, 0x5F, 0x39, 0x84, 0x68, 0x7D, 0x85, 0x7A, 0x08, 0x79, 0x83, 0xE8, 0xA0, 0xEA, 0xF4, +0xD5, 0x88, 0xF6, 0xF1, 0x10, 0x1F, 0x29, 0xFC, 0x60, 0xE0, 0x99, 0xD8, 0xE3, 0x89, 0x91, 0x2C, +0x00, 0x65, 0x90, 0xBE, 0xB7, 0xF8, 0x40, 0x3D, 0x7C, 0xB0, 0xBC, 0x32, 0xE2, 0x10, 0xCA, 0x83, +0x19, 0x22, 0x6A, 0x78, 0x08, 0xFA, 0x15, 0xFF, 0x40, 0x20, 0x52, 0xE0, 0xC3, 0x20, 0x64, 0xA1, +0x89, 0x88, 0xBD, 0x87, 0x92, 0x2B, 0x72, 0x58, 0x6F, 0xDE, 0xE2, 0x1D, 0x34, 0x78, 0x35, 0x54, +0x10, 0xD9, 0x8C, 0xE8, 0x80, 0x64, 0xD6, 0xB9, 0x1A, 0x57, 0x02, 0xE2, 0x1F, 0x3D, 0xDA, 0xFA, +0x7C, 0xE0, 0x21, 0x02, 0x84, 0xF4, 0xD5, 0xE0, 0x7B, 0xF3, 0x64, 0xD6, 0x16, 0xFB, 0x40, 0x10, +0x92, 0x65, 0x15, 0x0E, 0xE1, 0xE3, 0xD2, 0x24, 0x24, 0xF1, 0xC1, 0x0E, 0xCA, 0xF9, 0x00, 0x91, +0xAC, 0x7C, 0x4E, 0x0C, 0xD2, 0x3D, 0x1C, 0x16, 0xD6, 0x4D, 0xB1, 0x50, 0x21, 0x7D, 0x85, 0x28, +0xAA, 0x23, 0xF8, 0x00, 0x0F, 0xBA, 0x94, 0x11, 0xF2, 0x92, 0xF2, 0xC7, 0x80, 0xFA, 0xF9, 0xF0, +0x09, 0x21, 0x69, 0x41, 0x7B, 0xD3, 0x43, 0xD2, 0x32, 0xAB, 0xC5, 0x24, 0x39, 0x37, 0x60, 0xF0, +0xD4, 0x3C, 0x0A, 0xE9, 0xDD, 0x7F, 0x4F, 0x48, 0xAA, 0xB1, 0x65, 0xFE, 0x61, 0x11, 0x22, 0x3E, +0x7A, 0x4D, 0x81, 0x64, 0x56, 0x72, 0x10, 0xF8, 0x18, 0xF1, 0x90, 0x6D, 0xA7, 0x3C, 0x38, 0x9F, +0xA2, 0x5E, 0x42, 0x12, 0xD6, 0xE7, 0x07, 0xF9, 0x07, 0x78, 0x38, 0x71, 0x88, 0xCA, 0x1F, 0x3F, +0xC6, 0x2A, 0x2E, 0x5E, 0x0F, 0x2B, 0x8D, 0x3A, 0xBF, 0xB3, 0xA0, 0xF2, 0x79, 0x9E, 0xC2, 0xCC, +0x97, 0x14, 0xB6, 0x7F, 0x40, 0x08, 0x1A, 0xE4, 0x83, 0x82, 0x08, 0x2E, 0x42, 0x78, 0xDE, 0x8B, +0x48, 0x4C, 0xFA, 0x5A, 0xFE, 0xC1, 0x2A, 0xCB, 0xE1, 0x03, 0xAD, 0x7B, 0xFC, 0x43, 0x62, 0x90, +0xC8, 0x66, 0x51, 0x54, 0x0F, 0x83, 0x46, 0x4C, 0x9B, 0xB3, 0x53, 0x50, 0xF2, 0x90, 0x67, 0xEC, +0x29, 0x83, 0x8F, 0x6A, 0x42, 0xB8, 0x19, 0xD6, 0x39, 0xFE, 0xE1, 0x10, 0x42, 0xF9, 0x1C, 0x21, +0x42, 0x75, 0x39, 0xC8, 0x9F, 0xBA, 0x95, 0x09, 0x7C, 0x38, 0xAB, 0x2C, 0x3E, 0xC5, 0x30, 0x21, +0x11, 0x8D, 0x43, 0xCB, 0x83, 0x05, 0x44, 0xBA, 0xE9, 0x5D, 0x76, 0x10, 0x43, 0xF7, 0x05, 0xE1, +0x87, 0x9E, 0x23, 0x0D, 0x78, 0x48, 0x1E, 0xA8, 0x4B, 0x43, 0xF7, 0xC3, 0x72, 0x42, 0x75, 0xE2, +0x8F, 0xA1, 0x48, 0xFA, 0xF6, 0xD7, 0x37, 0x4C, 0x24, 0x81, 0x31, 0xE4, 0x20, 0x10, 0x42, 0xF9, +0x63, 0xF4, 0xDF, 0x57, 0xB3, 0xF8, 0x40, 0x59, 0xF8, 0x81, 0xA5, 0xD2, 0xB2, 0x38, 0x84, 0x2C, +0x56, 0x67, 0xDE, 0xDF, 0x7C, 0x62, 0x53, 0x84, 0x98, 0xFE, 0x71, 0xB8, 0x87, 0x9C, 0x53, 0x1E, +0x2C, 0x68, 0xD2, 0x5F, 0x1E, 0x44, 0x79, 0x41, 0x44, 0x80, 0x7C, 0x41, 0xF9, 0x7C, 0x4C, 0x02, +0x8E, 0xF2, 0xC7, 0x98, 0x28, 0x88, 0xA4, 0xDF, 0x6E, 0xA9, 0xE3, 0xE3, 0x12, 0x3C, 0xAC, 0x40, +0x44, 0xE5, 0xF3, 0x6C, 0xEF, 0x40, 0x08, 0x3F, 0x61, 0x85, 0x95, 0x28, 0xE8, 0xCB, 0x62, 0x41, +0x0B, 0x80, 0x28, 0xBD, 0xEB, 0x11, 0xC2, 0xEF, 0xD8, 0xA2, 0x81, 0x30, 0x21, 0x16, 0xD5, 0xE1, +0x83, 0x21, 0xA3, 0x84, 0x92, 0x21, 0xE5, 0x0F, 0x43, 0x39, 0x1F, 0xBE, 0x87, 0x10, 0x70, 0x34, +0x43, 0x1F, 0x25, 0xEA, 0xAC, 0x58, 0x99, 0x60, 0x0D, 0xF9, 0x79, 0x2A, 0x6D, 0x5E, 0x45, 0x0F, +0x31, 0xF9, 0xA8, 0x4F, 0x66, 0x45, 0x3C, 0x28, 0x7F, 0xB8, 0x84, 0x50, 0x1E, 0x44, 0x88, 0xCB, +0x4E, 0xBE, 0x78, 0xEB, 0xEF, 0xD2, 0xFA, 0x8A, 0x82, 0x48, 0xBA, 0x15, 0x96, 0xA3, 0xC9, 0xBC, +0x25, 0xDB, 0x4B, 0x5F, 0x3D, 0x83, 0x0F, 0x1C, 0xA4, 0x44, 0x88, 0xA4, 0x52, 0x47, 0x87, 0x05, +0x16, 0x57, 0x5D, 0x6C, 0xDA, 0xA0, 0x12, 0x0C, 0xE2, 0x2E, 0x67, 0x80, 0x0F, 0x29, 0xAB, 0x0E, +0xBA, 0x84, 0xC0, 0xC7, 0x98, 0xF8, 0x25, 0xF5, 0xE0, 0x12, 0xD0, 0x91, 0x75, 0xDC, 0xA5, 0xF5, +0x0F, 0xEB, 0x1F, 0x87, 0x10, 0xF8, 0xF0, 0x3C, 0x84, 0x79, 0x60, 0x43, 0x82, 0x95, 0xF8, 0x94, +0x72, 0x59, 0x9F, 0xEC, 0x83, 0xC1, 0xC4, 0xF3, 0x13, 0x6E, 0x02, 0xB4, 0xF1, 0x54, 0x97, 0xCB, +0x7A, 0x16, 0x4F, 0xC4, 0xF0, 0x51, 0x24, 0xE4, 0x84, 0xF2, 0xA0, 0x41, 0x88, 0xFE, 0x97, 0xDB, +0x53, 0x53, 0xBA, 0x4D, 0x96, 0xD2, 0x57, 0xF8, 0x47, 0xD1, 0x43, 0x24, 0xD2, 0xBB, 0xA6, 0x8A, +0x78, 0x10, 0x87, 0x3C, 0x6B, 0xCB, 0x1F, 0xC5, 0x35, 0x56, 0xF2, 0x90, 0x98, 0xDE, 0xCD, 0x4F, +0x8F, 0x71, 0x23, 0x8F, 0xD9, 0x17, 0x95, 0xFF, 0x89, 0x67, 0xF2, 0x0F, 0x47, 0x24, 0xB3, 0x02, +0x1D, 0x7F, 0x19, 0x88, 0x84, 0xFF, 0xE5, 0x16, 0xFF, 0x30, 0x09, 0xF1, 0xE0, 0xA6, 0x20, 0x12, +0x61, 0xC8, 0x18, 0xA1, 0x31, 0x41, 0x4F, 0xE9, 0x5D, 0x08, 0x19, 0x88, 0xD2, 0x63, 0x20, 0xE2, +0xF1, 0x71, 0x78, 0x41, 0xC4, 0xF3, 0x0F, 0x4A, 0x86, 0x94, 0x3F, 0xCA, 0xFA, 0xC3, 0x06, 0xE4, +0xF5, 0x85, 0x6E, 0xB4, 0x78, 0xF4, 0x1E, 0xF1, 0xB9, 0xE1, 0x21, 0xE2, 0x43, 0x80, 0x78, 0x1D, +0xFF, 0xF0, 0x10, 0xB9, 0x94, 0xDA, 0xCB, 0xAF, 0xB2, 0x31, 0x7B, 0x50, 0x0F, 0x49, 0xE7, 0xC4, +0xCE, 0x2E, 0xEF, 0x78, 0x0A, 0x7F, 0x00, 0x1E, 0x3E, 0x21, 0xB7, 0x35, 0xFF, 0x4D, 0xBA, 0xD2, +0x57, 0x51, 0xC1, 0x46, 0x58, 0x50, 0xED, 0xE1, 0x11, 0x44, 0xF9, 0xC3, 0x62, 0x04, 0xFB, 0xF0, +0x84, 0x7F, 0xB4, 0x96, 0x91, 0xC7, 0x1E, 0xDD, 0x79, 0x6A, 0xF8, 0x00, 0x84, 0xDE, 0x50, 0x84, +0x9F, 0x04, 0x42, 0x7C, 0x3E, 0xEA, 0x7F, 0xCB, 0x90, 0xF4, 0x95, 0xA1, 0xF7, 0xA6, 0x47, 0xF8, +0x87, 0x03, 0xC8, 0xDF, 0xF6, 0x7B, 0xDF, 0x3D, 0xDD, 0x1E, 0xC3, 0x87, 0x61, 0x22, 0x5A, 0x5E, +0x7D, 0x54, 0xA3, 0x4B, 0xF0, 0x70, 0xA4, 0xF5, 0x55, 0xBB, 0x04, 0x66, 0xAF, 0xF0, 0x93, 0xFC, +0x79, 0xC9, 0x0E, 0x96, 0xD8, 0xFD, 0x5D, 0xEB, 0xE0, 0x00, 0xB9, 0xA9, 0x3A, 0xC2, 0xBE, 0xF1, +0xED, 0x23, 0x11, 0xF2, 0x33, 0xA2, 0xF4, 0x91, 0xF1, 0x02, 0x41, 0x21, 0x7D, 0x65, 0x5B, 0xC8, +0x2D, 0x7C, 0x78, 0xBA, 0x79, 0x32, 0x0A, 0x29, 0x6D, 0xB2, 0x91, 0xB6, 0x69, 0xA1, 0x7C, 0xDE, +0x99, 0x5D, 0x5E, 0xF1, 0xC4, 0xE6, 0x6A, 0x53, 0xA5, 0xCB, 0x8F, 0x3E, 0x92, 0x33, 0xD8, 0xFD, +0x23, 0xC2, 0x73, 0x4B, 0x47, 0xB3, 0xD7, 0xA7, 0xA6, 0xBE, 0x6D, 0x00, 0xB9, 0xF0, 0x9A, 0x6E, +0x06, 0xB4, 0x9B, 0x4C, 0xD4, 0x4D, 0xED, 0x76, 0xF3, 0x77, 0x36, 0x7E, 0xE3, 0xB6, 0xA4, 0x26, +0x22, 0xC7, 0x97, 0xCB, 0xE5, 0x72, 0x15, 0x7B, 0x6A, 0x6C, 0xEF, 0x3D, 0xAF, 0x56, 0x3F, 0xBE, +0xBF, 0x78, 0xBF, 0x46, 0x37, 0x6B, 0xAD, 0x51, 0xF4, 0xB0, 0xBA, 0xDE, 0xF9, 0x65, 0x8D, 0xBE, +0xFE, 0x92, 0x9B, 0x55, 0x1B, 0xD2, 0x9B, 0x55, 0x43, 0xA9, 0xD1, 0xD7, 0x4A, 0x2F, 0xD8, 0x6D, +0xBD, 0x96, 0x7F, 0xF8, 0xD2, 0x44, 0x2E, 0x57, 0x71, 0x76, 0x99, 0xE0, 0xB0, 0x11, 0x86, 0xFC, +0x27, 0xDA, 0x60, 0x77, 0x1A, 0x0A, 0x6E, 0xA3, 0x03, 0x42, 0x32, 0xC7, 0x39, 0x87, 0xA5, 0x23, +0xDD, 0xCF, 0xDD, 0x25, 0xE4, 0xF5, 0xDF, 0x02, 0xC4, 0xE3, 0xE3, 0xE2, 0xF5, 0x6C, 0xD7, 0xDC, +0x47, 0x71, 0x67, 0x35, 0xE1, 0x31, 0x99, 0x2B, 0xF1, 0x76, 0x6C, 0x6B, 0xAA, 0xB6, 0x59, 0x5D, +0xD6, 0x68, 0x75, 0x97, 0x76, 0xC8, 0xD9, 0x6A, 0xA9, 0x9E, 0x5A, 0xDA, 0x0A, 0x3F, 0xE3, 0x0F, +0x97, 0x67, 0xDA, 0xB1, 0x9F, 0x7A, 0xFB, 0xFF, 0xD3, 0xA6, 0x3F, 0xDE, 0x3C, 0xAE, 0x2B, 0xF4, +0xF5, 0xD7, 0x5F, 0x7F, 0xE9, 0xEB, 0x5E, 0x37, 0x7B, 0xBF, 0x1D, 0x82, 0xE1, 0x56, 0x2D, 0x8D, +0xF4, 0xDB, 0xAF, 0xEA, 0xF8, 0x78, 0xF5, 0xF5, 0xBA, 0x46, 0x8F, 0x8B, 0xC5, 0xA7, 0xEF, 0xDB, +0x4D, 0x73, 0x74, 0x96, 0xF8, 0x90, 0xCE, 0x78, 0x0E, 0x63, 0xE8, 0xFC, 0x68, 0x25, 0x3E, 0xEA, +0xB4, 0xD1, 0xA1, 0xA0, 0x16, 0x06, 0x36, 0x87, 0x7F, 0x32, 0x6F, 0x08, 0x69, 0x6E, 0xE8, 0x6E, +0xF5, 0xDD, 0x76, 0x77, 0x34, 0x33, 0x5D, 0x21, 0x04, 0xE9, 0xD6, 0x1B, 0x45, 0xD1, 0xC9, 0x76, +0x7B, 0xB4, 0xDB, 0x7A, 0xA8, 0x26, 0x3E, 0xE6, 0xF3, 0xE3, 0x0A, 0x69, 0x5E, 0x9A, 0xEC, 0x54, +0x68, 0x92, 0xC6, 0x92, 0x74, 0x1A, 0xF3, 0x74, 0x27, 0x3E, 0xA4, 0x66, 0xE7, 0x2E, 0x8C, 0x87, +0xCE, 0x91, 0x8F, 0xDF, 0x2C, 0x20, 0xC4, 0xE2, 0xE3, 0x85, 0x4F, 0xC8, 0xFD, 0xAD, 0x42, 0xF4, +0x40, 0x40, 0x1C, 0xE8, 0xE1, 0x11, 0xC7, 0xCE, 0x0F, 0xBF, 0xBA, 0xD5, 0x5F, 0xA8, 0xE0, 0xA3, +0x51, 0x05, 0x1E, 0x37, 0x8B, 0xF5, 0x8D, 0xBE, 0xB5, 0x7D, 0xFE, 0x38, 0x83, 0x10, 0x43, 0x97, +0x77, 0x95, 0x7C, 0x6C, 0x8E, 0x6B, 0x34, 0x9F, 0x2B, 0xDC, 0x0D, 0x1E, 0xF2, 0x9E, 0xD1, 0x77, +0xBB, 0x23, 0xE9, 0xC4, 0xE3, 0x43, 0x31, 0x88, 0xED, 0x20, 0x4A, 0x62, 0x35, 0xD2, 0x91, 0xEF, +0x50, 0xBA, 0x9B, 0xBE, 0x23, 0x3E, 0x20, 0xC4, 0x95, 0x08, 0x91, 0x22, 0x26, 0x8E, 0x96, 0x96, +0x56, 0x91, 0x0F, 0x0D, 0xDA, 0xB9, 0xC5, 0x87, 0xA4, 0xFA, 0x87, 0xF8, 0xD0, 0xE8, 0xF3, 0x21, +0xD9, 0x84, 0xE8, 0x68, 0x6F, 0x7A, 0x64, 0x21, 0x43, 0x84, 0x2D, 0x2C, 0x25, 0xF0, 0x51, 0x41, +0x88, 0x60, 0xAD, 0x21, 0xE4, 0x46, 0xDF, 0xF5, 0x46, 0x5F, 0xD7, 0x3C, 0x7F, 0xB4, 0xB2, 0xF9, +0x70, 0xB5, 0x8A, 0x7C, 0x4C, 0x8F, 0x2B, 0xF9, 0x48, 0x84, 0x78, 0xFE, 0x21, 0x3E, 0xA4, 0xAD, +0x4B, 0x88, 0x96, 0x58, 0xEF, 0x5E, 0x5C, 0xF8, 0x7C, 0x48, 0x93, 0xED, 0xB4, 0x44, 0xE9, 0x36, +0xF1, 0x51, 0x8F, 0xC8, 0x34, 0x11, 0xF2, 0xC0, 0x8C, 0x0D, 0x8E, 0x71, 0xD3, 0xE2, 0x23, 0xE2, +0x21, 0x25, 0x87, 0xE8, 0x6F, 0x61, 0x58, 0xE8, 0x59, 0xE7, 0x53, 0x9D, 0x53, 0xD5, 0x6E, 0x5C, +0x3E, 0x92, 0xEE, 0x1D, 0xFB, 0x68, 0xF9, 0x68, 0x3D, 0x04, 0x81, 0x4B, 0x97, 0x9B, 0xF0, 0x76, +0x9F, 0x90, 0x88, 0x87, 0x4F, 0xC8, 0x42, 0x0E, 0xD2, 0x78, 0xC8, 0xC2, 0x38, 0x7F, 0x44, 0xFF, +0x90, 0xF0, 0x10, 0x87, 0x8F, 0x3B, 0x1B, 0x91, 0x87, 0x63, 0xE4, 0xE1, 0x91, 0x08, 0x99, 0x1A, +0x26, 0x32, 0x89, 0x78, 0xF8, 0x84, 0xBC, 0xDB, 0x00, 0xF2, 0xAE, 0x01, 0xC8, 0xB5, 0xF8, 0x68, +0xB5, 0x2B, 0x52, 0x3A, 0x81, 0x8F, 0x7A, 0x13, 0x59, 0x3D, 0x84, 0x55, 0x56, 0x11, 0x8F, 0xBB, +0xF4, 0xAA, 0x8C, 0x87, 0xF8, 0x88, 0x3A, 0x0B, 0x26, 0x32, 0xB4, 0xEF, 0xD5, 0x12, 0x43, 0x3A, +0x9F, 0xEA, 0x98, 0x69, 0x86, 0x44, 0xC8, 0x8B, 0xB1, 0x01, 0x3E, 0x5E, 0x58, 0x84, 0x84, 0x43, +0x3D, 0xF5, 0x96, 0x01, 0xBA, 0x94, 0x23, 0x72, 0xAB, 0xB7, 0xA6, 0xEE, 0x00, 0xF8, 0x35, 0x2A, +0x7E, 0x76, 0xE9, 0x31, 0x7C, 0x51, 0x7D, 0xDF, 0x6F, 0xD6, 0x22, 0xA4, 0xD4, 0x16, 0x69, 0x1E, +0x93, 0x87, 0x94, 0x67, 0xDF, 0xC2, 0x82, 0xF1, 0xB8, 0x9A, 0x0F, 0x08, 0x29, 0x7A, 0x08, 0x7C, +0x88, 0x90, 0x6B, 0x87, 0x8F, 0x08, 0xC8, 0xBB, 0xA7, 0xE3, 0x88, 0xBC, 0xBE, 0xB8, 0x3E, 0x7A, +0x53, 0x05, 0x52, 0x33, 0x3E, 0x0E, 0x59, 0x66, 0xB1, 0xD0, 0x7A, 0x08, 0x23, 0xDB, 0xB9, 0x87, +0xAC, 0xCA, 0x84, 0x24, 0xFF, 0x50, 0x8F, 0x2A, 0xFA, 0xC7, 0x37, 0x8F, 0x37, 0xB1, 0x35, 0xCB, +0xAC, 0x75, 0x49, 0xAF, 0x74, 0x20, 0x82, 0xC8, 0xBD, 0xC3, 0x07, 0xFD, 0x36, 0xF3, 0x0A, 0x9E, +0xD4, 0xD2, 0x16, 0xEF, 0x77, 0x08, 0xB9, 0x97, 0x7F, 0x20, 0xC3, 0x3E, 0x16, 0x7C, 0xDB, 0x6F, +0xF4, 0xF5, 0x47, 0xFD, 0xE3, 0x53, 0xE0, 0x38, 0x83, 0x10, 0x8B, 0x8F, 0x3B, 0x07, 0x91, 0xCD, +0xA1, 0x7C, 0xE0, 0x21, 0xD3, 0xC9, 0x76, 0xB0, 0xC3, 0x87, 0x43, 0x88, 0x12, 0xB7, 0x11, 0x10, +0xA9, 0x79, 0x35, 0xD4, 0xE2, 0xFD, 0x7F, 0x3A, 0xDA, 0x8E, 0xFB, 0xC7, 0x1C, 0x3E, 0x0E, 0x25, +0x44, 0x34, 0xB4, 0x44, 0x48, 0xCD, 0x33, 0xDB, 0x61, 0xE3, 0xCE, 0x5C, 0x65, 0xAD, 0xEE, 0xE0, +0x23, 0xF4, 0xE1, 0x7D, 0x9F, 0xA4, 0xB5, 0x46, 0x4B, 0x47, 0x1C, 0xAD, 0xE5, 0x15, 0x84, 0x38, +0xEB, 0x2B, 0xBA, 0x10, 0xC0, 0x34, 0x40, 0x84, 0x17, 0xF9, 0xFB, 0x8B, 0xFE, 0xD1, 0x00, 0x82, +0x5E, 0x95, 0xF8, 0xD0, 0x77, 0xA4, 0x15, 0x3D, 0x44, 0x62, 0x36, 0xCB, 0x71, 0xC8, 0xCA, 0x76, +0x8E, 0x95, 0xDA, 0x81, 0x7C, 0x40, 0xC8, 0x3C, 0x04, 0x22, 0x83, 0x4A, 0x7C, 0x40, 0xC8, 0xAC, +0xE4, 0x1F, 0x09, 0x10, 0xE9, 0x74, 0xF0, 0xBD, 0xF0, 0x81, 0x76, 0xDB, 0x31, 0xFF, 0x98, 0x83, +0xC7, 0xA1, 0x84, 0x30, 0x85, 0xA4, 0xB5, 0xD8, 0xCE, 0xB5, 0x3A, 0x1B, 0x59, 0x5F, 0x11, 0x7F, +0xF0, 0xBC, 0xE8, 0xDB, 0xF3, 0x29, 0x00, 0xC5, 0x3C, 0xDA, 0x2D, 0xC3, 0x3F, 0x50, 0x29, 0x99, +0xF5, 0x55, 0x76, 0xBC, 0xCB, 0x44, 0x32, 0x22, 0xC8, 0xF5, 0x62, 0x1F, 0x1D, 0x42, 0xEE, 0x0B, +0xE1, 0x79, 0xA6, 0x42, 0xFE, 0xAA, 0x09, 0x3F, 0xD2, 0xF7, 0x4D, 0xC9, 0xAC, 0x61, 0xFF, 0xC0, +0x89, 0x09, 0x44, 0x56, 0x2B, 0x97, 0x8F, 0xBB, 0x31, 0x44, 0x1E, 0x2E, 0x0F, 0xE6, 0x03, 0xC5, +0x82, 0xC8, 0x7B, 0xDB, 0xD8, 0xE7, 0xF1, 0x79, 0x12, 0x36, 0xF0, 0x0F, 0xB4, 0xDD, 0xCD, 0xC6, +0xF9, 0x00, 0x10, 0x69, 0xC4, 0x3F, 0x10, 0x88, 0x4C, 0x3C, 0xFF, 0x38, 0x9C, 0x90, 0x55, 0xE8, +0xC1, 0x3A, 0x92, 0xD8, 0xBE, 0xCB, 0x20, 0x59, 0x8D, 0xA7, 0xAF, 0xD2, 0xE3, 0x6C, 0x38, 0x0E, +0xE1, 0xEC, 0xF8, 0xF8, 0x0D, 0x60, 0xA8, 0xC5, 0xED, 0x6C, 0xED, 0xCE, 0x03, 0xFF, 0x30, 0x09, +0xF9, 0x2A, 0x05, 0xDC, 0x74, 0x79, 0x48, 0x1B, 0x6A, 0xEC, 0x3B, 0xC8, 0x2D, 0xEF, 0xE3, 0x2F, +0x8C, 0xF1, 0x81, 0xF0, 0x10, 0x3E, 0x36, 0x8F, 0xD6, 0x3F, 0xC2, 0xB7, 0xC4, 0x41, 0x9A, 0xE0, +0x2B, 0xCE, 0x4E, 0x6F, 0x93, 0xB2, 0x99, 0xD4, 0x58, 0xE9, 0x1F, 0x50, 0x81, 0x73, 0xC4, 0xA8, +0xF3, 0xDF, 0xF1, 0x01, 0x21, 0x5D, 0x6D, 0xDB, 0x11, 0x3E, 0xD0, 0x70, 0x41, 0x44, 0xCB, 0xAB, +0x7D, 0x40, 0xFA, 0xC2, 0x0F, 0xF8, 0xC8, 0x3C, 0x24, 0x06, 0x22, 0xAC, 0xF0, 0x26, 0xCD, 0xB8, +0xEB, 0xE5, 0xA3, 0x3E, 0x97, 0x45, 0xBA, 0x37, 0x3C, 0xC2, 0x82, 0x4B, 0x6A, 0xD7, 0x5E, 0xFB, +0x1A, 0xE5, 0xA3, 0xD3, 0x7B, 0x73, 0x59, 0xED, 0x46, 0x48, 0xEF, 0x62, 0x1F, 0x37, 0x0D, 0x22, +0xCD, 0xAB, 0x82, 0x7F, 0x18, 0x84, 0x50, 0xFE, 0xC8, 0x3A, 0xE9, 0xDE, 0xBE, 0x18, 0xE4, 0xAB, +0x5E, 0x42, 0xEE, 0x0D, 0x3E, 0x0C, 0x0F, 0x49, 0x5F, 0x94, 0x31, 0xE6, 0x7B, 0xC3, 0x74, 0x8C, +0xC6, 0x1F, 0x6C, 0x91, 0xCC, 0x72, 0xF8, 0xB8, 0xCB, 0x11, 0x59, 0x3D, 0xF0, 0x92, 0xF4, 0xD5, +0x81, 0x7C, 0x40, 0xC8, 0x76, 0xAA, 0x20, 0x20, 0x8C, 0x32, 0x0F, 0x8D, 0xA9, 0xFC, 0x81, 0xD0, +0x90, 0x87, 0x88, 0x08, 0x00, 0x19, 0xF3, 0x90, 0x93, 0xA3, 0x1E, 0x51, 0x10, 0x99, 0x03, 0xEA, +0x96, 0xF2, 0x60, 0x81, 0x10, 0x43, 0x0F, 0x9B, 0x0C, 0x85, 0x18, 0xC3, 0xA5, 0x69, 0xEE, 0x99, +0xFA, 0xD5, 0x20, 0x1F, 0x2C, 0x07, 0x38, 0x01, 0x66, 0x1E, 0xD2, 0x2E, 0x2B, 0x16, 0x8B, 0x75, +0x3C, 0x4A, 0x38, 0xA3, 0x06, 0x17, 0x59, 0x7C, 0x63, 0xC5, 0x1F, 0x10, 0xE2, 0xF1, 0x41, 0x87, +0x0B, 0x48, 0x21, 0xFE, 0xD8, 0xEF, 0xC5, 0xF5, 0x95, 0x13, 0x87, 0x84, 0x2F, 0x17, 0x92, 0x75, +0x20, 0x12, 0x02, 0x91, 0xFE, 0x3C, 0x06, 0x68, 0xA8, 0x31, 0x93, 0x1A, 0x6A, 0xCA, 0x1F, 0x18, +0x87, 0x7C, 0x83, 0x1F, 0x1C, 0x52, 0xFE, 0xC8, 0x45, 0x41, 0x44, 0x9A, 0xAA, 0x25, 0xFB, 0xD0, +0x53, 0x28, 0x9F, 0xF7, 0xEB, 0x64, 0xD0, 0x3F, 0x72, 0x40, 0x7A, 0xD3, 0xBD, 0x2A, 0x9F, 0x8F, +0x10, 0x22, 0x09, 0xCF, 0x80, 0xC9, 0x54, 0x1D, 0x3E, 0x10, 0xAA, 0xC1, 0x23, 0x14, 0x44, 0xD2, +0x0A, 0x6B, 0xA5, 0x81, 0xB3, 0x0D, 0xCA, 0x30, 0x19, 0x2A, 0x7F, 0xB0, 0x1E, 0x78, 0x1A, 0xF4, +0xE8, 0xC4, 0x21, 0x2D, 0x24, 0x21, 0xBD, 0x1B, 0x5B, 0x5A, 0x9A, 0x13, 0x90, 0x38, 0x7C, 0x40, +0xC8, 0xAB, 0xFE, 0xF0, 0x7C, 0x10, 0x90, 0xC4, 0x06, 0x4F, 0xCD, 0x90, 0xBD, 0xA7, 0x90, 0xCC, +0x22, 0xBD, 0x6B, 0x7A, 0x48, 0x80, 0x63, 0x6F, 0x35, 0x99, 0x4A, 0x86, 0xE3, 0xF1, 0x47, 0x67, +0x26, 0xA5, 0xE5, 0xCA, 0xE5, 0xE3, 0xAE, 0x63, 0x1C, 0xEA, 0x71, 0x7D, 0xF5, 0x5F, 0xF8, 0x07, +0x84, 0x04, 0x13, 0x09, 0x47, 0x66, 0x34, 0x93, 0x29, 0xFE, 0x81, 0x28, 0x88, 0x8C, 0xF8, 0x07, +0x80, 0x40, 0x48, 0x5E, 0xFE, 0x18, 0x91, 0xDC, 0x2B, 0x51, 0x1A, 0x1C, 0x8D, 0xF2, 0x39, 0x42, +0xF5, 0x25, 0x43, 0x72, 0xBA, 0x0F, 0xB9, 0x4D, 0x13, 0xAB, 0xA3, 0x1C, 0x0F, 0xF8, 0x60, 0x3D, +0x80, 0xCE, 0x58, 0x47, 0xA8, 0x2D, 0x02, 0x1F, 0x37, 0x4F, 0xC7, 0x09, 0x64, 0xC4, 0x83, 0x48, +0x83, 0xC3, 0xC7, 0x58, 0x41, 0x44, 0x7C, 0x8C, 0x1C, 0xF1, 0x60, 0x01, 0x29, 0xB7, 0x3E, 0x21, +0xF0, 0x61, 0x7B, 0x08, 0xFC, 0x87, 0xD6, 0x79, 0xF5, 0xCD, 0x62, 0x2F, 0x0E, 0x21, 0x92, 0x63, +0x3A, 0x89, 0xD4, 0xEB, 0xCB, 0x1F, 0x2B, 0xB6, 0x0C, 0xFF, 0x30, 0xF1, 0xA0, 0x20, 0x12, 0xCE, +0xD8, 0x81, 0x11, 0xCA, 0x1F, 0xC3, 0x84, 0xBC, 0xEE, 0xDA, 0xC7, 0xE9, 0xBB, 0x19, 0x20, 0x48, +0x7F, 0xEA, 0xF2, 0x41, 0x32, 0x6B, 0xB2, 0x0D, 0xFE, 0x01, 0x1F, 0x06, 0x20, 0x96, 0x8B, 0xC4, +0x08, 0x84, 0x93, 0x0D, 0x74, 0xA0, 0xC1, 0x50, 0x3D, 0xA5, 0x77, 0xD9, 0x95, 0x7A, 0xD0, 0xA8, +0x87, 0xA4, 0xE7, 0xC6, 0x3F, 0xF2, 0x83, 0x46, 0x8D, 0xA3, 0xE7, 0x66, 0x3F, 0xFE, 0xF0, 0x08, +0xC1, 0x3F, 0xC6, 0xFA, 0x13, 0x1E, 0xC4, 0xE7, 0x5F, 0xB9, 0x84, 0x50, 0xFE, 0xF0, 0x3D, 0x04, +0x24, 0x08, 0xBA, 0x78, 0x16, 0x21, 0xC4, 0x21, 0x69, 0x0B, 0x31, 0x93, 0xDA, 0xEA, 0x2F, 0x88, +0xB0, 0x8F, 0xFA, 0x3D, 0x84, 0xD0, 0xF2, 0xB0, 0xF2, 0x60, 0x81, 0x90, 0xE8, 0x21, 0x52, 0x88, +0x8E, 0x07, 0xF8, 0x20, 0xDD, 0x9B, 0x11, 0x02, 0x0F, 0x00, 0x02, 0x21, 0x64, 0xB9, 0x2E, 0xC4, +0x47, 0x41, 0xDB, 0x16, 0x0F, 0x51, 0xBA, 0x23, 0x3C, 0x47, 0xFF, 0x36, 0x99, 0x05, 0x0F, 0x1B, +0xC8, 0x60, 0xE5, 0x95, 0xB5, 0xCC, 0x3F, 0xD2, 0x2E, 0x64, 0x41, 0x80, 0xE2, 0x4B, 0xD6, 0x58, +0x4F, 0xF1, 0x79, 0x3A, 0x5E, 0x40, 0x84, 0xF5, 0xB9, 0xED, 0x1F, 0x14, 0x44, 0x10, 0x47, 0xB7, +0x15, 0x87, 0x88, 0x0F, 0x9B, 0x10, 0xCA, 0x1F, 0xBE, 0x87, 0x2C, 0x32, 0xDB, 0xC8, 0xB6, 0xD7, +0x91, 0x90, 0xD4, 0x30, 0xE2, 0xD4, 0x98, 0xC4, 0xA7, 0xA1, 0xE0, 0x1F, 0x98, 0x05, 0x70, 0xA4, +0xAD, 0x43, 0xD2, 0x57, 0x16, 0x21, 0x53, 0x2D, 0xAF, 0x28, 0x7F, 0x18, 0x84, 0xE0, 0x1F, 0xC3, +0x80, 0x50, 0x54, 0x7F, 0x0D, 0x1F, 0x23, 0x4A, 0x71, 0xC8, 0x64, 0x4A, 0xFA, 0xEA, 0xBF, 0x27, +0x44, 0x74, 0xE4, 0x45, 0x91, 0x92, 0x87, 0xAC, 0x58, 0x2C, 0xB3, 0x10, 0xE8, 0xB4, 0x20, 0xAE, +0x2F, 0x8A, 0xE1, 0x39, 0x39, 0xAC, 0xBC, 0x35, 0x31, 0x89, 0x6B, 0x1F, 0x10, 0x02, 0x1F, 0x25, +0x3C, 0x9A, 0x46, 0x7C, 0x5E, 0xC6, 0x89, 0x74, 0x2F, 0xE1, 0xB9, 0x8F, 0xC8, 0x82, 0x00, 0x24, +0x34, 0x42, 0x11, 0x3C, 0xA4, 0x9D, 0x1B, 0x96, 0x57, 0x49, 0x4C, 0x22, 0xE7, 0xA0, 0x4E, 0x41, +0x24, 0x9A, 0xFE, 0x5D, 0x3F, 0x22, 0x2B, 0x72, 0x59, 0xEA, 0xAE, 0x7D, 0xF8, 0x7C, 0x50, 0x32, +0x94, 0x04, 0x09, 0x7C, 0x8C, 0x12, 0xD2, 0x29, 0x9F, 0xF7, 0x00, 0x82, 0x3A, 0xE5, 0x73, 0x87, +0x10, 0x99, 0xD8, 0x60, 0xF9, 0xE3, 0x3F, 0x2C, 0x88, 0x80, 0xC5, 0x43, 0x2C, 0xB3, 0x87, 0x91, +0x21, 0xBE, 0x71, 0x79, 0x46, 0x79, 0x90, 0x7D, 0xDA, 0x1F, 0x85, 0xA8, 0x85, 0xE8, 0x23, 0xF1, +0xD1, 0xA9, 0x0D, 0x86, 0xA6, 0x9F, 0x34, 0x9B, 0x1C, 0x36, 0x9E, 0x7F, 0x40, 0x88, 0xEB, 0x1F, +0xF9, 0x85, 0x59, 0xE0, 0xE4, 0x11, 0xF2, 0x35, 0x80, 0x58, 0x84, 0x2C, 0xB2, 0xF5, 0x15, 0xA7, +0x06, 0x9C, 0x65, 0x9D, 0x3C, 0x44, 0x3D, 0x07, 0xA3, 0x5F, 0x9C, 0x9C, 0x46, 0x0B, 0x1F, 0xB0, +0x91, 0xF4, 0x5F, 0xFA, 0x47, 0x9E, 0xEE, 0xC5, 0x3F, 0x0A, 0x84, 0x90, 0xEE, 0x7D, 0x77, 0x14, +0x10, 0x3C, 0x64, 0x76, 0x84, 0x0A, 0x71, 0x88, 0xCF, 0xC7, 0xE1, 0x1E, 0xD2, 0x66, 0xB4, 0x56, +0x71, 0x09, 0x9B, 0x8B, 0x48, 0x7E, 0x19, 0x85, 0x79, 0x90, 0x95, 0xCC, 0x5A, 0x50, 0x5A, 0x41, +0x64, 0x69, 0x5D, 0x35, 0x70, 0x79, 0xC2, 0x44, 0x4F, 0xF8, 0x87, 0xA7, 0x74, 0x00, 0x5B, 0x78, +0xA4, 0x9A, 0xBA, 0x69, 0x20, 0x14, 0x44, 0xC4, 0x87, 0x2B, 0xD6, 0x57, 0x7B, 0xAD, 0xFD, 0xE2, +0x7D, 0x45, 0x75, 0x66, 0x11, 0x52, 0xF2, 0x46, 0x41, 0x24, 0xBF, 0xFC, 0x0A, 0x38, 0xDA, 0x73, +0x1A, 0xA1, 0xA4, 0x5E, 0xD7, 0xA7, 0xAF, 0x7C, 0x42, 0xE0, 0xA3, 0xAC, 0x19, 0x7C, 0xF4, 0x03, +0x82, 0x5E, 0x53, 0x3E, 0xB7, 0x10, 0x81, 0x8F, 0xFF, 0x85, 0x90, 0xE4, 0x0F, 0x61, 0x48, 0x62, +0xAA, 0xDB, 0x2D, 0x7A, 0xB7, 0x3C, 0xA8, 0x61, 0xD0, 0x41, 0x28, 0x88, 0xDC, 0xAC, 0x31, 0x8A, +0xF6, 0x41, 0x03, 0x12, 0x3D, 0x2C, 0xFB, 0x20, 0x54, 0xA7, 0xFC, 0x61, 0xF5, 0xF6, 0xB7, 0x07, +0x5D, 0x42, 0x6E, 0xEF, 0xE1, 0xC3, 0x51, 0x6F, 0x78, 0x4E, 0xCB, 0x5F, 0x63, 0x1F, 0x67, 0x70, +0xD1, 0x6F, 0x21, 0x89, 0x90, 0xB3, 0xE5, 0x48, 0xE1, 0x03, 0x11, 0x9E, 0xD7, 0xFB, 0x47, 0x05, +0x21, 0xF0, 0xE1, 0x11, 0x32, 0x7B, 0xFD, 0xAE, 0x01, 0x88, 0x44, 0x79, 0xD0, 0x44, 0x04, 0x3C, +0x6A, 0x09, 0xF1, 0xD2, 0xBD, 0x2C, 0x69, 0x39, 0x2F, 0x01, 0x4D, 0x5E, 0x32, 0xA4, 0x7A, 0x0E, +0x23, 0x1A, 0x69, 0xDD, 0x34, 0xFE, 0x22, 0x39, 0x46, 0x4F, 0xE2, 0x53, 0x43, 0x7E, 0x14, 0x99, +0x7C, 0x90, 0xCC, 0x82, 0x0F, 0xC3, 0x43, 0x6E, 0xB1, 0x0F, 0xAF, 0x93, 0xDE, 0xB5, 0x24, 0x3E, +0xF8, 0x32, 0xC3, 0x68, 0x24, 0xBF, 0xBC, 0x59, 0x64, 0x97, 0xEF, 0x82, 0x4A, 0xDE, 0xA2, 0xF2, +0xE5, 0xD5, 0x5D, 0x16, 0x91, 0xA7, 0xCE, 0x1F, 0xD4, 0xFB, 0x47, 0x05, 0x21, 0x1E, 0x1E, 0xA4, +0x7B, 0x65, 0x1F, 0x26, 0x20, 0xB3, 0xC9, 0xF6, 0xC8, 0x96, 0xEE, 0x65, 0x0D, 0x1F, 0xFF, 0x1B, +0x21, 0x4C, 0x2F, 0x5B, 0x38, 0x37, 0x36, 0xA2, 0xD7, 0xD9, 0xA9, 0x0D, 0x52, 0x06, 0xCE, 0x7C, +0x37, 0xEB, 0xBE, 0x83, 0x64, 0x20, 0x84, 0x5D, 0xC0, 0x87, 0xE9, 0x21, 0x14, 0xFC, 0x9C, 0x4E, +0xFE, 0xCA, 0xE8, 0xB2, 0x1C, 0xE2, 0x73, 0x4F, 0x7C, 0x47, 0x96, 0x93, 0x64, 0xEA, 0x16, 0x4F, +0x56, 0x9A, 0x0A, 0x22, 0xFA, 0x3F, 0xA0, 0x71, 0x60, 0x50, 0xC9, 0x04, 0x38, 0xA3, 0x75, 0x0F, +0x61, 0x12, 0x46, 0x5C, 0xA5, 0xA6, 0xFC, 0xF1, 0x8E, 0x32, 0xFF, 0x73, 0x0E, 0x34, 0x27, 0x54, +0xDF, 0x5D, 0x5F, 0x57, 0x00, 0xB2, 0xFD, 0xD6, 0x05, 0xE4, 0x62, 0x56, 0xE1, 0x20, 0xE1, 0x5E, +0xBD, 0x55, 0x1F, 0x7C, 0x53, 0x57, 0x15, 0x7A, 0x78, 0x48, 0x84, 0xE0, 0x21, 0x99, 0x55, 0x3F, +0x60, 0x28, 0x21, 0x0A, 0xE9, 0x9C, 0xE4, 0xD8, 0x81, 0xBD, 0x4D, 0x06, 0xC2, 0x51, 0xC1, 0xD1, +0xB2, 0x47, 0x0B, 0x21, 0xEC, 0x63, 0xCD, 0xF1, 0x18, 0x1D, 0xC4, 0xED, 0x6A, 0x7F, 0xFD, 0x25, +0x1F, 0xF1, 0x01, 0xB9, 0xA5, 0x00, 0xE2, 0xF1, 0xF1, 0x98, 0x31, 0x1F, 0x69, 0x48, 0x5F, 0x3F, +0x6C, 0x76, 0xC3, 0xAF, 0x4F, 0xC1, 0x22, 0x8E, 0xBD, 0x16, 0xC2, 0xD5, 0xEF, 0x59, 0xF2, 0x3D, +0x94, 0x3D, 0xC0, 0x83, 0x70, 0x5D, 0x7F, 0x22, 0x3E, 0x1E, 0x2A, 0x1D, 0x64, 0x33, 0xAF, 0x53, +0x15, 0x21, 0x27, 0xB3, 0x53, 0x0F, 0x90, 0xD3, 0xD9, 0x8C, 0x18, 0xC4, 0xE0, 0x63, 0x3E, 0x15, +0x21, 0xBE, 0x8E, 0x91, 0x75, 0xDA, 0x80, 0x10, 0x89, 0xD9, 0x5E, 0xE9, 0x81, 0x83, 0x90, 0xFF, +0x5D, 0x4A, 0x2C, 0x94, 0xD9, 0x95, 0x43, 0xD2, 0x61, 0x9F, 0x4A, 0x1F, 0x9C, 0x52, 0xF7, 0x80, +0xE1, 0x27, 0x12, 0x84, 0x38, 0x31, 0xC8, 0x67, 0xC4, 0x20, 0x0E, 0x1F, 0x92, 0xED, 0x21, 0x7A, +0xE8, 0xDF, 0xC7, 0x43, 0x2C, 0x3E, 0x44, 0x81, 0x1A, 0xF9, 0x2A, 0x82, 0xAC, 0xF8, 0x2D, 0x3B, +0xC6, 0xA2, 0xA9, 0x01, 0x0B, 0xA6, 0x71, 0x60, 0x36, 0x63, 0x06, 0x71, 0x20, 0x7B, 0x42, 0xA2, +0x85, 0x15, 0x72, 0xA3, 0x9A, 0x83, 0xA1, 0x6A, 0x8D, 0x15, 0x0E, 0xCB, 0x89, 0x4F, 0x88, 0x0E, +0x7A, 0x08, 0xE9, 0x03, 0x04, 0xFF, 0x50, 0x13, 0x21, 0x3B, 0x97, 0x8F, 0xF9, 0x54, 0xF2, 0xF9, +0xA8, 0x0B, 0xCB, 0x36, 0x0F, 0x0D, 0x21, 0x72, 0xE5, 0x55, 0x9F, 0x87, 0x00, 0x4E, 0xF0, 0x11, +0x6E, 0x73, 0x02, 0x1A, 0xA3, 0xB9, 0x97, 0x80, 0x87, 0xA4, 0x03, 0x9F, 0x8C, 0x27, 0x59, 0xAC, +0x7C, 0x51, 0xAE, 0xB7, 0xD5, 0x11, 0xA2, 0xC3, 0x37, 0x46, 0xE9, 0x1E, 0x1F, 0x2F, 0xFF, 0x0A, +0x7A, 0xA9, 0x6D, 0xD7, 0x3F, 0xA8, 0x82, 0x98, 0x7C, 0x48, 0x37, 0x7C, 0xC7, 0xDC, 0x29, 0x3B, +0x2F, 0xE2, 0xD4, 0xE0, 0x1D, 0x61, 0x18, 0xB6, 0x90, 0x74, 0xA3, 0x1F, 0x38, 0x68, 0x8D, 0x9F, +0xA2, 0x39, 0x7B, 0x4D, 0xFE, 0xA1, 0x3D, 0xDB, 0x34, 0x47, 0xF5, 0x1E, 0x92, 0x8E, 0x4A, 0x08, +0x31, 0xF8, 0x80, 0x90, 0x31, 0x40, 0x66, 0x8D, 0x7F, 0x34, 0x11, 0xBD, 0x2E, 0x80, 0xB4, 0xF9, +0x90, 0xCC, 0x3C, 0xD6, 0xA6, 0x8A, 0x8F, 0xCD, 0x46, 0x53, 0x18, 0xE6, 0xB1, 0xEB, 0x21, 0x3C, +0x53, 0x0B, 0x51, 0xA3, 0x52, 0x88, 0x87, 0xF4, 0xD4, 0x7F, 0x21, 0x26, 0x02, 0x22, 0xED, 0xC7, +0xAB, 0xB8, 0x06, 0x8B, 0xF2, 0xC7, 0xF5, 0x8B, 0x0A, 0x42, 0x5E, 0x04, 0x3E, 0x04, 0x88, 0xEE, +0x82, 0xF5, 0xD2, 0xE6, 0xA3, 0xC6, 0x43, 0x1A, 0x3C, 0x3E, 0xF3, 0x3D, 0xE4, 0xB1, 0x15, 0x5F, +0x8E, 0x4B, 0x06, 0x70, 0x15, 0xF8, 0x88, 0x84, 0x2C, 0xF6, 0xD3, 0x57, 0x6C, 0xA1, 0x65, 0xD4, +0x27, 0x22, 0x64, 0xC5, 0x82, 0x37, 0xBF, 0x20, 0x9B, 0xEB, 0x78, 0xC3, 0x6E, 0x0D, 0xBD, 0x4E, +0x36, 0x1F, 0x35, 0x84, 0x5C, 0x47, 0x3E, 0xD4, 0x47, 0x01, 0x81, 0x8F, 0x48, 0x48, 0xF1, 0x9F, +0x3D, 0x4A, 0x7C, 0x24, 0x42, 0xDE, 0x31, 0xFD, 0xC3, 0xB7, 0x0F, 0x29, 0xCC, 0xE2, 0x73, 0xF9, +0x43, 0xEE, 0x21, 0x7B, 0xF3, 0xFF, 0xC0, 0x4D, 0xCC, 0xF0, 0x10, 0x34, 0xE8, 0x1F, 0x10, 0x92, +0xB7, 0xCC, 0x4E, 0x90, 0x83, 0x87, 0xF8, 0xE0, 0x3E, 0x71, 0x65, 0x3C, 0xE0, 0xC3, 0x23, 0xE4, +0xAB, 0xCF, 0x82, 0x7F, 0x08, 0x11, 0xD3, 0x43, 0xF8, 0xF4, 0x38, 0xE2, 0x7E, 0xC2, 0x97, 0x6A, +0xE1, 0x02, 0x42, 0xFA, 0xD6, 0xAB, 0xB9, 0x7F, 0xA0, 0x55, 0x37, 0x2C, 0x8F, 0xB5, 0x2B, 0x92, +0x59, 0x09, 0x92, 0x78, 0xE2, 0xFB, 0x9F, 0x3C, 0x84, 0xA3, 0x52, 0xB9, 0xAC, 0x6B, 0x8B, 0x8F, +0xD4, 0x67, 0x63, 0x80, 0xC0, 0x47, 0x00, 0xAA, 0x74, 0xAD, 0xC9, 0xF5, 0x6E, 0x1A, 0x3F, 0x88, +0xED, 0x21, 0xB5, 0xCB, 0xAB, 0xE3, 0xD4, 0x9A, 0xAE, 0x2A, 0xE1, 0x5E, 0x1C, 0xC2, 0x4B, 0xFC, +0x03, 0x42, 0xCE, 0xC6, 0x1C, 0x04, 0x3E, 0x82, 0xFA, 0x4A, 0x20, 0x5C, 0x0D, 0x1E, 0xC6, 0xC7, +0x37, 0xF5, 0xC2, 0xF5, 0x8F, 0xD6, 0x43, 0x8A, 0xE1, 0x07, 0x7C, 0x18, 0x84, 0x04, 0x3E, 0x5A, +0x59, 0x1E, 0xD2, 0x78, 0x1F, 0xC2, 0x39, 0x7A, 0x5A, 0x18, 0x98, 0x19, 0x3C, 0x64, 0xE4, 0xCA, +0x84, 0x65, 0x47, 0x5C, 0xFC, 0x90, 0x95, 0x3F, 0xDA, 0xB5, 0x57, 0xF2, 0x8F, 0x16, 0x92, 0x3A, +0x39, 0x7C, 0xA0, 0xF9, 0x54, 0x84, 0x94, 0xF9, 0x80, 0x90, 0x11, 0x40, 0x5E, 0x83, 0x47, 0x99, +0x90, 0x6B, 0xF1, 0x11, 0x3F, 0x09, 0xB4, 0x1A, 0x57, 0xF3, 0xDA, 0x4A, 0xF3, 0xC7, 0x89, 0x26, +0xF7, 0x90, 0xDC, 0x42, 0x96, 0x08, 0x0F, 0x19, 0x34, 0x10, 0xF8, 0x00, 0x91, 0x75, 0x8E, 0x07, +0xA3, 0x9E, 0xBB, 0x5A, 0x9B, 0x7C, 0x70, 0x35, 0xEF, 0xB8, 0x7F, 0x00, 0x07, 0x71, 0x48, 0x29, +0xFC, 0x80, 0x90, 0x62, 0x32, 0x2B, 0xFF, 0xF4, 0xFB, 0x89, 0xDD, 0xC7, 0xEE, 0x76, 0x12, 0x84, +0x48, 0xC3, 0x41, 0xC8, 0x32, 0x53, 0x56, 0x41, 0x27, 0x97, 0x15, 0x5F, 0x47, 0xFF, 0x50, 0x4B, +0x4F, 0x95, 0xDA, 0x38, 0x7C, 0xF8, 0x84, 0x5C, 0x07, 0x3C, 0x20, 0x64, 0xF0, 0x72, 0xF7, 0xD3, +0xE8, 0x1F, 0x74, 0xDD, 0x2E, 0x6E, 0x37, 0xCA, 0xC7, 0xB4, 0x2B, 0x6B, 0x79, 0xE5, 0x03, 0xD2, +0xB6, 0x4D, 0x82, 0x64, 0x93, 0x59, 0x48, 0x27, 0xA1, 0x25, 0x3E, 0x7E, 0xDC, 0x23, 0x84, 0x6B, +0x50, 0x87, 0xC3, 0x0F, 0xD4, 0x1E, 0x35, 0x70, 0xC1, 0x08, 0x1F, 0x0E, 0x21, 0x3A, 0x5A, 0xC1, +0xC3, 0x20, 0x04, 0xFF, 0x40, 0xE3, 0x1E, 0xD2, 0x40, 0xD1, 0x25, 0x04, 0x13, 0x19, 0xE1, 0x03, +0xDD, 0xB4, 0x39, 0x2B, 0x32, 0xBB, 0xED, 0xF6, 0x1A, 0xFB, 0x80, 0x90, 0xCE, 0x34, 0x8E, 0xFB, +0x47, 0xB3, 0x27, 0x88, 0xCA, 0x39, 0x85, 0x91, 0x73, 0x64, 0xB7, 0x86, 0xA1, 0x9A, 0x91, 0x8D, +0xC9, 0x07, 0x84, 0x8C, 0x20, 0x72, 0x72, 0xD1, 0x01, 0x04, 0x42, 0x72, 0x40, 0xDA, 0x77, 0x60, +0x21, 0x22, 0x64, 0x37, 0x5C, 0x1E, 0xE4, 0x83, 0xA0, 0x11, 0x0F, 0xD9, 0xF4, 0xC4, 0xE7, 0x23, +0x05, 0x91, 0x16, 0x8A, 0xF8, 0x9C, 0xFA, 0x9E, 0x87, 0xA0, 0xA5, 0xF6, 0x52, 0xAE, 0xC1, 0x00, +0x04, 0x3E, 0x10, 0x81, 0xC8, 0x7E, 0x06, 0x8B, 0xF5, 0x95, 0x47, 0xC8, 0x8B, 0x7B, 0x8E, 0x5F, +0x08, 0x29, 0xA4, 0x77, 0x73, 0xC9, 0x56, 0x8A, 0xFE, 0x81, 0xE4, 0x21, 0xE6, 0xFA, 0x0A, 0x13, +0x89, 0x0E, 0xD2, 0xF9, 0xA2, 0xE9, 0xEB, 0xEE, 0x2B, 0xBB, 0xDC, 0x84, 0x36, 0xF0, 0x3B, 0xB7, +0xE4, 0xB2, 0xDA, 0xDB, 0x34, 0xB1, 0x16, 0x4E, 0x91, 0x65, 0x6A, 0x69, 0xFB, 0x9D, 0x2A, 0x42, +0x0C, 0x3E, 0x10, 0x05, 0x91, 0x22, 0x1F, 0x78, 0x08, 0x80, 0xE0, 0x1F, 0x3D, 0x88, 0xCC, 0x76, +0x3B, 0x97, 0x0F, 0x08, 0xF9, 0xF7, 0xE5, 0x0F, 0x8C, 0x43, 0x8D, 0xED, 0x48, 0x08, 0x1E, 0xC2, +0x9C, 0x2F, 0x7B, 0x35, 0x6C, 0x20, 0xBD, 0x07, 0x41, 0x9E, 0xC9, 0x21, 0xD5, 0xF3, 0xA8, 0x43, +0x6C, 0x5F, 0x15, 0xBF, 0x4F, 0xF8, 0x59, 0x20, 0xC4, 0xE3, 0x03, 0x42, 0x2C, 0x3E, 0xF0, 0x10, +0xC7, 0x3F, 0xD0, 0xC0, 0x6F, 0xDC, 0xEA, 0x35, 0x42, 0x37, 0x44, 0x1E, 0x99, 0xE0, 0x23, 0xF3, +0x10, 0x4A, 0xB9, 0x78, 0xBE, 0x9E, 0xBA, 0xA1, 0xA5, 0x1E, 0xE9, 0x07, 0x75, 0xF2, 0xF8, 0x80, +0x90, 0xA3, 0xEB, 0x91, 0xF4, 0xEE, 0x30, 0x21, 0x00, 0x02, 0x1F, 0x59, 0x20, 0x52, 0x48, 0xEF, +0xE6, 0x32, 0xF8, 0x30, 0xD4, 0x31, 0x8E, 0x34, 0x84, 0x11, 0x0F, 0xE1, 0xB2, 0x50, 0x69, 0x39, +0xA0, 0xFE, 0x18, 0x04, 0x3C, 0x10, 0x71, 0xC8, 0x7A, 0xBF, 0x30, 0x30, 0xA4, 0x41, 0x3E, 0x30, +0x90, 0xCC, 0x43, 0x0C, 0x3E, 0x90, 0xFE, 0xD4, 0xE0, 0x03, 0x42, 0x3C, 0x3E, 0x50, 0xFA, 0x7E, +0x24, 0xAE, 0x86, 0xF9, 0xD0, 0x5B, 0x98, 0xC4, 0x31, 0xFF, 0x40, 0x2C, 0xAF, 0x3A, 0x31, 0x23, +0xA1, 0x25, 0x3B, 0x59, 0x9B, 0x78, 0x88, 0x29, 0x17, 0x0F, 0xD2, 0xBD, 0x65, 0x3E, 0xE8, 0xA7, +0x00, 0x02, 0x1F, 0x03, 0x7D, 0xE7, 0xF0, 0x81, 0x0A, 0xE9, 0x2B, 0xCF, 0x3F, 0x98, 0x37, 0xA6, +0x71, 0xCF, 0x43, 0xA8, 0x3A, 0x2D, 0x07, 0xF5, 0xE3, 0xBE, 0x89, 0x68, 0x8B, 0x83, 0x20, 0x17, +0x87, 0x09, 0x5B, 0xEB, 0xC7, 0x3A, 0x42, 0x58, 0x5F, 0x19, 0xAB, 0x2C, 0xCA, 0x1F, 0xA8, 0x90, +0xCC, 0x02, 0x0F, 0x8B, 0x90, 0xC7, 0x61, 0x91, 0xA4, 0xE3, 0x8A, 0xFE, 0xE1, 0xA9, 0x59, 0x8C, +0x94, 0x3F, 0x10, 0x1E, 0x92, 0x25, 0x19, 0x35, 0xA8, 0xB5, 0x4B, 0xE7, 0xC0, 0x08, 0xF6, 0x11, +0x5E, 0xD4, 0xC9, 0xE5, 0x03, 0x42, 0x7C, 0x3E, 0x2E, 0x44, 0x08, 0x80, 0x90, 0xDE, 0xED, 0x5F, +0x65, 0x11, 0x88, 0x64, 0xE5, 0x0F, 0x9B, 0x90, 0x4D, 0x7D, 0xF9, 0x3C, 0x35, 0xD6, 0x58, 0x3D, +0x1E, 0x92, 0xB6, 0x56, 0x59, 0x78, 0x3E, 0x10, 0x88, 0x14, 0xFC, 0x03, 0x44, 0x28, 0x9D, 0x47, +0x3B, 0x19, 0x53, 0x8F, 0x7F, 0x60, 0x1F, 0xB9, 0x44, 0xCE, 0x57, 0x1E, 0x1F, 0x10, 0xD2, 0x5F, +0xFE, 0xC8, 0x45, 0xBA, 0xD7, 0xE7, 0x03, 0x42, 0xB8, 0xA2, 0x1F, 0xFF, 0xE8, 0x25, 0xC4, 0xF2, +0x0F, 0xD4, 0x82, 0x91, 0x97, 0xCF, 0x49, 0x4E, 0xB2, 0x4A, 0xF8, 0xB7, 0x71, 0x08, 0x7C, 0xF8, +0x84, 0x9C, 0x70, 0xA0, 0xF7, 0x7A, 0x08, 0x80, 0xCC, 0x86, 0x01, 0x09, 0x84, 0x6C, 0x77, 0x2E, +0x1F, 0xA4, 0x7B, 0x0F, 0xE7, 0x03, 0x22, 0x62, 0xC7, 0x44, 0x36, 0xCD, 0xC8, 0x8C, 0xA7, 0x07, +0x3B, 0xC9, 0x08, 0x44, 0x4A, 0x7C, 0xEC, 0xDD, 0xD6, 0xE4, 0x71, 0x5C, 0x23, 0xE9, 0x5D, 0x04, +0x21, 0x14, 0xD5, 0x49, 0x5F, 0x8D, 0x13, 0x72, 0x6B, 0xF2, 0x01, 0x21, 0x3E, 0x1F, 0x59, 0x3E, +0x22, 0x2C, 0xB6, 0x46, 0x09, 0xF1, 0xFC, 0x03, 0x6D, 0xB2, 0xA4, 0x63, 0xDA, 0x9D, 0x78, 0x47, +0xBB, 0x79, 0x50, 0xBE, 0xD7, 0xE6, 0x83, 0x92, 0x21, 0xA2, 0xFC, 0x31, 0xD0, 0x67, 0x00, 0x02, +0x1F, 0x03, 0x1E, 0x72, 0x2D, 0x40, 0x28, 0x0F, 0x16, 0xF8, 0xA0, 0x64, 0x48, 0xFA, 0xAA, 0x46, +0x9C, 0x53, 0xD8, 0xE4, 0x27, 0x5D, 0x0F, 0xD1, 0xB8, 0x2C, 0xAA, 0x7B, 0xE9, 0xFB, 0x02, 0x8D, +0xC4, 0x21, 0x5C, 0xB7, 0xF8, 0xA2, 0x40, 0xC8, 0x0B, 0x23, 0xFC, 0x40, 0x59, 0x51, 0xFD, 0x36, +0x61, 0x30, 0x42, 0x88, 0xC9, 0x07, 0x84, 0xE4, 0xE9, 0x2B, 0x03, 0x91, 0x05, 0xE9, 0xBA, 0x82, +0xB2, 0xF2, 0x79, 0x51, 0x9D, 0xEA, 0x47, 0xF2, 0x8F, 0x76, 0x88, 0x90, 0x50, 0x12, 0xD9, 0x54, +0x17, 0xD5, 0x5D, 0x3E, 0x48, 0xF7, 0xE6, 0xE5, 0x8F, 0x02, 0x21, 0x11, 0x10, 0xF0, 0xE8, 0xEF, +0x94, 0x0C, 0x29, 0x7F, 0x8C, 0xEB, 0x00, 0xFF, 0x20, 0xFE, 0xC0, 0x83, 0x37, 0xE9, 0x91, 0xAD, +0xB2, 0xE4, 0x21, 0x68, 0x69, 0x88, 0x04, 0xCC, 0x8F, 0xE2, 0xA3, 0xA8, 0x37, 0xAF, 0x4B, 0x32, +0xB4, 0x7E, 0x83, 0x0F, 0xD6, 0x57, 0x63, 0xAB, 0xAC, 0x1E, 0xFF, 0x78, 0xE9, 0xAD, 0xB2, 0x46, +0xF0, 0xA0, 0x64, 0x68, 0xD8, 0xC7, 0x40, 0x51, 0xDD, 0x98, 0x1B, 0x82, 0xB9, 0xD1, 0xE5, 0x15, +0xC9, 0x2C, 0x16, 0xC3, 0xF0, 0xD1, 0x4D, 0x50, 0xB6, 0x74, 0xA8, 0x55, 0x23, 0xE2, 0xF2, 0x01, +0x21, 0xA4, 0x77, 0x0B, 0x80, 0x48, 0x01, 0x90, 0x8B, 0x32, 0x1F, 0xA1, 0x64, 0x68, 0xF0, 0x81, +0x2A, 0xC3, 0xF3, 0x0D, 0x5B, 0x7B, 0xC5, 0x0F, 0xB6, 0x98, 0xCF, 0x4D, 0x4C, 0xAD, 0x4B, 0xDA, +0x05, 0x86, 0xF0, 0x8F, 0x9B, 0x85, 0xA1, 0x37, 0x7E, 0x3D, 0xEA, 0xD1, 0x11, 0xE1, 0xF9, 0x67, +0x19, 0x1F, 0x63, 0xA1, 0xBA, 0x1A, 0x74, 0x8C, 0xE9, 0x96, 0xCB, 0x4B, 0xC4, 0x87, 0x41, 0x88, +0xE1, 0x1F, 0x18, 0x60, 0x72, 0x8E, 0xB5, 0xDA, 0xB8, 0x48, 0xF7, 0xDA, 0xFE, 0x81, 0x87, 0x28, +0xFE, 0x20, 0x8C, 0x7C, 0x78, 0x1E, 0xB7, 0x37, 0xCF, 0x37, 0xCF, 0x81, 0x23, 0x0C, 0x07, 0x05, +0x22, 0xF0, 0xE1, 0x13, 0x32, 0x83, 0x8F, 0x31, 0x0F, 0x11, 0x20, 0x06, 0x1F, 0xEA, 0x2A, 0x19, +0x6E, 0x03, 0x1F, 0xCE, 0x07, 0xA1, 0x20, 0x52, 0x1F, 0x9E, 0xC7, 0x29, 0xC4, 0x3A, 0xF0, 0x12, +0x68, 0xD1, 0xA6, 0x26, 0x1D, 0x3E, 0x1C, 0x42, 0x28, 0x0F, 0x3A, 0x4A, 0x09, 0x50, 0xF8, 0x70, +0x08, 0x79, 0xC1, 0xFA, 0xAA, 0x40, 0xC8, 0x4B, 0xF8, 0x70, 0x10, 0x09, 0x6F, 0xC6, 0x3F, 0x4A, +0x88, 0xA8, 0xA8, 0x8E, 0x7F, 0xF8, 0x1E, 0x62, 0xCE, 0xCC, 0xC2, 0xF4, 0x0F, 0x3C, 0x24, 0x95, +0x3F, 0x58, 0x08, 0x6C, 0xB2, 0x95, 0xD6, 0x73, 0x3D, 0xE8, 0x95, 0x1E, 0x02, 0x1F, 0x1E, 0x21, +0x47, 0xD7, 0xF8, 0x47, 0xB9, 0xEB, 0x7F, 0xB9, 0x35, 0x01, 0x39, 0x3D, 0x51, 0x8C, 0x73, 0x72, +0x64, 0xF9, 0x07, 0x81, 0xC8, 0x71, 0x1D, 0x20, 0x5C, 0x79, 0x05, 0x1D, 0x9B, 0x36, 0x90, 0xD3, +0x69, 0x87, 0x2B, 0x13, 0xE2, 0xA5, 0x8B, 0x4B, 0x5B, 0x67, 0x01, 0x11, 0xF0, 0x70, 0x56, 0x59, +0x8F, 0xBE, 0x62, 0xFC, 0x51, 0xC0, 0x23, 0xBF, 0xEC, 0x04, 0x3A, 0x4A, 0x32, 0xD7, 0x57, 0x14, +0xD5, 0x6D, 0x3E, 0x88, 0x43, 0xFC, 0xA9, 0xC1, 0x3F, 0x3C, 0xC1, 0x47, 0xB3, 0x17, 0x1B, 0x03, +0x69, 0x5C, 0x23, 0x5B, 0x46, 0xB7, 0x5B, 0xF5, 0x05, 0x11, 0x97, 0x0F, 0x8A, 0xEA, 0xD1, 0x3F, +0x2C, 0x40, 0xFE, 0x10, 0x20, 0x7A, 0xF2, 0xFA, 0x91, 0xD2, 0x57, 0x15, 0x12, 0x20, 0xAC, 0x9D, +0xAC, 0x45, 0x16, 0xD6, 0x11, 0x3A, 0xDB, 0xFC, 0x80, 0xF4, 0x07, 0xE9, 0x5D, 0xCF, 0x43, 0x24, +0xB9, 0xC2, 0xC2, 0xED, 0x5C, 0x5D, 0xE2, 0x12, 0xE2, 0xD8, 0x07, 0x37, 0x7A, 0x57, 0xF8, 0xF1, +0xF3, 0x5F, 0x86, 0x08, 0x44, 0xC4, 0x87, 0xAB, 0x7B, 0xF8, 0xB0, 0xB4, 0x16, 0x1F, 0xEE, 0xD4, +0xE8, 0x61, 0xFB, 0x07, 0xE9, 0x5E, 0xD6, 0x57, 0x4F, 0x18, 0x00, 0x0C, 0x3D, 0xFE, 0xEC, 0xB8, +0x4E, 0xCD, 0x91, 0x36, 0x9D, 0x7B, 0x6A, 0x92, 0x59, 0xA4, 0xAF, 0x2C, 0x07, 0xB9, 0xF0, 0x34, +0xD3, 0xBD, 0x80, 0xB6, 0x73, 0xFD, 0xF3, 0x53, 0xAF, 0xCD, 0x27, 0x93, 0xAA, 0xF5, 0xD5, 0x3C, +0x3A, 0x05, 0x81, 0x06, 0xF3, 0x99, 0x30, 0xA1, 0x87, 0xC7, 0xF3, 0xD5, 0xB2, 0x4E, 0x61, 0xEF, +0xFA, 0x7A, 0xAC, 0x53, 0xC3, 0x87, 0x7D, 0x86, 0xFF, 0xF2, 0xFE, 0x33, 0x6C, 0xC3, 0x23, 0xA4, +0xB9, 0x66, 0xDE, 0x6B, 0x9F, 0xA9, 0xDD, 0xC3, 0x87, 0x23, 0xFC, 0xC3, 0x34, 0x91, 0x65, 0x9D, +0x2E, 0x1F, 0x48, 0xE7, 0xB2, 0x34, 0x60, 0x5F, 0xA7, 0x4E, 0x69, 0xA4, 0x86, 0x91, 0xCD, 0x46, +0x07, 0xA5, 0x2F, 0x1D, 0x99, 0xB3, 0x53, 0x17, 0x90, 0x8B, 0x3F, 0x14, 0xA4, 0xDB, 0x9A, 0xED, +0x1A, 0x9D, 0xB8, 0xDA, 0x4D, 0xAB, 0x4E, 0x03, 0xC7, 0x93, 0xE7, 0x0F, 0xD2, 0x73, 0xAF, 0x49, +0x77, 0x67, 0x67, 0x67, 0x2B, 0x75, 0xAB, 0xE9, 0xCD, 0x8B, 0xDF, 0x3F, 0xAD, 0x91, 0xF2, 0xB7, +0x8F, 0x2F, 0xDC, 0xA6, 0x60, 0xF7, 0xBE, 0x4E, 0xCD, 0x6D, 0xE2, 0x6C, 0xE9, 0xBD, 0x9F, 0xDD, +0x57, 0x48, 0x8B, 0x2C, 0x7D, 0x28, 0xBB, 0x89, 0xA6, 0x9A, 0xB9, 0xD1, 0x7B, 0xCF, 0x34, 0xA1, +0xA6, 0x56, 0x7A, 0xEF, 0x9D, 0x76, 0xD8, 0x83, 0xDB, 0xF4, 0xDE, 0x49, 0xA5, 0x85, 0xEC, 0x74, +0xB4, 0x55, 0x68, 0x76, 0xE1, 0xEA, 0x5B, 0x05, 0xE9, 0xDF, 0x9E, 0x5A, 0x4D, 0x89, 0x2C, 0xD8, +0xB0, 0xF8, 0xD0, 0x31, 0x7F, 0xFC, 0xDC, 0x6F, 0xCF, 0xBF, 0xFB, 0x4E, 0x93, 0x63, 0x4A, 0xEF, +0xBC, 0xBB, 0xBB, 0x5B, 0x9D, 0x99, 0xD2, 0xEE, 0x0C, 0x7B, 0xB6, 0x42, 0x1F, 0x7F, 0x2C, 0x42, +0x74, 0x98, 0x39, 0x5D, 0xED, 0x97, 0x57, 0xBF, 0xDC, 0x57, 0xE8, 0xB3, 0x5B, 0xB5, 0x97, 0xFD, +0x2C, 0xE4, 0x2D, 0xE0, 0x71, 0x5B, 0x41, 0x88, 0xDE, 0xF9, 0xEA, 0x97, 0x57, 0xC2, 0xDB, 0xD2, +0x63, 0xF3, 0xF8, 0xF8, 0xE3, 0x8F, 0xFD, 0xA9, 0x09, 0x30, 0x41, 0x88, 0x31, 0xFB, 0x22, 0xA4, +0x42, 0x3A, 0x12, 0x26, 0x55, 0x87, 0xCE, 0x7C, 0x3A, 0xF1, 0x09, 0x69, 0x0E, 0x4D, 0x85, 0xE8, +0xE6, 0x41, 0x2F, 0x40, 0xCC, 0xB7, 0x7E, 0x7B, 0xB2, 0xBB, 0xD6, 0xBF, 0x6D, 0x7F, 0x8A, 0x89, +0xF8, 0x98, 0x4E, 0xF5, 0xE1, 0xAD, 0x76, 0x3C, 0xD5, 0xAC, 0x88, 0x90, 0x06, 0x91, 0xBB, 0xE2, +0x23, 0xF1, 0x21, 0xE9, 0x04, 0x65, 0xF3, 0x21, 0x69, 0xDF, 0x1A, 0x4D, 0x6F, 0xFC, 0xB8, 0x51, +0x3C, 0xC2, 0xCA, 0xA3, 0x48, 0x7A, 0xF5, 0xEA, 0xD5, 0x8B, 0x57, 0x3F, 0x55, 0xF0, 0x01, 0x0B, +0x79, 0xEB, 0x43, 0x46, 0x80, 0x40, 0x88, 0xA1, 0x5F, 0x5E, 0x34, 0x1F, 0xE8, 0xD1, 0xC2, 0x5B, +0x46, 0xD9, 0xF0, 0xF1, 0xF8, 0xB1, 0x37, 0x37, 0x11, 0x0F, 0xC9, 0xB4, 0xEE, 0xE0, 0x1F, 0x81, +0x90, 0xE7, 0xC6, 0xAE, 0x4D, 0x7C, 0x3C, 0xFF, 0xEE, 0xB9, 0x7B, 0xE4, 0x4C, 0x75, 0x94, 0x35, +0xCB, 0x0F, 0xFF, 0xD0, 0x84, 0x10, 0xA3, 0x79, 0x0E, 0x72, 0x21, 0x9D, 0xA4, 0xC5, 0x95, 0xCB, +0x47, 0xC0, 0x43, 0xBD, 0xF9, 0xA2, 0xC6, 0xF0, 0x0F, 0x6D, 0x67, 0xD3, 0x1A, 0x4B, 0x11, 0x85, +0x61, 0x66, 0xE3, 0x07, 0x31, 0x18, 0x24, 0x0B, 0x21, 0x3B, 0x41, 0x91, 0x7B, 0x91, 0x28, 0x83, +0xB8, 0x18, 0x61, 0x34, 0x28, 0xDE, 0x30, 0xE0, 0xC6, 0x80, 0x3F, 0x40, 0xB8, 0x44, 0x84, 0xD9, +0x65, 0x13, 0x10, 0x11, 0xE2, 0xF6, 0xE2, 0x6F, 0xF0, 0x97, 0xFA, 0x76, 0xD5, 0xE9, 0x3C, 0x76, +0x4D, 0x7D, 0xBC, 0xBD, 0xF0, 0xAD, 0xEA, 0x9A, 0x9E, 0xB9, 0x73, 0x75, 0xA6, 0xBB, 0x9E, 0x7E, +0xEB, 0x9C, 0xD3, 0xC9, 0xDD, 0x4C, 0x07, 0x25, 0x08, 0xF9, 0xBC, 0xDD, 0xE7, 0x6D, 0x37, 0xCB, +0x73, 0xF9, 0xC4, 0xC7, 0x07, 0x36, 0x22, 0x5F, 0x68, 0xBA, 0x64, 0x44, 0xE4, 0x21, 0x31, 0x8F, +0x34, 0xB4, 0xF7, 0xFF, 0x4C, 0x80, 0x1C, 0x57, 0xF2, 0xB1, 0x85, 0x86, 0x8E, 0x85, 0x04, 0x1F, +0x3E, 0x21, 0xDB, 0x3F, 0x27, 0x3E, 0xD4, 0x2D, 0xBA, 0x65, 0x93, 0x2F, 0x24, 0x08, 0xF1, 0xF8, +0xF0, 0x3D, 0xE4, 0xD7, 0x9D, 0x14, 0x84, 0x70, 0x26, 0x9B, 0xA7, 0xF7, 0xF3, 0x7D, 0xCC, 0x84, +0x33, 0x6F, 0xEA, 0xE4, 0x79, 0x66, 0x13, 0x32, 0x2F, 0x6F, 0x5E, 0xDE, 0x5E, 0x59, 0xBE, 0x30, +0x55, 0xD2, 0x0D, 0x96, 0xAE, 0x6E, 0x5F, 0x3E, 0xAF, 0xAF, 0x6C, 0x3E, 0x82, 0x10, 0xEB, 0x7B, +0x4E, 0xEE, 0x91, 0x5A, 0xCF, 0x43, 0x62, 0x27, 0xFC, 0x23, 0xE4, 0xE0, 0x11, 0xFE, 0x61, 0x9B, +0x48, 0xF0, 0x21, 0x69, 0xFE, 0x80, 0x43, 0x1A, 0xD8, 0xCD, 0xFB, 0xC1, 0x47, 0x9A, 0x92, 0x37, +0xAF, 0x7D, 0x3E, 0xDA, 0x1E, 0x52, 0xF2, 0xB2, 0x0D, 0x3E, 0x5C, 0x42, 0xF4, 0x41, 0x32, 0x20, +0x22, 0x04, 0x88, 0xD5, 0xAB, 0xFB, 0xDF, 0xEB, 0xBB, 0x42, 0x88, 0xC9, 0xC7, 0x07, 0x99, 0x90, +0x9F, 0x0D, 0xFB, 0xDE, 0xA1, 0xB0, 0x90, 0xEE, 0xE9, 0xDD, 0x8B, 0x8D, 0x40, 0xE4, 0xAC, 0x3F, +0x6B, 0x52, 0x3B, 0x8B, 0x49, 0xE6, 0x12, 0x42, 0x00, 0x70, 0x7E, 0xEB, 0x98, 0x48, 0xBE, 0xD5, +0x64, 0xC0, 0xD2, 0x14, 0x9E, 0x07, 0x1F, 0x1E, 0x21, 0xE7, 0x6F, 0xB2, 0x7F, 0x44, 0x8F, 0x6F, +0x73, 0xD6, 0x1A, 0xF4, 0xE7, 0xC1, 0x87, 0x1E, 0x37, 0x04, 0x22, 0xBB, 0x30, 0x0C, 0x8E, 0xE9, +0xE7, 0x79, 0xD8, 0xEF, 0x42, 0x1F, 0x39, 0x84, 0xEC, 0xE0, 0xC3, 0x24, 0x44, 0x73, 0x45, 0x0D, +0x0F, 0x59, 0x30, 0xB1, 0x34, 0x10, 0xFC, 0x23, 0xBA, 0x15, 0x9E, 0xCF, 0xDA, 0x26, 0x44, 0x0A, +0x75, 0x81, 0x71, 0xF8, 0xC8, 0xFE, 0x01, 0x21, 0x31, 0x34, 0x18, 0xD7, 0x17, 0x85, 0x10, 0x8B, +0x0F, 0x64, 0x2C, 0x70, 0xB5, 0xBC, 0x42, 0x77, 0x20, 0xC2, 0xE9, 0x05, 0x91, 0xC9, 0x45, 0x74, +0xFE, 0xA3, 0x1D, 0x0E, 0x60, 0x50, 0x1B, 0x32, 0x3F, 0x6F, 0x7B, 0x84, 0xC0, 0x07, 0x84, 0xBC, +0x3F, 0x24, 0xE4, 0x6A, 0xBE, 0x59, 0xF1, 0xEA, 0xFD, 0xDE, 0xFB, 0xC4, 0x47, 0x91, 0xBB, 0x1A, +0xF1, 0xA1, 0x4F, 0xCB, 0x27, 0x4F, 0x71, 0x88, 0xB6, 0xB3, 0xC6, 0xA0, 0x6F, 0x8B, 0x7F, 0xA8, +0x6D, 0xF6, 0x3A, 0x4E, 0xE9, 0x70, 0x25, 0x20, 0xD4, 0x71, 0x60, 0x0D, 0x3A, 0xC8, 0xE0, 0x91, +0x34, 0xB2, 0x8F, 0xCB, 0x57, 0x71, 0x3E, 0x3F, 0x80, 0x90, 0x91, 0x7F, 0xA0, 0x80, 0xA0, 0x32, +0x84, 0x81, 0xFC, 0x17, 0x8F, 0x1B, 0x11, 0xB2, 0xF5, 0xF8, 0x80, 0x90, 0xB2, 0x6D, 0x69, 0xD3, +0xB3, 0xE9, 0x5D, 0xC8, 0xF7, 0x0F, 0x75, 0x3C, 0x84, 0x87, 0xC5, 0x80, 0x7F, 0x40, 0xC8, 0x88, +0x8F, 0x0F, 0xA6, 0x9E, 0x64, 0x24, 0xB3, 0xE2, 0x44, 0x41, 0xC8, 0x4C, 0x02, 0xA7, 0x97, 0x05, +0x56, 0x0E, 0xCF, 0xD3, 0x5C, 0xC0, 0x43, 0x6A, 0x13, 0x26, 0x8F, 0x7A, 0xD4, 0xF4, 0x82, 0x10, +0x55, 0xC9, 0xCF, 0x87, 0x7C, 0xA0, 0x9C, 0xCC, 0xEA, 0x4E, 0x7C, 0x6E, 0x77, 0xBF, 0xEA, 0xFB, +0xC7, 0x49, 0xFE, 0x6A, 0xC4, 0x47, 0x18, 0x08, 0x1E, 0x32, 0x7F, 0x25, 0x8D, 0xE5, 0x1E, 0xA6, +0x3A, 0x9B, 0x48, 0xE1, 0x21, 0x18, 0xF0, 0x2E, 0xBF, 0xBA, 0x90, 0x9E, 0x7A, 0xFE, 0xC1, 0xB9, +0x7D, 0x1C, 0xFA, 0xC7, 0x8B, 0x1B, 0x28, 0xD1, 0x2A, 0xA4, 0xC9, 0x88, 0x7A, 0xF0, 0x01, 0x22, +0x10, 0xD2, 0x59, 0x5E, 0xA1, 0x04, 0x41, 0xB3, 0xCD, 0x14, 0xA1, 0x21, 0x1F, 0x09, 0x10, 0x3A, +0x5C, 0x54, 0x6D, 0xF0, 0xC5, 0x52, 0xF7, 0x8F, 0x3D, 0x3C, 0x1E, 0x61, 0xC3, 0xF3, 0x90, 0xDD, +0x2C, 0x08, 0xD1, 0xC9, 0xE5, 0xAC, 0xE2, 0x21, 0xE9, 0xA1, 0x98, 0x09, 0x39, 0x10, 0x29, 0x26, +0x4C, 0xB4, 0xD8, 0x5F, 0xCC, 0x32, 0x08, 0x19, 0xF1, 0x01, 0x21, 0x5D, 0xFF, 0x08, 0x40, 0x92, +0x6E, 0xDF, 0x6F, 0xBC, 0x37, 0xC2, 0xF3, 0x42, 0x7D, 0x3E, 0x66, 0xB2, 0xE9, 0x7C, 0xA5, 0xE5, +0x1E, 0xEB, 0x2B, 0x9A, 0x9E, 0x4E, 0x57, 0x19, 0x96, 0xA6, 0x0C, 0xD3, 0xF1, 0xE5, 0xA2, 0x94, +0x1E, 0xFB, 0x84, 0xEC, 0x4A, 0xFF, 0xD0, 0xE3, 0x44, 0x48, 0x17, 0x8F, 0x42, 0xF7, 0x2D, 0x3C, +0xE0, 0x83, 0xAE, 0x7C, 0xAF, 0xAA, 0x10, 0x4D, 0xE1, 0x07, 0xA8, 0x16, 0xAA, 0xF3, 0x07, 0xA7, +0x44, 0xF5, 0xD7, 0x57, 0xF9, 0x73, 0xD0, 0x5B, 0x70, 0xE3, 0x1F, 0xB6, 0x87, 0x3C, 0x72, 0x20, +0xD1, 0xCF, 0xBD, 0xA3, 0xCF, 0x99, 0xD2, 0x0E, 0x84, 0xEC, 0xD4, 0x97, 0xD1, 0x87, 0xCE, 0x36, +0xFE, 0x41, 0x3B, 0x08, 0x0F, 0x26, 0x4C, 0xB4, 0x70, 0x91, 0xB3, 0x72, 0x96, 0xF5, 0x09, 0xA9, +0x4E, 0xE2, 0xF3, 0x8E, 0x87, 0x24, 0x3E, 0x22, 0x06, 0x69, 0x7B, 0x08, 0xE9, 0x2B, 0x8F, 0x10, +0xFD, 0x41, 0x7C, 0xF0, 0xA2, 0x4F, 0x6E, 0x99, 0x17, 0x8E, 0x7C, 0xCD, 0xD4, 0x39, 0x24, 0x1C, +0x96, 0x43, 0x5C, 0x66, 0xE2, 0xC8, 0xB1, 0xE2, 0xFA, 0x5C, 0x7C, 0xC4, 0xA1, 0xD6, 0x88, 0x87, +0xFC, 0xDA, 0xE4, 0x03, 0xF3, 0xB0, 0x56, 0x59, 0x2F, 0xEE, 0x63, 0xCE, 0x10, 0x85, 0x48, 0x51, +0x10, 0x39, 0x1D, 0x98, 0x86, 0xF4, 0xE3, 0xCD, 0xEB, 0xAF, 0x4D, 0xFF, 0x60, 0x99, 0x55, 0x6B, +0xF0, 0x61, 0x12, 0xF2, 0xF5, 0xEB, 0x58, 0x5F, 0x15, 0xFD, 0xBE, 0xCA, 0x36, 0xFE, 0xB1, 0x44, +0xC4, 0x88, 0xCF, 0x51, 0x6F, 0x95, 0xF5, 0x2B, 0xE7, 0xE8, 0xC4, 0x43, 0x58, 0x63, 0x69, 0x0C, +0x46, 0xB4, 0xBA, 0x3E, 0x9D, 0x0A, 0x4C, 0x99, 0xFC, 0xA8, 0x2D, 0x26, 0xD2, 0x67, 0x1B, 0xA6, +0x17, 0x81, 0x88, 0x66, 0xA0, 0xC1, 0x07, 0x84, 0x34, 0x01, 0x49, 0x0B, 0x2B, 0x1C, 0x44, 0xBA, +0xAD, 0xBD, 0x15, 0x3E, 0x4E, 0xE4, 0xF0, 0x41, 0x7F, 0x36, 0xC8, 0x33, 0x89, 0x2C, 0xC4, 0xDB, +0xF8, 0x47, 0xE1, 0x21, 0x5C, 0x5D, 0x08, 0xD4, 0xB3, 0x7F, 0x84, 0x60, 0x44, 0x88, 0xF4, 0xF9, +0x60, 0x81, 0x85, 0x87, 0x34, 0xFD, 0xA3, 0xEA, 0x21, 0x35, 0x44, 0x54, 0x81, 0xC6, 0x3F, 0x16, +0xAB, 0xAC, 0xD7, 0x2B, 0xF8, 0xE8, 0x55, 0x0C, 0xC9, 0x5F, 0x39, 0x84, 0x6C, 0x7F, 0xBA, 0xC1, +0x3F, 0xE8, 0xAC, 0xB2, 0x16, 0x83, 0xEE, 0x85, 0xE7, 0x7B, 0x16, 0x84, 0x34, 0xD6, 0x57, 0x1C, +0x3F, 0xD4, 0x4E, 0xF7, 0xFE, 0x5A, 0x9E, 0x2A, 0x08, 0x89, 0x30, 0x84, 0xB3, 0x1B, 0xFE, 0xB1, +0xAF, 0xB5, 0x39, 0x24, 0xD7, 0xC3, 0x82, 0x94, 0xB7, 0x6B, 0xF3, 0x0C, 0x42, 0x2A, 0x78, 0x58, +0x84, 0xC0, 0x07, 0x0E, 0xF2, 0x4B, 0xF6, 0x90, 0x2B, 0xC7, 0x3F, 0x50, 0x3D, 0xBD, 0x5B, 0xE5, +0x83, 0x64, 0x16, 0x0E, 0x12, 0x4F, 0x2B, 0x87, 0x84, 0x5C, 0xD6, 0xE7, 0xE4, 0x37, 0x28, 0x9F, +0x23, 0x8E, 0xFC, 0x5D, 0xC3, 0x43, 0x96, 0x78, 0xB0, 0xD3, 0x20, 0x04, 0x36, 0x88, 0x42, 0x92, +0xEE, 0x09, 0x44, 0x9A, 0xEB, 0x2B, 0xBA, 0xDA, 0x76, 0xCC, 0x07, 0xDA, 0x6E, 0x8D, 0x8A, 0xA1, +0x41, 0x08, 0xE9, 0xAB, 0x92, 0x91, 0xFB, 0x0A, 0x22, 0xF8, 0x87, 0xB1, 0xCC, 0x2A, 0xF0, 0x18, +0x13, 0x42, 0xFE, 0xEA, 0xA3, 0xD4, 0x63, 0x0F, 0x0F, 0x21, 0x9B, 0x95, 0x21, 0xE1, 0xEC, 0x57, +0x3C, 0x84, 0xB4, 0xD5, 0xFC, 0x64, 0x11, 0xE5, 0x2E, 0x42, 0x75, 0x25, 0xB3, 0x4C, 0x3E, 0x3A, +0x25, 0xC3, 0x89, 0x87, 0xC4, 0x85, 0x00, 0x49, 0x74, 0xA4, 0xE1, 0xB6, 0x48, 0x66, 0x25, 0x3E, +0x5E, 0x9E, 0xB7, 0x54, 0xE7, 0xE3, 0xB3, 0x36, 0x20, 0x33, 0x1B, 0x7C, 0xCD, 0x83, 0xD4, 0x3A, +0x2E, 0xFB, 0x7C, 0x0C, 0x63, 0x94, 0x0F, 0xEF, 0xF7, 0x50, 0x51, 0x71, 0xEF, 0xD3, 0x2B, 0x18, +0x7C, 0x60, 0x21, 0xF9, 0x51, 0x0F, 0x25, 0x20, 0xA4, 0xAF, 0xEE, 0x05, 0x07, 0x2A, 0x56, 0x59, +0xE0, 0x41, 0xF9, 0xE3, 0xB4, 0x1F, 0xF5, 0xA3, 0x53, 0x0E, 0x1F, 0xB8, 0x48, 0x25, 0x3C, 0xC7, +0x3F, 0x1C, 0x42, 0xB6, 0x09, 0xCC, 0x7A, 0x6F, 0x85, 0x1F, 0x26, 0x21, 0x84, 0x1F, 0x0D, 0x46, +0x2A, 0x91, 0xFA, 0xA9, 0x73, 0x20, 0x4A, 0x86, 0x04, 0xE9, 0x44, 0x1F, 0x35, 0x42, 0x58, 0x72, +0x50, 0xFE, 0xA8, 0x74, 0xD2, 0xBD, 0x06, 0x1F, 0xBD, 0x82, 0x88, 0x4C, 0x03, 0x07, 0x09, 0x3A, +0x34, 0x46, 0xBA, 0x17, 0xFB, 0xB8, 0xC5, 0x3F, 0xC6, 0x88, 0x9C, 0xFF, 0x10, 0xB7, 0x97, 0x34, +0xFB, 0x7C, 0x0D, 0x98, 0xBF, 0xE4, 0xD9, 0xC7, 0xF0, 0x51, 0x71, 0x11, 0x32, 0x82, 0x7A, 0x3C, +0xF5, 0x0F, 0x68, 0x89, 0xAD, 0xBD, 0xBE, 0x2A, 0xA3, 0x90, 0x7A, 0x32, 0x0B, 0xCB, 0x20, 0x0A, +0x41, 0xF7, 0xC5, 0x2A, 0x0B, 0x3E, 0xEA, 0xDD, 0xE4, 0x83, 0x40, 0xA4, 0x04, 0xA4, 0xAF, 0x7A, +0xF9, 0xA3, 0xD5, 0x15, 0x87, 0x54, 0xC2, 0x0F, 0x97, 0x10, 0xC2, 0x73, 0xC6, 0x41, 0x32, 0xAB, +0x4A, 0x07, 0x2F, 0x50, 0x0E, 0x8E, 0x48, 0x93, 0xF0, 0xE3, 0xB4, 0x45, 0x41, 0x24, 0x82, 0x11, +0xCA, 0x1F, 0x3D, 0x42, 0x1C, 0x3E, 0x1A, 0x45, 0x75, 0xDD, 0xC2, 0x1B, 0x34, 0xCC, 0x31, 0xC8, +0x2F, 0xE1, 0x27, 0x12, 0x84, 0x50, 0xFE, 0x30, 0x09, 0x39, 0x4F, 0xE5, 0xC1, 0x1E, 0x1F, 0x24, +0xB3, 0xD4, 0x48, 0x5F, 0x35, 0xDB, 0x66, 0x4F, 0x46, 0xB0, 0xF0, 0x8F, 0xBA, 0x8F, 0xF4, 0xCA, +0x83, 0x58, 0x48, 0xDE, 0x30, 0x11, 0xF8, 0x00, 0x8C, 0x9A, 0x16, 0xA9, 0xD2, 0x01, 0x1F, 0x29, +0x99, 0xB5, 0x94, 0x71, 0xC3, 0x2E, 0xC2, 0x3F, 0x5C, 0x0F, 0xC1, 0x3F, 0x2A, 0xBD, 0x08, 0x44, +0xF0, 0x8F, 0x0E, 0x21, 0x05, 0x20, 0x1C, 0x36, 0xC6, 0xF6, 0x2A, 0x6B, 0x87, 0xCA, 0x53, 0x05, +0x21, 0x84, 0x99, 0x7B, 0xFC, 0xA3, 0xB3, 0xCA, 0x52, 0x2B, 0xCA, 0x1F, 0x9D, 0x55, 0x96, 0xC7, +0x07, 0x25, 0x43, 0x4C, 0x24, 0xF1, 0x31, 0x6D, 0x38, 0x48, 0xC0, 0xB1, 0xF0, 0x90, 0x2B, 0xF8, +0xE8, 0xA8, 0x55, 0xFE, 0x18, 0x2E, 0xB3, 0xA6, 0xC7, 0x3E, 0x1E, 0x3A, 0x66, 0x9B, 0x39, 0x23, +0x28, 0x55, 0xC3, 0xF3, 0x52, 0xE5, 0xED, 0x25, 0x2D, 0x0B, 0x09, 0x15, 0xF9, 0x2B, 0x22, 0x90, +0x22, 0x0A, 0xA1, 0xA8, 0x8E, 0x83, 0x30, 0xFD, 0x9A, 0xBD, 0xCD, 0x87, 0x91, 0xCB, 0x42, 0x86, +0x87, 0x6C, 0xE1, 0xA3, 0x89, 0x48, 0x25, 0xFC, 0xF0, 0x3C, 0x84, 0xF8, 0x83, 0x71, 0xE0, 0x21, +0x8B, 0x13, 0x54, 0xEE, 0x53, 0x32, 0x0C, 0xED, 0x5A, 0xE1, 0xF9, 0xB2, 0xA8, 0x9E, 0x9A, 0xBA, +0xB6, 0xD1, 0x2C, 0xD3, 0x2F, 0xF8, 0x39, 0xB7, 0xF9, 0xA0, 0x20, 0x42, 0xF9, 0xE3, 0x97, 0x1C, +0x98, 0x7F, 0xF7, 0xEE, 0x15, 0x69, 0xDE, 0x19, 0x93, 0xF9, 0x6D, 0x2A, 0x0F, 0x12, 0x7E, 0xB4, +0x55, 0x29, 0x9F, 0xF7, 0x7A, 0xFE, 0x82, 0xEA, 0x95, 0xF4, 0x55, 0x3D, 0x99, 0x45, 0xF9, 0xE3, +0xD4, 0x3F, 0xD8, 0xCB, 0x7D, 0x57, 0xF0, 0xD1, 0x61, 0x44, 0x3D, 0x92, 0x59, 0xF0, 0x41, 0x04, +0x52, 0x97, 0x17, 0x7F, 0x50, 0x10, 0x31, 0xF9, 0x40, 0x94, 0xCF, 0xF1, 0x8F, 0xB6, 0x8A, 0xF2, +0xA0, 0x43, 0x08, 0xF1, 0x87, 0x43, 0x08, 0x7C, 0x20, 0x18, 0x69, 0xA7, 0x7B, 0x39, 0x2D, 0x35, +0x41, 0x48, 0xAC, 0x9D, 0x09, 0x44, 0xFB, 0x26, 0x32, 0xDF, 0x66, 0x32, 0x9C, 0x64, 0x14, 0xD5, +0x0D, 0x3E, 0xCA, 0xA2, 0xFA, 0xD5, 0xCC, 0x03, 0x0E, 0x42, 0x10, 0x92, 0x86, 0x22, 0x7D, 0x35, +0xD2, 0xCC, 0x87, 0xE8, 0x18, 0x7F, 0x72, 0x6E, 0xCC, 0xAA, 0x79, 0x6A, 0xBB, 0x20, 0x52, 0xF8, +0x47, 0xDB, 0x4B, 0x08, 0x3F, 0x9A, 0x78, 0xB0, 0x47, 0x1C, 0xA2, 0x09, 0x81, 0x67, 0xB4, 0xA2, +0x10, 0x8A, 0xEA, 0xF0, 0xD1, 0xEF, 0x84, 0x1F, 0xA6, 0xFE, 0xA0, 0x3C, 0x68, 0x68, 0xEB, 0xAD, +0xAF, 0xE8, 0x01, 0xB7, 0xC1, 0x07, 0x45, 0x75, 0x8D, 0x8B, 0xFC, 0x06, 0x63, 0x6B, 0x99, 0xB5, +0x2C, 0x0E, 0xAA, 0xF3, 0x8C, 0x47, 0x0A, 0x22, 0x7B, 0x6F, 0x2A, 0x84, 0x7F, 0xA8, 0x3B, 0xF3, +0x0C, 0x42, 0xCE, 0x1D, 0x91, 0xEE, 0x85, 0x84, 0x2B, 0xB5, 0x04, 0x48, 0xB2, 0x12, 0x75, 0x3D, +0xCD, 0x2E, 0x42, 0xF9, 0xC3, 0x25, 0x44, 0x03, 0xEE, 0x31, 0x22, 0x44, 0xDA, 0x13, 0x7F, 0x18, +0x1E, 0x52, 0xF3, 0x0F, 0x9E, 0x14, 0xCF, 0x7F, 0x85, 0x8F, 0x06, 0x23, 0x65, 0xC9, 0xF0, 0x51, +0xC3, 0xE2, 0x8E, 0xBD, 0xAA, 0x28, 0x88, 0x24, 0xFB, 0xF0, 0xFA, 0x0D, 0x7C, 0x98, 0xA2, 0x3A, +0x68, 0x13, 0xB2, 0x25, 0xBD, 0x3B, 0xE8, 0x39, 0xFC, 0x18, 0xF2, 0xC1, 0x81, 0x58, 0x94, 0x3F, +0x8C, 0x65, 0xD6, 0xAF, 0x94, 0x3F, 0x10, 0x0E, 0x7F, 0x5A, 0x10, 0x21, 0xFE, 0x30, 0xDA, 0x19, +0xE5, 0x0F, 0x8B, 0x90, 0x98, 0x9A, 0x3E, 0x21, 0x8A, 0x2F, 0xFE, 0x89, 0x70, 0x3C, 0x23, 0xA1, +0x7D, 0x1C, 0x24, 0x33, 0x92, 0xFA, 0x2D, 0xE9, 0x2B, 0x47, 0xC9, 0x3F, 0xF4, 0xA1, 0xCC, 0xEE, +0xC4, 0xE7, 0x65, 0x41, 0xA4, 0x75, 0x35, 0xAA, 0x3C, 0xFF, 0xB5, 0xC5, 0x07, 0xE7, 0x56, 0x9D, +0x67, 0xF8, 0x87, 0x86, 0x56, 0x14, 0x82, 0x04, 0x08, 0xF6, 0x31, 0xEE, 0xEB, 0xF8, 0xD8, 0xF2, +0x68, 0x13, 0xE2, 0xFB, 0x87, 0x3E, 0xF6, 0xF7, 0xF8, 0x87, 0x25, 0x11, 0xC2, 0x21, 0xEB, 0xE1, +0x01, 0x21, 0x15, 0xEF, 0x68, 0x7B, 0x08, 0xE5, 0x0F, 0xCB, 0x43, 0xDA, 0x45, 0xB6, 0x7A, 0x51, +0x1D, 0x59, 0x84, 0xCC, 0xE5, 0xC1, 0xE0, 0xA0, 0xB8, 0xD5, 0x24, 0x8F, 0xF1, 0x86, 0x37, 0x94, +0x3F, 0x1C, 0x6D, 0x08, 0x3F, 0x2C, 0x0F, 0xD9, 0xC0, 0x87, 0xC1, 0xC8, 0xBE, 0xBD, 0xB8, 0xE2, +0xEA, 0x44, 0xC9, 0x50, 0x7C, 0xBC, 0x6A, 0x11, 0xC2, 0xA9, 0x05, 0x91, 0xC7, 0xFE, 0xBA, 0xAA, +0x14, 0x77, 0xB7, 0x3B, 0x5D, 0x05, 0x11, 0x73, 0xAE, 0x93, 0xED, 0x5D, 0xF5, 0x17, 0x4C, 0x3C, +0x48, 0xF7, 0x5A, 0x7C, 0x10, 0x88, 0x14, 0x87, 0x6C, 0xC0, 0x48, 0x2D, 0x7D, 0xD5, 0x13, 0x37, +0xAA, 0x5A, 0xCD, 0xBC, 0x0C, 0x93, 0xEE, 0x75, 0x44, 0x32, 0x4B, 0x7C, 0x44, 0xD5, 0xFC, 0xBB, +0x20, 0xE2, 0x97, 0x0C, 0x88, 0x5E, 0x08, 0x70, 0x62, 0xA5, 0xB5, 0xF2, 0xC7, 0xCF, 0x37, 0xA4, +0xAF, 0x2C, 0xF3, 0xC3, 0x53, 0x1D, 0x40, 0x7E, 0x00, 0x10, 0x4F, 0x97, 0xF0, 0xD1, 0x22, 0x84, +0xE1, 0xF2, 0x03, 0x95, 0xC9, 0x03, 0x0C, 0x1C, 0xA3, 0x47, 0x8B, 0xC5, 0x07, 0x37, 0x66, 0x31, +0xDF, 0x5D, 0x0F, 0x59, 0x47, 0xC8, 0x71, 0x05, 0x20, 0xD2, 0x8B, 0x75, 0x7A, 0x85, 0x73, 0x74, +0xF0, 0x40, 0xBA, 0x42, 0xB5, 0x0C, 0x83, 0x57, 0x79, 0x89, 0xDB, 0xAF, 0xBC, 0x6B, 0xA5, 0x17, +0xE8, 0x92, 0xCC, 0x7A, 0xC9, 0x75, 0xDE, 0xF0, 0x90, 0x48, 0x54, 0x95, 0x0E, 0x12, 0x4F, 0x53, +0x24, 0x92, 0x94, 0x2B, 0x84, 0x2F, 0xD7, 0xF0, 0xB1, 0x02, 0x0F, 0xF1, 0xB1, 0x71, 0x96, 0x9D, +0x54, 0x43, 0xA8, 0x80, 0x70, 0xA8, 0x5B, 0x0B, 0xAD, 0x74, 0x6B, 0x6F, 0x97, 0x8E, 0x92, 0x91, +0x57, 0xAF, 0xC4, 0xC1, 0x0A, 0x07, 0x39, 0x12, 0xA1, 0x3B, 0x7D, 0x55, 0x04, 0xB2, 0x55, 0x45, +0xFD, 0x0F, 0x08, 0xF1, 0xD6, 0x58, 0xAB, 0x0C, 0xE4, 0x78, 0x7D, 0xB3, 0x0E, 0x90, 0x57, 0x2C, +0xB0, 0x5A, 0x89, 0x2C, 0x5E, 0x8D, 0x1F, 0x40, 0x07, 0x01, 0xA9, 0xF6, 0x8C, 0x20, 0x44, 0xB3, +0xDE, 0x9F, 0x09, 0xD2, 0xDB, 0x2B, 0x2E, 0xC5, 0xA9, 0x20, 0xE2, 0x88, 0x8A, 0xFA, 0xBB, 0x70, +0x30, 0xED, 0x10, 0x83, 0x60, 0x2A, 0x1A, 0xDF, 0xA7, 0x86, 0x3E, 0xD4, 0xCB, 0x89, 0x8F, 0xB7, +0xD5, 0x5C, 0x3E, 0xCE, 0x26, 0x3C, 0xB4, 0xED, 0xFD, 0x18, 0x24, 0x08, 0xA9, 0x07, 0xE8, 0x3C, +0x92, 0xC7, 0xFA, 0xB9, 0x43, 0x08, 0x0F, 0xDA, 0x2E, 0xC5, 0xC7, 0x7D, 0x10, 0x42, 0x1C, 0xD2, +0x8B, 0x42, 0x6E, 0xAE, 0x6F, 0xAE, 0xAF, 0xED, 0x19, 0x29, 0x3E, 0xB6, 0x0F, 0xE4, 0x78, 0x9D, +0x05, 0x96, 0xB4, 0x2E, 0x06, 0xD1, 0x22, 0xCB, 0xE7, 0xE3, 0xE6, 0x5A, 0xDD, 0x5F, 0x61, 0xBD, +0x7A, 0xA1, 0xA6, 0xA3, 0x64, 0xAE, 0xB0, 0x22, 0x87, 0x75, 0x37, 0x5A, 0x59, 0x91, 0xC6, 0xDA, +0xDF, 0xF9, 0x1E, 0x92, 0x00, 0x59, 0xE1, 0x21, 0xAB, 0x08, 0x79, 0x99, 0xD2, 0x58, 0x57, 0xB7, +0xA0, 0x81, 0x83, 0xE4, 0xE7, 0x98, 0xCA, 0xAD, 0x00, 0xE1, 0x2E, 0x2C, 0xCF, 0x3F, 0xDE, 0x36, +0x09, 0xD1, 0x7B, 0x13, 0x1F, 0x36, 0x21, 0xD3, 0x21, 0x94, 0x48, 0x63, 0xF5, 0x19, 0xB9, 0xFB, +0xF9, 0x32, 0x6B, 0x18, 0xA3, 0x87, 0xD2, 0x14, 0x78, 0x85, 0x6F, 0xB0, 0xD7, 0x08, 0x40, 0x8E, +0x02, 0xE4, 0xDA, 0xF4, 0x10, 0x55, 0x42, 0x72, 0x9E, 0xC9, 0x4B, 0xDA, 0x06, 0x1F, 0x2B, 0x08, +0xA1, 0x4A, 0xE8, 0xF5, 0xEB, 0xD4, 0x6E, 0xEC, 0x2C, 0xD6, 0xAB, 0xD4, 0x70, 0xDC, 0xAA, 0x85, +0xE0, 0x1F, 0x59, 0x7D, 0x8B, 0x67, 0x37, 0x4E, 0xAC, 0x1B, 0x86, 0x6C, 0x66, 0xB9, 0xD1, 0x2E, +0x84, 0xB8, 0x49, 0x2C, 0x29, 0x95, 0xD1, 0xC3, 0x32, 0x88, 0x41, 0x78, 0xE9, 0xDD, 0x5F, 0xF4, +0x96, 0xD0, 0xF9, 0x3B, 0x86, 0x87, 0xF0, 0xBB, 0xDE, 0x3D, 0x3E, 0x36, 0x21, 0x0F, 0x91, 0xC4, +0x47, 0x6C, 0x3B, 0x43, 0x77, 0x14, 0x73, 0x3B, 0x78, 0x80, 0x89, 0xF8, 0x08, 0x42, 0x92, 0x57, +0x2C, 0xE1, 0x80, 0x17, 0x9E, 0x7C, 0x72, 0x73, 0xED, 0x7B, 0xC8, 0xE4, 0x1F, 0x6A, 0x93, 0x2C, +0x40, 0x02, 0x0F, 0x9B, 0x90, 0x6D, 0xF2, 0x0F, 0xDF, 0x43, 0x64, 0x1E, 0xD1, 0x5C, 0x3E, 0xE2, +0xF0, 0x70, 0xEC, 0x7A, 0x16, 0x72, 0x39, 0xEB, 0x67, 0xCE, 0x55, 0xFD, 0xBE, 0x20, 0xF8, 0xC0, +0x43, 0x1C, 0xFF, 0xD0, 0x1B, 0x6D, 0x42, 0x24, 0x08, 0x71, 0xFC, 0x23, 0x69, 0x32, 0x07, 0x41, +0x80, 0x5F, 0x04, 0x20, 0x57, 0xD1, 0xB4, 0xA7, 0x5C, 0xF0, 0x1A, 0x42, 0x26, 0x4F, 0x08, 0x79, +0x7C, 0x1C, 0x36, 0xF9, 0x9B, 0x8E, 0x01, 0x49, 0xCB, 0xAB, 0xC4, 0x86, 0x41, 0x08, 0x3F, 0x15, +0xD2, 0x26, 0xA4, 0x3C, 0xCF, 0x97, 0x5A, 0x5F, 0xCD, 0x84, 0xBC, 0x72, 0x62, 0x90, 0x34, 0xC3, +0xA2, 0x1D, 0x87, 0xD3, 0x31, 0xFC, 0x23, 0x06, 0x8B, 0x0F, 0xE4, 0x10, 0x12, 0x45, 0x96, 0xD4, +0x6F, 0x1C, 0xFF, 0xA0, 0x8D, 0x53, 0x59, 0xE0, 0xA1, 0x76, 0x7A, 0x79, 0x61, 0xC4, 0x3F, 0xD0, +0xEE, 0xAE, 0xCB, 0x06, 0x7C, 0x48, 0x3A, 0xC7, 0x46, 0x20, 0x92, 0x26, 0xCD, 0x3C, 0x75, 0x9C, +0x94, 0xE9, 0x7C, 0xE1, 0xD6, 0xE3, 0xF8, 0x86, 0xA9, 0x97, 0x99, 0x0F, 0x3C, 0x44, 0x5E, 0x11, +0x58, 0xC4, 0xCF, 0x83, 0xCC, 0xBA, 0xD2, 0x3B, 0x91, 0xC8, 0xB2, 0xFD, 0x83, 0x38, 0xA4, 0xC7, +0x47, 0xE0, 0x71, 0x96, 0xBF, 0xEF, 0xB0, 0x8C, 0x1E, 0x7C, 0x40, 0xC8, 0x47, 0xED, 0x45, 0x6D, +0xF0, 0x81, 0x06, 0x11, 0xFA, 0x65, 0xD8, 0x07, 0x26, 0x72, 0x43, 0xC4, 0x51, 0x8D, 0x42, 0xA6, +0x08, 0x97, 0x36, 0x4A, 0x66, 0xDD, 0xBC, 0x4E, 0x73, 0x37, 0x0F, 0xDA, 0x3C, 0x3E, 0x7C, 0x42, +0xD2, 0x7F, 0xF4, 0x61, 0x6B, 0x13, 0x02, 0xDD, 0x8E, 0x87, 0xDC, 0xA4, 0x8B, 0xC6, 0x73, 0x1B, +0x27, 0xB2, 0xCA, 0x9F, 0x05, 0x19, 0xDE, 0x68, 0x82, 0x8C, 0x55, 0x56, 0xC0, 0xA1, 0x79, 0x63, +0x05, 0x22, 0x4C, 0x4B, 0x87, 0x90, 0x97, 0xF1, 0xAB, 0x48, 0xF1, 0x90, 0xC8, 0xE8, 0x12, 0x83, +0xC4, 0x7A, 0xEB, 0x5D, 0xEC, 0x43, 0x1A, 0xDD, 0xAE, 0xF8, 0x52, 0x7C, 0xE0, 0x1F, 0x63, 0x13, +0x11, 0x1F, 0x19, 0x8F, 0xB7, 0x0F, 0xB3, 0x91, 0x58, 0xEB, 0x2B, 0x08, 0xE9, 0x16, 0x9D, 0x66, +0x3E, 0xD0, 0xC8, 0x42, 0x5E, 0x14, 0x84, 0xDC, 0xF7, 0x6F, 0xE6, 0x4D, 0x33, 0x8B, 0x36, 0xBA, +0x9B, 0xF7, 0xF5, 0x4C, 0x86, 0x5A, 0xEA, 0x46, 0x78, 0x6E, 0x10, 0x02, 0x1F, 0xA1, 0x99, 0xC2, +0x5E, 0x7D, 0x9F, 0xE5, 0x95, 0xED, 0x21, 0xE0, 0x81, 0x87, 0x34, 0x0E, 0x24, 0xFE, 0x81, 0xDA, +0x17, 0x32, 0xF8, 0xB8, 0xCB, 0xDD, 0xF0, 0x10, 0xF0, 0xD0, 0x20, 0x0F, 0x19, 0x25, 0xB3, 0x10, +0x84, 0x74, 0x6F, 0x77, 0x47, 0xC4, 0x21, 0x1A, 0x23, 0x06, 0xA1, 0x3E, 0x58, 0xF0, 0x41, 0x32, +0xAB, 0xED, 0x1F, 0x2E, 0x20, 0x11, 0x9E, 0x1F, 0xDE, 0x4E, 0x9B, 0x7A, 0x42, 0xA4, 0x83, 0x07, +0x7C, 0x44, 0x93, 0x3A, 0x1E, 0x02, 0x1F, 0x06, 0x21, 0x84, 0x1F, 0x0B, 0x42, 0x2A, 0x59, 0x2C, +0x88, 0x39, 0x99, 0x62, 0xDD, 0x1F, 0x98, 0xBA, 0x11, 0x1F, 0x19, 0x8F, 0x18, 0x34, 0x7A, 0xFE, +0xE1, 0x05, 0x22, 0xDB, 0xB0, 0x0F, 0x28, 0x7C, 0xDD, 0xAC, 0x18, 0x16, 0x7C, 0x18, 0x91, 0xFA, +0xFD, 0xEC, 0x1F, 0xB4, 0x57, 0x97, 0xED, 0x15, 0x16, 0x7C, 0x20, 0x80, 0xA8, 0x24, 0x78, 0x13, +0x17, 0x20, 0x92, 0x08, 0xE9, 0xFB, 0x87, 0xFA, 0x3C, 0xBC, 0x3D, 0x48, 0xF7, 0x56, 0xFF, 0x4D, +0x90, 0xFE, 0xCD, 0xEE, 0x4B, 0xA5, 0x74, 0x6F, 0x20, 0x42, 0x90, 0x2E, 0xFF, 0xB8, 0xD5, 0x1F, +0x95, 0xD2, 0x6F, 0x54, 0x7C, 0xD9, 0x4D, 0x5F, 0xB9, 0x88, 0x4C, 0x7C, 0xE0, 0x20, 0xEA, 0x9B, +0xB3, 0x04, 0xCC, 0x28, 0xFE, 0x58, 0x36, 0x4C, 0xE4, 0x23, 0x1E, 0x34, 0xC2, 0xC7, 0x52, 0x2D, +0xFF, 0xB8, 0xAC, 0x01, 0x22, 0x0F, 0x89, 0x56, 0xD1, 0x4D, 0xC4, 0xE7, 0x9E, 0x89, 0xDC, 0x04, +0x19, 0x0F, 0x11, 0xA6, 0x6B, 0x47, 0x83, 0xE1, 0x1F, 0x96, 0x87, 0xE0, 0x1F, 0x20, 0xA2, 0xE1, +0xC6, 0xE7, 0x23, 0xD2, 0xBD, 0xF7, 0x9D, 0xF0, 0x9C, 0x46, 0xA8, 0xDE, 0xCA, 0x08, 0xFE, 0x7C, +0x79, 0x2A, 0x80, 0x88, 0x3D, 0xB4, 0x9F, 0x34, 0xFD, 0x02, 0xC0, 0xCF, 0xF7, 0xD1, 0x7B, 0x1E, +0x32, 0x2F, 0xAB, 0xA6, 0x59, 0x73, 0x16, 0xB1, 0x7A, 0x8F, 0x10, 0x01, 0x61, 0x11, 0x42, 0xF9, +0xE3, 0x54, 0xB7, 0x99, 0x88, 0x2B, 0x6E, 0x35, 0x99, 0x3A, 0x2A, 0x03, 0x11, 0x9F, 0x8F, 0x4E, +0xF9, 0xFC, 0x69, 0xB6, 0x49, 0x1C, 0x44, 0xEA, 0x2D, 0xAF, 0x4A, 0x3E, 0xF4, 0xBC, 0xA8, 0x39, +0xA1, 0xCB, 0xBA, 0x9A, 0xFE, 0x71, 0xCF, 0x99, 0xA7, 0xD5, 0xA6, 0x4C, 0x7E, 0xED, 0xC8, 0x1C, +0x73, 0x02, 0x91, 0x69, 0xBE, 0x3E, 0xCC, 0xEE, 0xC1, 0x66, 0xF0, 0x61, 0x79, 0xC8, 0xEC, 0x1B, +0xF4, 0x34, 0x08, 0x84, 0x2A, 0x1F, 0xB5, 0x8F, 0x2E, 0xE0, 0x3B, 0xFE, 0x51, 0x6B, 0xCD, 0x44, +0xD6, 0x65, 0x5D, 0x14, 0xD5, 0x97, 0xCA, 0x9E, 0x21, 0x2A, 0x38, 0xB3, 0x24, 0xB3, 0x1A, 0xF6, +0x11, 0x64, 0xBC, 0xFD, 0x1C, 0x88, 0xB4, 0x8B, 0xEA, 0x85, 0x06, 0xC9, 0x2C, 0xA5, 0xAF, 0x2A, +0x8A, 0x82, 0x88, 0x84, 0x83, 0xA4, 0x97, 0x4B, 0x51, 0x10, 0x19, 0xF1, 0x81, 0x5A, 0x7C, 0x84, +0x4F, 0xE2, 0x20, 0x9B, 0xB3, 0x76, 0x32, 0x6B, 0x53, 0xE1, 0x23, 0x5E, 0x02, 0x0D, 0xAA, 0x1F, +0xE2, 0xA3, 0xA5, 0xDA, 0x35, 0x2F, 0xC5, 0xE7, 0xD5, 0x49, 0xD0, 0x72, 0x10, 0x26, 0xD6, 0xC8, +0x43, 0x28, 0x7F, 0xE0, 0x20, 0x10, 0x62, 0xF3, 0xF1, 0x55, 0x8F, 0x90, 0x2D, 0xFF, 0x71, 0x40, +0xC9, 0x84, 0x0C, 0xF9, 0xA0, 0x1D, 0x5B, 0x1E, 0xD2, 0x38, 0x36, 0xF7, 0xAF, 0x6A, 0x16, 0xD2, +0xE2, 0x83, 0xA2, 0x7A, 0x51, 0x4E, 0x97, 0x59, 0xC8, 0x33, 0x24, 0xE2, 0xF4, 0xE4, 0x26, 0x0D, +0x0F, 0xC9, 0xEE, 0xC1, 0x02, 0xEB, 0x8C, 0xF1, 0xCC, 0x01, 0x04, 0x42, 0x3A, 0xE5, 0x8F, 0xBA, +0x87, 0x50, 0x07, 0xD1, 0x23, 0xE5, 0x0F, 0xC7, 0x43, 0x5E, 0xB6, 0xF9, 0xF8, 0xAC, 0x46, 0x88, +0x56, 0x53, 0x61, 0x93, 0xDA, 0x70, 0x10, 0xED, 0xEB, 0xC1, 0xF4, 0x0F, 0x08, 0xA9, 0xE8, 0xB2, +0xAD, 0x76, 0x78, 0xEE, 0x7B, 0xC8, 0x34, 0x99, 0xEA, 0xAD, 0x51, 0xFE, 0xD8, 0x66, 0x07, 0x09, +0xC5, 0xFE, 0xB4, 0xF9, 0xFE, 0x01, 0x21, 0x95, 0xF2, 0xC7, 0xFC, 0x1F, 0x07, 0x0F, 0x3C, 0xA4, +0xBF, 0xBE, 0xA2, 0xC9, 0x15, 0xAF, 0xAB, 0xF6, 0xD1, 0x3C, 0x38, 0x14, 0x59, 0x07, 0xFE, 0x01, +0x21, 0xC5, 0x6A, 0x98, 0xF2, 0xA0, 0xD6, 0x57, 0x89, 0x8B, 0xA9, 0xE7, 0x97, 0xF0, 0x90, 0xD2, +0x3F, 0xD4, 0xF2, 0x5C, 0x39, 0x0B, 0x3B, 0xD1, 0x98, 0xE2, 0x10, 0x07, 0x0F, 0x08, 0x69, 0x95, +0x3F, 0x5A, 0x1E, 0x82, 0x83, 0x10, 0x9E, 0x9B, 0x1E, 0x02, 0x1F, 0x96, 0x87, 0x7C, 0x96, 0xA8, +0x0F, 0xF3, 0x08, 0x07, 0xC9, 0x70, 0x90, 0xCC, 0xB2, 0xF8, 0x80, 0x10, 0xEE, 0xE3, 0xE5, 0x57, +0xFE, 0x0C, 0x3C, 0x04, 0x46, 0x64, 0x14, 0xCD, 0x49, 0xA0, 0x3F, 0xAB, 0x94, 0xCF, 0xAF, 0x9B, +0x80, 0x1C, 0x0B, 0x13, 0x51, 0xF9, 0x63, 0x3B, 0x93, 0x41, 0x0C, 0xC2, 0x1C, 0xDE, 0x9E, 0xF2, +0xF1, 0x77, 0xD5, 0x3F, 0x42, 0xA7, 0x80, 0xF0, 0x1F, 0x67, 0x71, 0x95, 0xFE, 0x4F, 0x75, 0x0F, +0x69, 0x7E, 0xF2, 0xA9, 0xDB, 0xFE, 0x51, 0x2E, 0xB3, 0xF0, 0x8F, 0xAE, 0x38, 0x57, 0x45, 0xFA, +0x4A, 0x50, 0x10, 0xA7, 0x07, 0x2F, 0xDA, 0x3D, 0xB4, 0xFC, 0xE3, 0xED, 0xCC, 0x45, 0x3C, 0x3D, +0xE4, 0x17, 0x4A, 0x0F, 0x49, 0x20, 0x74, 0x08, 0xF1, 0xFC, 0x83, 0x64, 0x16, 0x80, 0xE0, 0x1F, +0x86, 0x87, 0x90, 0xBE, 0x32, 0x01, 0x09, 0xE0, 0xCF, 0xB2, 0x73, 0x10, 0x83, 0x68, 0xD0, 0x8B, +0x65, 0x20, 0x02, 0x1F, 0x3D, 0x42, 0xCA, 0xF4, 0x95, 0x4F, 0x48, 0xDC, 0x7E, 0xD5, 0x21, 0xE4, +0xA6, 0x40, 0x64, 0x9A, 0x49, 0xDA, 0x1A, 0x4D, 0x15, 0xC3, 0x6A, 0xF9, 0x83, 0x18, 0x64, 0xCB, +0x53, 0xA9, 0xB4, 0x83, 0xA6, 0x79, 0xD4, 0x43, 0xF5, 0x2D, 0x70, 0x80, 0xC7, 0x96, 0x90, 0x1D, +0x42, 0x28, 0x7F, 0xB4, 0x5B, 0x89, 0xC8, 0x0D, 0x78, 0x54, 0x9B, 0x56, 0x59, 0xB6, 0x7F, 0x50, +0x32, 0x44, 0x91, 0x77, 0x89, 0x41, 0xEE, 0x21, 0x89, 0x8D, 0x67, 0x52, 0x0A, 0x13, 0x09, 0xFF, +0x88, 0x10, 0x24, 0x62, 0x91, 0x58, 0x9D, 0x27, 0x15, 0xB7, 0xC9, 0x76, 0x45, 0xBA, 0x97, 0xF2, +0x60, 0x43, 0x14, 0x44, 0x22, 0x48, 0xEF, 0x1A, 0x08, 0x05, 0x11, 0xF8, 0xE8, 0x03, 0xB2, 0xF0, +0xBE, 0xB9, 0x7C, 0xFE, 0x1C, 0x78, 0x90, 0xC5, 0x22, 0x7B, 0x77, 0x28, 0xD2, 0x57, 0xF0, 0x51, +0x25, 0xC4, 0xE2, 0x03, 0x15, 0xFE, 0x71, 0x3F, 0x98, 0x04, 0xF6, 0xF2, 0x8A, 0x6C, 0x2F, 0xFE, +0x11, 0x13, 0x16, 0x07, 0x89, 0x89, 0xCB, 0xB4, 0xDE, 0x16, 0x77, 0xEF, 0x76, 0xE8, 0x60, 0x95, +0x05, 0x1F, 0x81, 0xC5, 0x82, 0x8A, 0xE7, 0xFF, 0x74, 0x51, 0x32, 0xC4, 0x3F, 0x9A, 0x78, 0x3B, +0xF6, 0x41, 0xBB, 0x67, 0x99, 0x85, 0x7F, 0xF8, 0x84, 0xB0, 0xBE, 0x12, 0x1D, 0x1A, 0x23, 0x95, +0x15, 0x41, 0x7B, 0xA4, 0x7B, 0x8B, 0xF2, 0x47, 0x9A, 0x2B, 0xD4, 0x97, 0x63, 0xB7, 0x5E, 0x10, +0xF9, 0xCC, 0x20, 0xC4, 0xE2, 0x03, 0x0F, 0x11, 0x20, 0xF8, 0x87, 0x43, 0xC8, 0xCB, 0xB1, 0x7F, +0xC4, 0x07, 0x8D, 0xEA, 0x79, 0xC4, 0x1F, 0xD8, 0x06, 0xBB, 0xB9, 0xF2, 0x93, 0xF6, 0xF1, 0x0F, +0xF8, 0x18, 0x10, 0xF2, 0x11, 0x7C, 0xD8, 0x1E, 0xA2, 0x3D, 0xF0, 0x68, 0xB6, 0xFF, 0xC6, 0xE9, +0xF7, 0xE4, 0xAF, 0x3A, 0x71, 0x08, 0xE5, 0x8F, 0x99, 0x06, 0x2C, 0xA3, 0x78, 0x0A, 0x21, 0x94, +0x3F, 0x6C, 0x0F, 0xD9, 0x82, 0x87, 0x7A, 0x60, 0x11, 0xDB, 0x6C, 0x2A, 0xCF, 0x05, 0x11, 0x89, +0xCF, 0xD8, 0x5E, 0x22, 0x8E, 0xE3, 0x0F, 0x5A, 0xDC, 0xDC, 0x8B, 0x7F, 0x38, 0x84, 0x7C, 0x74, +0xC2, 0x47, 0xD8, 0x05, 0xB8, 0x24, 0x3C, 0xD2, 0xB0, 0x07, 0x90, 0xD9, 0x3A, 0xCE, 0x62, 0xAE, +0xA4, 0xD9, 0xA3, 0x57, 0xF4, 0x42, 0xAD, 0x20, 0x82, 0x0C, 0x42, 0x28, 0x9F, 0x0F, 0x3C, 0x44, +0x80, 0x90, 0xBE, 0xEA, 0xEA, 0x8D, 0x90, 0x83, 0x8F, 0xB1, 0x28, 0x7F, 0x2C, 0x52, 0x57, 0x6F, +0xB3, 0x1B, 0xDF, 0x5B, 0xFB, 0x58, 0xC8, 0x06, 0x3E, 0xDA, 0x84, 0x70, 0xFF, 0xBB, 0xF8, 0xF0, +0x34, 0x67, 0xF1, 0xC7, 0x74, 0x44, 0x41, 0x24, 0x04, 0x1D, 0x5D, 0x13, 0x79, 0x9D, 0xEF, 0xBE, +0x52, 0xF9, 0x23, 0xF3, 0xB1, 0xC8, 0x62, 0xF1, 0x94, 0x82, 0x08, 0xFE, 0xD1, 0xA3, 0xA3, 0x24, +0x04, 0x67, 0x5A, 0xFC, 0x47, 0x71, 0xAC, 0x4C, 0xC8, 0x0D, 0xE1, 0xB9, 0xD3, 0xEE, 0x03, 0x8F, +0x6B, 0xAE, 0x1D, 0xDD, 0x46, 0xF9, 0xDC, 0xD2, 0xAE, 0xC2, 0x47, 0x76, 0x0F, 0x75, 0x5E, 0xD3, +0x88, 0x87, 0xE0, 0x1F, 0x12, 0xAB, 0x8D, 0x44, 0x06, 0x69, 0xDF, 0x85, 0x87, 0xF4, 0xFD, 0x83, +0x82, 0x08, 0xE5, 0x41, 0x4B, 0x02, 0x44, 0xCB, 0x2B, 0x4B, 0x2F, 0xDF, 0x28, 0x12, 0xF1, 0xF9, +0x98, 0xFD, 0x63, 0x12, 0xB6, 0xA1, 0xE7, 0xEC, 0x4E, 0x62, 0x45, 0x59, 0xDE, 0x7E, 0xD5, 0x87, +0xA4, 0x48, 0x5F, 0x79, 0xAB, 0x2C, 0xEE, 0x4E, 0xEC, 0x37, 0x11, 0x42, 0x79, 0xD0, 0x6A, 0xA4, +0x77, 0x63, 0xC2, 0x12, 0x83, 0xF0, 0x94, 0x89, 0x3C, 0x4A, 0x5F, 0x41, 0x09, 0xCB, 0x2C, 0x0D, +0x8B, 0xF0, 0x83, 0xE0, 0x86, 0x67, 0x0F, 0x73, 0xBA, 0x17, 0x3E, 0x0C, 0xBC, 0xF1, 0x0F, 0x0F, +0x90, 0x58, 0x64, 0x5D, 0x9A, 0x0A, 0xB3, 0xC7, 0x30, 0xA8, 0x7D, 0xA4, 0x38, 0x44, 0x7D, 0x1F, +0x03, 0xC9, 0xAC, 0x43, 0x5E, 0x5D, 0xC4, 0x0A, 0x43, 0x4D, 0x3E, 0x02, 0x19, 0x52, 0x72, 0x12, +0x6E, 0xCC, 0x42, 0x06, 0x21, 0xDC, 0x5E, 0x32, 0xD0, 0xAD, 0x00, 0x79, 0x32, 0xF9, 0x10, 0x21, +0x7F, 0x91, 0xBE, 0xB2, 0x24, 0x3E, 0x82, 0x72, 0x3A, 0x66, 0x32, 0xC7, 0x5E, 0x94, 0x0C, 0xE5, +0x1F, 0x21, 0x8F, 0x10, 0xFC, 0xC3, 0x43, 0xE4, 0x72, 0x3C, 0x01, 0xB8, 0xB9, 0xF7, 0x9E, 0xF8, +0xC3, 0x68, 0xC9, 0x43, 0x16, 0x09, 0x2B, 0x1C, 0x84, 0xA7, 0x4C, 0xEF, 0x69, 0xBA, 0x7F, 0xD3, +0x43, 0x22, 0x36, 0x3C, 0x64, 0xBE, 0x3D, 0x71, 0x11, 0x83, 0xF0, 0x3F, 0xCC, 0xE1, 0x0E, 0xE9, +0x5E, 0x87, 0x0F, 0xF2, 0x59, 0xE9, 0xDB, 0xBE, 0xB2, 0x1B, 0xE5, 0x73, 0x4B, 0xC9, 0x3E, 0x66, +0xAF, 0xA0, 0x11, 0x9A, 0x7F, 0x9E, 0x86, 0x78, 0x35, 0x79, 0x08, 0xD3, 0x42, 0x3B, 0x85, 0x81, +0x9C, 0x25, 0x70, 0x72, 0x62, 0x2B, 0x3C, 0xC4, 0xF0, 0x0F, 0x92, 0x59, 0x94, 0xCF, 0xBD, 0x7F, +0x27, 0xFD, 0xCA, 0xD6, 0x64, 0x1F, 0x6F, 0x7D, 0xB6, 0x42, 0x9B, 0x2C, 0x1C, 0x24, 0x12, 0x57, +0x38, 0x88, 0x9E, 0x90, 0xE0, 0x9E, 0xEF, 0xBE, 0x52, 0xEF, 0x2B, 0xAA, 0xEA, 0x9C, 0x22, 0x8B, +0x90, 0x57, 0x92, 0x2C, 0xC4, 0xD4, 0x3D, 0xD5, 0x41, 0xA3, 0xC9, 0x43, 0xC4, 0x47, 0xA5, 0xD5, +0x5E, 0xD0, 0x90, 0xEC, 0x43, 0xF9, 0x5D, 0x57, 0xDF, 0x24, 0x3E, 0xF8, 0x2F, 0x74, 0x9B, 0xFA, +0x30, 0x3C, 0x2F, 0x8B, 0xEA, 0x1C, 0x17, 0x47, 0xD8, 0x87, 0xA5, 0x5C, 0x3E, 0x2F, 0xF8, 0xE0, +0x3C, 0xDF, 0xCD, 0x43, 0x42, 0x45, 0x2D, 0xC3, 0x71, 0x96, 0x09, 0x88, 0xE0, 0x83, 0x24, 0xD6, +0x9C, 0xEB, 0x7D, 0x3B, 0xF6, 0x44, 0xC8, 0x0A, 0xBD, 0x35, 0x05, 0x22, 0x57, 0xB6, 0x00, 0xC4, +0xD1, 0x9B, 0xF4, 0x99, 0x7C, 0xED, 0xA7, 0x81, 0xAB, 0x01, 0x7E, 0x91, 0x95, 0xBF, 0x2D, 0x43, +0x3A, 0x66, 0x1C, 0xA6, 0x5E, 0x97, 0x0E, 0xF8, 0x87, 0xA7, 0x17, 0x6B, 0xF4, 0x45, 0x8E, 0x3F, +0x5C, 0x89, 0x90, 0x6F, 0x7F, 0xFA, 0xE9, 0x35, 0x2D, 0x3F, 0x89, 0xC7, 0xDA, 0x43, 0xFA, 0x15, +0x58, 0x45, 0xAF, 0x37, 0x75, 0x79, 0xC8, 0xEB, 0xD7, 0xFA, 0x6B, 0xF4, 0x68, 0xC5, 0xFF, 0x8A, +0xB6, 0x86, 0x6E, 0x15, 0x7A, 0xD2, 0x17, 0x5E, 0xA1, 0xCB, 0x75, 0xDA, 0xED, 0xAB, 0x0A, 0xDB, +0xC0, 0x4F, 0x66, 0x56, 0x36, 0x0B, 0x07, 0x61, 0x64, 0xDA, 0xD0, 0x35, 0xCB, 0x56, 0xEA, 0xCD, +0x95, 0xA7, 0xF5, 0x0E, 0x72, 0xFE, 0xC3, 0x0A, 0xDD, 0x3E, 0x69, 0xCA, 0xFB, 0x3A, 0xDB, 0x1F, +0x3E, 0x16, 0x19, 0x9F, 0xAB, 0x3B, 0x4D, 0x7D, 0x15, 0x20, 0x9F, 0x5E, 0x7E, 0xF1, 0xF8, 0xE1, +0x2A, 0x4D, 0x19, 0x9E, 0xAE, 0x8E, 0x34, 0x3D, 0x39, 0xFE, 0xF8, 0xDA, 0x97, 0xDE, 0xBB, 0x5D, +0xA9, 0xF4, 0x97, 0xFC, 0xFF, 0xC1, 0xF1, 0xD8, 0xF9, 0xD4, 0xE5, 0x4B, 0x02, 0x7C, 0xDD, 0xB1, +0x79, 0xFC, 0x62, 0x25, 0x20, 0x8A, 0xC8, 0x57, 0xB4, 0x8F, 0x0F, 0xFB, 0x15, 0x12, 0x20, 0x4F, +0xB7, 0xB7, 0xF6, 0xBC, 0xD4, 0x3B, 0xFF, 0x27, 0x07, 0x39, 0x97, 0x56, 0x7C, 0x8C, 0xA7, 0xE4, +0x21, 0x4F, 0xFB, 0x59, 0x87, 0xB2, 0xB3, 0x3B, 0xE1, 0xB1, 0xFF, 0xF8, 0x70, 0x91, 0x08, 0xB1, +0xA4, 0x6B, 0x4F, 0x8E, 0xD1, 0x7F, 0x37, 0x9B, 0xF8, 0x58, 0x45, 0xC8, 0xB5, 0xA4, 0x89, 0xA3, +0x6E, 0xE9, 0x38, 0x69, 0x05, 0x1F, 0x5B, 0xE9, 0xDB, 0xAF, 0xEC, 0x96, 0xDE, 0xFE, 0xDA, 0xD7, +0x71, 0xD2, 0x8D, 0x2B, 0x45, 0x5A, 0xD2, 0x2A, 0x3E, 0xBE, 0x78, 0xD4, 0xA1, 0xB7, 0xDB, 0x4E, +0xF2, 0xF1, 0x50, 0x0C, 0x22, 0x42, 0xCE, 0xF6, 0x9B, 0x98, 0x1C, 0x92, 0xC6, 0xFC, 0xA4, 0xB2, +0xB7, 0x99, 0xF4, 0xF4, 0x83, 0xAD, 0xF3, 0xB5, 0x31, 0xC8, 0xAD, 0xF9, 0xD6, 0xF3, 0x24, 0x1B, +0x91, 0x37, 0xB1, 0xCA, 0xDA, 0x0B, 0x92, 0xD1, 0xB6, 0x49, 0xFF, 0x94, 0xCE, 0xC7, 0xEA, 0x29, +0x93, 0x61, 0x48, 0x78, 0xFC, 0xB6, 0xFB, 0xD4, 0xCF, 0x62, 0xFD, 0xAE, 0x53, 0xAA, 0xEE, 0xF3, +0x91, 0x65, 0xF3, 0x91, 0xB5, 0x8A, 0x8F, 0x35, 0x8C, 0x6C, 0x93, 0x7C, 0x3E, 0xB2, 0x3C, 0x38, +0x64, 0x1F, 0x59, 0xAB, 0xF8, 0x10, 0x21, 0xEE, 0xA1, 0x17, 0x1D, 0x9F, 0xAE, 0x21, 0x64, 0x9A, +0x07, 0x87, 0x8F, 0x37, 0x42, 0x64, 0x3C, 0x73, 0x26, 0xFF, 0x48, 0x7A, 0x63, 0xF3, 0x91, 0x64, +0x13, 0x62, 0xD7, 0x41, 0x6E, 0x85, 0x5D, 0x96, 0xCF, 0x47, 0x20, 0x22, 0xE1, 0x23, 0x15, 0x65, +0xFF, 0x48, 0x7C, 0xA8, 0x7B, 0x66, 0xBC, 0x93, 0xD2, 0x81, 0x37, 0xAF, 0x61, 0x8F, 0x2F, 0x32, +0x21, 0x8F, 0x2E, 0x1F, 0x10, 0x62, 0xF3, 0x21, 0xFD, 0x3F, 0x7C, 0x6C, 0x67, 0xB9, 0x7C, 0x84, +0xCC, 0x0F, 0x7F, 0x1D, 0x72, 0x09, 0x49, 0x78, 0xA8, 0xC9, 0x96, 0x5D, 0xFB, 0x98, 0x2E, 0x67, +0x3B, 0xEB, 0xC4, 0xDE, 0xC5, 0x44, 0x90, 0x87, 0x08, 0x80, 0xB1, 0x08, 0x2C, 0x7C, 0x3E, 0x7C, +0x42, 0x6E, 0xF3, 0x3F, 0x7F, 0x70, 0xEB, 0xFA, 0x87, 0x4F, 0xC8, 0x06, 0xC5, 0xD7, 0xCC, 0xB4, +0x9F, 0x3E, 0x3E, 0x69, 0x38, 0x4B, 0x47, 0x24, 0x08, 0xF1, 0xF8, 0xF8, 0x34, 0x35, 0xC9, 0xF3, +0x8F, 0xC7, 0x68, 0x9E, 0x89, 0x5C, 0xA3, 0xE3, 0x1A, 0x3E, 0x3E, 0x39, 0x7A, 0x7C, 0xA0, 0xA9, +0x5C, 0xE8, 0xD9, 0xC7, 0x4F, 0xD3, 0x60, 0xC5, 0x21, 0x47, 0x64, 0xF9, 0x07, 0x72, 0xF9, 0x80, +0x90, 0x91, 0xC4, 0x47, 0x9C, 0x28, 0xC9, 0xE3, 0xE3, 0x10, 0x5D, 0x33, 0xE1, 0x8C, 0xD9, 0x52, +0x7F, 0x14, 0x1F, 0xC8, 0xE2, 0x03, 0x39, 0xB3, 0x3E, 0xEE, 0xC5, 0xD2, 0x9E, 0xC3, 0x87, 0x4F, +0xC8, 0xC5, 0x66, 0xA1, 0x58, 0x30, 0x86, 0x2D, 0xEE, 0x35, 0xAA, 0xC7, 0xF3, 0x08, 0xCF, 0xD5, +0x72, 0xD7, 0xF6, 0xF9, 0xC0, 0x44, 0xC4, 0xC7, 0xAC, 0x4F, 0xAD, 0x38, 0x44, 0x7C, 0x40, 0x88, +0xC7, 0x07, 0x8A, 0x69, 0x64, 0xE0, 0xE1, 0x7A, 0x08, 0xF3, 0x5D, 0xB2, 0x0C, 0x04, 0x79, 0x7C, +0x20, 0xCB, 0x3F, 0x90, 0xB7, 0xBC, 0xA2, 0x8D, 0x43, 0x3F, 0x4E, 0x94, 0xBA, 0xB7, 0xBC, 0x8A, +0xAE, 0x61, 0xBF, 0xA9, 0xCE, 0x1A, 0x9E, 0x6F, 0x16, 0xF2, 0xF8, 0xF0, 0x09, 0xB9, 0xE5, 0x76, +0xF7, 0xDB, 0x71, 0x78, 0xEE, 0x13, 0x92, 0xC2, 0xF3, 0xA7, 0xCD, 0x41, 0x5B, 0xE8, 0x29, 0xBC, +0x62, 0xA9, 0x43, 0xBC, 0x70, 0x06, 0x1F, 0xDE, 0x2A, 0x6B, 0x77, 0xF9, 0x29, 0x0E, 0x32, 0xF6, +0x90, 0x2F, 0xF8, 0xB7, 0x60, 0x2C, 0x0F, 0xB9, 0x5E, 0xCA, 0xF2, 0x0F, 0x34, 0xE6, 0xA3, 0xD0, +0x90, 0x90, 0x99, 0xA7, 0x87, 0xB4, 0xF3, 0xA3, 0xC3, 0x07, 0x1A, 0x19, 0xC8, 0xF5, 0x52, 0x63, +0x3E, 0xFE, 0xDB, 0x86, 0x1E, 0x22, 0x3E, 0x70, 0x10, 0x8D, 0x06, 0x1F, 0x87, 0xC2, 0x43, 0xAA, +0xB3, 0x26, 0x94, 0xE7, 0x19, 0x73, 0xED, 0xC9, 0xE1, 0x03, 0xBD, 0x3F, 0xE6, 0x23, 0x00, 0x11, +0x21, 0xB7, 0x06, 0x1F, 0x68, 0xC0, 0x47, 0x64, 0xAD, 0xF9, 0xEC, 0x7B, 0xF0, 0x48, 0x97, 0x05, +0x9E, 0x2B, 0x8B, 0x3D, 0x1F, 0x0F, 0x3C, 0x64, 0xC0, 0x07, 0xFA, 0xD4, 0xF0, 0x10, 0xCE, 0x27, +0x84, 0x98, 0x7C, 0xB0, 0xCA, 0x3A, 0x8E, 0xF8, 0x40, 0x7F, 0x76, 0xD7, 0x57, 0x3F, 0xE5, 0xD9, +0xFE, 0x80, 0x89, 0xD8, 0xEE, 0x11, 0x6F, 0x1F, 0xA4, 0x77, 0x4B, 0x59, 0xFE, 0x81, 0x1C, 0xFF, +0xF0, 0x3D, 0x24, 0x63, 0x01, 0x24, 0x22, 0xA4, 0x9F, 0xDE, 0x3D, 0x14, 0x5D, 0x84, 0x94, 0xB3, +0x26, 0xA4, 0xE7, 0x69, 0x86, 0xA1, 0xC3, 0x88, 0x10, 0xEF, 0xE7, 0x6D, 0x11, 0x80, 0x48, 0x9D, +0x55, 0x56, 0x84, 0xE7, 0x2E, 0x22, 0xE1, 0x1B, 0x4B, 0xFB, 0x8B, 0x6F, 0x79, 0x98, 0x8C, 0xA4, +0x80, 0x05, 0xFF, 0xA0, 0x77, 0xAA, 0x21, 0x77, 0x97, 0xE1, 0x1E, 0x5C, 0x98, 0xA6, 0x48, 0xBD, +0x25, 0x85, 0xE7, 0x25, 0x20, 0x22, 0xC4, 0xC0, 0x83, 0x29, 0x23, 0x42, 0x86, 0x78, 0xA0, 0x4F, +0x3E, 0xF9, 0xB1, 0x13, 0x7E, 0x30, 0xE3, 0x3D, 0x0F, 0x89, 0xE5, 0x18, 0x44, 0xF5, 0x09, 0x39, +0xD6, 0x64, 0xF9, 0x07, 0x5A, 0xC5, 0x47, 0xBF, 0x20, 0x92, 0x4E, 0xCE, 0xE2, 0x44, 0xED, 0x7A, +0xA5, 0x2D, 0xEC, 0x83, 0x3E, 0xC3, 0xC0, 0xAC, 0x39, 0x4C, 0x2D, 0xAD, 0xB3, 0xA4, 0x85, 0x85, +0x68, 0x7B, 0x32, 0xF8, 0xB0, 0x08, 0xB9, 0x15, 0x1E, 0x00, 0xD2, 0x25, 0xE4, 0xBC, 0xAE, 0x3E, +0x1F, 0x4F, 0xF8, 0x87, 0x16, 0x58, 0x73, 0xC9, 0x50, 0x63, 0x11, 0xB1, 0x9F, 0x91, 0xBE, 0x5A, +0x74, 0x85, 0x6B, 0x0D, 0x3E, 0xE2, 0x68, 0xE3, 0x20, 0xFD, 0x7A, 0x08, 0xE7, 0xD4, 0x22, 0xE4, +0xBA, 0xAA, 0x4F, 0xFE, 0x34, 0xF8, 0x20, 0x52, 0x3F, 0x36, 0xF9, 0xD0, 0x34, 0x67, 0xCA, 0xE3, +0x21, 0x96, 0x7F, 0xF0, 0x17, 0x3D, 0x3E, 0x50, 0xBB, 0xFC, 0x51, 0x95, 0xC7, 0x07, 0x84, 0xF4, +0xF3, 0x57, 0x38, 0x48, 0xE0, 0xD2, 0xF4, 0x90, 0x43, 0x7D, 0x26, 0x9C, 0x05, 0x1B, 0x44, 0xE7, +0x79, 0x67, 0x53, 0x68, 0xB4, 0xCA, 0x72, 0x7F, 0x67, 0x03, 0xF6, 0x01, 0x20, 0x41, 0x48, 0x05, +0x91, 0x5F, 0xF0, 0x8F, 0x52, 0xFD, 0xF8, 0x43, 0x7D, 0x29, 0xBE, 0xDA, 0x61, 0x46, 0x64, 0x43, +0x7C, 0x7E, 0xD2, 0xEB, 0x80, 0xEC, 0x95, 0xD7, 0xDD, 0x9D, 0x38, 0x88, 0xD4, 0x8C, 0x3F, 0xF0, +0x8F, 0x92, 0x10, 0x9F, 0x0F, 0x8A, 0xEA, 0x7D, 0x3E, 0x40, 0xA4, 0x17, 0x7E, 0x3C, 0x54, 0x96, +0x4D, 0x7F, 0x68, 0x6B, 0xF9, 0x07, 0xF6, 0xC1, 0x2A, 0xCB, 0xE2, 0x03, 0x75, 0xFC, 0xC3, 0x27, +0x44, 0x2C, 0xD4, 0x5B, 0xBB, 0xFC, 0x51, 0x38, 0x48, 0x6C, 0x8D, 0xF4, 0x55, 0xC5, 0x3F, 0x28, +0x88, 0x48, 0x07, 0x5C, 0x44, 0x8F, 0xCF, 0xE6, 0x31, 0xED, 0x1E, 0x98, 0x72, 0x2D, 0x42, 0xDC, +0xDF, 0xFA, 0x83, 0x7F, 0x00, 0x08, 0x84, 0xA8, 0x75, 0xD2, 0x57, 0xA5, 0xBA, 0xF1, 0x07, 0xE6, +0xA7, 0x36, 0xED, 0x44, 0x42, 0x02, 0x03, 0xA1, 0xFC, 0x51, 0xE9, 0x17, 0xF5, 0x50, 0x3D, 0x1D, +0x62, 0xC4, 0x85, 0xE9, 0xF3, 0x5D, 0x35, 0x2B, 0xDF, 0x3A, 0xA7, 0xBA, 0xF2, 0x39, 0x7C, 0x30, +0x65, 0x3E, 0x21, 0x0E, 0x29, 0xF9, 0xF0, 0x09, 0x29, 0xAD, 0x60, 0x10, 0x87, 0xF0, 0x56, 0x40, +0x21, 0xDD, 0x6B, 0xF0, 0x81, 0xAA, 0x80, 0xB4, 0xBF, 0xEE, 0xC0, 0x3F, 0xAC, 0x38, 0x04, 0x24, +0x96, 0x0E, 0xA2, 0x8A, 0x48, 0x0D, 0x90, 0xDA, 0x4C, 0x20, 0x52, 0x8F, 0xAB, 0x6A, 0xAC, 0xB0, +0x88, 0x3F, 0xB0, 0x0E, 0x76, 0xDF, 0x58, 0x7C, 0xA0, 0xDB, 0xA6, 0x7F, 0x00, 0x08, 0x1E, 0x52, +0x2D, 0x0F, 0xFA, 0x84, 0xBC, 0x01, 0x8D, 0xC5, 0xA7, 0x4E, 0x4A, 0x78, 0x60, 0x21, 0xF2, 0x4E, +0xFC, 0xE3, 0xA4, 0x5F, 0x9C, 0x7A, 0xC8, 0xC7, 0xFB, 0x54, 0x6F, 0xFA, 0xB4, 0xE2, 0x20, 0x55, +0x13, 0xD9, 0xFD, 0x2E, 0xFF, 0x68, 0x22, 0x62, 0xF1, 0x81, 0x3E, 0x29, 0xE7, 0x17, 0x7C, 0x8C, +0x09, 0xA1, 0xFC, 0x41, 0x8C, 0x9E, 0x06, 0xD4, 0xA9, 0x7F, 0x30, 0x20, 0x8F, 0x0F, 0x54, 0x29, +0x7F, 0xF4, 0x64, 0xF1, 0x41, 0x6B, 0x85, 0x1F, 0x18, 0xC8, 0x32, 0x1C, 0xA9, 0x97, 0x07, 0xDB, +0x84, 0x04, 0x22, 0x6A, 0x71, 0x69, 0x8D, 0x59, 0x95, 0x7C, 0x23, 0x2E, 0xC0, 0xB1, 0x49, 0x6F, +0xAA, 0x7C, 0xF8, 0x84, 0xDC, 0x06, 0x1F, 0x00, 0x82, 0x20, 0x04, 0x3E, 0x56, 0x10, 0xF2, 0x6C, +0x7C, 0x59, 0x44, 0x4F, 0xF1, 0x40, 0x04, 0x82, 0x7F, 0x34, 0xFB, 0x89, 0x87, 0x88, 0x0F, 0xB4, +0x70, 0x90, 0x58, 0x66, 0xD5, 0xCA, 0x1F, 0x36, 0x21, 0x8F, 0xF0, 0x51, 0x57, 0xE1, 0x20, 0xD7, +0x47, 0xC9, 0x20, 0x04, 0x3E, 0x4A, 0x0D, 0x72, 0x59, 0xE5, 0x7B, 0x97, 0x7F, 0xC5, 0xE3, 0x03, +0x0D, 0xD2, 0x57, 0xA5, 0x5C, 0x3C, 0x5A, 0x45, 0xF5, 0xC5, 0x9A, 0xAA, 0x30, 0x13, 0xF5, 0x25, +0x1E, 0xB2, 0x8F, 0x2E, 0x20, 0x24, 0xB3, 0x36, 0xAC, 0xAF, 0xA4, 0xC3, 0xD2, 0x3F, 0x78, 0x71, +0x15, 0x1F, 0x10, 0xC2, 0xFA, 0xAA, 0x09, 0x08, 0x25, 0x43, 0xF8, 0xF0, 0x09, 0x89, 0xCF, 0x57, +0x58, 0x08, 0x8C, 0x44, 0xBA, 0x37, 0xBE, 0x25, 0xE5, 0x8F, 0x46, 0x2F, 0x09, 0x91, 0x7F, 0x60, +0x1E, 0x5C, 0x98, 0x62, 0x94, 0x4E, 0x6E, 0xBF, 0xEA, 0x13, 0xF2, 0x68, 0xF9, 0x07, 0x3A, 0x1A, +0xCB, 0x2B, 0x54, 0x12, 0x12, 0xB3, 0x9B, 0x30, 0x7D, 0x94, 0xCB, 0x5A, 0x24, 0xB0, 0x8A, 0xBF, +0x44, 0x41, 0x04, 0x3E, 0x06, 0x2A, 0xC2, 0xF3, 0x91, 0x2A, 0xE5, 0xF3, 0x01, 0x21, 0xA5, 0x7F, +0xE0, 0x20, 0x6A, 0xEC, 0xE6, 0xBD, 0x51, 0x7A, 0xB7, 0x44, 0xE4, 0x2C, 0x39, 0x48, 0x40, 0x92, +0x26, 0x13, 0x17, 0xE3, 0xC8, 0x03, 0x69, 0xD3, 0x6E, 0x06, 0xE6, 0xA2, 0xC2, 0x87, 0x4F, 0xC8, +0xBB, 0x55, 0x40, 0x20, 0x04, 0x3E, 0xC6, 0x3A, 0x8D, 0xCF, 0xB1, 0x90, 0x3D, 0x9C, 0xC4, 0x1F, +0xA8, 0x27, 0x36, 0x28, 0x9F, 0x0F, 0x0E, 0xCC, 0x82, 0x8F, 0x8A, 0x8A, 0xF0, 0x8F, 0x4B, 0xD8, +0xC4, 0x07, 0x51, 0x65, 0xAB, 0x95, 0x7C, 0xF8, 0x84, 0x1C, 0x0D, 0x55, 0xE3, 0x0F, 0x30, 0xD1, +0x74, 0x6F, 0xE7, 0xB2, 0x78, 0x37, 0x6F, 0x2A, 0xFE, 0xBE, 0xC7, 0x07, 0xB2, 0xFC, 0x03, 0x79, +0xFE, 0x41, 0xBB, 0x2C, 0xFC, 0xA3, 0xE2, 0x20, 0x5C, 0xCB, 0x7E, 0xDB, 0xDD, 0xD9, 0x7C, 0x50, +0x10, 0x89, 0x2C, 0x56, 0xCC, 0xA6, 0x7D, 0xCC, 0x33, 0x45, 0xB7, 0x5C, 0x8A, 0xD5, 0x29, 0x88, +0xC0, 0xC7, 0x50, 0x75, 0x3E, 0x00, 0x04, 0x15, 0xE9, 0x5D, 0x9F, 0x90, 0x70, 0x09, 0x21, 0x80, +0x85, 0x80, 0x49, 0x7A, 0x98, 0x2D, 0x64, 0xE6, 0xC3, 0xE8, 0xDC, 0x5E, 0x42, 0xF0, 0x41, 0xE3, +0xAA, 0x74, 0x52, 0x54, 0xFF, 0x90, 0x53, 0x67, 0x78, 0x08, 0x7C, 0x98, 0x84, 0x1C, 0x1D, 0xFD, +0x38, 0x2F, 0xAF, 0xFE, 0xFC, 0xB6, 0xEA, 0x19, 0xE5, 0x4B, 0xD5, 0xFA, 0x07, 0x5C, 0xE4, 0x0D, +0x2D, 0xCA, 0x83, 0x86, 0x8A, 0xF4, 0x95, 0x4F, 0xC8, 0xA3, 0x75, 0x2C, 0x0B, 0xFF, 0x28, 0x1D, +0x24, 0xB6, 0x79, 0x78, 0x26, 0xA4, 0x1D, 0x9E, 0xD7, 0x8A, 0xEA, 0xEA, 0x5C, 0x70, 0x63, 0x9E, +0x69, 0x88, 0x31, 0x89, 0x82, 0x88, 0xC1, 0x07, 0xE9, 0x5E, 0xCA, 0xE7, 0x5D, 0x40, 0x88, 0x43, +0xF4, 0x97, 0x2C, 0x2D, 0xED, 0x43, 0xC2, 0x42, 0x92, 0xEB, 0xE1, 0x20, 0x51, 0x54, 0x4F, 0x1A, +0xF1, 0x41, 0xBA, 0xF7, 0xF9, 0xF6, 0x92, 0x81, 0x83, 0x50, 0x54, 0x57, 0x27, 0x7D, 0x65, 0x12, +0x72, 0xED, 0xE9, 0x08, 0x1F, 0x2B, 0x08, 0xF9, 0x91, 0x84, 0x94, 0x7A, 0x39, 0xF3, 0x2B, 0x71, +0x48, 0x1D, 0x23, 0x9E, 0xC6, 0xF8, 0x2D, 0x7C, 0x78, 0xC2, 0x3F, 0x2C, 0xE1, 0x1F, 0xD6, 0xC1, +0x9C, 0x8F, 0xFD, 0x4E, 0x6A, 0xC6, 0x20, 0xC0, 0xB2, 0x48, 0x5F, 0x19, 0x3D, 0xE2, 0x10, 0x7E, +0x14, 0xF5, 0x80, 0x79, 0x68, 0x7E, 0xB1, 0x60, 0x09, 0x63, 0x81, 0x0F, 0x8B, 0x10, 0xC2, 0x8F, +0x1E, 0x20, 0x94, 0x0C, 0xCF, 0x6D, 0xE1, 0x1F, 0x24, 0x12, 0x66, 0xAA, 0x79, 0x91, 0xE8, 0xA4, +0x58, 0x5F, 0x59, 0xAB, 0x2C, 0xCD, 0xFC, 0x8E, 0x81, 0x94, 0x81, 0x08, 0x7C, 0x18, 0x84, 0x78, +0x78, 0x10, 0xA9, 0x83, 0x87, 0x47, 0x08, 0xE5, 0xF3, 0x87, 0x6A, 0x8C, 0xBE, 0x78, 0xBD, 0xAC, +0x7F, 0xC0, 0xC4, 0x03, 0x68, 0x41, 0x4C, 0x26, 0xE4, 0xE8, 0x2B, 0xA7, 0x17, 0x6C, 0x05, 0x1F, +0x6E, 0x9B, 0xFD, 0xA3, 0xEB, 0x20, 0xEC, 0xDD, 0x71, 0x7B, 0xA2, 0xE9, 0x21, 0xAC, 0xAF, 0x18, +0x67, 0x2A, 0x58, 0xB0, 0xC4, 0x5C, 0x7B, 0x82, 0x0F, 0x8B, 0x10, 0xF8, 0x68, 0x00, 0x82, 0x08, +0x3F, 0x3C, 0x11, 0x9F, 0x63, 0x1C, 0x1B, 0x6D, 0x78, 0x89, 0xC4, 0x53, 0x6E, 0x2F, 0xB1, 0x7A, +0xE2, 0x43, 0x07, 0xB4, 0x6B, 0x20, 0x1C, 0xF6, 0xE0, 0xC3, 0x3E, 0xAD, 0x00, 0x62, 0xE9, 0x13, +0x97, 0x0F, 0x02, 0x11, 0x2E, 0xFC, 0x2C, 0x94, 0x1A, 0xBE, 0x50, 0xD4, 0x3F, 0x18, 0x5B, 0xE9, +0x2F, 0xF8, 0xF0, 0x84, 0x7F, 0x58, 0xC2, 0x3F, 0xAC, 0x36, 0xE3, 0x61, 0x39, 0x88, 0x32, 0x2E, +0x7B, 0xCA, 0xE7, 0x26, 0x21, 0xCF, 0x97, 0x5C, 0xA1, 0xC2, 0xEC, 0x8A, 0x78, 0x84, 0x3F, 0xC8, +0x1D, 0x3C, 0xEC, 0x7F, 0x27, 0xBD, 0x0B, 0x08, 0xC2, 0x3F, 0x3C, 0x40, 0xDE, 0x90, 0x96, 0xD6, +0x06, 0x0F, 0x7B, 0xCA, 0x85, 0xF1, 0x34, 0xC9, 0x3B, 0x22, 0x94, 0x0C, 0xA7, 0xBB, 0x77, 0xDB, +0x21, 0x08, 0x63, 0x6C, 0xDC, 0xBE, 0x3B, 0x6C, 0x53, 0x07, 0x0F, 0x4F, 0x7F, 0x5A, 0x2B, 0x1A, +0xD2, 0xBD, 0x78, 0x01, 0x93, 0x5D, 0x3B, 0x04, 0x19, 0xA5, 0x87, 0x14, 0x74, 0x40, 0x03, 0x6F, +0x45, 0xF0, 0xE1, 0xE9, 0x7A, 0x9D, 0x48, 0x5F, 0x59, 0xED, 0xF7, 0x00, 0xC2, 0x72, 0x10, 0x69, +0xAF, 0xB3, 0x7B, 0xF0, 0xFB, 0x7E, 0x79, 0x19, 0x3E, 0x59, 0xB4, 0x64, 0xB1, 0xCA, 0x02, 0x10, +0xCF, 0x43, 0xDE, 0x75, 0x01, 0x21, 0xBF, 0x6B, 0xE9, 0x4D, 0x70, 0x1D, 0xE2, 0x5E, 0x13, 0x7C, +0x6F, 0xB6, 0xBD, 0x64, 0x8A, 0x17, 0x4A, 0x7B, 0x1F, 0xFC, 0xBE, 0x27, 0x9D, 0x3B, 0x76, 0x10, +0x49, 0xF5, 0x41, 0xFF, 0xB4, 0xEA, 0x9D, 0xD7, 0xEB, 0xF4, 0xC9, 0x71, 0x15, 0x20, 0x31, 0xBD, +0x11, 0x74, 0xD4, 0x3D, 0x64, 0x5B, 0x17, 0xEF, 0x87, 0xAB, 0xF5, 0x80, 0x7C, 0x72, 0xBD, 0x4E, +0x3A, 0x92, 0xAB, 0x08, 0xD9, 0x7D, 0x4A, 0x65, 0xB0, 0xEB, 0x20, 0xDA, 0xB4, 0x6A, 0x26, 0x00, +0x71, 0xFA, 0xC7, 0x17, 0xCF, 0xAB, 0x2A, 0x66, 0x13, 0x29, 0xA1, 0x79, 0xD8, 0x30, 0xF5, 0xCE, +0x57, 0xE9, 0x76, 0x08, 0x08, 0x61, 0xFA, 0x1A, 0x42, 0x9E, 0x41, 0x38, 0x90, 0x8F, 0x26, 0x0C, +0xD1, 0x8B, 0xA9, 0xCD, 0x09, 0xB9, 0xC3, 0xD3, 0xE1, 0xE2, 0xE2, 0xE0, 0x20, 0xC2, 0x5D, 0x59, +0x77, 0xBF, 0x71, 0x8C, 0x47, 0x06, 0xC2, 0x1D, 0xBC, 0x1E, 0x1E, 0x8F, 0xD7, 0x2F, 0x56, 0xE1, +0xF1, 0xC9, 0x97, 0x9F, 0xAC, 0xC0, 0xE3, 0x47, 0x96, 0x58, 0x58, 0x01, 0x7A, 0x60, 0xBE, 0x27, +0x3A, 0xE4, 0x20, 0x5F, 0xF1, 0x66, 0x96, 0x63, 0x05, 0x1A, 0x68, 0xE5, 0x12, 0x4B, 0x1F, 0x7E, +0x0D, 0x22, 0x3A, 0x34, 0x98, 0xB1, 0x19, 0x84, 0x50, 0x35, 0x1F, 0x3A, 0x88, 0xCE, 0xEC, 0x7E, +0xC5, 0x0A, 0xEB, 0x42, 0x13, 0x27, 0xA7, 0x42, 0xF1, 0x89, 0xBC, 0xC5, 0x8B, 0x1A, 0x8A, 0x52, +0xC3, 0x2A, 0x42, 0x74, 0x23, 0x89, 0x05, 0xC8, 0xD5, 0xCA, 0x20, 0x9D, 0x72, 0xE0, 0xA2, 0x9C, +0x39, 0x87, 0x21, 0xC4, 0x25, 0x81, 0xBF, 0xF0, 0x50, 0xF3, 0x83, 0xF4, 0xDD, 0x44, 0xC8, 0x2E, +0x10, 0x19, 0x1A, 0x08, 0x3F, 0x23, 0xE5, 0xF1, 0xA1, 0x29, 0xA0, 0x6D, 0x0D, 0x20, 0x9F, 0xBC, +0xA7, 0x79, 0x6F, 0xCE, 0xC7, 0x3F, 0x5F, 0x3F, 0x50, 0x03, 0x41, 0xCC, 0xFF, 0x52, 0xF1, 0x4B, +0x7B, 0x87, 0x8A, 0x80, 0x7D, 0x65, 0x90, 0x3E, 0xD1, 0x0D, 0x21, 0x0E, 0x1F, 0x6A, 0x7E, 0x10, +0x52, 0xDC, 0x64, 0xD2, 0x77, 0x90, 0xC9, 0x3F, 0xA6, 0x33, 0x6B, 0x4F, 0x84, 0xC3, 0x45, 0x6A, +0x69, 0x6E, 0x11, 0x89, 0xCF, 0xFE, 0x11, 0x0D, 0x70, 0x42, 0x2B, 0xF8, 0x10, 0x20, 0xB7, 0x06, +0x20, 0xC2, 0x43, 0xCD, 0x27, 0x64, 0x83, 0xC2, 0xE6, 0x32, 0x0F, 0x73, 0x18, 0xC2, 0x72, 0x2B, +0x0F, 0x17, 0x09, 0x10, 0xD7, 0x43, 0xE4, 0x1F, 0x6A, 0x3A, 0x92, 0x0A, 0xEA, 0x0C, 0x03, 0x49, +0x7C, 0xFC, 0xAE, 0xCD, 0xF5, 0x8F, 0x34, 0x05, 0x5E, 0xBC, 0xB8, 0x7E, 0xCF, 0xC6, 0x63, 0xDA, +0xF0, 0x10, 0xAF, 0x10, 0x52, 0x86, 0x14, 0x88, 0x24, 0xD6, 0x83, 0xFC, 0xE3, 0xAB, 0x10, 0x7F, +0x0A, 0x4C, 0xFC, 0x65, 0x0C, 0x65, 0xAE, 0x12, 0x9A, 0x9F, 0x27, 0x7D, 0x76, 0x0D, 0x36, 0x1F, +0xBA, 0x76, 0x68, 0x70, 0xFD, 0x23, 0x8E, 0x7D, 0xDF, 0x40, 0xF8, 0xD3, 0xE9, 0xAC, 0xFA, 0x84, +0xC8, 0x3F, 0x52, 0xBB, 0x20, 0x59, 0x15, 0xB3, 0x4C, 0x1B, 0x1E, 0x72, 0xD0, 0xC3, 0x12, 0x11, +0x77, 0x79, 0x25, 0x3E, 0x52, 0x6B, 0x01, 0x02, 0x1F, 0x01, 0xC8, 0xF4, 0x0F, 0xDC, 0x1A, 0xF1, +0x39, 0x70, 0xCC, 0x1F, 0x4E, 0x63, 0x49, 0x32, 0xC6, 0xA7, 0xF5, 0x55, 0x34, 0x8B, 0x90, 0x8F, +0x75, 0x00, 0x03, 0x91, 0xCB, 0x38, 0xC0, 0x6D, 0x03, 0x91, 0xE2, 0x14, 0x69, 0x73, 0xF2, 0x58, +0xE2, 0x23, 0x4D, 0x02, 0xC9, 0xE4, 0xE3, 0x5A, 0xF6, 0x91, 0x06, 0x6B, 0x3E, 0xFE, 0x28, 0xFB, +0xC8, 0xFA, 0x36, 0xE6, 0x76, 0x41, 0x47, 0xB1, 0x97, 0xD8, 0x50, 0xFF, 0x83, 0xD7, 0x2A, 0xBE, +0xC1, 0xEA, 0x8C, 0x4A, 0xA1, 0xF5, 0x79, 0x32, 0xDE, 0xEF, 0x69, 0x34, 0xF9, 0xC8, 0x06, 0xE2, +0x12, 0xC2, 0xB1, 0x6F, 0x1B, 0x08, 0x0B, 0xE1, 0x99, 0x0F, 0x35, 0xEF, 0x4A, 0x79, 0xF1, 0xDC, +0xE6, 0x82, 0x9A, 0xB6, 0x27, 0xB2, 0x43, 0x07, 0x1C, 0x64, 0x1A, 0xD0, 0x3A, 0x3E, 0xCE, 0xAF, +0xFA, 0x80, 0xE8, 0x0D, 0xB7, 0xD1, 0xB8, 0x15, 0xCB, 0xE1, 0x83, 0xFC, 0x41, 0x8C, 0x84, 0x51, +0x07, 0xEC, 0x90, 0xAF, 0x89, 0x87, 0x74, 0x6B, 0x20, 0x00, 0x72, 0xF7, 0x69, 0x5C, 0x7C, 0x5A, +0x0E, 0xA2, 0xE1, 0x32, 0x5F, 0xC5, 0x62, 0x95, 0x65, 0x84, 0xE7, 0x2F, 0xD4, 0x02, 0x12, 0xCB, +0x3F, 0xC2, 0x41, 0x2C, 0x42, 0x3E, 0x49, 0xCB, 0x2B, 0x08, 0xA9, 0xDE, 0x39, 0x02, 0x09, 0xB3, +0x7F, 0xB0, 0xCA, 0x6A, 0xDD, 0x86, 0x45, 0x11, 0x04, 0x1D, 0x87, 0x4A, 0x9F, 0x3A, 0x31, 0xA2, +0x66, 0xE1, 0x11, 0x0E, 0xA2, 0xEE, 0xF1, 0xC1, 0xB1, 0xDF, 0xB5, 0x1C, 0x04, 0x50, 0xE2, 0xBC, +0x9A, 0x1E, 0x22, 0x3E, 0x68, 0xD4, 0x41, 0x58, 0x9A, 0x24, 0x51, 0x04, 0x59, 0xC8, 0xE6, 0x23, +0x5A, 0x0D, 0x10, 0xFC, 0x83, 0x66, 0x54, 0xD3, 0xDF, 0x6C, 0x10, 0x8C, 0x30, 0x92, 0xEA, 0x8D, +0xB8, 0xE4, 0x62, 0x49, 0xC8, 0x90, 0x8F, 0xDD, 0x7F, 0x09, 0xE1, 0xE8, 0x36, 0x1C, 0x24, 0xAE, +0x60, 0x69, 0x50, 0x73, 0xFD, 0x23, 0xAE, 0x93, 0x8E, 0x7F, 0xA8, 0xE5, 0x79, 0xA6, 0xB5, 0xFC, +0xBA, 0x9B, 0x15, 0xA9, 0xF2, 0x15, 0x01, 0xB7, 0x3A, 0x7C, 0x30, 0x04, 0x1D, 0xE0, 0xB4, 0x7C, +0x41, 0x5D, 0xFF, 0x51, 0xF8, 0xFB, 0xD3, 0x00, 0x24, 0x16, 0x58, 0x96, 0x87, 0x64, 0x2E, 0x18, +0x2C, 0xFF, 0x50, 0x8B, 0x71, 0xE0, 0x20, 0xBF, 0xE1, 0x1F, 0x0E, 0x21, 0x1A, 0x96, 0x13, 0x07, +0x32, 0xF2, 0xF5, 0x97, 0x82, 0x61, 0xBC, 0xB6, 0xD4, 0x9B, 0x31, 0x1F, 0x34, 0xFD, 0xB3, 0x39, +0x4D, 0x40, 0xF0, 0x0F, 0x3C, 0xC4, 0xE6, 0x03, 0x9E, 0x27, 0x28, 0x58, 0x71, 0x85, 0x1B, 0x6A, +0x4C, 0xE9, 0xAB, 0xDC, 0xE2, 0x61, 0x80, 0x88, 0x0E, 0x1D, 0x80, 0xDC, 0x11, 0x87, 0xD4, 0x1D, +0xE4, 0xF9, 0x12, 0xF6, 0x9B, 0x86, 0x49, 0x42, 0xC0, 0xF4, 0x8F, 0xFC, 0x60, 0x84, 0xE7, 0x79, +0xBB, 0x56, 0xD7, 0x83, 0x75, 0xBB, 0x3B, 0xDA, 0x56, 0x84, 0x51, 0x84, 0x7F, 0x80, 0x08, 0x18, +0xF1, 0xA6, 0xA2, 0x88, 0x8E, 0x1E, 0x46, 0x81, 0x88, 0x88, 0x8E, 0xF5, 0x95, 0xBA, 0xE1, 0x21, +0x2F, 0xE2, 0xA8, 0x44, 0x1B, 0x45, 0xEA, 0x99, 0x0F, 0x86, 0xDF, 0x07, 0x06, 0x12, 0x78, 0x70, +0x76, 0x2F, 0x1C, 0xFF, 0xC0, 0x43, 0x9E, 0x97, 0x2A, 0x2C, 0xEE, 0x99, 0x81, 0x08, 0x42, 0x1C, +0xFF, 0xA0, 0xB5, 0x00, 0xE1, 0x2D, 0x96, 0x87, 0xC0, 0x47, 0x25, 0x59, 0x35, 0x1B, 0xC7, 0x01, +0x3F, 0x29, 0xFC, 0x63, 0x44, 0x48, 0x1C, 0x44, 0x9A, 0x0C, 0xA5, 0xE3, 0x20, 0x71, 0xF1, 0xCA, +0x8A, 0xDD, 0xDE, 0x29, 0x0D, 0xE3, 0x50, 0xE7, 0x71, 0xE8, 0x1F, 0xA9, 0x67, 0x50, 0x34, 0xE5, +0x2C, 0x3E, 0x10, 0x13, 0x9C, 0x2C, 0xD6, 0x4F, 0xF8, 0x87, 0xB0, 0x00, 0x0F, 0xA9, 0xA4, 0x03, +0x11, 0x9E, 0xA3, 0x6F, 0xBB, 0x84, 0xE8, 0xD3, 0x86, 0x73, 0xF0, 0xF9, 0xFB, 0x7C, 0xC4, 0xE1, +0xE1, 0x08, 0x75, 0x11, 0x99, 0xC3, 0x8F, 0xDF, 0x08, 0x44, 0x5A, 0x06, 0x12, 0xE9, 0xAB, 0xA2, +0xF5, 0x0A, 0x22, 0x29, 0x3E, 0xA7, 0xA5, 0x41, 0x57, 0x5C, 0x2A, 0xE8, 0x4B, 0x0B, 0x79, 0x5A, +0x4B, 0x88, 0xF0, 0x28, 0x5B, 0x1D, 0x90, 0xD3, 0xF7, 0x75, 0x93, 0x59, 0x9B, 0xAA, 0x96, 0x61, +0xD2, 0x81, 0x0D, 0xFB, 0xF0, 0x08, 0xD1, 0x51, 0x53, 0x2F, 0x9A, 0x0E, 0x6F, 0xCD, 0x40, 0xD4, +0xE7, 0xE5, 0xEF, 0x6F, 0x60, 0xA2, 0x87, 0xEE, 0xF2, 0x4A, 0x5B, 0x6A, 0xEC, 0x74, 0xF0, 0x08, +0xEF, 0x48, 0x43, 0x7E, 0xD4, 0x94, 0xEB, 0xF0, 0xE1, 0xFF, 0x48, 0xFA, 0x4F, 0xB9, 0xFC, 0x11, +0x82, 0x14, 0x72, 0x59, 0xEC, 0xC4, 0xFA, 0x0A, 0x3E, 0xD0, 0x03, 0x84, 0x54, 0xFC, 0x03, 0x36, +0x62, 0x47, 0xC3, 0x38, 0xFE, 0x58, 0xB4, 0x2F, 0x06, 0xE1, 0x87, 0xE0, 0x00, 0x0F, 0xA9, 0x6D, +0x20, 0xF0, 0x41, 0xDB, 0x77, 0xCA, 0x1F, 0xB5, 0xC6, 0xCF, 0x7E, 0x70, 0x47, 0x2C, 0xF5, 0x75, +0x93, 0x10, 0xF8, 0x28, 0x5B, 0x0D, 0x10, 0xE1, 0x70, 0xDA, 0xDA, 0x84, 0xB4, 0xF1, 0xD8, 0x87, +0x6F, 0xC4, 0x18, 0x1B, 0x7C, 0x18, 0x71, 0xC8, 0xC5, 0xC7, 0x5A, 0x52, 0x55, 0xDA, 0x3E, 0xA5, +0xAA, 0x2A, 0x77, 0xF2, 0x62, 0x1B, 0x41, 0x89, 0xB6, 0xE9, 0x59, 0x1D, 0x8F, 0xF0, 0x8F, 0xC2, +0x41, 0xD4, 0xDB, 0x7C, 0x44, 0xF4, 0xC1, 0x24, 0x4B, 0x81, 0x88, 0xC5, 0x07, 0x22, 0x88, 0x60, +0xC6, 0x93, 0xBF, 0xC2, 0x40, 0x42, 0xE5, 0x7B, 0xF1, 0x8F, 0xBA, 0x7A, 0xFE, 0x11, 0xC1, 0xD3, +0x82, 0x13, 0x27, 0xFE, 0xC0, 0x44, 0x1A, 0x1E, 0x52, 0x86, 0x1F, 0xEC, 0x55, 0x0D, 0xE4, 0x92, +0xFC, 0x6E, 0xD1, 0x8C, 0xE5, 0x15, 0xED, 0x22, 0x27, 0xB3, 0x66, 0xF1, 0x63, 0xB7, 0x4D, 0xF5, +0xCA, 0x1F, 0x15, 0x6B, 0x38, 0x01, 0xE4, 0x0A, 0x90, 0xCA, 0xF7, 0xAE, 0xE2, 0x83, 0xD8, 0x5C, +0xA2, 0x24, 0x92, 0xBE, 0x52, 0xB5, 0xB5, 0xD3, 0xBB, 0xB5, 0xEB, 0xCC, 0xE7, 0x5C, 0x97, 0x16, +0x55, 0xA7, 0x30, 0xF9, 0x62, 0x99, 0xA5, 0x5E, 0xE7, 0x03, 0xE3, 0x60, 0xA7, 0xE3, 0x21, 0x50, +0xF1, 0xBC, 0xA3, 0x0D, 0x0F, 0x19, 0xF0, 0x81, 0x98, 0xED, 0x04, 0xDE, 0xF2, 0x0F, 0xB0, 0xD8, +0x4E, 0x49, 0x5E, 0x3C, 0x04, 0xA0, 0xD8, 0x6B, 0xF2, 0x41, 0x1C, 0xD2, 0xF2, 0x0F, 0x7D, 0xF8, +0xE8, 0xC1, 0x8B, 0x13, 0x7F, 0xD0, 0x7A, 0xE9, 0x5D, 0x8E, 0x3F, 0x7B, 0x15, 0x07, 0x01, 0x0F, +0x6B, 0x95, 0x55, 0xF3, 0x0F, 0x0A, 0x22, 0x71, 0xEF, 0x06, 0xEB, 0xF8, 0xAE, 0x3C, 0xFF, 0xA0, +0x2D, 0x01, 0xA9, 0xBC, 0x81, 0x50, 0xDD, 0xE2, 0x03, 0xE1, 0x7C, 0xB1, 0x46, 0xC4, 0x3F, 0xAA, +0xAD, 0xE2, 0x1F, 0x1C, 0xB6, 0xD2, 0x42, 0xF6, 0xA2, 0x81, 0x5B, 0x7D, 0x62, 0x04, 0x89, 0x38, +0x37, 0xC9, 0x43, 0xB2, 0x1A, 0xE5, 0x41, 0x0C, 0x84, 0xBD, 0x56, 0x1C, 0x02, 0x1C, 0x5C, 0x83, +0x23, 0xD6, 0x15, 0x22, 0x15, 0x3E, 0x88, 0xA0, 0x4B, 0x15, 0x56, 0x40, 0xFA, 0x2A, 0x6F, 0x41, +0x07, 0xC0, 0x40, 0x14, 0x37, 0x3C, 0x5A, 0xBF, 0x58, 0x11, 0xC1, 0x75, 0xE9, 0x20, 0xDA, 0xBA, +0xE5, 0x8F, 0xE8, 0x1C, 0xA6, 0x9A, 0x87, 0x04, 0x0F, 0xBF, 0x85, 0x6F, 0xA7, 0xDD, 0xB4, 0x23, +0xED, 0x42, 0xD4, 0x71, 0x5B, 0x7C, 0xA4, 0xC1, 0xF2, 0x0F, 0x5A, 0x51, 0x65, 0x23, 0x6C, 0x6F, +0xC8, 0x08, 0xCF, 0x0B, 0x42, 0x00, 0xE4, 0xEA, 0x7D, 0x8B, 0x10, 0xCA, 0x1F, 0x3D, 0x85, 0xF9, +0x11, 0x9D, 0x07, 0x1F, 0xCD, 0x2F, 0x5A, 0xF2, 0xA1, 0x63, 0xD8, 0x6C, 0x93, 0x89, 0x24, 0x71, +0x4D, 0x92, 0x7F, 0xC0, 0x04, 0x68, 0x68, 0x27, 0xB5, 0x3A, 0x1F, 0x8F, 0x85, 0x83, 0x74, 0x3C, +0x24, 0xD6, 0x55, 0xA9, 0xC7, 0x63, 0x46, 0x44, 0x7B, 0x95, 0x55, 0x16, 0xE5, 0x41, 0x74, 0x5A, +0x10, 0x81, 0x14, 0xAC, 0x23, 0x08, 0x91, 0x18, 0x00, 0xCA, 0xF9, 0xFD, 0xD5, 0x0F, 0x3F, 0x9E, +0x7C, 0x9E, 0xF8, 0xC8, 0x64, 0x79, 0x17, 0xB4, 0x57, 0xF8, 0xE0, 0xD0, 0xD0, 0x28, 0xAA, 0x9F, +0xF0, 0xC1, 0x31, 0x4F, 0x5A, 0xE6, 0x49, 0x76, 0x85, 0x81, 0xD4, 0xF9, 0x20, 0xDD, 0x7B, 0x3A, +0x17, 0x7A, 0x2D, 0x82, 0x90, 0xBD, 0x46, 0x6D, 0x7B, 0xC3, 0x43, 0x1C, 0x3E, 0x68, 0x00, 0xD2, +0x7D, 0x1B, 0xE9, 0x5E, 0xF8, 0xE8, 0x8B, 0x0A, 0x61, 0xEC, 0xF1, 0xA5, 0xAC, 0x40, 0xE4, 0x6E, +0xD7, 0xE6, 0x63, 0x1A, 0x76, 0xA4, 0x48, 0xA6, 0x91, 0xD3, 0xA2, 0x53, 0x05, 0x1A, 0xA1, 0xB2, +0xA8, 0x8E, 0x7F, 0x94, 0x0E, 0x12, 0xBD, 0x51, 0x3E, 0x8F, 0xAE, 0x16, 0x74, 0xCC, 0x61, 0x49, +0x59, 0x1E, 0xC4, 0x3F, 0xAA, 0x8A, 0xF9, 0x5E, 0x94, 0x3F, 0x70, 0x91, 0x85, 0x85, 0x88, 0x17, +0x09, 0xA4, 0x48, 0xEF, 0xB6, 0x08, 0x29, 0x8B, 0xEA, 0x24, 0xDF, 0xD4, 0xFB, 0x1E, 0x82, 0x7D, +0xA8, 0x55, 0xFC, 0x23, 0x31, 0x92, 0x8E, 0x20, 0x07, 0x33, 0x71, 0x00, 0x10, 0x91, 0xC7, 0x82, +0x18, 0xAE, 0x65, 0xD9, 0x3F, 0xEE, 0x3A, 0x8D, 0x65, 0xD6, 0xD0, 0x3F, 0xF0, 0x10, 0x52, 0x57, +0x86, 0x4C, 0x3E, 0x28, 0xAA, 0x07, 0x20, 0xDA, 0xED, 0x12, 0x72, 0x4B, 0xBA, 0x97, 0xF4, 0xEE, +0x40, 0x07, 0xC6, 0x8B, 0xC3, 0xB0, 0x2D, 0x7E, 0xED, 0x4B, 0x60, 0xD0, 0x6E, 0xF2, 0x90, 0x4B, +0x0C, 0x24, 0xF0, 0xE0, 0xEC, 0x84, 0xF4, 0xF4, 0xF9, 0xD7, 0xC7, 0xBD, 0x58, 0xF0, 0xD1, 0x75, +0x90, 0x72, 0x99, 0x55, 0x5C, 0x76, 0xA5, 0x28, 0x47, 0xCF, 0xBB, 0x5F, 0xFE, 0x4B, 0xDB, 0xF9, +0xBC, 0xB6, 0x53, 0x84, 0x61, 0x1C, 0x4F, 0xA2, 0x44, 0xC8, 0xA1, 0x60, 0xC5, 0x6B, 0x0D, 0x41, +0x0F, 0xAD, 0x98, 0xAF, 0x52, 0x45, 0x44, 0x10, 0x24, 0x2A, 0x39, 0x79, 0xF0, 0x5E, 0x6C, 0xE0, +0x1B, 0xE8, 0xCD, 0x8B, 0x1A, 0x44, 0x08, 0x78, 0x13, 0x84, 0x1E, 0xFD, 0x63, 0x7D, 0x76, 0xE6, +0x9D, 0x7E, 0xCC, 0x74, 0x76, 0xF6, 0x59, 0x7F, 0x3C, 0x33, 0x3B, 0xBB, 0xC9, 0xB7, 0xC6, 0xED, +0x66, 0x3E, 0x79, 0xE6, 0x7D, 0xDF, 0x6D, 0xFB, 0xB0, 0xB3, 0x96, 0x57, 0xB5, 0x87, 0x04, 0x26, +0xBF, 0x08, 0x05, 0x1C, 0x04, 0x0B, 0x81, 0x1B, 0xEE, 0xD8, 0xA2, 0x3C, 0xD8, 0x56, 0x82, 0xB3, +0xB6, 0x0F, 0x88, 0x68, 0x45, 0x21, 0xAB, 0xDA, 0x3E, 0x46, 0x1D, 0x24, 0x76, 0x75, 0xFC, 0xC1, +0xA5, 0x0F, 0xC1, 0x4B, 0x8E, 0x43, 0x70, 0x10, 0xF8, 0x30, 0x3C, 0x04, 0x3E, 0xBA, 0x1E, 0x42, +0xB2, 0xD4, 0xA1, 0xE4, 0x77, 0x8B, 0x0F, 0x5A, 0x06, 0x84, 0x30, 0xBE, 0xD3, 0x44, 0x08, 0x7C, +0x58, 0x8A, 0xDB, 0xF3, 0x29, 0x7F, 0x38, 0x1E, 0xB2, 0xA4, 0xFC, 0xD1, 0x69, 0x9F, 0x91, 0xCB, +0xCA, 0x6F, 0x43, 0x58, 0x47, 0xC5, 0x0A, 0x2A, 0x80, 0xC8, 0x4C, 0x02, 0x82, 0x56, 0x16, 0x2B, +0x9E, 0x86, 0x10, 0xFC, 0x83, 0x55, 0x7C, 0x6C, 0x92, 0x76, 0x69, 0x58, 0x9C, 0x85, 0xE7, 0x2C, +0xB0, 0x46, 0x75, 0x1E, 0x7F, 0x94, 0xAD, 0x0E, 0x42, 0x18, 0xD0, 0x04, 0x1F, 0x14, 0x44, 0x48, +0x5F, 0xC1, 0x43, 0x8C, 0x74, 0x3C, 0x04, 0xFF, 0xE8, 0x3A, 0x48, 0x5D, 0x10, 0xE1, 0x52, 0x87, +0x6F, 0x6B, 0x8B, 0x03, 0x50, 0x29, 0xD5, 0x73, 0xF1, 0x51, 0xA5, 0x26, 0xA7, 0x42, 0xF5, 0xA5, +0xD1, 0xEA, 0x10, 0xDD, 0x27, 0x64, 0x7A, 0xD2, 0xAB, 0x0F, 0x80, 0xE8, 0xD0, 0x68, 0xE1, 0x21, +0x2E, 0x1F, 0x54, 0x39, 0x49, 0x5F, 0x8D, 0xB7, 0x2F, 0x07, 0x0F, 0xE1, 0xF6, 0x2B, 0xA3, 0xAD, +0x3F, 0x39, 0x44, 0xFD, 0x43, 0xE2, 0x7D, 0x89, 0x5D, 0x79, 0x92, 0xF6, 0x7E, 0xA3, 0x7C, 0xAE, +0xDE, 0x30, 0x90, 0x33, 0x42, 0x32, 0x07, 0xEA, 0x95, 0x87, 0x64, 0x3A, 0x18, 0x76, 0x95, 0x7F, +0xB8, 0x84, 0x54, 0x99, 0x2B, 0x0D, 0x80, 0x01, 0x39, 0x46, 0xF8, 0xD1, 0x2C, 0xAA, 0x93, 0xBE, +0xA2, 0x83, 0x0A, 0x71, 0x3B, 0x7C, 0x4C, 0x38, 0x08, 0x05, 0x11, 0xEC, 0xA3, 0x8E, 0x41, 0xB8, +0xFC, 0xC5, 0x46, 0xAA, 0xF2, 0x79, 0xBF, 0x7D, 0x7B, 0xB3, 0x34, 0xFD, 0x83, 0xA2, 0x7A, 0x8E, +0x41, 0x5C, 0x42, 0x48, 0x5F, 0x39, 0x4D, 0x80, 0xBC, 0x6D, 0x13, 0xF2, 0xFB, 0x0C, 0xFF, 0x78, +0x35, 0xD2, 0xD2, 0xE0, 0x61, 0x2C, 0xB3, 0xC4, 0x87, 0x85, 0x47, 0x8A, 0xD4, 0x2F, 0x28, 0x9F, +0xA3, 0xF3, 0x77, 0x0C, 0x1D, 0x33, 0x1E, 0xD8, 0x05, 0x9F, 0x93, 0xDA, 0x55, 0x1F, 0x94, 0x10, +0xC2, 0xDD, 0x19, 0xD1, 0x8B, 0x7F, 0x68, 0x47, 0xD0, 0xAE, 0x2D, 0xF8, 0xC0, 0x3E, 0x2C, 0x42, +0x82, 0x00, 0x46, 0x76, 0x0C, 0x92, 0xCB, 0x07, 0xE9, 0xDE, 0xF0, 0x8F, 0x36, 0x18, 0x3C, 0x13, +0x3D, 0xF8, 0xE8, 0x1B, 0x48, 0x5D, 0x54, 0x4F, 0xD6, 0x4D, 0xB8, 0x71, 0x24, 0x08, 0x89, 0xE7, +0x8A, 0xB7, 0x54, 0xE5, 0x8F, 0xA9, 0x26, 0x0F, 0xB1, 0xF1, 0x18, 0xAA, 0xCF, 0xD4, 0xA5, 0x3D, +0x51, 0xFE, 0xF0, 0x00, 0x39, 0x69, 0xF4, 0x3D, 0xE4, 0x95, 0x39, 0xE2, 0xF6, 0x2B, 0xA7, 0x25, +0xFF, 0x58, 0x7B, 0x80, 0x08, 0x91, 0x12, 0x7E, 0x60, 0xEE, 0xDA, 0x78, 0x8F, 0x30, 0x8F, 0x40, +0x28, 0xC2, 0x8F, 0x9E, 0x83, 0xF0, 0x64, 0x26, 0x64, 0x41, 0xFD, 0x99, 0x51, 0x1B, 0xBB, 0x18, +0x32, 0x21, 0xBB, 0x7B, 0x5F, 0xF8, 0x07, 0xDE, 0x81, 0x8F, 0x3C, 0x7B, 0x02, 0x3E, 0x7C, 0x42, +0x84, 0x47, 0x1D, 0x72, 0x68, 0xE4, 0x21, 0xC7, 0xAB, 0xE0, 0xA3, 0x19, 0x82, 0x70, 0x5D, 0x78, +0x84, 0x7F, 0x10, 0xEE, 0x55, 0x16, 0x82, 0x8D, 0x27, 0x44, 0xF0, 0x0F, 0x6F, 0x95, 0xE5, 0xCC, +0x17, 0x0A, 0x22, 0xF3, 0x94, 0xF9, 0x30, 0x67, 0xBD, 0xE5, 0x20, 0x24, 0xB3, 0x5E, 0x79, 0x75, +0x16, 0x1E, 0x9E, 0x7F, 0x50, 0x1C, 0xFD, 0x56, 0x0E, 0x6B, 0xB6, 0xCF, 0xF4, 0x97, 0x42, 0x0A, +0x1E, 0x0D, 0x1D, 0x9F, 0x3F, 0x56, 0xF9, 0xDC, 0xD7, 0x40, 0x08, 0xF3, 0xAB, 0xF5, 0x09, 0x0C, +0x2D, 0xE1, 0x21, 0xBF, 0xDE, 0x2B, 0x42, 0xB0, 0x25, 0x3C, 0xC6, 0xF4, 0x8B, 0x02, 0xF7, 0xB4, +0xC5, 0x71, 0xDA, 0xCD, 0xE2, 0x43, 0x27, 0x52, 0xAD, 0xAF, 0x5A, 0x11, 0x08, 0x47, 0x2F, 0x56, +0xE2, 0x63, 0x8E, 0x12, 0x1F, 0x78, 0x86, 0xC4, 0x67, 0x54, 0x7E, 0xC0, 0xB1, 0xAE, 0x7C, 0x29, +0x7F, 0x7C, 0x66, 0x6E, 0x29, 0xFC, 0xF8, 0x72, 0x6A, 0xC0, 0x44, 0xE6, 0x12, 0x92, 0x12, 0x4F, +0x3E, 0x20, 0x96, 0xB6, 0xC3, 0xA0, 0x8A, 0x46, 0x57, 0x5F, 0x46, 0x2F, 0x4A, 0x3F, 0x58, 0x7B, +0x7A, 0xC7, 0x6A, 0xBA, 0x28, 0x37, 0xEB, 0x9B, 0x39, 0x5A, 0x1F, 0x8F, 0x87, 0x0B, 0xA7, 0xE5, +0xDD, 0xF1, 0xC7, 0xEB, 0xCB, 0x39, 0x0A, 0x02, 0x1C, 0x2D, 0x86, 0x61, 0xF7, 0xDD, 0xFD, 0xCE, +0x94, 0xBE, 0x90, 0x64, 0x96, 0x27, 0xC5, 0xDE, 0xBB, 0x7B, 0x35, 0xAF, 0xDF, 0xEF, 0x56, 0xAE, +0x02, 0xF0, 0xCB, 0x39, 0xBA, 0xBE, 0xBC, 0x38, 0x1C, 0x2E, 0xEC, 0x76, 0x3C, 0xF2, 0xC6, 0x7A, +0x7A, 0x47, 0x33, 0x27, 0x4D, 0x8A, 0xD1, 0x01, 0x69, 0x61, 0x5E, 0xCD, 0xBF, 0xE8, 0xE3, 0x7A, +0xDB, 0x56, 0x02, 0xE4, 0xCE, 0xFA, 0x4A, 0x7D, 0xD9, 0x97, 0xA7, 0xE5, 0x94, 0xB6, 0x4B, 0x9A, +0xF4, 0x8E, 0xBE, 0x19, 0x53, 0xBA, 0x6B, 0x73, 0xF3, 0xCE, 0x2C, 0x3E, 0xD6, 0x87, 0x19, 0x12, +0x1F, 0x97, 0x97, 0xB7, 0x76, 0x3B, 0xDE, 0x2E, 0x54, 0x04, 0x9C, 0xA3, 0x17, 0xAB, 0x9D, 0xAD, +0x87, 0xDD, 0xEE, 0xBB, 0xCF, 0x7B, 0xFA, 0x6E, 0xD8, 0xAA, 0xA7, 0x76, 0xAB, 0x9D, 0xAF, 0x58, +0x5E, 0x99, 0x7A, 0x58, 0x5D, 0x5D, 0x5D, 0x1E, 0x17, 0xF6, 0xE5, 0x11, 0x23, 0x87, 0x39, 0x5A, +0xAF, 0x67, 0x11, 0xB2, 0xD9, 0xA4, 0xF9, 0xE0, 0x49, 0x13, 0x6C, 0xB9, 0xFC, 0x63, 0x56, 0xFB, +0x72, 0xB9, 0xBD, 0x7B, 0xDB, 0x6C, 0x02, 0xC4, 0xA4, 0xE3, 0xB5, 0xED, 0x97, 0xD2, 0x72, 0xDB, +0x6F, 0x99, 0x92, 0xD8, 0x24, 0x17, 0x8F, 0x81, 0xA3, 0x8D, 0xFA, 0x8D, 0xAD, 0xF5, 0x61, 0x3D, +0x07, 0x91, 0xE3, 0xE5, 0x8F, 0x89, 0x10, 0x53, 0x0B, 0xE9, 0x8A, 0x09, 0xE6, 0x21, 0x32, 0x03, +0x90, 0x34, 0xE7, 0x3F, 0xD0, 0xE6, 0xEA, 0xFE, 0xF3, 0xCF, 0x77, 0xBE, 0x84, 0xEB, 0x1C, 0xE9, +0x5B, 0x5D, 0xCC, 0xF2, 0x90, 0x1F, 0x2F, 0x7F, 0x3C, 0xCE, 0xE1, 0x43, 0x9A, 0xC1, 0x47, 0x9A, +0x0A, 0xDD, 0x8F, 0xD6, 0x13, 0x5D, 0x7C, 0xCC, 0x94, 0x7E, 0x0F, 0xE8, 0x97, 0x22, 0xC4, 0x9B, +0xF6, 0x02, 0xC4, 0xFA, 0xDA, 0xBB, 0xD7, 0x96, 0xA7, 0xFC, 0x3B, 0x46, 0x63, 0xF6, 0xB7, 0x36, +0xF5, 0x3F, 0x07, 0x48, 0xFE, 0xD4, 0x56, 0xA4, 0x8F, 0x02, 0x8F, 0x8F, 0x8D, 0x9A, 0x46, 0x9B, +0x8F, 0xAC, 0xC3, 0xD1, 0xE6, 0xE3, 0x32, 0x21, 0xE2, 0xE9, 0x76, 0x91, 0x64, 0x11, 0x32, 0xDF, +0x43, 0x56, 0x89, 0x8F, 0xF9, 0xFA, 0xDF, 0xF8, 0xC8, 0x72, 0xAF, 0x8D, 0xAE, 0xE3, 0x80, 0xC8, +0x71, 0x16, 0x1F, 0x87, 0xF5, 0x2C, 0x3E, 0x36, 0xC6, 0x8C, 0x89, 0x91, 0xC5, 0x8B, 0xD5, 0xBE, +0x8C, 0x69, 0x6C, 0x2D, 0x9C, 0x92, 0x83, 0xDC, 0x59, 0x24, 0xC5, 0x0B, 0x27, 0x13, 0xF9, 0x53, +0x3D, 0xB1, 0x90, 0x0E, 0x38, 0xD6, 0x0E, 0x60, 0x40, 0xC4, 0xD2, 0x46, 0x2D, 0x75, 0xD7, 0x3F, +0x20, 0xC4, 0xE5, 0x23, 0x11, 0x22, 0x0F, 0x59, 0x4C, 0xB7, 0x90, 0x49, 0xC8, 0xB5, 0xB6, 0xFD, +0x83, 0xED, 0x21, 0x2B, 0xB9, 0x81, 0x84, 0x87, 0xD8, 0x9A, 0xC3, 0xC7, 0xCE, 0xE7, 0xE3, 0xAA, +0x10, 0x62, 0xB4, 0x74, 0x15, 0x7D, 0x0F, 0x39, 0x8A, 0x8F, 0x22, 0x9B, 0x8F, 0x82, 0xC8, 0xC9, +0x60, 0x64, 0x89, 0xF2, 0x27, 0x74, 0x6F, 0xD4, 0x76, 0xFA, 0x72, 0x16, 0x21, 0xA9, 0x92, 0x7E, +0x77, 0xC7, 0x17, 0x8F, 0xF2, 0xA1, 0x17, 0x2E, 0x2A, 0x27, 0x03, 0x09, 0x1C, 0xE3, 0x1F, 0x89, +0x0D, 0xCF, 0x44, 0x4E, 0xF0, 0x61, 0x12, 0xB2, 0x46, 0x07, 0x03, 0x91, 0xE3, 0x93, 0x77, 0xFC, +0xE8, 0xAD, 0xAF, 0x90, 0x11, 0xE2, 0x86, 0xF6, 0xA9, 0x6E, 0x3D, 0x8B, 0x0F, 0x1D, 0xF5, 0x05, +0x44, 0xF7, 0x79, 0x74, 0xF0, 0x28, 0xFE, 0xB1, 0x77, 0xFD, 0x03, 0x1D, 0x1D, 0xFF, 0x60, 0x9D, +0x65, 0x00, 0x92, 0xF9, 0xB8, 0xC0, 0x43, 0x4C, 0x3E, 0xD4, 0x7B, 0x3A, 0x55, 0x7C, 0x30, 0xF5, +0x46, 0xC7, 0xF4, 0x09, 0xAE, 0x5F, 0xD7, 0xAB, 0xEE, 0x12, 0x72, 0x77, 0x17, 0x37, 0x2B, 0xF6, +0xE1, 0x50, 0xDF, 0x6A, 0xD9, 0x86, 0xB2, 0x59, 0xC5, 0xC0, 0x8E, 0xE1, 0xCF, 0x0C, 0x47, 0x48, +0x49, 0x07, 0xDF, 0x40, 0x74, 0xEC, 0x84, 0xE7, 0x71, 0xD1, 0x3D, 0x0F, 0xF9, 0xF1, 0x1A, 0x2E, +0x22, 0x10, 0xB9, 0x1D, 0xEB, 0xF0, 0x61, 0x12, 0x92, 0xDC, 0x43, 0xFE, 0x91, 0xF5, 0xE2, 0x61, +0x32, 0xFC, 0xB8, 0x07, 0x8F, 0x59, 0xFA, 0x21, 0x08, 0xB1, 0xF8, 0xD8, 0xCF, 0xF2, 0x0F, 0xD4, +0xBF, 0x34, 0xDA, 0xE0, 0xC3, 0x23, 0x64, 0xFD, 0x77, 0x59, 0x7C, 0xBC, 0x33, 0xE9, 0x21, 0xAC, +0xAF, 0xCA, 0xC7, 0xB0, 0x36, 0xA2, 0xDF, 0xF6, 0x28, 0xA5, 0xF5, 0x15, 0x5A, 0x42, 0x48, 0xDB, +0x14, 0xEE, 0xB8, 0xDD, 0xFD, 0xAE, 0x13, 0x88, 0xDC, 0xE9, 0x5F, 0x0B, 0x1E, 0x98, 0x48, 0xE2, +0xB1, 0x50, 0x7B, 0x36, 0xB0, 0xB6, 0x62, 0x38, 0x4D, 0xF9, 0x07, 0x5D, 0x83, 0x6B, 0x1F, 0x26, +0x21, 0xC4, 0x1E, 0x10, 0x62, 0xF9, 0x47, 0x44, 0xEA, 0x0F, 0x4E, 0x1E, 0xE8, 0x85, 0x66, 0xA6, +0xFA, 0x8B, 0x7D, 0xDF, 0x43, 0x56, 0xA4, 0xAF, 0x0C, 0xB1, 0x06, 0x83, 0x2A, 0xD3, 0x3F, 0xC4, +0xAC, 0x4E, 0x45, 0x07, 0xD7, 0xAE, 0x7F, 0x18, 0x91, 0x08, 0x7C, 0x98, 0x84, 0xE0, 0x1F, 0x1A, +0x0C, 0x44, 0x62, 0x12, 0xD0, 0xFB, 0x0E, 0xB2, 0x44, 0x81, 0x88, 0x56, 0xF9, 0x8D, 0x31, 0x20, +0x89, 0x3F, 0x18, 0x72, 0x7A, 0x2F, 0x9B, 0xC8, 0x69, 0x39, 0x60, 0xD0, 0xD1, 0x6B, 0x00, 0x22, +0x06, 0x3A, 0x0E, 0x12, 0xF1, 0xF9, 0x1B, 0xA9, 0xE9, 0x7F, 0xF0, 0x86, 0x3C, 0x24, 0x9B, 0x05, +0x91, 0x39, 0x03, 0xA7, 0x8B, 0x2C, 0xFB, 0xA0, 0xDF, 0xAC, 0x27, 0xFC, 0x23, 0xEB, 0xC2, 0x5A, +0x65, 0x55, 0x6F, 0xAA, 0x1E, 0x05, 0x22, 0x8B, 0xB4, 0x55, 0x07, 0x8B, 0x4A, 0x46, 0x2E, 0x6B, +0x17, 0x3E, 0x42, 0xA8, 0x3E, 0xE5, 0x1F, 0x3F, 0x94, 0x7E, 0x0F, 0x04, 0xB6, 0x87, 0x18, 0x7C, +0x68, 0x67, 0xAA, 0xD8, 0x07, 0xE2, 0x72, 0x54, 0x07, 0xF0, 0xE1, 0x12, 0x72, 0xAC, 0x3F, 0xC9, +0x3E, 0x11, 0x21, 0x96, 0x7F, 0xD0, 0x4F, 0xA3, 0x0E, 0x92, 0xF9, 0x88, 0x01, 0xB5, 0x1C, 0x24, +0x7F, 0x9A, 0x6F, 0x4F, 0xC3, 0xE4, 0x55, 0xE3, 0x83, 0x1E, 0x40, 0x5A, 0xC6, 0x00, 0x20, 0xD2, +0x56, 0xCF, 0x8C, 0x96, 0x3F, 0x02, 0x3D, 0xED, 0x45, 0x5F, 0x52, 0xA0, 0x11, 0x61, 0xF9, 0x98, +0x38, 0x7D, 0xC5, 0x21, 0xEA, 0x7D, 0xFF, 0xF0, 0x56, 0x59, 0xB0, 0xE1, 0x99, 0x88, 0xEC, 0xA3, +0x02, 0x24, 0x79, 0x48, 0x7B, 0x1A, 0x68, 0x68, 0x10, 0xD2, 0x45, 0x24, 0x47, 0x1E, 0x32, 0x90, +0x12, 0x87, 0x40, 0x88, 0x93, 0xBE, 0xBA, 0xF7, 0x72, 0xBC, 0x82, 0xC3, 0xF1, 0x10, 0xCE, 0x68, +0x1F, 0xE7, 0xB3, 0xF7, 0xF8, 0x40, 0x63, 0x78, 0xB4, 0xF8, 0x20, 0x99, 0x65, 0xF8, 0x47, 0xC8, +0x09, 0x3F, 0xE8, 0x9B, 0x71, 0x07, 0xF9, 0xB3, 0x31, 0xD9, 0x9A, 0x91, 0x48, 0x4C, 0xD1, 0x61, +0x06, 0xA7, 0x4D, 0x88, 0x04, 0x26, 0xA4, 0x7B, 0xC7, 0xF8, 0x00, 0x90, 0xBB, 0x11, 0x3E, 0x5E, +0x93, 0x33, 0x9D, 0x78, 0x6D, 0x8D, 0xF1, 0xDA, 0x5B, 0xFE, 0xDF, 0x75, 0x25, 0x84, 0xA5, 0x21, +0x0A, 0x53, 0x6C, 0x95, 0x3F, 0x9A, 0x84, 0xAC, 0xFB, 0xFE, 0xC1, 0x75, 0x87, 0x90, 0x7E, 0x78, +0x8E, 0x7E, 0x2C, 0x1E, 0xF2, 0x44, 0x45, 0x03, 0x0F, 0x7B, 0x99, 0xB5, 0x7F, 0x10, 0x1E, 0x44, +0x22, 0x7D, 0x0F, 0x69, 0x5A, 0x82, 0x36, 0x53, 0x81, 0x49, 0x37, 0x7D, 0xB5, 0x4B, 0x67, 0x14, +0x6B, 0xAC, 0x07, 0xDF, 0x3F, 0x10, 0x97, 0xA3, 0x3A, 0x80, 0x8F, 0x3E, 0x21, 0xE0, 0x81, 0x78, +0xD3, 0xAC, 0xF5, 0x15, 0xBD, 0x3D, 0x6D, 0x24, 0xB8, 0x40, 0xE4, 0xB2, 0x88, 0x47, 0xF2, 0x13, +0xB1, 0xC0, 0x7A, 0x2F, 0xA1, 0x11, 0x13, 0x19, 0x0F, 0x69, 0xF2, 0x01, 0x20, 0xE3, 0x88, 0xDC, +0xA5, 0xF2, 0x60, 0xA6, 0x82, 0x56, 0x72, 0x59, 0x11, 0x84, 0x24, 0x4E, 0x63, 0xE3, 0xAC, 0xEB, +0xA3, 0xE6, 0x37, 0xDA, 0xC4, 0x23, 0x0A, 0x22, 0xEB, 0x76, 0x7A, 0x17, 0x2E, 0x0C, 0x0F, 0x39, +0x46, 0x7C, 0xDE, 0x24, 0x64, 0x11, 0x98, 0x94, 0x83, 0xDB, 0x71, 0x40, 0xA6, 0x02, 0x11, 0xCD, +0xC5, 0xD0, 0x0E, 0x42, 0xDA, 0xE5, 0x41, 0x26, 0x3B, 0xA3, 0xE7, 0x1F, 0x68, 0x94, 0x0F, 0xB0, +0x9D, 0x1D, 0x9E, 0xA3, 0xB8, 0x1C, 0x11, 0x99, 0x73, 0x04, 0x1F, 0x0E, 0x21, 0x8D, 0xCF, 0x31, +0x0A, 0x22, 0x6D, 0xFF, 0xB0, 0x2D, 0x04, 0x3C, 0xC0, 0xA4, 0x8C, 0x7C, 0x62, 0xA7, 0x02, 0x44, +0x99, 0x9E, 0xCB, 0x62, 0x1D, 0x65, 0x2E, 0x6B, 0x29, 0x84, 0x87, 0x34, 0xF9, 0xA8, 0x01, 0x49, +0xE9, 0xDE, 0xFA, 0xCB, 0x22, 0x3C, 0x0F, 0x67, 0xD2, 0xA8, 0x56, 0x20, 0x64, 0x75, 0x45, 0xA1, +0xB0, 0xCD, 0x46, 0x1E, 0x9B, 0xD9, 0xAC, 0x4D, 0xBB, 0x6B, 0xEB, 0xC4, 0xE7, 0x4D, 0x0F, 0x19, +0x2B, 0x9F, 0x37, 0x44, 0x55, 0x3D, 0x76, 0xC4, 0xE7, 0x3E, 0x21, 0xD7, 0xE1, 0x1F, 0x7B, 0x8D, +0x81, 0x88, 0xB6, 0x17, 0x3A, 0x68, 0x12, 0xF2, 0x80, 0x7F, 0x54, 0x5C, 0xDC, 0x1B, 0x71, 0x48, +0x05, 0xD4, 0x38, 0x1F, 0x7B, 0x31, 0xAA, 0xE1, 0x41, 0xBB, 0x6C, 0x6A, 0x7B, 0x9B, 0x0F, 0xC4, +0x75, 0xE1, 0x80, 0x4B, 0xE9, 0x15, 0xD5, 0xD7, 0xE3, 0x72, 0xF8, 0xE8, 0x26, 0xB3, 0xF4, 0xB8, +0x9E, 0x5F, 0xEC, 0xC2, 0x3F, 0x34, 0x12, 0x25, 0x0F, 0x78, 0x10, 0x7D, 0x94, 0x83, 0xC4, 0x08, +0x84, 0x54, 0x7C, 0x00, 0x08, 0x84, 0x34, 0xF8, 0xC0, 0x40, 0xD2, 0x10, 0x74, 0x64, 0xF8, 0xC2, +0xBB, 0x40, 0x16, 0xB5, 0x18, 0xB1, 0xFD, 0x43, 0x1D, 0x0F, 0xA9, 0xFC, 0xE3, 0x13, 0xF5, 0x35, +0xEA, 0x16, 0x44, 0x8E, 0x84, 0x1F, 0xE7, 0xA2, 0x64, 0x58, 0x42, 0x73, 0xCA, 0xE7, 0xC8, 0x08, +0xD5, 0x13, 0x35, 0x3B, 0xED, 0xCA, 0x5E, 0x83, 0xA4, 0x40, 0xA4, 0x01, 0x48, 0xC7, 0x2F, 0x4C, +0xFF, 0x40, 0x23, 0xB7, 0x5F, 0x21, 0xEC, 0x64, 0x04, 0x91, 0x45, 0x47, 0x2C, 0xAB, 0x70, 0x58, +0xF8, 0xA8, 0xF5, 0xE3, 0xF5, 0x71, 0xBC, 0xFC, 0x11, 0x23, 0xBA, 0xC0, 0x43, 0xFA, 0x7C, 0xD0, +0x1B, 0x6A, 0x4D, 0x33, 0x0E, 0xE5, 0x1D, 0x69, 0x7C, 0xEA, 0xF1, 0xE9, 0x9E, 0x46, 0x6C, 0x64, +0xA4, 0x64, 0xA8, 0x87, 0x63, 0xBF, 0x9B, 0xF7, 0xFC, 0x2B, 0x73, 0x7A, 0x57, 0xAF, 0xFB, 0x1E, +0xAF, 0xAE, 0x0D, 0x4A, 0x44, 0x48, 0xB0, 0x9A, 0x3B, 0x61, 0x79, 0xEC, 0x11, 0x81, 0x08, 0x82, +0x0F, 0xD3, 0x43, 0xD6, 0xC8, 0x88, 0x43, 0x88, 0x3F, 0x9A, 0x4A, 0x84, 0x20, 0x15, 0x89, 0x91, +0x19, 0xA9, 0xEF, 0xD5, 0x12, 0x10, 0x69, 0x17, 0xEE, 0x11, 0x87, 0xDA, 0x9F, 0xEB, 0xBE, 0xCB, +0x40, 0xAD, 0x0F, 0xE6, 0x7A, 0x48, 0xFE, 0x5F, 0x86, 0xA3, 0x11, 0x8C, 0x04, 0x2D, 0x26, 0x1F, +0xE8, 0x96, 0x08, 0x7D, 0xB2, 0xC2, 0xFA, 0x23, 0x84, 0x50, 0x3E, 0xEF, 0xAB, 0x9D, 0xBE, 0xF2, +0x3D, 0x64, 0x6C, 0xA6, 0x71, 0xBC, 0x55, 0x8B, 0x59, 0xA9, 0xF0, 0x43, 0xD3, 0x55, 0x5B, 0x1A, +0x09, 0xA4, 0x9F, 0x95, 0x0C, 0x29, 0x7F, 0xD4, 0x80, 0x20, 0x8A, 0xEA, 0xDA, 0x6D, 0x4F, 0xA7, +0x20, 0xAD, 0x8C, 0x85, 0xBF, 0x82, 0x49, 0x31, 0x8E, 0x56, 0x2E, 0x8B, 0x75, 0x21, 0x3E, 0x22, +0x7D, 0xDD, 0xF6, 0x0F, 0x23, 0x99, 0xB5, 0x9E, 0x52, 0xA3, 0xFC, 0xD1, 0x25, 0x24, 0xC0, 0xA8, +0xCB, 0x83, 0xBE, 0x87, 0x3C, 0xB0, 0xDE, 0x0F, 0x4A, 0x12, 0x1B, 0xE2, 0xA4, 0x22, 0xE4, 0xE1, +0xBC, 0xFC, 0xF1, 0x03, 0x07, 0xA6, 0x7F, 0xF0, 0x95, 0x24, 0xB3, 0x1E, 0x2A, 0x3E, 0x70, 0x0C, +0x6C, 0x43, 0x94, 0xE8, 0xD0, 0xE7, 0x03, 0x1D, 0x5B, 0xE5, 0x8F, 0x71, 0x3F, 0xEE, 0xA5, 0xAF, +0x10, 0x0F, 0x1D, 0xFF, 0x80, 0x90, 0xAE, 0x7D, 0x30, 0xCB, 0xAA, 0xAA, 0x7A, 0x34, 0x95, 0xCF, +0x71, 0x10, 0xF5, 0xF3, 0x56, 0x08, 0x41, 0xFD, 0x3F, 0xA0, 0x73, 0x47, 0xF9, 0x3C, 0x95, 0x3F, +0x48, 0x5D, 0x55, 0x0E, 0x12, 0xF8, 0xB1, 0xC8, 0x82, 0xEA, 0x8A, 0x91, 0x38, 0x20, 0x54, 0xC7, +0x40, 0x7C, 0x42, 0x48, 0x5F, 0x99, 0x71, 0xC8, 0xE5, 0xBB, 0xDD, 0x37, 0xB5, 0x2E, 0x19, 0x2E, +0x0C, 0xD5, 0xE5, 0x8F, 0x12, 0x7E, 0xA4, 0x55, 0x3F, 0x35, 0xF5, 0xC2, 0x09, 0x84, 0xAC, 0xC2, +0x3F, 0xA2, 0xFC, 0xC1, 0x01, 0x18, 0x60, 0x1B, 0x6E, 0x1C, 0xF2, 0x5D, 0xAB, 0x7C, 0xBE, 0x03, +0xD9, 0x7C, 0x72, 0x3C, 0xF6, 0xE2, 0x0F, 0x54, 0x12, 0xBC, 0xF0, 0xD1, 0x45, 0xC4, 0x8A, 0x3F, +0x28, 0x88, 0x98, 0xFE, 0x41, 0x3F, 0xC1, 0x07, 0x73, 0xAA, 0xA7, 0x6D, 0x6C, 0x79, 0xA2, 0x96, +0x59, 0x5B, 0x26, 0x31, 0x4B, 0x22, 0x8A, 0xEA, 0x2C, 0xAF, 0x46, 0x01, 0xA1, 0xA8, 0xAE, 0xF2, +0x47, 0x4E, 0xEF, 0x42, 0x5A, 0x01, 0xEE, 0xEC, 0x41, 0x38, 0x48, 0x93, 0xE9, 0xFA, 0x09, 0x4C, +0x84, 0xF2, 0x87, 0x4B, 0x48, 0xB9, 0xB0, 0xA8, 0x1F, 0x87, 0x10, 0x7E, 0x58, 0x84, 0x2C, 0x1C, +0x5D, 0xD5, 0x2B, 0x2C, 0x39, 0x88, 0xFA, 0xBE, 0x44, 0x20, 0xF9, 0xA0, 0x94, 0xEA, 0xB4, 0xC3, +0x3F, 0x0C, 0xBF, 0x30, 0xFD, 0x03, 0xDD, 0xD7, 0xFE, 0xF1, 0xA0, 0x7D, 0x3A, 0xAD, 0x08, 0x88, +0xD4, 0x65, 0x6B, 0xD8, 0x0A, 0x7C, 0x78, 0x72, 0xFC, 0x83, 0x6B, 0xE9, 0xFB, 0x87, 0xA4, 0xAF, +0xA9, 0xD2, 0xBB, 0xB6, 0x89, 0xD4, 0xAB, 0x92, 0xD8, 0xEA, 0x47, 0xDB, 0xB0, 0x11, 0xD8, 0xC8, +0xF3, 0x36, 0x8E, 0x58, 0x12, 0x51, 0x54, 0x27, 0x3C, 0x6F, 0x00, 0x82, 0x32, 0x1F, 0xA5, 0x30, +0x8F, 0x39, 0xB1, 0x7A, 0xD3, 0xC6, 0x18, 0xF7, 0x81, 0x61, 0x1F, 0x79, 0xAC, 0x4E, 0x19, 0x95, +0x34, 0xF6, 0xC6, 0xEC, 0x95, 0x7F, 0x98, 0x1E, 0x42, 0x7A, 0xD7, 0x20, 0x04, 0x3E, 0x3C, 0x42, +0xAE, 0xF9, 0x90, 0xDE, 0x15, 0x27, 0xC1, 0x4B, 0x34, 0xBC, 0xA8, 0x3C, 0xE4, 0x7E, 0x9C, 0x8E, +0x1F, 0x82, 0x04, 0x3C, 0xA4, 0xEF, 0x1E, 0x8C, 0x10, 0xB2, 0x8A, 0x3A, 0xCC, 0xD0, 0x77, 0x78, +0x87, 0x1E, 0xC5, 0x49, 0x36, 0xCB, 0x1F, 0xAE, 0x87, 0x38, 0x7C, 0x90, 0xEE, 0x3D, 0x2A, 0x89, +0x32, 0x46, 0x05, 0x4A, 0x5F, 0x33, 0x87, 0x0F, 0x3C, 0xA4, 0xFE, 0xCC, 0x1D, 0xE5, 0x24, 0x16, +0x59, 0x4F, 0x19, 0xD8, 0xF8, 0x70, 0x67, 0xF2, 0xE2, 0x20, 0xFA, 0x47, 0x79, 0x08, 0x7C, 0x34, +0x01, 0x41, 0xAC, 0xAF, 0x52, 0x26, 0x0C, 0x00, 0x69, 0x7F, 0x27, 0xA6, 0x67, 0x1D, 0x2D, 0x3B, +0x8C, 0xF2, 0xA0, 0xD5, 0x25, 0xCF, 0x3F, 0xB8, 0xF0, 0x11, 0x9E, 0x9B, 0xEF, 0x6A, 0x15, 0x7F, +0x98, 0x71, 0x08, 0x49, 0x2B, 0x6E, 0x7D, 0x8A, 0xC9, 0xC8, 0xF2, 0xAB, 0x14, 0x44, 0x58, 0x5F, +0xB1, 0xCA, 0x8A, 0x7D, 0x45, 0xCD, 0xBD, 0xE9, 0x1F, 0xA8, 0x71, 0x77, 0x3B, 0xDE, 0x01, 0x1B, +0x62, 0x45, 0x87, 0xF0, 0xE1, 0x0A, 0xFF, 0xF0, 0x09, 0x59, 0xF7, 0xFD, 0x83, 0xFD, 0x61, 0x4D, +0xF8, 0xE1, 0x58, 0x08, 0xE9, 0xDD, 0x4A, 0x6D, 0x66, 0xCA, 0x02, 0x2B, 0x9B, 0x05, 0xD1, 0x47, +0xAC, 0x80, 0xD8, 0xE5, 0x8A, 0x88, 0xC2, 0xE9, 0xD7, 0xE0, 0xA3, 0x09, 0x08, 0x8A, 0x9F, 0xFE, +0x00, 0x0D, 0x5E, 0xB1, 0xF8, 0xC9, 0x59, 0x30, 0x82, 0x7D, 0x34, 0x83, 0x26, 0xF6, 0xAC, 0xB2, +0x36, 0x6E, 0xD7, 0x86, 0x7F, 0x38, 0x1E, 0xB2, 0x8E, 0x9F, 0xFE, 0xF0, 0xF4, 0x23, 0xE9, 0x5D, +0x53, 0xA5, 0x7A, 0xAE, 0x69, 0xB9, 0x8F, 0x23, 0x0D, 0x92, 0xF6, 0xEC, 0xF6, 0x0F, 0xFC, 0x94, +0x61, 0xDB, 0x0E, 0x42, 0xD0, 0x02, 0x1E, 0xAE, 0x87, 0x48, 0x99, 0x0F, 0xE2, 0x9F, 0x7D, 0x5E, +0x65, 0x25, 0x44, 0x02, 0x59, 0x19, 0xDA, 0x03, 0x69, 0x05, 0xC2, 0x0F, 0x43, 0xB6, 0x7F, 0x50, +0x10, 0x69, 0xBF, 0x41, 0x23, 0x26, 0x42, 0xF8, 0x61, 0x75, 0x09, 0xB3, 0x50, 0x9F, 0xE6, 0x64, +0x1B, 0xF6, 0xA1, 0x8E, 0x91, 0xC4, 0xA0, 0x5D, 0x62, 0x23, 0x1D, 0x26, 0x42, 0xE0, 0xA3, 0x0D, +0x08, 0x7A, 0xFB, 0x24, 0xFF, 0xC8, 0xAC, 0xE1, 0x4A, 0xB1, 0x53, 0x4F, 0xFF, 0x38, 0x8C, 0x44, +0xEA, 0x46, 0xE0, 0x84, 0x48, 0x5F, 0x19, 0x5D, 0xC3, 0x50, 0xFE, 0x88, 0xCB, 0xEC, 0xE8, 0x68, +0x2D, 0xAF, 0x48, 0xC0, 0x2C, 0x5C, 0x91, 0xEE, 0x4D, 0x10, 0x30, 0x0B, 0x4B, 0xAA, 0xE8, 0x21, +0xFE, 0x81, 0xF5, 0x97, 0x0A, 0x22, 0xB3, 0xF2, 0x56, 0xDF, 0xD5, 0xFE, 0xC1, 0xD8, 0xD6, 0xAE, +0xE0, 0xB1, 0xC2, 0x42, 0x22, 0x40, 0x4A, 0x3D, 0x8B, 0x75, 0xD7, 0x62, 0x96, 0xAE, 0xBC, 0x9F, +0xC2, 0xA4, 0x20, 0x02, 0x11, 0x14, 0x41, 0xD8, 0xF1, 0x6F, 0xE1, 0x21, 0xDE, 0x1C, 0xA0, 0x2F, +0x11, 0xA8, 0x8C, 0xD1, 0x51, 0xEC, 0x83, 0x19, 0x4C, 0x7C, 0x1E, 0xB4, 0x84, 0x7D, 0x44, 0x5D, +0x4F, 0xF1, 0xB9, 0x07, 0xC8, 0xDB, 0xDB, 0x5C, 0x20, 0x7C, 0x2F, 0x0C, 0x89, 0x97, 0x8D, 0x44, +0x32, 0xA8, 0x0C, 0x4D, 0xE2, 0xAC, 0x6A, 0xF3, 0xC0, 0x5A, 0xD0, 0xCC, 0xAB, 0x72, 0x93, 0x83, +0x3A, 0xD7, 0x43, 0xB8, 0xBF, 0xC4, 0xE3, 0xE3, 0x7A, 0xE6, 0x9C, 0xD1, 0x1D, 0xED, 0xD4, 0xD0, +0x33, 0x19, 0xCC, 0xC0, 0x42, 0x4C, 0x49, 0x27, 0x69, 0x91, 0xF5, 0x03, 0x68, 0x8C, 0xC7, 0x21, +0xB8, 0xC8, 0x07, 0x1A, 0x66, 0x78, 0x48, 0x94, 0x3C, 0x4A, 0xFC, 0xA3, 0x8E, 0x7F, 0x71, 0xD7, +0x7B, 0xB1, 0x94, 0xDD, 0xE3, 0x15, 0x06, 0xE2, 0xE8, 0x7A, 0x0E, 0x21, 0x3F, 0xCA, 0x42, 0xBA, +0xEF, 0x51, 0xFD, 0x70, 0xBE, 0x83, 0x00, 0x00, 0xE2, 0x61, 0x15, 0xEF, 0x9E, 0x4A, 0x12, 0xB6, +0xD8, 0x07, 0xE6, 0xC1, 0xCA, 0xE8, 0x69, 0xD3, 0x4A, 0xE8, 0x6D, 0x0F, 0x90, 0xB7, 0x97, 0xDB, +0xED, 0x56, 0xFF, 0x01, 0x77, 0x07, 0xE7, 0x7D, 0x40, 0x58, 0x5E, 0x9E, 0x4D, 0x9A, 0xB2, 0x0F, +0xCE, 0x5E, 0x78, 0xBC, 0xE5, 0x5F, 0x95, 0x88, 0xD2, 0xD7, 0xBE, 0x2E, 0x8E, 0x47, 0x85, 0x20, +0x3F, 0xFA, 0x7C, 0x5C, 0x8B, 0x10, 0x7F, 0xD6, 0xBC, 0xB8, 0xBA, 0xBA, 0x8A, 0xE9, 0x1F, 0xBB, +0x34, 0x03, 0x63, 0xE5, 0x1F, 0x66, 0xA2, 0x5E, 0x0A, 0xEA, 0x0A, 0xA4, 0xBF, 0x1B, 0xE5, 0x41, +0xBD, 0x8E, 0xD5, 0x3F, 0xF8, 0x20, 0xCC, 0xC3, 0xF2, 0x8F, 0xE1, 0xD5, 0x4B, 0x86, 0x17, 0x52, +0x31, 0x90, 0xF3, 0x9F, 0x58, 0xD1, 0xF9, 0x5C, 0x3D, 0xCE, 0xE3, 0xE3, 0x7A, 0x01, 0x21, 0xC6, +0x12, 0xEB, 0x78, 0x24, 0xD0, 0x88, 0x11, 0xF1, 0x6C, 0x84, 0x94, 0xC4, 0x20, 0x66, 0xD7, 0xC4, +0xD1, 0xFC, 0xE9, 0xC7, 0xBB, 0x3C, 0x38, 0x49, 0x67, 0x81, 0x73, 0x5D, 0xAE, 0x88, 0xA8, 0x21, +0x56, 0x45, 0x5B, 0xE9, 0xED, 0x2E, 0x20, 0xF8, 0x87, 0x24, 0x42, 0x4A, 0xDC, 0x01, 0x6D, 0x1A, +0xCA, 0x1E, 0xF2, 0xB2, 0x5A, 0x34, 0x73, 0xA4, 0x01, 0xFB, 0xF8, 0x43, 0xDF, 0xA9, 0x79, 0x49, +0xC8, 0x62, 0x5D, 0x4C, 0x79, 0x48, 0x44, 0xF1, 0x47, 0xE9, 0xE2, 0x22, 0x4D, 0x7D, 0xD3, 0x3F, +0x20, 0xC4, 0x03, 0x44, 0x93, 0xAC, 0x18, 0x48, 0x12, 0x73, 0x92, 0xA0, 0x38, 0x1D, 0x26, 0x3E, +0xEE, 0x87, 0x24, 0x16, 0xAE, 0x30, 0xB1, 0xBE, 0x2A, 0xBF, 0x03, 0xCB, 0x70, 0x8F, 0xE0, 0x43, +0x84, 0x50, 0x24, 0x0C, 0x07, 0xC9, 0x3D, 0x0C, 0xE4, 0xE9, 0xF6, 0x2C, 0x49, 0x27, 0xAF, 0x36, +0x87, 0x8F, 0x6B, 0xDB, 0x43, 0xF4, 0x55, 0xC7, 0xA4, 0x8A, 0x8B, 0x8B, 0x6A, 0x99, 0x85, 0x28, +0x12, 0x7A, 0x5D, 0x13, 0x47, 0x7D, 0xD9, 0x50, 0x33, 0xE9, 0x7B, 0x1A, 0x04, 0x04, 0x54, 0x42, +0xCA, 0xDC, 0x1D, 0x06, 0x92, 0x5B, 0xDB, 0x41, 0xCB, 0xB7, 0xBB, 0x80, 0xE0, 0x1F, 0x52, 0x2A, +0xA3, 0x93, 0xE5, 0x3D, 0x0B, 0xCC, 0xFF, 0x4E, 0x5E, 0x51, 0xB7, 0x86, 0xCE, 0xB3, 0xC9, 0x3E, +0xFE, 0x50, 0x73, 0xF9, 0x08, 0xB9, 0xF1, 0x47, 0xD2, 0xE1, 0x62, 0xF8, 0x3C, 0xF3, 0xFC, 0x63, +0x91, 0xFB, 0x95, 0xB9, 0xBE, 0x4A, 0x2D, 0xA7, 0x7B, 0x6B, 0xBF, 0x60, 0x56, 0x96, 0xDB, 0x4D, +0xC4, 0xC6, 0x0E, 0x0F, 0xC1, 0x16, 0xF2, 0x0E, 0x61, 0x1F, 0x59, 0xE9, 0x81, 0xE3, 0x1F, 0xF1, +0x3F, 0x48, 0xAB, 0x2C, 0xC1, 0x10, 0x94, 0xC8, 0x2B, 0x70, 0x10, 0x96, 0x7D, 0xF2, 0x8F, 0x7C, +0xF6, 0x33, 0xFC, 0x23, 0x08, 0xB1, 0xFC, 0xE3, 0xE2, 0x10, 0x84, 0xF4, 0x82, 0x73, 0x9E, 0xA4, +0x4C, 0xE8, 0xDA, 0x87, 0x3A, 0xAB, 0xAC, 0xA9, 0xDB, 0x9A, 0x4E, 0x45, 0xCC, 0x5E, 0xD6, 0x59, +0x25, 0x40, 0x20, 0x0E, 0xD9, 0x86, 0xDE, 0x9E, 0x02, 0x64, 0x8B, 0xA8, 0x14, 0xF2, 0xB2, 0x11, +0x8D, 0x70, 0xCB, 0x17, 0xBF, 0xC1, 0x8E, 0x33, 0xEE, 0x24, 0xE2, 0x0A, 0x1D, 0xFA, 0x56, 0x37, +0x26, 0x1F, 0xA1, 0x4E, 0x18, 0x42, 0x12, 0xF8, 0x88, 0x2C, 0x3E, 0xCA, 0x1C, 0xD0, 0x66, 0xF2, +0x11, 0x2D, 0x15, 0xE4, 0x58, 0xEB, 0xEF, 0x4A, 0x48, 0xC2, 0x53, 0x7B, 0xF9, 0x47, 0xFA, 0x5D, +0x8B, 0x69, 0x63, 0x96, 0x03, 0x49, 0x8B, 0x8F, 0xCF, 0x3F, 0xD2, 0x08, 0x21, 0x1D, 0x0F, 0xC9, +0x7C, 0x04, 0x81, 0x82, 0xF1, 0x29, 0xBB, 0x56, 0x49, 0xE7, 0x15, 0x5E, 0xF7, 0xF8, 0x74, 0xFA, +0xBE, 0x7F, 0xA4, 0xAE, 0x4B, 0x65, 0x2C, 0xAF, 0xD0, 0xC1, 0xC9, 0x63, 0x9D, 0xFD, 0x20, 0x88, +0xC3, 0x47, 0x32, 0x10, 0xB5, 0x9A, 0x88, 0x76, 0xE8, 0x7B, 0x42, 0x11, 0x83, 0x54, 0x05, 0x6F, +0x7C, 0x25, 0xDD, 0xF4, 0x8E, 0xC6, 0x01, 0x81, 0x0F, 0x08, 0xE1, 0x45, 0x34, 0x6A, 0xAB, 0x6E, +0xE9, 0xE5, 0x2C, 0xA4, 0xD1, 0xC8, 0x89, 0x5D, 0xB2, 0xC9, 0x84, 0xC7, 0xB4, 0x87, 0xC0, 0x07, +0xB5, 0xC2, 0x09, 0x1D, 0xD1, 0x05, 0xB9, 0x5E, 0xC3, 0x3F, 0x58, 0x66, 0x79, 0x7C, 0xE8, 0xA3, +0x78, 0x45, 0x20, 0x4C, 0xF5, 0x23, 0xBB, 0xCA, 0xD0, 0x85, 0xD0, 0xEE, 0x5E, 0x6D, 0xE2, 0x56, +0x45, 0xC2, 0xF3, 0x7B, 0xFC, 0x43, 0x5B, 0x37, 0x8B, 0x85, 0x7F, 0x84, 0xEE, 0x45, 0x48, 0x54, +0x2B, 0xE3, 0x84, 0x52, 0x8F, 0xEA, 0xFE, 0x43, 0x7A, 0x46, 0x67, 0x4D, 0xF3, 0xEC, 0x83, 0x3E, +0xE5, 0x21, 0x69, 0x79, 0x85, 0xA8, 0x59, 0x3D, 0xE7, 0x04, 0x3E, 0xD0, 0x24, 0x20, 0x9A, 0x2E, +0xB1, 0x69, 0xF2, 0x80, 0xC7, 0xD8, 0xA7, 0xF1, 0x39, 0x1F, 0x25, 0x12, 0x01, 0x93, 0x44, 0x4C, +0xF8, 0x4A, 0x89, 0x3F, 0x50, 0x07, 0x10, 0xF8, 0x28, 0x71, 0x08, 0xBC, 0xC5, 0x9A, 0x0D, 0xF0, +0x4E, 0xD8, 0x07, 0x84, 0x60, 0x7D, 0xEC, 0x91, 0xBE, 0x39, 0x3E, 0x09, 0xA4, 0x8D, 0x51, 0x23, +0x44, 0xDE, 0xFA, 0x0A, 0x41, 0x48, 0x1B, 0x8F, 0xCC, 0x07, 0x7D, 0x42, 0x82, 0x82, 0xA6, 0x4F, +0xE3, 0x72, 0x27, 0xE0, 0xAE, 0xBA, 0x0B, 0x2A, 0xA7, 0x94, 0xC4, 0x87, 0xFC, 0x03, 0x09, 0x80, +0xCA, 0x3E, 0x34, 0x34, 0xFC, 0x43, 0xCD, 0xF1, 0x10, 0xF8, 0xC8, 0x6B, 0x38, 0xAA, 0x85, 0xC3, +0x29, 0x15, 0x01, 0x4D, 0xF0, 0x41, 0x33, 0xFD, 0x83, 0x65, 0x96, 0xC1, 0x07, 0x3A, 0x40, 0x43, +0x1C, 0xB0, 0x53, 0x0F, 0x3E, 0xD0, 0x24, 0x20, 0x6F, 0xE5, 0xD0, 0x35, 0x26, 0x4E, 0x23, 0x55, +0x1A, 0x22, 0xFE, 0x40, 0xC4, 0x21, 0x05, 0x8E, 0x72, 0x54, 0xD6, 0x43, 0xDB, 0x73, 0x8D, 0x03, +0xB2, 0xAD, 0xBF, 0x34, 0x5E, 0x1A, 0xF4, 0xD4, 0xB8, 0xA5, 0x37, 0xF8, 0x40, 0x53, 0xFE, 0x91, +0xC8, 0xE0, 0x93, 0xE0, 0x8F, 0x1E, 0x21, 0xF0, 0x81, 0xBA, 0xA5, 0x90, 0x58, 0x01, 0x9B, 0x84, +0xA4, 0xF0, 0xFC, 0xAC, 0x5F, 0x1B, 0xF6, 0x41, 0x13, 0x2E, 0x25, 0x3B, 0x34, 0x0C, 0x55, 0x9A, +0x17, 0xFF, 0x60, 0x1A, 0x7F, 0xD7, 0xCB, 0xF2, 0xCA, 0x3F, 0x44, 0x06, 0x2D, 0x11, 0xD2, 0xF1, +0x0F, 0x05, 0xFF, 0x88, 0x55, 0x56, 0x28, 0xFC, 0xA3, 0x14, 0xD6, 0xE1, 0x83, 0x66, 0xF9, 0x07, +0x5D, 0x84, 0x18, 0x7C, 0x20, 0x1C, 0x04, 0x38, 0xAA, 0xFB, 0xB0, 0x5C, 0x42, 0x62, 0xAA, 0xBC, +0x95, 0xC6, 0x30, 0x93, 0x5E, 0xA0, 0x0E, 0x1F, 0x08, 0xE3, 0x88, 0x03, 0x26, 0xB2, 0xEE, 0xE5, +0x7D, 0xA6, 0x1A, 0x10, 0xD2, 0x57, 0xB5, 0xF2, 0x1D, 0x59, 0x01, 0x1C, 0x0C, 0xB2, 0xBC, 0xAA, +0xD5, 0x39, 0xF1, 0x30, 0x8F, 0xE2, 0x22, 0x6A, 0xFD, 0x7C, 0xEF, 0x4D, 0x43, 0x7D, 0x3E, 0x0C, +0x42, 0x58, 0x33, 0xF3, 0xEE, 0x43, 0x88, 0xC5, 0x07, 0x8D, 0x00, 0xA4, 0xAC, 0x6D, 0x22, 0x95, +0x85, 0x7F, 0x3C, 0xF7, 0x10, 0xEC, 0x83, 0x63, 0xE2, 0x73, 0x18, 0x49, 0x4F, 0x8F, 0x45, 0x20, +0xF1, 0xE2, 0x95, 0x87, 0xD4, 0x41, 0xC8, 0xBE, 0x6C, 0x0F, 0x9C, 0x34, 0xCD, 0xE4, 0x03, 0x0F, +0xE9, 0x94, 0x3F, 0x50, 0xD3, 0x43, 0x00, 0xA5, 0xF7, 0x13, 0x85, 0xFD, 0xF0, 0x23, 0xE6, 0x4E, +0x99, 0x36, 0x67, 0x91, 0x3A, 0xBB, 0x26, 0x1E, 0x82, 0xA0, 0x8E, 0x41, 0x58, 0x72, 0x55, 0x7C, +0x10, 0xAA, 0x03, 0x08, 0x7C, 0xB4, 0x74, 0xA2, 0xF0, 0xC8, 0x2A, 0x8E, 0xF5, 0x55, 0x2D, 0x4E, +0x16, 0xEB, 0x0B, 0x3E, 0xF8, 0x0E, 0x09, 0x44, 0xDC, 0x9F, 0x05, 0x21, 0x54, 0xB7, 0xF8, 0x80, +0x90, 0x4E, 0x7A, 0xB7, 0xEA, 0x52, 0x8F, 0x8F, 0xE7, 0x33, 0x4C, 0x84, 0x90, 0xC2, 0x4A, 0x0B, +0x7D, 0x6D, 0xE1, 0x1F, 0xDF, 0xA5, 0xE0, 0xB9, 0x52, 0xEB, 0x26, 0x93, 0xE0, 0xA3, 0xF2, 0x8F, +0x2A, 0x97, 0xD5, 0x4E, 0x5F, 0x55, 0x8C, 0xDC, 0x27, 0x0F, 0xD1, 0x80, 0x7F, 0x68, 0x88, 0xF4, +0x55, 0xAB, 0x59, 0xCB, 0x2B, 0xBA, 0xAE, 0xDA, 0xB4, 0x7F, 0xA0, 0x8B, 0x76, 0x92, 0xD7, 0xFF, +0x99, 0x74, 0xFA, 0x1F, 0xEA, 0x79, 0x91, 0x95, 0x16, 0xE9, 0xE9, 0xD1, 0xB8, 0x89, 0x9C, 0x9A, +0x3A, 0x8F, 0x41, 0x88, 0xAC, 0xE1, 0xA3, 0x22, 0x04, 0x40, 0xE0, 0x63, 0x8C, 0x10, 0xD6, 0x6C, +0x30, 0x28, 0x28, 0x4F, 0x4D, 0xB5, 0xCB, 0x36, 0x84, 0x1F, 0x1A, 0xB5, 0xC5, 0x37, 0xAD, 0xD1, +0xFA, 0x69, 0x42, 0x64, 0xF1, 0x81, 0x9A, 0x09, 0x98, 0x08, 0x3F, 0x5A, 0xFD, 0xCA, 0xF2, 0x0F, +0x92, 0x59, 0xC4, 0x1D, 0x7B, 0x0E, 0x5F, 0xAC, 0x58, 0x01, 0xA1, 0x01, 0x99, 0x06, 0x1A, 0xD2, +0x77, 0xB8, 0xC7, 0x39, 0x27, 0x2D, 0x0F, 0x91, 0xDA, 0x2F, 0xAE, 0xAE, 0xF3, 0x11, 0xA2, 0x45, +0x81, 0x2E, 0xF1, 0x79, 0xDD, 0x5C, 0x3E, 0x48, 0xF7, 0xF6, 0xF3, 0x57, 0x35, 0x21, 0xED, 0x20, +0xE4, 0x06, 0x59, 0x91, 0x7A, 0x9A, 0x39, 0x99, 0x8A, 0x44, 0x89, 0xDA, 0xE8, 0x32, 0x6B, 0x94, +0x8F, 0x5C, 0xEE, 0x28, 0x31, 0x34, 0x75, 0x3C, 0xF8, 0xA8, 0x09, 0x01, 0x10, 0xCA, 0x1F, 0x23, +0x4A, 0x06, 0xA5, 0x0E, 0x76, 0x7A, 0x70, 0x1A, 0x53, 0xF3, 0x3E, 0x00, 0xD2, 0xBB, 0x1A, 0xE2, +0x28, 0x5C, 0xB3, 0xC3, 0x87, 0xEF, 0x21, 0x17, 0xC7, 0x51, 0x51, 0x10, 0xE9, 0xF8, 0x07, 0xDD, +0xF2, 0x0F, 0x3C, 0x24, 0xCC, 0xA3, 0xBA, 0xBD, 0xF7, 0xBB, 0x67, 0xEE, 0xD1, 0x48, 0x66, 0xC1, +0x08, 0x6C, 0xD4, 0x2E, 0x52, 0xE5, 0xB2, 0xE0, 0xA3, 0xA1, 0x44, 0x08, 0xF5, 0xCA, 0x7D, 0x0E, +0x8C, 0x28, 0x7F, 0x34, 0x5A, 0x67, 0x7D, 0x65, 0x12, 0xA2, 0x27, 0x8E, 0xA3, 0x5A, 0xA3, 0x71, +0xFF, 0x40, 0x23, 0x78, 0xC4, 0x84, 0x89, 0xF9, 0xA2, 0x9E, 0x40, 0x51, 0xE7, 0xDE, 0x8C, 0xD8, +0xC1, 0xC7, 0x88, 0x85, 0x9C, 0x65, 0xB1, 0x28, 0x0F, 0x8E, 0x13, 0x02, 0x20, 0xDB, 0x9E, 0xBE, +0x0C, 0xF8, 0xB8, 0xE9, 0x84, 0xF5, 0x55, 0x03, 0xD6, 0x46, 0xFE, 0xEA, 0xC9, 0x3C, 0x96, 0xC5, +0x42, 0xE0, 0xE5, 0xAD, 0xAF, 0x9F, 0xE7, 0xAF, 0xB8, 0x8C, 0x96, 0x87, 0x1C, 0xD1, 0xB8, 0x87, +0xC0, 0xC7, 0x28, 0x1E, 0xEA, 0xB6, 0x7F, 0xE0, 0x21, 0x54, 0x44, 0xF6, 0xF9, 0xEE, 0x2B, 0xFC, +0xA3, 0x41, 0x48, 0x1D, 0x7D, 0xA4, 0xF4, 0x2E, 0x5C, 0x74, 0x3C, 0x84, 0xF2, 0x07, 0xEA, 0x84, +0xEA, 0x71, 0x52, 0xB0, 0x6D, 0x7A, 0xC8, 0xB5, 0x47, 0x08, 0xF6, 0x61, 0x10, 0x82, 0x26, 0x7E, +0xB1, 0x62, 0x23, 0xFE, 0x48, 0x1B, 0xCE, 0x91, 0x67, 0x4E, 0xEA, 0xA6, 0x7F, 0x50, 0x31, 0xA4, +0x3C, 0x41, 0x7A, 0xB7, 0xA9, 0x28, 0xAA, 0x03, 0xC8, 0xB6, 0xAF, 0x54, 0x55, 0x01, 0x3F, 0x0C, +0xA4, 0xAD, 0xBA, 0x74, 0x43, 0xFC, 0xA1, 0x81, 0xEF, 0x91, 0x94, 0x56, 0x33, 0x3E, 0xF7, 0x3D, +0xE4, 0xD8, 0x57, 0xDC, 0xBB, 0x88, 0x7F, 0xAC, 0x7A, 0x84, 0x68, 0x99, 0x65, 0xF1, 0x81, 0x89, +0x70, 0x67, 0x79, 0xDC, 0x7E, 0xA5, 0xD6, 0x21, 0x04, 0x3F, 0xE0, 0xF6, 0x92, 0x11, 0x3A, 0xF4, +0x2F, 0x61, 0x32, 0x13, 0xFE, 0x01, 0x22, 0x39, 0xDB, 0x4B, 0xDE, 0x99, 0x33, 0x6D, 0x36, 0xD7, +0x3E, 0x28, 0x88, 0x18, 0xFE, 0x81, 0xF4, 0x4B, 0x68, 0xCE, 0x63, 0xF4, 0x9B, 0xBE, 0xDA, 0xE1, +0x47, 0x18, 0xC8, 0x46, 0x23, 0x29, 0xD0, 0xA1, 0x5B, 0x7C, 0x50, 0x0E, 0xA1, 0x4A, 0x48, 0x7A, +0xB7, 0xA3, 0xB7, 0x01, 0x64, 0x3B, 0xA5, 0x01, 0x3E, 0xF0, 0x9B, 0x12, 0x91, 0x3A, 0xF9, 0xAB, +0x42, 0x3D, 0xF5, 0x1E, 0xB5, 0x92, 0xD2, 0xDA, 0x34, 0xD2, 0xBB, 0x36, 0x21, 0x17, 0xC7, 0xBE, +0xF2, 0x6F, 0x37, 0x81, 0x8F, 0xA9, 0x39, 0x00, 0x21, 0xF0, 0xD1, 0x27, 0x84, 0x18, 0xE4, 0x05, +0xE9, 0xAB, 0x2E, 0x21, 0x12, 0xFE, 0xD1, 0xC4, 0x83, 0x74, 0x6F, 0x32, 0x9D, 0xE8, 0x7D, 0x3E, +0xEE, 0xD5, 0xF1, 0x90, 0xCC, 0x07, 0xE5, 0x73, 0xCF, 0x43, 0xAE, 0x1D, 0x42, 0xF0, 0x8F, 0x89, +0x8B, 0x7F, 0x71, 0xB0, 0xFC, 0x03, 0x35, 0xCB, 0x1F, 0xDA, 0x61, 0x20, 0x69, 0x58, 0x6A, 0xA0, +0xA8, 0x6E, 0xAC, 0xAF, 0xAA, 0x82, 0x08, 0xFE, 0xD1, 0x55, 0x01, 0x64, 0x3B, 0xAD, 0xBC, 0x68, +0x93, 0x28, 0x7F, 0xF4, 0x54, 0xAF, 0xAF, 0x96, 0xC5, 0x3E, 0x8A, 0x8B, 0x10, 0x8B, 0x54, 0xC9, +0x5E, 0xF1, 0x61, 0xE8, 0xC0, 0x35, 0x3F, 0x4C, 0x01, 0x22, 0xF1, 0xAE, 0x76, 0xC2, 0x8F, 0x76, +0x51, 0x5D, 0x35, 0xC1, 0xFE, 0x0C, 0x7B, 0x4C, 0x84, 0x54, 0xE5, 0x0F, 0x83, 0x90, 0x1F, 0x48, +0x5F, 0x75, 0xF8, 0xC8, 0x1E, 0x82, 0x76, 0xFD, 0x57, 0x87, 0x90, 0x87, 0x3D, 0xE1, 0x79, 0xB7, +0xD9, 0xFE, 0x41, 0x41, 0x84, 0xF4, 0x55, 0x5F, 0x14, 0xD5, 0x2F, 0xF8, 0x4D, 0x0D, 0x36, 0x21, +0x12, 0x53, 0x26, 0xA2, 0xF4, 0x18, 0xF9, 0x6C, 0xF5, 0xFC, 0x03, 0x13, 0x29, 0x3F, 0x49, 0x88, +0x7F, 0x74, 0x95, 0x01, 0xD9, 0x5A, 0x2A, 0x2F, 0x0D, 0x1D, 0x0E, 0x22, 0x11, 0x9F, 0x47, 0xB5, +0x27, 0x1F, 0x6A, 0x47, 0xBC, 0x95, 0x8E, 0xFF, 0x98, 0xFD, 0x17, 0xA6, 0x0E, 0xF8, 0x87, 0x23, +0x19, 0x47, 0xE1, 0xC3, 0x00, 0x04, 0x0F, 0xA1, 0x7C, 0xDE, 0x69, 0x10, 0x82, 0x7F, 0x74, 0xF5, +0xF7, 0xF4, 0x2E, 0x01, 0xC8, 0x68, 0x63, 0x89, 0x35, 0xF9, 0xE2, 0x14, 0xD5, 0x63, 0x7D, 0xE5, +0x34, 0x93, 0x0F, 0x02, 0x11, 0x8B, 0x0F, 0x3C, 0xE4, 0x60, 0xF9, 0x47, 0x5D, 0x10, 0x89, 0xF0, +0x9C, 0x8E, 0x8D, 0x3C, 0x3D, 0x25, 0x59, 0x7C, 0x80, 0x08, 0x91, 0xF4, 0xD6, 0xD2, 0x00, 0x88, +0x76, 0x36, 0x21, 0xE0, 0x61, 0x13, 0xC2, 0x3A, 0x32, 0xB0, 0xC8, 0xA8, 0x50, 0x2F, 0x0C, 0x4E, +0x36, 0xF8, 0x87, 0xA3, 0xF2, 0x43, 0x05, 0x16, 0x1F, 0x17, 0xF1, 0x43, 0xEA, 0xF8, 0x47, 0xB7, +0xE3, 0x21, 0xF0, 0xD1, 0x27, 0xC4, 0xF2, 0x0F, 0x54, 0x00, 0xC1, 0x3E, 0x46, 0x1B, 0x71, 0x88, +0xB6, 0x09, 0xFF, 0x20, 0x52, 0x87, 0x0F, 0xA3, 0xB9, 0xCB, 0x2B, 0x3C, 0xC4, 0xE3, 0x83, 0x74, +0x2F, 0xFE, 0x61, 0xE8, 0x89, 0x0F, 0xC2, 0xD6, 0x4D, 0xCC, 0x9B, 0xB2, 0x32, 0xD7, 0x0E, 0x6A, +0xC0, 0xC3, 0x52, 0x2C, 0x84, 0xB6, 0xA6, 0x66, 0x00, 0xB2, 0xCC, 0xC9, 0x2C, 0x5B, 0x84, 0x1F, +0xEA, 0xB1, 0x57, 0x03, 0x91, 0xB4, 0xE7, 0xD8, 0xE4, 0x83, 0x5B, 0x17, 0xE1, 0xC3, 0x20, 0x64, +0x88, 0x3E, 0x4C, 0x3E, 0x28, 0xAA, 0x33, 0x8B, 0x1C, 0x42, 0x12, 0x1F, 0xD3, 0x4A, 0x55, 0x3E, +0xFC, 0x03, 0x16, 0x3A, 0xED, 0xDE, 0xFB, 0x13, 0x85, 0x14, 0x44, 0x48, 0x5F, 0x39, 0xCD, 0xE6, +0x83, 0x64, 0x96, 0xF8, 0x70, 0x75, 0xB0, 0xED, 0x83, 0x82, 0x08, 0xA9, 0x5D, 0x2D, 0xA3, 0x62, +0x59, 0xA5, 0x7D, 0x6E, 0xE9, 0x90, 0x65, 0x17, 0x7C, 0x58, 0x82, 0x0F, 0x17, 0x10, 0x5B, 0xE0, +0xE1, 0x12, 0x82, 0x41, 0x96, 0x61, 0x19, 0x88, 0x68, 0xDB, 0xE4, 0xE7, 0xA8, 0x01, 0xC1, 0x87, +0x23, 0xD6, 0x57, 0x96, 0x12, 0x1F, 0x33, 0x44, 0xFC, 0x61, 0x00, 0xF2, 0xF8, 0x42, 0x13, 0x52, +0x53, 0xD3, 0x6B, 0x41, 0x88, 0xC5, 0x06, 0xA1, 0xFA, 0xFD, 0xA4, 0x81, 0x70, 0xDB, 0x97, 0x60, +0xA5, 0xFC, 0x61, 0x34, 0xD6, 0x57, 0x36, 0x21, 0x47, 0x5F, 0x43, 0x39, 0xFD, 0x66, 0x86, 0x9E, +0xAA, 0x83, 0x54, 0xCC, 0xB8, 0x0D, 0x5C, 0xF4, 0xE4, 0xE7, 0x82, 0x20, 0x09, 0x3E, 0x5C, 0x42, +0xFC, 0x29, 0x0F, 0x20, 0x8E, 0x00, 0xC4, 0x52, 0xF2, 0x0F, 0x1C, 0x24, 0x0D, 0xA4, 0x7A, 0x71, +0x90, 0x60, 0x84, 0xF2, 0x87, 0x27, 0xFC, 0xC3, 0x13, 0xFE, 0xE1, 0x74, 0xF9, 0x87, 0x02, 0x70, +0xDF, 0x43, 0xC4, 0x07, 0xF5, 0x41, 0xC7, 0x43, 0xA8, 0x9E, 0x1B, 0x8D, 0xF5, 0x95, 0xA1, 0xFB, +0x14, 0x88, 0x5C, 0xCD, 0x69, 0x94, 0x3F, 0xAC, 0x0E, 0x1E, 0x9E, 0x78, 0x63, 0x3D, 0x42, 0x08, +0x52, 0xD3, 0xBE, 0x2E, 0x32, 0x3F, 0x61, 0x13, 0xFF, 0xB2, 0x9C, 0x37, 0x31, 0xE1, 0xC3, 0x72, +0x90, 0x3B, 0x5F, 0xCB, 0xE5, 0x1F, 0x73, 0xDA, 0x9B, 0xF1, 0x2D, 0x2D, 0x4B, 0xB4, 0x11, 0x60, +0xF0, 0x21, 0x70, 0x66, 0x21, 0x6F, 0x6D, 0xD6, 0x37, 0x5F, 0xF9, 0x4D, 0x80, 0xCC, 0xD2, 0xED, +0xE2, 0xEA, 0x76, 0x8E, 0x34, 0xE7, 0x67, 0x69, 0xAF, 0xC5, 0xFF, 0x6E, 0xEF, 0xB5, 0xD5, 0x7E, +0xF7, 0x5D, 0xD2, 0xE7, 0xC3, 0xF6, 0x69, 0x6F, 0x2C, 0x5F, 0xA7, 0xFF, 0xE8, 0x1B, 0xBB, 0xED, +0xF6, 0x33, 0x4F, 0xFE, 0x6A, 0xD6, 0x95, 0xB9, 0x5D, 0xDC, 0x1E, 0x66, 0x69, 0xCD, 0xBB, 0x66, +0xB4, 0xF5, 0x46, 0xD3, 0xC1, 0x6F, 0x9B, 0xB7, 0xDE, 0x5C, 0xFE, 0xE1, 0x4B, 0x13, 0xF3, 0xCE, +0x17, 0x80, 0x58, 0x7C, 0xCC, 0x3A, 0x91, 0x37, 0xDF, 0x14, 0x21, 0xEE, 0xB7, 0x29, 0x68, 0x36, +0x9B, 0x9F, 0x6E, 0xBE, 0xFA, 0xCA, 0xEE, 0xEB, 0xF5, 0xCB, 0x83, 0xAF, 0x97, 0xB7, 0x8B, 0xCB, +0xC5, 0xAC, 0x59, 0xF0, 0xFA, 0x4C, 0x42, 0x1E, 0xF7, 0x9A, 0xF9, 0xFB, 0x95, 0xD5, 0xF6, 0x7B, +0x4D, 0xFA, 0x4F, 0xB5, 0x35, 0xF4, 0x69, 0xAB, 0xE9, 0xF9, 0xBD, 0x5E, 0xDC, 0x6E, 0x8F, 0xF3, +0xCE, 0xFD, 0xEA, 0xF5, 0xD7, 0x6F, 0x6D, 0xBD, 0xAE, 0x4B, 0x79, 0x79, 0x7B, 0x98, 0x71, 0xF5, +0xF5, 0x56, 0xF9, 0xEF, 0xEC, 0xFA, 0xAB, 0x8D, 0xF4, 0x8E, 0x3B, 0x6D, 0x04, 0x93, 0x26, 0xDA, +0x2C, 0x40, 0x96, 0xCB, 0xBB, 0x8F, 0xEF, 0x3C, 0x7D, 0x01, 0x20, 0x16, 0x1F, 0x3E, 0x21, 0xF2, +0x0F, 0x49, 0x84, 0xB8, 0xDF, 0xEA, 0x26, 0x69, 0x0E, 0x1F, 0xD2, 0x4B, 0x9B, 0x8F, 0xCB, 0xEB, +0xF4, 0x7B, 0x98, 0x6D, 0x3D, 0x6A, 0xCE, 0x40, 0x88, 0xA9, 0xF4, 0x29, 0xBF, 0x9F, 0xEC, 0x22, +0x09, 0x1E, 0x7C, 0x99, 0xF8, 0xE9, 0x14, 0x8A, 0x7F, 0x2C, 0x5E, 0xAC, 0xA6, 0x37, 0x7D, 0xDD, +0xEB, 0x57, 0x6A, 0xB7, 0xB6, 0xC4, 0x87, 0x56, 0x59, 0xC3, 0x55, 0x35, 0xDA, 0xCF, 0x87, 0x97, +0xEB, 0x41, 0x73, 0xF8, 0xC8, 0x84, 0x78, 0x80, 0x88, 0x8F, 0x41, 0x73, 0xF8, 0x90, 0xFE, 0x7B, +0x07, 0xF9, 0xF8, 0x8F, 0xF8, 0x9B, 0x0B, 0xBE, 0x7D, 0x14, 0x42, 0xAC, 0x6F, 0x73, 0x13, 0xD2, +0xCC, 0xB7, 0xF1, 0x90, 0x4C, 0x3C, 0x0E, 0x99, 0x0F, 0xDB, 0x43, 0x34, 0x5F, 0x52, 0x73, 0xE7, +0x58, 0x68, 0xAF, 0xE9, 0xEF, 0xF8, 0xC7, 0x2E, 0xBC, 0xE2, 0x73, 0x4C, 0xC4, 0xD1, 0xC0, 0x9F, +0xD3, 0x6D, 0xA0, 0xF1, 0x0F, 0x7D, 0xAF, 0x8F, 0x3E, 0x1F, 0xC3, 0xB5, 0xBC, 0xBE, 0xB5, 0xFD, +0x43, 0x12, 0x24, 0x26, 0x1E, 0x37, 0x9B, 0x90, 0xE7, 0x20, 0xC1, 0x87, 0x4F, 0x48, 0x99, 0xC6, +0xFF, 0x29, 0x20, 0x72, 0x24, 0xFE, 0x10, 0x88, 0x0D, 0x48, 0xE8, 0x1D, 0x73, 0x7D, 0x15, 0x8A, +0x75, 0xE8, 0x44, 0xCF, 0xD7, 0x7C, 0x18, 0x2D, 0x3E, 0x6E, 0xAF, 0x13, 0x1E, 0x2E, 0x21, 0x57, +0x57, 0x10, 0x62, 0xEB, 0x71, 0xE8, 0x2B, 0x11, 0xB2, 0xDB, 0xC7, 0xF0, 0xAF, 0xFD, 0x03, 0x8C, +0x7C, 0x0F, 0xD1, 0xD7, 0xC4, 0xE9, 0x64, 0x2D, 0xA6, 0xFA, 0x0B, 0xE1, 0x91, 0x9B, 0x17, 0x88, +0xC4, 0x95, 0x1C, 0x08, 0xB1, 0x2E, 0xFE, 0xBA, 0x88, 0x77, 0xD6, 0xE0, 0x03, 0x0F, 0xE9, 0xE3, +0x11, 0x7C, 0xD8, 0x84, 0xF0, 0xF7, 0x02, 0x6D, 0x40, 0x5E, 0xBB, 0x33, 0xA4, 0x17, 0xE6, 0x4F, +0x86, 0x5A, 0xEB, 0x2B, 0x34, 0x8B, 0x8F, 0x77, 0x36, 0xBA, 0x4C, 0xD3, 0x78, 0xA0, 0x97, 0xD3, +0x78, 0x64, 0xFF, 0x88, 0x6E, 0xF2, 0x11, 0xED, 0xF5, 0x3C, 0xC5, 0xC2, 0x27, 0xE8, 0x3C, 0x0E, +0x3A, 0xCA, 0xAA, 0xA6, 0xC4, 0x21, 0xFB, 0x49, 0xFF, 0xF0, 0x4D, 0x04, 0xED, 0x84, 0x58, 0xCF, +0x3D, 0x76, 0x6A, 0x99, 0x0E, 0xA2, 0xF4, 0x55, 0xDA, 0xDA, 0x5D, 0xE2, 0x9B, 0x15, 0x21, 0xAE, +0x7F, 0xA4, 0x7E, 0xBD, 0x30, 0x08, 0x79, 0x7A, 0x9B, 0xD4, 0x27, 0x4D, 0x44, 0x6D, 0xB3, 0x41, +0x06, 0x20, 0xCC, 0x32, 0x8F, 0x10, 0xFE, 0xBC, 0xBF, 0xB5, 0xCC, 0x7A, 0x6D, 0x00, 0x44, 0xA3, +0x15, 0x7E, 0xF0, 0xA7, 0xA4, 0x26, 0xF1, 0x48, 0x7C, 0xA0, 0xC9, 0x38, 0x64, 0x73, 0xAE, 0xB5, +0x61, 0x1F, 0x6A, 0xF6, 0x32, 0x6B, 0x11, 0xFE, 0xA1, 0xAE, 0xCD, 0xE0, 0xE3, 0xF1, 0xEF, 0x93, +0x26, 0x66, 0x92, 0x76, 0x74, 0x1E, 0x67, 0x3C, 0x32, 0x23, 0xD9, 0x43, 0x76, 0xFB, 0x64, 0x14, +0x78, 0x49, 0xED, 0x1F, 0x9F, 0xCF, 0xB7, 0x0F, 0x08, 0xE9, 0xDB, 0x47, 0xE6, 0x03, 0x43, 0x13, +0xC0, 0x69, 0xAB, 0x05, 0x3C, 0x7C, 0xAB, 0x5E, 0x20, 0x52, 0xAE, 0x63, 0xC4, 0x21, 0x96, 0x7F, +0xA0, 0xA9, 0x85, 0xF3, 0x4F, 0xFA, 0x80, 0x44, 0x1F, 0x4E, 0x11, 0x92, 0xFD, 0x03, 0x59, 0x7C, +0x30, 0x8F, 0x0D, 0x3E, 0x5E, 0x13, 0x20, 0x1F, 0xBF, 0x36, 0x89, 0x48, 0x40, 0x17, 0x7F, 0xE9, +0x79, 0x12, 0x11, 0x99, 0x46, 0x4D, 0x48, 0xD7, 0x26, 0x37, 0x92, 0x4D, 0x88, 0xF8, 0xA8, 0x2E, +0xFB, 0xCB, 0x09, 0x03, 0x59, 0x24, 0xFF, 0xA0, 0x4F, 0xF1, 0xF1, 0x18, 0x93, 0x05, 0x0F, 0xA9, +0xE6, 0x18, 0xCE, 0x11, 0x88, 0xEC, 0x33, 0x22, 0xF1, 0xD9, 0x9D, 0x26, 0x71, 0x1A, 0xD3, 0x41, +0x95, 0xBE, 0x6A, 0x23, 0xE0, 0xAB, 0xED, 0x21, 0x3B, 0x0D, 0xC1, 0x87, 0x4E, 0x61, 0x40, 0x35, +0x0F, 0xA1, 0x45, 0xB3, 0xA9, 0xC7, 0x77, 0x49, 0x9B, 0xF6, 0x0F, 0xFA, 0xB4, 0x87, 0xAC, 0xD1, +0xCB, 0x69, 0x42, 0xD6, 0x9B, 0x5A, 0x13, 0xF9, 0xAB, 0x37, 0x6B, 0x4D, 0xC7, 0xE7, 0xFC, 0xDD, +0x59, 0xF5, 0x49, 0x3E, 0xC2, 0x41, 0x84, 0x48, 0x57, 0x7A, 0xAD, 0xD2, 0xCB, 0x42, 0xCB, 0x09, +0x3F, 0xD0, 0x6F, 0xE3, 0x1E, 0x22, 0x6D, 0x9E, 0x6B, 0x34, 0x52, 0x57, 0x7B, 0xBA, 0xDE, 0xA8, +0x9B, 0xDE, 0xBD, 0x2C, 0xFE, 0x41, 0xEF, 0xA7, 0x77, 0xEB, 0xF6, 0xA8, 0x89, 0x24, 0x10, 0x98, +0x59, 0xC1, 0x45, 0x1C, 0x3E, 0xE6, 0xBE, 0x4F, 0x63, 0x26, 0x24, 0xAC, 0x62, 0x1F, 0xF6, 0xC1, +0x00, 0x1F, 0x4D, 0x59, 0xF0, 0x8C, 0xE4, 0x8D, 0x57, 0xF8, 0x47, 0xC6, 0x23, 0x16, 0x7E, 0x71, +0xF2, 0x6D, 0xC5, 0x67, 0x01, 0xED, 0xB1, 0x4F, 0x48, 0x59, 0xAB, 0xB2, 0xCA, 0xBA, 0xED, 0x5C, +0xFC, 0x9F, 0x79, 0xA3, 0xE2, 0x48, 0x84, 0x8C, 0xF2, 0x11, 0xE9, 0xAB, 0x9A, 0x90, 0x5E, 0xF9, +0x03, 0x59, 0x84, 0x6C, 0xE3, 0x4F, 0x17, 0x4A, 0xDA, 0x0F, 0x07, 0x13, 0x7C, 0x88, 0x8C, 0x02, +0x48, 0x0F, 0x91, 0x8C, 0x5D, 0x26, 0x24, 0x1D, 0xA6, 0x9D, 0x11, 0x7E, 0x18, 0x1E, 0x82, 0x7F, +0x58, 0x84, 0x48, 0x2F, 0xB9, 0xEA, 0x86, 0x87, 0xAC, 0x79, 0x4F, 0xE9, 0xD7, 0x46, 0xFC, 0x41, +0x13, 0x21, 0xB5, 0x87, 0xAC, 0x22, 0x85, 0x2A, 0x95, 0xB9, 0xC8, 0x81, 0x08, 0x59, 0x89, 0x85, +0x8C, 0x08, 0x1E, 0xA2, 0xB1, 0x19, 0x9E, 0xCF, 0x8F, 0x43, 0xF4, 0xAA, 0xC5, 0x37, 0x30, 0x0F, +0xFC, 0x23, 0x9B, 0x48, 0x65, 0x6C, 0xAB, 0x56, 0x5F, 0x5C, 0xBD, 0xDE, 0x68, 0x9E, 0x7D, 0xE0, +0xC7, 0x9D, 0x8B, 0xCF, 0x1B, 0x05, 0x22, 0xBD, 0xF4, 0xAE, 0x47, 0x08, 0xE5, 0x8F, 0x59, 0x84, +0x10, 0x26, 0x68, 0x2D, 0x44, 0x1C, 0xD2, 0xE5, 0x03, 0x07, 0x51, 0xEB, 0xF0, 0x41, 0x1F, 0x38, +0x09, 0x06, 0x6D, 0x3E, 0x3A, 0x05, 0x11, 0xFC, 0xA3, 0xD6, 0x58, 0xA4, 0x1E, 0x97, 0xB9, 0xD6, +0xCF, 0x63, 0xE9, 0xAB, 0xC6, 0x7B, 0x0A, 0x21, 0x86, 0x7F, 0xB0, 0xCC, 0x62, 0x9A, 0x9D, 0xE3, +0xF2, 0x58, 0xD8, 0x50, 0x2F, 0x11, 0xF2, 0x2E, 0x0C, 0x03, 0x0F, 0xF9, 0x87, 0xE9, 0xAB, 0x7E, +0x41, 0x04, 0xFE, 0xD4, 0x22, 0x7D, 0x15, 0xE7, 0x81, 0xB1, 0xB5, 0x32, 0x59, 0xDA, 0xB2, 0x7F, +0xB4, 0xBE, 0x5B, 0x87, 0x0F, 0xFA, 0xB5, 0x08, 0xB1, 0xE2, 0x8F, 0xF2, 0xD0, 0xE4, 0xA3, 0x9F, +0xCC, 0x82, 0x8F, 0x5A, 0xE3, 0xD1, 0x87, 0x5A, 0x99, 0xBD, 0x98, 0xC8, 0x38, 0x1F, 0x1F, 0x17, +0x07, 0x89, 0xA3, 0x31, 0x40, 0xC2, 0x3E, 0xC4, 0x06, 0xAF, 0xBF, 0x4D, 0x26, 0x62, 0xAD, 0xAF, +0x38, 0xF1, 0x4D, 0xDB, 0x28, 0xC7, 0xD4, 0xCE, 0x08, 0x72, 0xB5, 0x2B, 0x1D, 0x9A, 0xBA, 0x5C, +0xA8, 0x3D, 0xEF, 0xDA, 0x2C, 0x3E, 0x68, 0xC2, 0x22, 0xCF, 0xAB, 0xE8, 0xF1, 0x98, 0x0F, 0xEC, +0x98, 0x94, 0xE7, 0x1E, 0xB2, 0x3A, 0xF7, 0x90, 0x9D, 0x81, 0x82, 0x5B, 0x32, 0xCC, 0x35, 0x49, +0x0C, 0x44, 0xFD, 0xEF, 0xB4, 0x6A, 0x80, 0xDF, 0xE7, 0x5A, 0x50, 0xFE, 0x78, 0xDE, 0x1E, 0x47, +0xF9, 0x68, 0x13, 0x72, 0xD9, 0xC3, 0xA3, 0x41, 0xC9, 0x4D, 0x8B, 0x0F, 0xD2, 0xBB, 0x0D, 0x42, +0x0C, 0xFF, 0x40, 0xE3, 0xFE, 0x11, 0x31, 0xF4, 0x56, 0x7B, 0x78, 0xE9, 0xF1, 0x81, 0x83, 0xE4, +0xAD, 0x59, 0x1E, 0x24, 0xFA, 0xC8, 0x88, 0x14, 0x50, 0x24, 0x0B, 0x0F, 0xB4, 0xE9, 0x84, 0x1F, +0xC6, 0x2A, 0x0B, 0xFF, 0x68, 0x7A, 0x48, 0xA7, 0xFC, 0xD1, 0xEC, 0x23, 0xE5, 0xF3, 0x76, 0x1B, +0x08, 0x69, 0xA6, 0x83, 0xC8, 0xA9, 0x26, 0x38, 0x62, 0x76, 0xEA, 0xF0, 0xB9, 0x87, 0xFC, 0x7B, +0xFF, 0x40, 0xBB, 0xFC, 0xC2, 0xC0, 0x47, 0xF9, 0x63, 0x5F, 0x20, 0x55, 0xDB, 0xC7, 0xB9, 0x05, +0xCF, 0x6C, 0x99, 0x8F, 0xD1, 0xE6, 0xF8, 0x07, 0x9D, 0x82, 0x48, 0xDB, 0x3E, 0x40, 0x83, 0x92, +0x61, 0x1D, 0x7E, 0x34, 0xFD, 0x83, 0x64, 0x96, 0xE1, 0x1F, 0xA8, 0x63, 0x20, 0xF4, 0x3C, 0x95, +0x53, 0x38, 0xFD, 0xF1, 0x28, 0x1F, 0x64, 0xB1, 0x62, 0x6B, 0x94, 0x07, 0xE3, 0x05, 0xF5, 0x5A, +0x58, 0x54, 0xEC, 0x6D, 0x40, 0x08, 0x44, 0xAC, 0xE5, 0xD5, 0x78, 0x51, 0x1D, 0x3C, 0xD2, 0x30, +0x15, 0x88, 0x88, 0x8F, 0x51, 0x40, 0xAE, 0x2F, 0x5B, 0xE1, 0x47, 0xA7, 0x3D, 0x9B, 0x66, 0xE4, +0x8B, 0xD2, 0x5C, 0x64, 0x9D, 0x95, 0xC5, 0xCA, 0x27, 0xED, 0xE0, 0xE3, 0xBF, 0xF2, 0x90, 0x7D, +0xA3, 0xFC, 0xA1, 0x91, 0x3D, 0x11, 0x7B, 0x4B, 0x82, 0x7E, 0xBC, 0x5D, 0xF5, 0xD2, 0xBB, 0x75, +0x57, 0x7B, 0x4E, 0x48, 0x05, 0x06, 0xC7, 0x69, 0xA8, 0xF3, 0x2E, 0x9B, 0xBE, 0xFE, 0x68, 0xA7, +0xAF, 0x7C, 0x42, 0x88, 0xA2, 0x4B, 0xA4, 0xA0, 0x2D, 0x52, 0x4E, 0x8D, 0xA2, 0x3A, 0x48, 0x54, +0x0E, 0x52, 0x23, 0x12, 0x86, 0x81, 0x69, 0xE8, 0x30, 0x0F, 0x71, 0xE0, 0xF1, 0xD1, 0x4E, 0x66, +0xC1, 0x47, 0x8F, 0x90, 0x9A, 0x8F, 0x9E, 0x2C, 0xFF, 0x60, 0x95, 0x65, 0xF1, 0x81, 0x89, 0x3C, +0xD6, 0xC9, 0x20, 0x0A, 0x20, 0xF5, 0xA1, 0x7A, 0x49, 0x66, 0xA9, 0xEB, 0x60, 0x18, 0x4C, 0xCF, +0xE0, 0xD0, 0xBF, 0x31, 0x8B, 0xF2, 0xC7, 0x23, 0xE7, 0x90, 0x1F, 0x90, 0x44, 0x48, 0x5C, 0x97, +0xE1, 0x45, 0xFB, 0xBB, 0x24, 0x99, 0xE5, 0xF2, 0xC1, 0x2A, 0xAB, 0xED, 0x1F, 0xB0, 0xC1, 0xAE, +0x26, 0x04, 0x3E, 0x9C, 0x38, 0x04, 0x3E, 0x6C, 0x42, 0x0A, 0x0A, 0x01, 0x06, 0xD1, 0x7A, 0x4C, +0xED, 0x8F, 0xDB, 0xFE, 0x41, 0x0C, 0x32, 0xB2, 0xCA, 0x8A, 0x17, 0xC2, 0x35, 0x22, 0x44, 0x27, +0xA1, 0xE5, 0xF1, 0x81, 0xDE, 0xDA, 0x54, 0xE9, 0xAB, 0xBE, 0x5A, 0xE1, 0xC7, 0xB8, 0x85, 0xE0, +0x21, 0xDC, 0x7E, 0xD5, 0xED, 0xE7, 0x7C, 0x68, 0x7D, 0xD5, 0x6F, 0x91, 0x32, 0xD5, 0x40, 0xF8, +0x41, 0x0C, 0x52, 0xCC, 0x44, 0x3B, 0x42, 0xF5, 0x12, 0x4B, 0x1B, 0x7C, 0xD8, 0x82, 0x90, 0x30, +0x90, 0xC1, 0xA5, 0xC8, 0x5C, 0x15, 0x2A, 0x62, 0x0C, 0x70, 0x9F, 0xDD, 0x7D, 0x25, 0x03, 0xE9, +0x37, 0x8F, 0x8F, 0x76, 0x51, 0xBD, 0x81, 0x06, 0xAA, 0x3D, 0xC4, 0xE0, 0xA3, 0x2A, 0x88, 0x30, +0x9F, 0x3C, 0x44, 0x96, 0x64, 0x97, 0x00, 0x23, 0x1F, 0x07, 0x3A, 0x6D, 0x3E, 0x70, 0x90, 0x36, +0x21, 0x67, 0x61, 0x3F, 0xE4, 0xE1, 0x27, 0x1A, 0x3C, 0x3E, 0x10, 0x1E, 0x62, 0xF0, 0xA1, 0xB2, +0x2A, 0xD7, 0x11, 0x30, 0x3A, 0x3A, 0xC0, 0xC7, 0x35, 0x6F, 0xA0, 0xE3, 0x21, 0x4C, 0x8D, 0x4E, +0xAB, 0xC3, 0x90, 0xC7, 0x82, 0x42, 0xE2, 0xA2, 0x76, 0x96, 0x81, 0x90, 0x30, 0x91, 0xD5, 0xA7, +0x6E, 0xDC, 0x11, 0x3B, 0x87, 0x90, 0xA7, 0xEA, 0xF9, 0x37, 0xAB, 0xC2, 0xC4, 0xBE, 0x50, 0x52, +0xAC, 0x23, 0xD1, 0xAA, 0x81, 0x82, 0xA1, 0x06, 0xCA, 0x1F, 0x3D, 0x0F, 0xF1, 0xF8, 0xA0, 0x64, +0x08, 0x22, 0x2F, 0xD7, 0x1D, 0x03, 0xC1, 0x43, 0x28, 0x7F, 0x58, 0x84, 0xE0, 0x1F, 0x8E, 0x2A, +0x3E, 0x32, 0x14, 0x85, 0x8E, 0x90, 0x9E, 0x29, 0x65, 0xBD, 0xBF, 0xE3, 0x51, 0x03, 0x92, 0x0F, +0x20, 0x04, 0xFF, 0x20, 0xE8, 0xD7, 0x4E, 0xDA, 0xE6, 0xC6, 0xD3, 0x1A, 0x3D, 0x3E, 0x50, 0xD8, +0xC7, 0x19, 0x1F, 0x4E, 0xA8, 0xBE, 0x46, 0x3D, 0x52, 0x0A, 0x1E, 0x67, 0xB7, 0x97, 0x18, 0x71, +0x88, 0x81, 0x87, 0x5A, 0x9E, 0x7E, 0xAB, 0x33, 0x38, 0x50, 0x9A, 0x9E, 0xB9, 0x87, 0xF6, 0xAB, +0x88, 0xA3, 0xBF, 0xFB, 0x5F, 0xB4, 0x8A, 0x38, 0x84, 0x60, 0x23, 0xF6, 0x1C, 0x68, 0x0C, 0x37, +0x41, 0x84, 0xE7, 0x9E, 0x87, 0x5C, 0x5D, 0x5E, 0x5A, 0xD7, 0x12, 0xFF, 0xA8, 0xE1, 0x68, 0x8A, +0xF4, 0xAE, 0x25, 0xFC, 0xC3, 0x13, 0x7C, 0x10, 0x9B, 0xA7, 0x89, 0x3C, 0x4C, 0x67, 0x78, 0x29, +0x65, 0xBD, 0x0E, 0x20, 0x67, 0x8F, 0xD5, 0x22, 0x3E, 0xC7, 0x3A, 0x60, 0x23, 0x5E, 0x4E, 0x8A, +0x07, 0xC3, 0x08, 0x1E, 0xD6, 0x79, 0x47, 0x78, 0x6E, 0x89, 0xBB, 0x7B, 0x4B, 0xFA, 0x4A, 0xAD, +0x2F, 0xCA, 0x1F, 0xD3, 0x5D, 0xDB, 0x02, 0xFF, 0x98, 0xED, 0x21, 0x8F, 0x31, 0xF9, 0xF6, 0x50, +0xB1, 0x8F, 0x1E, 0xAC, 0x88, 0x10, 0xCA, 0xE7, 0xBE, 0x87, 0xA8, 0x7B, 0x4A, 0xA9, 0x2C, 0xF1, +0xC1, 0x19, 0x95, 0x22, 0xC8, 0x5E, 0x1D, 0x8A, 0x03, 0xDE, 0x28, 0xE2, 0xC8, 0x3F, 0xBC, 0x46, +0xFA, 0xCA, 0xEA, 0x51, 0x54, 0x27, 0xCD, 0x08, 0x22, 0xEC, 0x53, 0xCF, 0x1B, 0x7C, 0x98, 0x84, +0x50, 0x3E, 0x77, 0x84, 0x7D, 0x10, 0x47, 0x63, 0x20, 0x99, 0x97, 0x68, 0x91, 0xEE, 0x05, 0x0F, +0x36, 0x62, 0x90, 0xCA, 0x43, 0x60, 0xAB, 0x84, 0x37, 0x91, 0xC9, 0xD2, 0x8E, 0x67, 0xD3, 0x08, +0x1F, 0x96, 0xF0, 0x0F, 0xDB, 0x43, 0x48, 0x5F, 0xF5, 0x2C, 0x04, 0x42, 0x8E, 0xAC, 0xAF, 0x2C, +0x0F, 0xE9, 0x85, 0x1F, 0x75, 0x51, 0x1D, 0xB7, 0x60, 0x85, 0x9F, 0xA1, 0xC8, 0xC8, 0x00, 0x4B, +0xC4, 0x21, 0xFF, 0x93, 0x7F, 0x10, 0xAA, 0x27, 0x04, 0x22, 0xF6, 0xA1, 0x18, 0xC3, 0x2D, 0x94, +0xF0, 0x83, 0x7F, 0x78, 0x2D, 0xF8, 0xB0, 0xAF, 0xE5, 0x4B, 0xFC, 0xC3, 0xD1, 0x8D, 0xCD, 0x07, +0xA1, 0xFA, 0x9B, 0xBE, 0x58, 0x5E, 0x55, 0x71, 0x47, 0xE0, 0x52, 0x55, 0xF8, 0x88, 0x3F, 0xC6, +0x1C, 0x84, 0x2D, 0x95, 0xCF, 0x03, 0x8C, 0x46, 0x80, 0x93, 0x7B, 0xE0, 0xA3, 0x0D, 0x3E, 0xBC, +0x13, 0xC7, 0x3F, 0x4C, 0x0F, 0x01, 0x0A, 0x43, 0xF2, 0x0F, 0xBD, 0x59, 0x26, 0x21, 0x1A, 0x6C, +0x3E, 0x28, 0x88, 0xD4, 0x6B, 0x18, 0xD2, 0x47, 0xA8, 0xA0, 0x32, 0x37, 0x3C, 0x9F, 0x9D, 0xEE, +0xCD, 0x34, 0x52, 0xFB, 0x20, 0x36, 0x27, 0xEB, 0xFB, 0x94, 0x90, 0xC6, 0x3F, 0xAC, 0x86, 0x7F, +0x38, 0xFD, 0x5A, 0xE9, 0xDE, 0x66, 0x75, 0x50, 0xBD, 0x36, 0x90, 0xF0, 0x90, 0xCD, 0x1C, 0x7D, +0x48, 0xF8, 0x61, 0x49, 0x78, 0x70, 0x6B, 0x54, 0x28, 0xA6, 0x33, 0xCF, 0x53, 0x16, 0xA9, 0xEC, +0xA3, 0x55, 0x07, 0x79, 0x2A, 0xAA, 0xC7, 0xEB, 0xB0, 0x76, 0x2B, 0x7E, 0x32, 0x0C, 0xFC, 0x3F, +0x22, 0x3A, 0xD9, 0xBE, 0x39, 0x4F, 0xF8, 0x87, 0x65, 0xAD, 0x9B, 0x97, 0x87, 0xB8, 0xC2, 0x8E, +0x85, 0x7C, 0xB5, 0x96, 0x7F, 0xF8, 0x6F, 0xAA, 0x36, 0x73, 0xB2, 0x70, 0xDB, 0x09, 0x1F, 0xCB, +0xDA, 0xEF, 0xCF, 0x1D, 0xE3, 0xA9, 0x97, 0xE9, 0xA8, 0xBF, 0x01, 0x3D, 0x9F, 0x0E, 0x5F, 0x2B, +0xF2, 0xB9, 0x60, 0x1B, 0x4B, 0x3F, 0x9E, 0x9D, 0x19, 0x7F, 0xD0, 0xD2, 0x05, 0x72, 0xFB, 0xE2, +0x1A, 0xFF, 0x30, 0xA4, 0xB7, 0x75, 0x33, 0x73, 0x2A, 0xCC, 0x9C, 0x68, 0xD5, 0x87, 0xB9, 0x5A, +0x81, 0x43, 0x3B, 0x78, 0x29, 0x4F, 0xAB, 0xFE, 0xE1, 0x38, 0x88, 0xC6, 0xFC, 0x1A, 0x38, 0xD1, +0x19, 0x85, 0x91, 0x0C, 0x00, 0x49, 0xD3, 0x40, 0xE0, 0xE3, 0xAD, 0x79, 0x97, 0x85, 0xBF, 0x78, +0x60, 0xE9, 0x90, 0x6B, 0x57, 0x76, 0x5F, 0x50, 0x00, 0xB1, 0xDA, 0xF7, 0xB1, 0x74, 0x51, 0xCF, +0x47, 0xC4, 0x1C, 0xA1, 0xF2, 0x74, 0x72, 0x95, 0xDD, 0x3C, 0x07, 0xF9, 0x1C, 0x9C, 0xCC, 0x3B, +0x17, 0x13, 0x0D, 0xE1, 0x17, 0x7A, 0x50, 0x1E, 0x61, 0x1E, 0xE5, 0xF4, 0x34, 0x3C, 0x7E, 0x2F, +0x0F, 0x9C, 0xF1, 0xCD, 0x5E, 0x2D, 0x1C, 0x42, 0x28, 0x87, 0x1C, 0x0F, 0xBE, 0x81, 0xCC, 0x77, +0x90, 0xEA, 0xE7, 0x3F, 0x2C, 0x0F, 0x21, 0x68, 0x8E, 0x23, 0x6D, 0x99, 0x94, 0x02, 0x0C, 0xF5, +0xC3, 0xED, 0x5D, 0xD3, 0x41, 0x9E, 0xF9, 0x87, 0xFE, 0x3B, 0x89, 0xDC, 0x98, 0x06, 0x82, 0x8F, +0xD2, 0x78, 0x30, 0xF0, 0xA1, 0x6D, 0x06, 0x1F, 0xEF, 0x40, 0x88, 0xB5, 0xC2, 0xFA, 0xE9, 0xE6, +0xE5, 0xC1, 0xB5, 0x10, 0xF1, 0x71, 0x14, 0x22, 0xD7, 0xB6, 0x7F, 0x48, 0xF2, 0x10, 0xDF, 0x40, +0x5E, 0xFF, 0xFE, 0x29, 0x10, 0x81, 0x85, 0x50, 0xC6, 0x84, 0x67, 0x12, 0x1F, 0xFB, 0xDD, 0x2C, +0x3E, 0x44, 0xC8, 0xCE, 0xE7, 0x63, 0xF5, 0x8D, 0x08, 0x49, 0xB3, 0x9F, 0x93, 0xE1, 0x21, 0xA7, +0x52, 0xFC, 0x2C, 0xC9, 0xF7, 0x0F, 0xC9, 0x26, 0x44, 0xED, 0x78, 0x7B, 0x79, 0xF4, 0x0D, 0x44, +0x7C, 0x38, 0x84, 0xDC, 0xE4, 0x4D, 0xFE, 0x31, 0x68, 0x3E, 0x21, 0x4C, 0x63, 0xC2, 0x0F, 0x42, +0x0F, 0xE6, 0x79, 0xFA, 0x9B, 0x20, 0x1F, 0x3B, 0x31, 0xC8, 0x56, 0x4A, 0x3C, 0xE0, 0x42, 0x04, +0x1F, 0x54, 0xEC, 0xA5, 0x3F, 0xB4, 0x65, 0x34, 0x7C, 0x40, 0x84, 0x87, 0x4F, 0x08, 0x3F, 0xA3, +0xEE, 0x06, 0x21, 0x47, 0xBD, 0x4B, 0x22, 0x64, 0x71, 0xED, 0xF2, 0x31, 0x8F, 0x90, 0xA4, 0xF0, +0x90, 0xE4, 0x12, 0xE7, 0x0B, 0x7D, 0x49, 0x3B, 0x82, 0x65, 0xF1, 0xA1, 0x3C, 0x96, 0x3B, 0xE1, +0xB5, 0x1A, 0x4B, 0x1A, 0x8E, 0x2C, 0x09, 0x3E, 0x69, 0x0F, 0x94, 0x94, 0x3C, 0x38, 0x37, 0xB2, +0x58, 0x8F, 0x82, 0xDB, 0x07, 0x24, 0xF8, 0x98, 0x41, 0xC8, 0x61, 0xF8, 0xED, 0x7C, 0xF2, 0x10, +0xD3, 0x40, 0xF2, 0x5B, 0xBB, 0xF1, 0xFD, 0x43, 0xED, 0x9F, 0x10, 0x02, 0x08, 0x04, 0xCE, 0x84, +0x1E, 0x85, 0x97, 0xA4, 0xE5, 0xB6, 0x26, 0xA4, 0xAE, 0x83, 0xA4, 0xE5, 0x55, 0xA8, 0x58, 0x07, +0x04, 0x6A, 0x2C, 0xA1, 0x47, 0xF1, 0x27, 0xC8, 0x30, 0xF9, 0xC8, 0x72, 0xF3, 0x58, 0x3F, 0xDD, +0x04, 0x20, 0x81, 0xC7, 0xA8, 0x85, 0xE0, 0x1F, 0x52, 0xF2, 0x10, 0x9F, 0x0F, 0x9F, 0x90, 0x22, +0x56, 0x32, 0x67, 0x77, 0x64, 0xB1, 0xEA, 0xCA, 0xCF, 0xAF, 0x76, 0xBB, 0x6F, 0x76, 0xAE, 0x87, +0x28, 0xC5, 0xFB, 0x24, 0xEF, 0x3F, 0x50, 0x85, 0x50, 0x2D, 0x08, 0x21, 0x20, 0x8A, 0xD3, 0x89, +0x38, 0x1D, 0x64, 0x44, 0x47, 0xC8, 0xE5, 0x03, 0x42, 0x0C, 0xFB, 0xB8, 0x3D, 0x1E, 0xD5, 0xE5, +0x21, 0xD6, 0x07, 0x19, 0xBF, 0x4A, 0xAE, 0x6B, 0x1C, 0xA8, 0x4C, 0x9C, 0xD9, 0x84, 0x94, 0x7A, +0x44, 0xA9, 0xE6, 0x91, 0x86, 0x8D, 0x08, 0x3A, 0xC7, 0x1F, 0x65, 0xDA, 0x77, 0xEB, 0x20, 0x6A, +0x85, 0x8F, 0x3B, 0x5C, 0xE4, 0x4F, 0x56, 0x6D, 0x85, 0x3B, 0x2A, 0xE9, 0x9C, 0x88, 0xBB, 0xBE, +0x4A, 0x4D, 0xB2, 0xFD, 0x23, 0x9A, 0x13, 0x00, 0x5E, 0x0E, 0xFE, 0x31, 0xF4, 0xC3, 0xD1, 0xF0, +0x90, 0x05, 0xF2, 0x08, 0x91, 0xF0, 0x90, 0xC8, 0x18, 0xB1, 0xBA, 0xAA, 0xEE, 0x0E, 0x4C, 0xFE, +0x21, 0xFB, 0x48, 0xAB, 0x2C, 0x23, 0xFA, 0xDE, 0x7D, 0x8E, 0x7C, 0xFF, 0x90, 0x82, 0x90, 0x40, +0x93, 0xD4, 0x33, 0x0A, 0xFF, 0x40, 0x16, 0x1F, 0xC8, 0xE1, 0x43, 0xFE, 0x91, 0xA5, 0x23, 0xC3, +0x40, 0x5E, 0xF2, 0xC6, 0xFA, 0xFE, 0xA1, 0x26, 0xCD, 0x26, 0x04, 0x07, 0xC9, 0xAD, 0x11, 0x92, +0x14, 0x3D, 0x0B, 0xD5, 0x2B, 0x40, 0x84, 0x05, 0x5A, 0xDE, 0x51, 0x22, 0x0C, 0xF1, 0xBF, 0x12, +0x3A, 0xC1, 0x07, 0x84, 0x58, 0x78, 0x48, 0xDA, 0x79, 0xAB, 0xAC, 0xE1, 0xF2, 0xD1, 0x26, 0x2D, +0xE4, 0x10, 0x78, 0xA8, 0xEB, 0xED, 0x32, 0x62, 0xF5, 0x79, 0x84, 0x0C, 0x33, 0x0C, 0x05, 0x04, +0x54, 0xCF, 0x63, 0x28, 0xF9, 0xA3, 0xC4, 0x87, 0xB4, 0x4F, 0x6D, 0x65, 0xC5, 0x1F, 0xC8, 0x0A, +0xCF, 0x9F, 0xDA, 0x6E, 0x15, 0x27, 0x40, 0xBC, 0x5E, 0x9D, 0x5B, 0xF2, 0x0F, 0x64, 0xF2, 0x01, +0x21, 0x8E, 0x7F, 0xC4, 0xC5, 0x17, 0x22, 0x7F, 0xD1, 0x76, 0xC6, 0xBA, 0x6D, 0x1C, 0x51, 0x14, +0x0D, 0xD8, 0x59, 0x50, 0x91, 0x2E, 0x12, 0xD2, 0x32, 0x41, 0x0A, 0x01, 0x09, 0x10, 0x99, 0x00, +0x0D, 0xA4, 0x08, 0xA4, 0x26, 0x04, 0xE1, 0xDA, 0xAA, 0x49, 0x81, 0x80, 0xF4, 0x09, 0x52, 0x6A, +0xD5, 0x06, 0x5C, 0xFA, 0x63, 0x73, 0x77, 0xF6, 0x8D, 0x8E, 0x39, 0x9A, 0x9D, 0xBD, 0xE3, 0x48, +0xF7, 0xCD, 0xCE, 0xEE, 0x52, 0x0A, 0x43, 0x91, 0x73, 0x78, 0xE7, 0xCD, 0x5B, 0xD2, 0xBF, 0xCD, +0xA8, 0xFC, 0x2A, 0xD2, 0xAA, 0x7D, 0xC4, 0x11, 0xFE, 0xC1, 0xC8, 0xE9, 0x26, 0x24, 0xA6, 0x40, +0x71, 0xF0, 0x39, 0x8E, 0xC8, 0xD3, 0x35, 0xDA, 0xF1, 0x90, 0x86, 0x83, 0xFC, 0x9C, 0x59, 0xFA, +0x31, 0x27, 0x22, 0x6A, 0xA4, 0xE7, 0xE1, 0x27, 0xC1, 0x9E, 0xF4, 0xB9, 0x28, 0xCC, 0x38, 0xE9, +0x47, 0x0A, 0x49, 0x9D, 0xC7, 0x07, 0x31, 0xF7, 0xB4, 0xEB, 0xE5, 0x41, 0x46, 0x35, 0x1D, 0x19, +0x84, 0x8C, 0xFA, 0x12, 0x21, 0x0D, 0xC3, 0x0F, 0x22, 0x28, 0xCB, 0xE5, 0xA1, 0x2A, 0x38, 0x86, +0x29, 0x90, 0x3A, 0x8D, 0x65, 0x0D, 0x62, 0x8B, 0x0F, 0x34, 0xB7, 0xE4, 0x9B, 0xEC, 0x69, 0x0C, +0xCD, 0xE3, 0xB6, 0x5C, 0x9B, 0x18, 0x74, 0xF0, 0x31, 0xAE, 0xC4, 0x4C, 0xF1, 0xE0, 0x3D, 0x3E, +0x7C, 0x0F, 0x91, 0x65, 0x3F, 0x23, 0xB2, 0xD6, 0x59, 0xDB, 0x40, 0x82, 0x0F, 0xC2, 0xF3, 0x0F, +0xC5, 0xF7, 0x4D, 0xB3, 0x00, 0x82, 0x65, 0xD9, 0x38, 0x95, 0xFE, 0x41, 0x5F, 0xD3, 0xCC, 0x69, +0x37, 0x71, 0x2D, 0xD6, 0xE8, 0x1F, 0xD8, 0x47, 0xDA, 0x05, 0x16, 0xFC, 0x2F, 0x4A, 0xFF, 0xF0, +0x75, 0x8E, 0x7E, 0x89, 0xCD, 0x98, 0x5E, 0x11, 0x97, 0x4A, 0x44, 0x1A, 0x16, 0xA2, 0xBC, 0x63, +0x78, 0x79, 0x68, 0xF7, 0x16, 0x1E, 0x48, 0xEB, 0x9F, 0x2D, 0xFB, 0x88, 0xB1, 0x85, 0xB8, 0xFA, +0x0A, 0x4C, 0xA4, 0x28, 0x6C, 0x1F, 0x34, 0x6C, 0x43, 0xDB, 0xB4, 0xD8, 0xF4, 0xD1, 0xE2, 0x03, +0x19, 0xFE, 0x91, 0xEF, 0x7E, 0x50, 0x78, 0x45, 0xF1, 0xA5, 0x0D, 0xB9, 0xB6, 0x8F, 0x7F, 0x24, +0x50, 0x24, 0x8F, 0x0F, 0xD4, 0xF4, 0x8F, 0x44, 0x47, 0xEA, 0xB2, 0x81, 0xCF, 0x94, 0xD0, 0xCB, +0xA8, 0x67, 0x21, 0x59, 0xE7, 0x28, 0x20, 0xE9, 0x1C, 0x7A, 0xF9, 0x8A, 0x13, 0x26, 0x41, 0xB1, +0x4F, 0x91, 0xFD, 0x83, 0x59, 0x56, 0xCD, 0x41, 0xE4, 0x1F, 0xFA, 0x9D, 0xEC, 0x1F, 0x88, 0xF2, +0xF9, 0x57, 0xF8, 0x48, 0xEA, 0xE6, 0xE3, 0xDB, 0xF7, 0x81, 0x30, 0x13, 0x8B, 0x0F, 0x42, 0x3C, +0xA0, 0x6A, 0x7A, 0x0E, 0x1F, 0xD2, 0xE4, 0x27, 0xA6, 0xD4, 0x21, 0x08, 0x31, 0x1D, 0x24, 0x50, +0xB9, 0x2D, 0xBE, 0x55, 0x91, 0xF2, 0xB5, 0x3A, 0x66, 0x57, 0xE9, 0x30, 0x65, 0x23, 0x16, 0x1E, +0xA8, 0xCD, 0x47, 0xF6, 0x0F, 0xB1, 0x37, 0xA6, 0xEA, 0x5C, 0xC9, 0xCB, 0xB5, 0xEE, 0x59, 0x27, +0xB7, 0xC7, 0x0F, 0x7D, 0x86, 0x10, 0xF8, 0x70, 0xA6, 0x59, 0x89, 0x0F, 0xE8, 0x20, 0x0F, 0xA9, +0x1B, 0x88, 0xE6, 0x57, 0x9B, 0x16, 0x21, 0x80, 0x81, 0x7F, 0x10, 0x01, 0x49, 0x7F, 0x22, 0x12, +0x38, 0x50, 0xE8, 0xCE, 0x33, 0x21, 0xDC, 0x40, 0xFE, 0x91, 0x01, 0xA8, 0xE6, 0x20, 0xFF, 0x20, +0xA0, 0xE2, 0x8A, 0x93, 0xE2, 0xCB, 0x4D, 0xBA, 0xCB, 0x83, 0xBF, 0x14, 0x6F, 0x03, 0x6A, 0xEA, +0xAC, 0xF9, 0x15, 0x31, 0x99, 0x85, 0x28, 0xE7, 0x90, 0xB9, 0x2B, 0x24, 0x5E, 0x2A, 0xC3, 0x3F, +0xBC, 0x69, 0x56, 0xB0, 0x81, 0x52, 0x41, 0x84, 0x8B, 0xB2, 0x42, 0x91, 0x7E, 0x8C, 0xE5, 0x8F, +0x1C, 0x79, 0x27, 0x42, 0x1C, 0x3E, 0x50, 0x23, 0x3D, 0x17, 0x11, 0x47, 0x1A, 0x09, 0x21, 0x17, +0x02, 0x5A, 0x11, 0x93, 0xFC, 0x03, 0x81, 0x49, 0x83, 0x0F, 0x9B, 0x10, 0xC5, 0xD1, 0x73, 0xAE, +0x4D, 0x31, 0xE9, 0x21, 0xBA, 0x59, 0x75, 0xAD, 0x36, 0x21, 0xA5, 0x7D, 0x20, 0x28, 0xE9, 0xF7, +0x10, 0x2A, 0xDE, 0x79, 0x10, 0x4B, 0x82, 0xA2, 0x3A, 0xEA, 0x5F, 0x3A, 0xC8, 0xAE, 0xF0, 0x0F, +0x14, 0xEC, 0x65, 0x32, 0xE2, 0xFF, 0xF0, 0x79, 0x22, 0x29, 0xFF, 0x3C, 0xE9, 0x1F, 0xE5, 0xDB, +0x40, 0x6C, 0x9E, 0x7F, 0x10, 0x53, 0xE5, 0x0F, 0xDE, 0xC4, 0x68, 0xEA, 0x6A, 0x99, 0xBA, 0xB6, +0x29, 0x35, 0xF0, 0x90, 0xB4, 0x23, 0xD2, 0x29, 0x06, 0x72, 0x18, 0x37, 0x49, 0x7C, 0x90, 0x7E, +0x0C, 0xFB, 0x20, 0x44, 0x07, 0x8D, 0xF2, 0x47, 0x9D, 0x90, 0xBF, 0xEA, 0x7C, 0x84, 0x3D, 0x11, +0x49, 0xA9, 0x64, 0x88, 0x8F, 0xA8, 0x1F, 0xA7, 0x7B, 0xC9, 0x3F, 0x88, 0x76, 0xAA, 0x0E, 0x1F, +0x2E, 0x21, 0x39, 0xF5, 0x08, 0x4A, 0x98, 0x65, 0xD5, 0x0C, 0x84, 0xFC, 0xA3, 0x8C, 0x46, 0xFA, +0x41, 0x48, 0xDF, 0xEB, 0x21, 0x5C, 0x7B, 0xC5, 0x5B, 0xBD, 0x62, 0xB4, 0x0F, 0xFC, 0xA3, 0x28, +0x88, 0xE4, 0x1C, 0xE4, 0x43, 0xBA, 0x19, 0x44, 0xBE, 0x92, 0x88, 0x04, 0x1D, 0xA4, 0xE6, 0xC3, +0xDD, 0xC2, 0x81, 0x45, 0x08, 0xFE, 0xC1, 0xDB, 0x40, 0x46, 0xC4, 0xC1, 0x83, 0xB8, 0xAC, 0x59, +0x88, 0xF8, 0x28, 0xF0, 0x48, 0x4A, 0x25, 0xC3, 0x06, 0x1F, 0xB6, 0x87, 0x68, 0x50, 0xE1, 0x20, +0x28, 0x8A, 0xEA, 0x50, 0xA2, 0x8D, 0xE5, 0xAB, 0x22, 0x07, 0xD1, 0x4E, 0x03, 0xB9, 0x86, 0xC7, +0x24, 0x1F, 0x14, 0xD5, 0x4B, 0x3E, 0xCA, 0xA0, 0x20, 0x92, 0x79, 0xE5, 0x72, 0xFC, 0xEC, 0x1F, +0x08, 0x50, 0x26, 0xCA, 0xE7, 0x0D, 0x42, 0xAA, 0xCB, 0x57, 0x79, 0x46, 0x7B, 0xD4, 0x2A, 0x45, +0x75, 0xF0, 0xA8, 0x45, 0x35, 0x0D, 0x39, 0x3F, 0x12, 0xA0, 0x7C, 0x5F, 0x51, 0x9D, 0x8A, 0x77, +0xB4, 0xD2, 0x3F, 0xF0, 0x90, 0x9F, 0x77, 0xA2, 0x02, 0x07, 0x39, 0xCA, 0xCD, 0x4B, 0x27, 0x49, +0x69, 0xBA, 0x1A, 0x0C, 0x4E, 0xF2, 0x61, 0xF8, 0x07, 0x0E, 0x12, 0x98, 0x78, 0x80, 0x10, 0xB2, +0xE9, 0x42, 0xEB, 0xB3, 0xFC, 0x02, 0x65, 0x41, 0x49, 0x23, 0xFF, 0x70, 0x09, 0xA9, 0x3A, 0x08, +0x1E, 0x72, 0xC8, 0x05, 0x42, 0xCA, 0x1F, 0x4C, 0xAD, 0xD2, 0x01, 0x37, 0x7C, 0xB4, 0xFC, 0x03, +0xD5, 0xF9, 0x18, 0x80, 0x18, 0x3A, 0x5A, 0x80, 0x48, 0xF2, 0xF1, 0xD2, 0x3F, 0x08, 0x48, 0x69, +0xA4, 0xE7, 0x9E, 0x87, 0x9C, 0x02, 0x84, 0xBA, 0xA3, 0x19, 0xAE, 0x4C, 0x9D, 0xF7, 0xB0, 0xDC, +0x00, 0xC4, 0xF3, 0x90, 0x18, 0x30, 0xC4, 0xFF, 0xF1, 0x10, 0xF2, 0x0F, 0xF0, 0x60, 0xB4, 0x03, +0x00, 0x1E, 0x92, 0x00, 0xC9, 0xE5, 0xF3, 0xB0, 0x8D, 0xA9, 0x44, 0x24, 0xB3, 0xD1, 0xC7, 0x07, +0xFE, 0x51, 0x77, 0x90, 0xD4, 0x79, 0xE9, 0x07, 0x51, 0x7C, 0xBA, 0x79, 0x28, 0x79, 0xA4, 0x17, +0x28, 0x75, 0x34, 0x6D, 0x92, 0x7E, 0x5A, 0xCD, 0x3F, 0x7C, 0x42, 0x82, 0x8E, 0xD2, 0x41, 0xE2, +0xF6, 0x4C, 0x06, 0x5F, 0xF8, 0x13, 0xEB, 0xAF, 0x41, 0x47, 0x19, 0x96, 0x7F, 0xA0, 0x2A, 0x1F, +0x6A, 0x09, 0x0C, 0xED, 0x52, 0x1F, 0x2C, 0x52, 0x32, 0x04, 0x59, 0x1E, 0x73, 0xD5, 0x41, 0x2A, +0x7C, 0xF8, 0x84, 0x28, 0x0A, 0x2A, 0x68, 0xE3, 0xFE, 0xB7, 0x52, 0xCD, 0xD7, 0x76, 0x53, 0xE3, +0xE3, 0x58, 0x90, 0xF2, 0xBD, 0x25, 0x43, 0x16, 0x7B, 0x19, 0xEF, 0xD5, 0x41, 0xAF, 0x5D, 0x06, +0xA4, 0x4C, 0xCF, 0xA1, 0x8A, 0x43, 0xAE, 0x89, 0x84, 0x0F, 0x77, 0x96, 0xC5, 0x5F, 0x06, 0x1A, +0xE3, 0x16, 0xBD, 0x65, 0x1F, 0xC4, 0xA6, 0x28, 0x9F, 0x17, 0x0E, 0xCF, 0x69, 0x9C, 0xF0, 0xED, +0xD5, 0xCC, 0xAF, 0x7C, 0x42, 0xA4, 0x86, 0x83, 0x48, 0xCF, 0xA9, 0x31, 0x7C, 0xA8, 0x93, 0xC8, +0x42, 0x38, 0xA2, 0xA8, 0x4E, 0x7E, 0xDE, 0xD6, 0xF1, 0xEF, 0x3F, 0xCF, 0xA8, 0xD2, 0xCC, 0x2D, +0x51, 0x92, 0x69, 0x84, 0x10, 0xD6, 0xD6, 0x78, 0xC8, 0xC4, 0x11, 0x28, 0x16, 0x1F, 0xE8, 0x65, +0xF9, 0x43, 0xAA, 0xE6, 0x20, 0x83, 0xB8, 0xBA, 0x37, 0xB5, 0x7B, 0x96, 0xAF, 0xBC, 0x69, 0x56, +0x8C, 0x91, 0xA9, 0xA1, 0xD3, 0x5F, 0x32, 0x3C, 0xFE, 0x44, 0x61, 0x99, 0x7F, 0x30, 0xE2, 0x29, +0xAA, 0xA7, 0x1C, 0xA4, 0x20, 0x47, 0x0A, 0x3B, 0xC1, 0x74, 0x70, 0x10, 0xF2, 0x0F, 0x93, 0x10, +0x38, 0x18, 0x77, 0x34, 0x18, 0x39, 0xB7, 0xFC, 0x83, 0xE0, 0x33, 0x9C, 0xA9, 0xFC, 0x81, 0x77, +0xF0, 0xE6, 0xC5, 0x4E, 0x1E, 0xF2, 0xBB, 0xE3, 0x1F, 0x10, 0x52, 0xF8, 0x47, 0xD3, 0x41, 0x34, +0x81, 0x01, 0x0F, 0xF1, 0x91, 0xF4, 0x5C, 0xC0, 0xCB, 0xDA, 0x92, 0x8E, 0x1C, 0x2A, 0x78, 0xB8, +0x1E, 0xF2, 0x97, 0x20, 0xC8, 0x0B, 0x58, 0x07, 0xEE, 0x57, 0xB7, 0xA9, 0xC5, 0xCC, 0x2B, 0x3C, +0x84, 0xF2, 0x79, 0xC3, 0x41, 0x24, 0x8B, 0x0F, 0x54, 0x96, 0x3F, 0x78, 0xE6, 0x01, 0x03, 0x52, +0x12, 0x21, 0x7C, 0x61, 0x1C, 0xAF, 0xAD, 0x45, 0x48, 0xB0, 0x80, 0x8E, 0x87, 0x4E, 0x7F, 0xC9, +0x90, 0x8B, 0x7B, 0xB1, 0x8F, 0xBA, 0x22, 0xF9, 0xFE, 0x79, 0x48, 0xD2, 0xA7, 0xFC, 0x03, 0x38, +0x02, 0xB2, 0x20, 0xCF, 0x7A, 0x20, 0xC5, 0xF4, 0xAA, 0x86, 0x47, 0x52, 0xFE, 0xA1, 0xE3, 0x1F, +0xC4, 0xC3, 0x1F, 0xDF, 0x94, 0x3F, 0x00, 0xA3, 0x40, 0x84, 0x26, 0x42, 0x0A, 0xFB, 0xB0, 0x3D, +0x44, 0x6A, 0x39, 0x88, 0x36, 0x0A, 0x22, 0xCC, 0xAF, 0x48, 0xCE, 0x23, 0xC8, 0x47, 0x86, 0xCD, +0x04, 0x04, 0x44, 0x28, 0x7F, 0x70, 0xAF, 0xE4, 0x39, 0x81, 0x4A, 0x90, 0xB3, 0xC5, 0xD0, 0x4E, +0xA4, 0x86, 0x83, 0xC4, 0x89, 0xC7, 0x07, 0x82, 0x0F, 0x80, 0x20, 0x07, 0x89, 0x16, 0x7B, 0x7D, +0x95, 0x83, 0xD8, 0x50, 0x14, 0xF9, 0xB9, 0x93, 0x88, 0x3C, 0xB3, 0x40, 0x30, 0x76, 0xE2, 0xF4, +0xBB, 0x3C, 0x24, 0x09, 0xBB, 0xD0, 0x01, 0x7B, 0x06, 0x7D, 0x92, 0xA6, 0x58, 0x90, 0x54, 0xF3, +0x10, 0x38, 0xC9, 0x05, 0xC8, 0xEF, 0x4D, 0xCF, 0x69, 0x69, 0xC7, 0xCD, 0x01, 0x09, 0x7C, 0x38, +0x31, 0x78, 0x08, 0x97, 0x5F, 0xC5, 0x56, 0xCE, 0xB1, 0x68, 0xFA, 0x92, 0x2C, 0x9F, 0x0F, 0x8A, +0xEA, 0x09, 0x81, 0x19, 0x07, 0x19, 0x93, 0xE0, 0x28, 0x82, 0xC4, 0x5B, 0x3A, 0xE3, 0x16, 0x03, +0x39, 0x10, 0xDB, 0x8F, 0xE0, 0x61, 0x09, 0x3E, 0x52, 0x0B, 0x25, 0x48, 0xC0, 0x44, 0xCA, 0x08, +0x7E, 0xC1, 0x3F, 0xE6, 0x72, 0x10, 0xED, 0x32, 0x1F, 0xA7, 0xAE, 0xCE, 0x24, 0xF5, 0x90, 0xA1, +0x56, 0x5F, 0xCB, 0xE2, 0xFA, 0x77, 0xAE, 0x4E, 0x74, 0x3D, 0x24, 0x86, 0x4A, 0xCB, 0x42, 0xD2, +0xFE, 0x3B, 0x2B, 0x86, 0xA8, 0x5C, 0xBE, 0x85, 0x04, 0x9D, 0x07, 0x20, 0x96, 0x74, 0xD7, 0xF0, +0x61, 0x9A, 0x48, 0x51, 0xF6, 0xA0, 0xBD, 0x9C, 0x4F, 0xC2, 0x87, 0xE7, 0x21, 0x77, 0x23, 0x1F, +0xA5, 0xB5, 0xAF, 0x69, 0xDC, 0x22, 0x42, 0x4E, 0x87, 0xB0, 0xB5, 0x0C, 0xF7, 0xB0, 0x1C, 0x44, +0x0A, 0x3E, 0x40, 0x23, 0x58, 0xE0, 0x34, 0x32, 0x92, 0x83, 0x3A, 0x7D, 0x1B, 0x10, 0x7C, 0xF8, +0x84, 0xC4, 0x7F, 0x8E, 0x2B, 0x49, 0x54, 0x5A, 0x22, 0x20, 0x44, 0x0F, 0xAD, 0xED, 0x20, 0x9C, +0x50, 0xFE, 0xB0, 0x09, 0x11, 0x1F, 0x39, 0xED, 0xC0, 0x32, 0x48, 0xD0, 0xB9, 0x51, 0xB3, 0x2C, +0x2E, 0x4F, 0xF4, 0x3D, 0x04, 0x0C, 0x5E, 0x3A, 0x08, 0x16, 0xF2, 0xFD, 0x17, 0x66, 0xA1, 0x4A, +0xFE, 0x81, 0x87, 0x14, 0x80, 0x08, 0xAC, 0x63, 0xBA, 0x4A, 0xD0, 0xC8, 0xCF, 0x3D, 0x42, 0x58, +0x7A, 0xC8, 0x1D, 0xED, 0x33, 0xB7, 0x8D, 0x1A, 0xF3, 0x8F, 0x3F, 0xB4, 0x95, 0x21, 0xD1, 0xE7, +0x1B, 0x53, 0xF9, 0x23, 0x85, 0x9A, 0xB6, 0x88, 0xD0, 0x59, 0xEA, 0xB8, 0x25, 0xE5, 0x21, 0xC8, +0x42, 0x44, 0xBA, 0x75, 0x5B, 0xFA, 0x7A, 0x86, 0x96, 0x7E, 0x3D, 0x3E, 0x19, 0xF8, 0xF8, 0xB3, +0x8B, 0x90, 0xB8, 0x07, 0xB4, 0xC5, 0x4D, 0x98, 0x62, 0x85, 0x81, 0xC5, 0xE5, 0x57, 0xE0, 0x80, +0x20, 0x03, 0xF2, 0xC1, 0xC3, 0xD3, 0xEF, 0x4A, 0xFC, 0x92, 0xCA, 0xE7, 0x5C, 0x2D, 0x5E, 0x0E, +0x6E, 0x49, 0x1E, 0xF2, 0xC7, 0x65, 0x7E, 0x2D, 0x9F, 0xB7, 0x16, 0x21, 0xC5, 0xA5, 0x57, 0x9C, +0x32, 0x9A, 0x8E, 0x2E, 0xCC, 0x52, 0xB3, 0x25, 0x3E, 0x18, 0xD9, 0xC5, 0x3E, 0x0E, 0x83, 0x04, +0x45, 0xCA, 0x41, 0x76, 0xC4, 0xE7, 0x5D, 0xEA, 0x38, 0x53, 0xE3, 0x27, 0xDD, 0xCB, 0xBB, 0x2B, +0xFD, 0x05, 0x86, 0x82, 0x93, 0xF1, 0x9F, 0x5E, 0x43, 0xE9, 0xAC, 0xEC, 0xD5, 0xD4, 0x69, 0xBB, +0xBC, 0x1B, 0xDE, 0xA1, 0xEE, 0xEF, 0x53, 0x53, 0x70, 0x50, 0x3B, 0xD2, 0x5E, 0x63, 0xDE, 0x97, +0xF2, 0x10, 0x4D, 0x9E, 0xEC, 0xD0, 0x40, 0x3B, 0x8C, 0xAB, 0x54, 0xE3, 0xBF, 0x64, 0xA3, 0x36, +0x44, 0x12, 0xA7, 0xC4, 0xF6, 0x57, 0xF9, 0xC7, 0xA7, 0xBF, 0xFF, 0xB2, 0x22, 0x35, 0xFD, 0x37, +0xE5, 0xD2, 0x71, 0x71, 0xD3, 0xD1, 0x9C, 0x8B, 0x07, 0x6F, 0xC4, 0xED, 0x97, 0x65, 0xA7, 0xFE, +0xE5, 0x99, 0x1D, 0xBA, 0xC6, 0xA1, 0xDA, 0xD9, 0xBD, 0xE6, 0x57, 0xF9, 0xC5, 0x63, 0x8B, 0x83, +0xDC, 0x73, 0xCB, 0x6F, 0x97, 0xF8, 0x06, 0x47, 0x80, 0x41, 0x85, 0x20, 0xF5, 0xAB, 0x5E, 0x0F, +0x49, 0x63, 0x3A, 0xC6, 0x35, 0xFB, 0x3C, 0xD4, 0xB5, 0x8B, 0x53, 0x29, 0x2D, 0xF3, 0x1E, 0xE9, +0xFA, 0x43, 0x43, 0x4F, 0x7D, 0x0F, 0x64, 0x71, 0xDE, 0xA7, 0x87, 0x4D, 0x9F, 0x1E, 0x7B, 0x74, +0xB7, 0x3E, 0x3D, 0xE9, 0xD0, 0x5A, 0xB6, 0xF0, 0xA5, 0x47, 0xB7, 0x37, 0x42, 0xE1, 0x46, 0xA1, +0x5E, 0xBB, 0x88, 0xD4, 0xF2, 0x21, 0x4D, 0x37, 0xFD, 0x65, 0x6B, 0x9B, 0x7A, 0xFD, 0x37, 0x37, +0xDC, 0x33, 0xF7, 0x3F, 0x71, 0xD6, 0xF9, 0xE0, 0x4F, 0xFA, 0xB4, 0x5C, 0xDF, 0xDD, 0x75, 0x3D, +0xF9, 0x9B, 0x2E, 0x5D, 0xAE, 0xCE, 0xBB, 0xB4, 0xE8, 0x1B, 0x97, 0x4F, 0xBB, 0xC6, 0x38, 0x2F, +0x60, 0x58, 0xFD, 0xF0, 0x55, 0x3D, 0xAA, 0x92, 0x02, 0x1E, 0x6A, 0xBE, 0x16, 0x92, 0xFF, 0x37, +0x9E, 0xAF, 0x2E, 0x57, 0xAB, 0x1E, 0x44, 0xEE, 0xEE, 0x36, 0x77, 0xFE, 0x2B, 0xF4, 0xB8, 0x3E, +0xFD, 0x7D, 0x20, 0x64, 0xED, 0x45, 0x94, 0xCF, 0x7D, 0xDD, 0xDE, 0x5E, 0x7D, 0x81, 0x00, 0x82, +0x73, 0x22, 0xF8, 0xD0, 0xC0, 0xEF, 0x51, 0xF5, 0xBE, 0xCA, 0x93, 0xD8, 0xDF, 0x4A, 0x1D, 0x88, +0xE8, 0x4F, 0xBD, 0x50, 0x1E, 0xB2, 0x36, 0xE3, 0x44, 0x4F, 0xE5, 0x5A, 0x4F, 0xA9, 0x8F, 0xC7, +0x5D, 0x17, 0x21, 0xAB, 0x55, 0x83, 0x90, 0x45, 0xE5, 0xA6, 0x45, 0x17, 0x21, 0x1A, 0xC4, 0xD7, +0x31, 0xC6, 0x15, 0xEA, 0x63, 0xAF, 0x2E, 0x1F, 0xA2, 0xD1, 0x41, 0xAE, 0x09, 0x7E, 0xAB, 0x3C, +0xDF, 0xE9, 0xAE, 0x15, 0xB6, 0x16, 0x23, 0x20, 0x8B, 0x95, 0x15, 0xE7, 0x97, 0x03, 0x20, 0x97, +0x22, 0xC4, 0xE6, 0x03, 0x42, 0x1C, 0x3E, 0x7E, 0x3F, 0x95, 0xDC, 0x21, 0xB0, 0xD4, 0x80, 0x19, +0x9A, 0x8F, 0x47, 0x52, 0xF2, 0x10, 0x27, 0xC4, 0x47, 0xBF, 0xB6, 0xE2, 0x6A, 0x36, 0xE0, 0xC3, +0x27, 0x24, 0x9B, 0xE6, 0xD2, 0xC3, 0x63, 0x7D, 0x9A, 0x04, 0x21, 0x06, 0x1F, 0x3D, 0x84, 0x5C, +0x0E, 0x80, 0x68, 0x96, 0x55, 0x1F, 0x3B, 0x2F, 0x6F, 0x4E, 0x7A, 0xF2, 0xF9, 0x08, 0x42, 0x9E, +0x21, 0x61, 0x9F, 0x0F, 0x73, 0xE8, 0xF0, 0xAB, 0xED, 0x20, 0xE9, 0x9E, 0x77, 0xEA, 0xBE, 0x0E, +0xB8, 0x2E, 0xD4, 0xB7, 0xBB, 0x45, 0x68, 0xF8, 0x8B, 0x56, 0x8D, 0x3E, 0x34, 0x3C, 0x27, 0x78, +0x88, 0xC3, 0x07, 0x84, 0x18, 0x7C, 0x9C, 0xFE, 0x9A, 0x2B, 0x1C, 0x0E, 0x1E, 0xEB, 0x93, 0x2C, +0x17, 0x90, 0xD0, 0x8D, 0x83, 0xC8, 0xCD, 0xCD, 0xF6, 0xD3, 0x5F, 0x6F, 0x45, 0x08, 0x7C, 0x48, +0x2E, 0x1F, 0x8F, 0x41, 0x88, 0xF5, 0xEC, 0x88, 0x0F, 0x08, 0x71, 0xF9, 0xF0, 0x09, 0x79, 0x10, +0x1E, 0x29, 0xD2, 0xE8, 0xC0, 0x49, 0x62, 0xAC, 0x04, 0x24, 0xDC, 0xB0, 0x08, 0x59, 0xA3, 0x32, +0xF1, 0xA1, 0xD0, 0xEE, 0x95, 0x1D, 0x24, 0xCD, 0xAF, 0x22, 0x24, 0xFD, 0xAF, 0xB4, 0xA9, 0x9F, +0xEA, 0x06, 0x81, 0x48, 0x50, 0x3F, 0xD5, 0xC3, 0x07, 0x84, 0x18, 0x7C, 0x40, 0x88, 0xC5, 0x87, +0x4D, 0xC8, 0x72, 0x30, 0x8F, 0xA4, 0xC7, 0xA1, 0xC2, 0x61, 0xE0, 0x81, 0x6E, 0x1C, 0x0F, 0xF9, +0x3E, 0x3E, 0x3E, 0x26, 0x42, 0x66, 0xF1, 0x10, 0x1F, 0xC8, 0xE3, 0x03, 0x2D, 0x67, 0xED, 0x83, +0x6A, 0x22, 0x84, 0x38, 0x7C, 0x48, 0x2E, 0x1F, 0x79, 0x2C, 0x0C, 0xA3, 0x46, 0x0D, 0xEF, 0x28, +0x2C, 0x24, 0xED, 0xD1, 0x4F, 0x52, 0x73, 0x54, 0x26, 0xFB, 0x20, 0x3E, 0x38, 0x0E, 0x92, 0x00, +0x79, 0x37, 0xEF, 0x20, 0xD7, 0xCF, 0xFE, 0xB1, 0x7B, 0x4A, 0x78, 0x48, 0x8B, 0x99, 0xE9, 0x15, +0x4A, 0xBC, 0xAB, 0x2D, 0x6A, 0x7D, 0xEA, 0x2E, 0x9F, 0x03, 0x42, 0x0C, 0x3E, 0x3C, 0x42, 0xF6, +0xC3, 0x9C, 0xF9, 0x14, 0x42, 0x66, 0x10, 0x81, 0x0F, 0x69, 0x20, 0xE4, 0xD6, 0xE7, 0xE3, 0x6A, +0xDE, 0x43, 0x2A, 0x7C, 0xF8, 0x88, 0x6C, 0x5D, 0xFF, 0xF0, 0x09, 0x39, 0xFA, 0x6B, 0xE7, 0x12, +0x91, 0xC4, 0x07, 0x3A, 0xB9, 0x73, 0xF8, 0x40, 0x0F, 0x1E, 0x1F, 0x10, 0x12, 0x26, 0x92, 0xBD, +0x23, 0x1C, 0x24, 0xCE, 0xB5, 0x97, 0x7F, 0x20, 0x46, 0xE5, 0x94, 0x62, 0x14, 0xEF, 0xF0, 0x10, +0xCB, 0x41, 0xA4, 0xA6, 0x83, 0xE4, 0xFC, 0x9C, 0x40, 0x8B, 0x6A, 0xB7, 0x18, 0x1A, 0x3A, 0xD7, +0x9F, 0x9A, 0xFE, 0xAE, 0xD4, 0xAB, 0x69, 0x9F, 0x6F, 0x49, 0x27, 0x97, 0x0F, 0x26, 0x21, 0xF0, +0xE1, 0x13, 0xB2, 0x5F, 0xE3, 0x1F, 0x86, 0x87, 0x2C, 0x53, 0xC6, 0x7A, 0x44, 0x88, 0xC7, 0x07, +0x1E, 0xD2, 0x9E, 0x5F, 0xF5, 0x83, 0x81, 0x3E, 0x89, 0x10, 0xC7, 0x3F, 0x90, 0xE9, 0x1F, 0x10, +0x62, 0xF9, 0x07, 0x84, 0x18, 0x7C, 0xA0, 0x2E, 0x3E, 0xCA, 0x3C, 0x24, 0x8E, 0x45, 0x06, 0x96, +0x52, 0x28, 0x39, 0x48, 0x7D, 0x54, 0x4A, 0x18, 0x48, 0x20, 0x32, 0xE3, 0x20, 0x00, 0x32, 0xE7, +0x20, 0x3B, 0xFC, 0x23, 0xF6, 0xC3, 0x7C, 0xAE, 0x61, 0x66, 0xA5, 0x54, 0x10, 0x19, 0x91, 0x97, +0xE2, 0x6F, 0x8C, 0x03, 0x6D, 0xF8, 0x07, 0x84, 0xD8, 0x78, 0x48, 0x9B, 0xFD, 0xDD, 0xCC, 0xF2, +0x6E, 0xC8, 0xF2, 0x10, 0xF8, 0xF0, 0x08, 0x11, 0x1F, 0x0E, 0x21, 0xF8, 0x47, 0x72, 0x82, 0xFF, +0x21, 0xCF, 0x3F, 0x50, 0x17, 0x1F, 0x17, 0x27, 0x96, 0x7F, 0xA0, 0xF5, 0x9D, 0xC1, 0x07, 0xF2, +0xF8, 0x20, 0x8E, 0x92, 0x90, 0xA1, 0x05, 0x29, 0xA1, 0x34, 0xB6, 0x16, 0x34, 0x8D, 0xBE, 0x98, +0x68, 0x15, 0x5D, 0xA4, 0x1F, 0x18, 0x08, 0xB3, 0x2C, 0xCB, 0x41, 0x34, 0xC9, 0xAA, 0x3B, 0x08, +0x7C, 0x94, 0xE1, 0xCC, 0xAF, 0x10, 0x2E, 0x49, 0xDE, 0x21, 0xA5, 0x93, 0x87, 0xD5, 0x65, 0x89, +0xC8, 0xE5, 0xA6, 0xA1, 0x7D, 0x09, 0xC8, 0xDD, 0x66, 0x6E, 0xF9, 0xAA, 0x54, 0x83, 0x10, 0xF0, +0x40, 0xB7, 0x20, 0x52, 0xE1, 0xC3, 0x25, 0xC4, 0x28, 0x7F, 0x98, 0x84, 0x18, 0xFE, 0x61, 0x12, +0x12, 0xE9, 0xB9, 0xE7, 0x21, 0xF0, 0x81, 0x9A, 0xCB, 0xBD, 0x77, 0x99, 0x0F, 0xB4, 0x6F, 0x2F, +0x5F, 0xBD, 0x8C, 0x23, 0x13, 0x49, 0x03, 0x26, 0x06, 0x90, 0x76, 0x09, 0x8F, 0xD2, 0x43, 0x24, +0xE1, 0xC0, 0x86, 0x83, 0x64, 0xE7, 0x20, 0x58, 0xCC, 0x62, 0x0F, 0x31, 0xEF, 0x14, 0x6D, 0x07, +0x21, 0xFF, 0x68, 0x11, 0x32, 0xD2, 0xC9, 0xD1, 0xF8, 0x40, 0x8F, 0x22, 0x4D, 0xB3, 0x92, 0x6D, +0x90, 0x7D, 0xAC, 0x82, 0x1A, 0xE1, 0xA0, 0x28, 0x4D, 0xC4, 0xE3, 0x03, 0x0F, 0x71, 0xF9, 0x80, +0x90, 0x89, 0xF9, 0x55, 0x45, 0x17, 0xF2, 0x10, 0x87, 0x0F, 0x12, 0x11, 0x08, 0xE9, 0xE7, 0xA3, +0x9F, 0x10, 0xF8, 0xB8, 0xAD, 0xCA, 0xF0, 0x0F, 0xC7, 0x43, 0xB8, 0x9A, 0xD1, 0x20, 0x04, 0x3E, +0x4A, 0xCD, 0x2D, 0xEF, 0x96, 0x31, 0x54, 0xC8, 0x14, 0x91, 0x8F, 0x04, 0x25, 0x23, 0x37, 0x35, +0x69, 0xFC, 0xC9, 0x34, 0x50, 0x9A, 0xE9, 0x1C, 0xE1, 0xB1, 0xCB, 0x6D, 0x08, 0xCF, 0x41, 0x42, +0x85, 0x81, 0xE0, 0x1F, 0x78, 0x53, 0xF4, 0xC3, 0x01, 0x68, 0x14, 0x94, 0x04, 0xD6, 0x85, 0x22, +0x4D, 0x27, 0x13, 0x49, 0x19, 0x16, 0x7C, 0xB8, 0x84, 0xDC, 0x55, 0xB4, 0x51, 0x34, 0xF9, 0x30, +0x3D, 0x44, 0x6F, 0x9E, 0x17, 0x27, 0x55, 0x44, 0x1C, 0x3E, 0xDA, 0x99, 0x3A, 0x7C, 0x7C, 0x7C, +0x13, 0x42, 0x86, 0xF6, 0xE5, 0xEA, 0xB6, 0xAE, 0xE6, 0xF2, 0xAE, 0xE9, 0x21, 0xF0, 0x61, 0x11, +0x02, 0x1F, 0xA5, 0x3C, 0x3E, 0x08, 0x91, 0x10, 0x1E, 0x12, 0x06, 0xB2, 0x4A, 0xE7, 0x53, 0xC2, +0x31, 0x48, 0x3F, 0xD4, 0x93, 0x7B, 0x94, 0x1E, 0x52, 0x75, 0x90, 0x63, 0x40, 0xDE, 0xA9, 0x29, +0xAA, 0x7A, 0x0A, 0x3A, 0x9A, 0xB3, 0x2C, 0xA0, 0x7D, 0x5A, 0x54, 0x45, 0x51, 0x1D, 0x1F, 0x19, +0xF7, 0x97, 0x13, 0xB1, 0x7A, 0x70, 0xF8, 0xC0, 0xB9, 0xEF, 0x2C, 0x3E, 0xD0, 0xFA, 0xA4, 0x5A, +0xFE, 0x00, 0x90, 0x42, 0x2E, 0x1E, 0x78, 0x48, 0xA5, 0xFC, 0x61, 0x02, 0x60, 0x14, 0x44, 0x2C, +0xFF, 0x40, 0x8E, 0x7D, 0xA0, 0x7A, 0x41, 0xE4, 0x74, 0x52, 0x55, 0x42, 0xC0, 0xC3, 0x22, 0xE4, +0x01, 0x3E, 0xAA, 0x1E, 0xC2, 0xD8, 0x89, 0x99, 0xC7, 0x34, 0x21, 0x61, 0x1B, 0x47, 0x66, 0x52, +0xC0, 0xB1, 0xCB, 0xE7, 0x10, 0x52, 0xEA, 0x1D, 0x80, 0xA0, 0xC2, 0x43, 0xE0, 0xA3, 0xF4, 0x10, +0x10, 0x49, 0xE9, 0x7A, 0x80, 0x8A, 0x7F, 0x54, 0x01, 0xF9, 0x89, 0x92, 0xCF, 0xE8, 0x92, 0x8B, +0x9A, 0x7F, 0x90, 0xAA, 0x5B, 0x7C, 0xE0, 0x22, 0xB5, 0xF2, 0x07, 0xAA, 0x11, 0x52, 0xDA, 0x47, +0x0D, 0x0F, 0x0A, 0x22, 0x36, 0x20, 0x14, 0x44, 0xFC, 0xF2, 0x79, 0x3F, 0x21, 0x4E, 0xFA, 0x81, +0x4C, 0x3E, 0x20, 0xA4, 0x52, 0x3E, 0xB7, 0x09, 0x81, 0x0F, 0x9F, 0x90, 0x55, 0x63, 0x28, 0x90, +0x86, 0xE8, 0x30, 0xCD, 0x40, 0x12, 0x08, 0xD5, 0x90, 0xB2, 0x6F, 0x50, 0x1C, 0x7C, 0x31, 0x88, +0x8F, 0xA2, 0xB2, 0x8C, 0x8B, 0x04, 0x48, 0xE0, 0x52, 0x15, 0x93, 0x36, 0xEE, 0x15, 0x06, 0xB3, +0x77, 0x2C, 0x02, 0x14, 0x75, 0x4D, 0xC5, 0x02, 0x1D, 0xD7, 0xD4, 0xF0, 0x24, 0x18, 0x84, 0xC0, +0x87, 0x47, 0x08, 0xE5, 0x41, 0xD4, 0x58, 0xEE, 0x15, 0x1F, 0x6D, 0x59, 0x78, 0xA0, 0xE2, 0x4A, +0x29, 0xFC, 0xE3, 0x35, 0x26, 0x59, 0x1F, 0x4B, 0x0F, 0x11, 0x1F, 0x6D, 0x79, 0xF3, 0x2B, 0xB4, +0xAC, 0x2C, 0x5F, 0x39, 0x84, 0xC0, 0x47, 0x43, 0xC6, 0xF2, 0x55, 0xE1, 0x21, 0xB9, 0x78, 0x9E, +0xA2, 0x61, 0x1F, 0x09, 0x11, 0x66, 0x57, 0x21, 0x46, 0xED, 0xD1, 0xE1, 0x8E, 0xA2, 0x7A, 0xC5, +0x3F, 0xB4, 0x01, 0x08, 0xB7, 0x22, 0xCA, 0x1F, 0x25, 0x19, 0xD0, 0x52, 0x4C, 0xF8, 0x66, 0x44, +0x26, 0x12, 0xAB, 0x76, 0x2B, 0x93, 0x10, 0xF8, 0xF0, 0x09, 0xB9, 0x63, 0xCE, 0xEC, 0x10, 0xA2, +0x93, 0xA6, 0x64, 0x2E, 0x16, 0x1F, 0xA8, 0x2C, 0x0F, 0xBE, 0x06, 0x18, 0x00, 0x46, 0x41, 0x04, +0xFF, 0x68, 0xCA, 0xF2, 0x8F, 0x7A, 0x22, 0xD2, 0xE0, 0x83, 0x82, 0x88, 0xC1, 0x07, 0xAA, 0x5C, +0x5E, 0xD2, 0x8C, 0x73, 0xC4, 0xEA, 0xEE, 0x94, 0x02, 0x11, 0x84, 0x73, 0x4C, 0x1C, 0xB5, 0xA7, +0x58, 0x9C, 0x14, 0x88, 0x5C, 0xB3, 0xBE, 0x4B, 0x0D, 0xE4, 0x85, 0x89, 0xA0, 0x58, 0x94, 0x9E, +0x8C, 0x41, 0xCF, 0xA5, 0x42, 0xFC, 0xC3, 0x20, 0xC4, 0xE0, 0x83, 0xC5, 0x2C, 0xF8, 0x30, 0x08, +0xA1, 0xFC, 0x61, 0xC8, 0xE6, 0x83, 0xE5, 0x5E, 0xF8, 0x30, 0xF1, 0xF0, 0x75, 0x63, 0xF9, 0x07, +0xB2, 0xF8, 0xE0, 0xFD, 0xC0, 0xF4, 0x0F, 0x08, 0x31, 0xF8, 0x40, 0xB6, 0x7F, 0xE0, 0x21, 0x0A, +0x00, 0x41, 0x53, 0x26, 0x82, 0xB0, 0x0E, 0xD8, 0x28, 0xA2, 0x0A, 0x07, 0x80, 0x70, 0x6B, 0xEA, +0x28, 0x0F, 0xD6, 0xEE, 0xB3, 0xB8, 0xAD, 0xC7, 0x3F, 0xC8, 0xD4, 0xC9, 0x3F, 0xDA, 0x84, 0x5C, +0x9A, 0x7C, 0xE0, 0x21, 0x94, 0xCF, 0x0D, 0x2D, 0x23, 0x55, 0x27, 0x3F, 0x6F, 0xCB, 0xE7, 0xA3, +0xCC, 0x43, 0x18, 0xD7, 0xAF, 0x07, 0x8A, 0xB8, 0xC3, 0x3F, 0x0C, 0x15, 0xE5, 0x0F, 0xD7, 0x43, +0x1C, 0x3E, 0x28, 0x19, 0xC2, 0x47, 0x5B, 0x26, 0x1F, 0x10, 0x12, 0xD9, 0x87, 0x02, 0xFB, 0xF0, +0x3C, 0x84, 0xF2, 0x79, 0x99, 0x4C, 0xEB, 0x36, 0x16, 0xB3, 0xC0, 0x83, 0x1D, 0xAB, 0x58, 0xDC, +0x04, 0x1F, 0x25, 0x12, 0xF4, 0x4F, 0x44, 0xE1, 0x1F, 0xB3, 0x6C, 0xC7, 0x12, 0x04, 0xFE, 0x31, +0x13, 0xF0, 0x61, 0x48, 0xBF, 0x94, 0x97, 0xAF, 0xEC, 0xAF, 0x2F, 0xA1, 0x7C, 0x6E, 0xE8, 0xB6, +0x83, 0x0F, 0x3C, 0x44, 0x7C, 0x04, 0x16, 0xAF, 0x36, 0xC9, 0x82, 0x10, 0x97, 0x0F, 0xC9, 0xF3, +0x0F, 0x3C, 0x04, 0xFF, 0xF0, 0x08, 0xF1, 0xF8, 0xA0, 0x64, 0xC8, 0xF2, 0xAE, 0x11, 0xE3, 0xA2, +0x0E, 0xF6, 0xE1, 0x7A, 0x48, 0x39, 0x03, 0xF2, 0x3D, 0x04, 0x40, 0x50, 0xC1, 0xC7, 0x2E, 0x37, +0xC5, 0xA4, 0x8B, 0xE0, 0x1F, 0xB6, 0x87, 0xD8, 0x78, 0x84, 0x87, 0x50, 0x1E, 0xB4, 0x08, 0x11, +0x1F, 0x4A, 0xCF, 0x3D, 0x85, 0x85, 0x80, 0xC7, 0x8C, 0xE0, 0xC3, 0xD2, 0xE1, 0x90, 0xF8, 0xB0, +0x2F, 0x4F, 0xEC, 0xF7, 0x90, 0xC3, 0xC1, 0x7F, 0x38, 0xF0, 0xE1, 0x69, 0xD9, 0x28, 0x7F, 0x54, +0x0B, 0x22, 0x94, 0x3F, 0x0C, 0x65, 0x3E, 0xDC, 0x60, 0x7E, 0x65, 0xA9, 0x58, 0xDE, 0x25, 0x82, +0x12, 0x46, 0x31, 0x1E, 0xC2, 0x3C, 0xAA, 0x92, 0xA4, 0x63, 0x2D, 0xA4, 0xE7, 0xE0, 0x40, 0x8B, +0x73, 0x76, 0xF8, 0x87, 0x8D, 0xC8, 0xEA, 0xC1, 0x27, 0x04, 0xFB, 0xF0, 0x08, 0x81, 0x0F, 0x4B, +0x7D, 0x7C, 0x5C, 0xF4, 0xF1, 0x71, 0xA5, 0x01, 0x0C, 0x1F, 0xEE, 0x24, 0xCB, 0x57, 0xF2, 0xA7, +0xAB, 0x5B, 0x5F, 0x2C, 0x5F, 0x39, 0x4A, 0xEE, 0xFA, 0x7B, 0x07, 0x21, 0xF0, 0xE1, 0x28, 0x3E, +0x3D, 0x68, 0x07, 0x7C, 0xB8, 0x1E, 0x32, 0x95, 0x19, 0x94, 0x67, 0x10, 0x82, 0xEA, 0x0E, 0xC2, +0xE5, 0x25, 0x13, 0x7E, 0xC4, 0xFD, 0xF2, 0x23, 0xFC, 0xC3, 0x93, 0xC7, 0x07, 0xA9, 0xFA, 0x9D, +0x25, 0xAE, 0xCC, 0xE2, 0x35, 0x75, 0xB4, 0x04, 0x0F, 0x8F, 0x90, 0xDB, 0x2E, 0xDD, 0xF4, 0x81, +0xB1, 0xF5, 0x26, 0x58, 0x14, 0x44, 0x54, 0x95, 0xEC, 0x90, 0xF8, 0xF0, 0x45, 0xFA, 0xE1, 0xEA, +0x71, 0x0F, 0x1E, 0x8E, 0x58, 0xBE, 0xB2, 0x02, 0x3C, 0x3C, 0x4A, 0x0C, 0x36, 0x38, 0x8E, 0x69, +0xD6, 0x3B, 0x05, 0x16, 0x02, 0x20, 0x18, 0x88, 0x62, 0x37, 0xC5, 0x5D, 0x9D, 0x96, 0xA7, 0x40, +0xD6, 0x14, 0xF9, 0xB9, 0x89, 0x48, 0xCF, 0x93, 0x2E, 0xB7, 0x59, 0x77, 0xF1, 0xF1, 0x3B, 0x80, +0x78, 0x84, 0x30, 0x20, 0x3D, 0x0F, 0xC1, 0x3E, 0x0C, 0x3C, 0xBA, 0xCD, 0xE5, 0x3D, 0x0F, 0xC7, +0x12, 0xFE, 0x61, 0xE5, 0x21, 0xBC, 0xD7, 0x98, 0x79, 0xC8, 0x46, 0x61, 0x6B, 0x73, 0xF9, 0x16, +0x80, 0xE0, 0x21, 0x4F, 0x3F, 0x51, 0xC3, 0x23, 0x03, 0xE1, 0xAC, 0xF0, 0x10, 0x7D, 0x15, 0xAF, +0xE5, 0x20, 0xBB, 0x9D, 0xEE, 0xB3, 0x48, 0x3E, 0x48, 0xD1, 0x63, 0x4F, 0x88, 0x8F, 0x3E, 0x71, +0x85, 0xA2, 0x17, 0x0F, 0x0F, 0x1B, 0xFB, 0x19, 0x57, 0xAC, 0xCF, 0xD6, 0x5D, 0x06, 0xB2, 0xEC, +0xB4, 0x90, 0x8B, 0xDB, 0x1B, 0x1F, 0x8F, 0x5B, 0x0A, 0xE8, 0x9E, 0x8F, 0x7C, 0xFA, 0x1B, 0x13, +0x31, 0x44, 0x86, 0x6E, 0xE9, 0xEA, 0xE2, 0xE2, 0xA2, 0xCB, 0x40, 0x96, 0x5D, 0x16, 0x72, 0xB6, +0x16, 0x21, 0x1D, 0x53, 0xAC, 0x87, 0x87, 0x2E, 0x0B, 0x39, 0xEF, 0xB4, 0x90, 0xA7, 0x44, 0x08, +0x03, 0x98, 0x43, 0xB5, 0xDA, 0x0A, 0xD4, 0x2E, 0x7B, 0x04, 0x16, 0x02, 0x20, 0x64, 0x20, 0xBB, +0xCF, 0xFA, 0xDD, 0x29, 0xFF, 0x28, 0x7E, 0xB0, 0x4B, 0x97, 0x5F, 0xA9, 0xF9, 0x1A, 0x2F, 0xCD, +0x74, 0xD7, 0x2E, 0x84, 0x87, 0x64, 0xE7, 0x7D, 0x89, 0x8F, 0x75, 0x07, 0x21, 0xC2, 0xA3, 0x8B, +0x10, 0x8D, 0xB0, 0x1E, 0x0F, 0xB9, 0xD9, 0xF2, 0x11, 0xDB, 0x69, 0x38, 0xF8, 0xF1, 0xF0, 0x6F, +0x4A, 0xF9, 0x93, 0xAC, 0x2D, 0x35, 0x10, 0x93, 0x0F, 0xA9, 0xC7, 0x3F, 0x06, 0x75, 0xF8, 0xC7, +0x5A, 0x4F, 0x3E, 0x49, 0x88, 0xC1, 0x47, 0x0F, 0x21, 0x63, 0x75, 0xB9, 0x0B, 0x10, 0xB5, 0xDA, +0x90, 0xE5, 0x84, 0xD3, 0xC1, 0x12, 0x34, 0xF0, 0x03, 0x03, 0x04, 0x20, 0x99, 0x0F, 0xFD, 0xDA, +0xE0, 0x20, 0xDA, 0x0A, 0xFF, 0x28, 0xF6, 0x39, 0x12, 0x1F, 0x36, 0x21, 0xB1, 0xCC, 0xAB, 0xDE, +0x4D, 0x40, 0x92, 0xCC, 0x59, 0xD6, 0x3E, 0xF8, 0xF0, 0x09, 0x11, 0x1E, 0x83, 0x34, 0x1A, 0x5C, +0x3C, 0xBA, 0x08, 0x39, 0x0C, 0xEA, 0xF8, 0x10, 0xE1, 0xDF, 0x0A, 0x31, 0xE2, 0x4D, 0xB4, 0xC4, +0x47, 0xD2, 0x4D, 0x17, 0x1F, 0xEA, 0xDC, 0x65, 0xDE, 0xE5, 0x28, 0x9F, 0x0F, 0xE9, 0x0C, 0x0F, +0x71, 0xF8, 0x90, 0x4C, 0x3C, 0xC6, 0x61, 0xA3, 0xBE, 0x8B, 0x0F, 0x11, 0x42, 0x26, 0x42, 0x54, +0x4B, 0x23, 0x6A, 0x22, 0x04, 0x0B, 0xF9, 0x16, 0x10, 0x6E, 0x10, 0x1F, 0xE9, 0x77, 0x15, 0x73, +0xE9, 0x87, 0x9A, 0xBA, 0xF4, 0x48, 0x14, 0x7D, 0x7C, 0x68, 0xEF, 0x20, 0x22, 0x3E, 0xB2, 0x3C, +0xFF, 0x18, 0xF0, 0xF8, 0x77, 0xBD, 0xBE, 0x5F, 0xFB, 0xFE, 0xD1, 0x41, 0x88, 0x46, 0x57, 0xC8, +0x9B, 0x5F, 0x1D, 0xB2, 0xB6, 0x33, 0x93, 0x2C, 0xFC, 0xE3, 0xEF, 0x14, 0x73, 0xC2, 0x3F, 0x92, +0x6C, 0x3E, 0x42, 0xEE, 0xFC, 0x2A, 0x64, 0xF3, 0x11, 0x84, 0xEC, 0x37, 0x36, 0x1F, 0xBE, 0x87, +0x9C, 0x3F, 0xCB, 0x9F, 0x60, 0x85, 0x87, 0xEC, 0xE6, 0xB2, 0x74, 0x6D, 0x29, 0x86, 0x0E, 0x0F, +0x01, 0x10, 0xF4, 0x6E, 0xE0, 0x23, 0xFF, 0x6E, 0x61, 0x4D, 0x75, 0x5E, 0x16, 0x84, 0x3B, 0xBD, +0x0A, 0x39, 0x93, 0x2C, 0xF8, 0x30, 0x08, 0xD9, 0xEC, 0x13, 0x1F, 0x21, 0x07, 0x0F, 0x64, 0x11, +0x72, 0x81, 0xAE, 0x4C, 0xFF, 0x08, 0xBD, 0xDF, 0x02, 0x46, 0xCB, 0x3F, 0x22, 0x1A, 0x1E, 0xC2, +0xFD, 0x6C, 0x85, 0x47, 0x96, 0xB3, 0x94, 0x75, 0x81, 0x2C, 0x42, 0x96, 0xC8, 0xE3, 0xE3, 0x5F, +0x45, 0x42, 0xE4, 0xD1, 0xF0, 0x90, 0x07, 0xA4, 0x25, 0x4D, 0xD3, 0x3F, 0xC2, 0x44, 0x5C, 0x3E, +0x4A, 0x0F, 0x29, 0x41, 0xE1, 0x38, 0x5B, 0x42, 0x1A, 0xFE, 0x58, 0x08, 0x80, 0x60, 0x20, 0x01, +0x47, 0x74, 0xAD, 0xE4, 0x43, 0xF7, 0x9A, 0xF2, 0x0F, 0xC2, 0xE7, 0xC3, 0x9B, 0x65, 0x25, 0x3E, +0xD0, 0x6C, 0x82, 0x1E, 0x7C, 0xE8, 0x75, 0xC2, 0x43, 0x4C, 0x40, 0x48, 0xD5, 0xDB, 0xFE, 0x81, +0x9C, 0x32, 0x3A, 0x9A, 0xFF, 0x2C, 0xC8, 0x36, 0xEC, 0xC3, 0xF5, 0x90, 0xC3, 0x91, 0x3C, 0x3E, +0x90, 0xC7, 0x07, 0x32, 0xF8, 0x40, 0x67, 0xF7, 0xFB, 0x8D, 0x61, 0x1F, 0x68, 0x65, 0xF9, 0x87, +0x4F, 0x48, 0x31, 0x2A, 0xA9, 0xDF, 0x15, 0x0B, 0x58, 0xCC, 0x84, 0x8E, 0x08, 0x09, 0x18, 0x00, +0x84, 0xFC, 0x63, 0xFC, 0x45, 0xA2, 0x95, 0x7C, 0xE8, 0xE7, 0xE9, 0x81, 0x10, 0x0E, 0x1F, 0x7C, +0xC6, 0x78, 0x66, 0x96, 0x35, 0xE4, 0xE7, 0x85, 0x36, 0x6D, 0xFF, 0xB8, 0xC7, 0x3F, 0xD2, 0x5B, +0x99, 0x8B, 0x07, 0x84, 0xD8, 0xFE, 0x31, 0x74, 0x1E, 0x1F, 0x68, 0x66, 0x82, 0x35, 0xE0, 0x41, +0x88, 0x96, 0x86, 0xF0, 0x0F, 0x08, 0xBC, 0x72, 0xF8, 0x00, 0x90, 0x0B, 0x87, 0x0F, 0x1F, 0x10, +0xBD, 0x21, 0x7D, 0xAB, 0xFB, 0xBB, 0x8D, 0xC1, 0x87, 0xE9, 0x21, 0x6A, 0x0C, 0x1B, 0x05, 0x84, +0x98, 0x7C, 0x2C, 0x6A, 0x64, 0x90, 0x82, 0xE4, 0x41, 0x4F, 0x84, 0x85, 0x00, 0x48, 0x9C, 0xF0, +0x2B, 0xC1, 0x14, 0xE4, 0x15, 0xF4, 0x91, 0x9E, 0x77, 0x20, 0xC2, 0x87, 0x6E, 0xF9, 0x60, 0x61, +0x3B, 0x3D, 0xF7, 0x09, 0xD9, 0x8B, 0x8F, 0xE5, 0x5A, 0x82, 0x11, 0x4C, 0xA4, 0xCD, 0x07, 0xB2, +0xF8, 0x40, 0x1E, 0x1F, 0x08, 0x38, 0x6A, 0x7C, 0x24, 0x03, 0x71, 0x3D, 0xE4, 0xE3, 0x21, 0x0B, +0x42, 0x2C, 0x3E, 0x90, 0x87, 0x07, 0x32, 0xEC, 0x03, 0x9D, 0xE2, 0x21, 0x0D, 0x3E, 0x6C, 0x42, +0xF2, 0x57, 0x19, 0xE0, 0x21, 0x2E, 0x1F, 0x78, 0x48, 0x7D, 0x72, 0x45, 0xF6, 0xC1, 0x81, 0x3C, +0xA4, 0x74, 0x10, 0xFC, 0xA3, 0x6E, 0x21, 0xE5, 0x35, 0x59, 0x4C, 0xAF, 0x8A, 0xB0, 0xD6, 0xAF, +0xB2, 0x83, 0x24, 0x40, 0x2C, 0xFF, 0x80, 0x90, 0x66, 0xF9, 0xE3, 0x85, 0xE6, 0x97, 0xAF, 0x4A, +0x0F, 0xB1, 0xF8, 0xB8, 0x52, 0x0C, 0xEA, 0xE1, 0x03, 0x0F, 0x69, 0xFB, 0x07, 0x8C, 0xB4, 0x3C, +0x24, 0xD2, 0x73, 0xDB, 0x43, 0x2E, 0x10, 0x1E, 0x68, 0xF1, 0x81, 0x0C, 0x3E, 0xD0, 0x50, 0x32, +0xDC, 0x7B, 0x7C, 0xB4, 0xA7, 0x59, 0xD8, 0x87, 0x5A, 0xE1, 0x21, 0x3E, 0x1F, 0x8B, 0xE9, 0xBA, +0x45, 0x50, 0x41, 0xA4, 0xEE, 0xD9, 0x42, 0xF8, 0x3C, 0x08, 0xFE, 0x51, 0x1C, 0x54, 0x6A, 0x2A, +0xDA, 0x87, 0x81, 0x38, 0x88, 0xE0, 0x1F, 0xE1, 0x20, 0x1C, 0x4C, 0x13, 0xF2, 0x20, 0xD9, 0x84, +0x6C, 0xEA, 0x7C, 0xE0, 0x21, 0xF5, 0xE5, 0x2B, 0xDF, 0x43, 0x2E, 0x8A, 0x21, 0x46, 0xAA, 0xEE, +0xF3, 0xC1, 0x45, 0xEF, 0x1F, 0x2B, 0xFE, 0x51, 0xE2, 0xA1, 0xF8, 0x64, 0xF0, 0x61, 0x79, 0x88, +0x68, 0xA8, 0xA9, 0x5D, 0xFE, 0xF0, 0x09, 0x59, 0x33, 0xAD, 0x45, 0x67, 0x10, 0xD2, 0xE2, 0x03, +0x4D, 0x55, 0xC6, 0x56, 0x7C, 0xC4, 0x2E, 0x36, 0x3C, 0xC4, 0xE1, 0xA3, 0x5C, 0xCC, 0x62, 0x1A, +0xC4, 0xEC, 0xAA, 0x88, 0x28, 0x19, 0x16, 0x49, 0x7A, 0xFC, 0xA4, 0xF2, 0xBB, 0x25, 0x75, 0x3A, +0x01, 0x0F, 0x13, 0x90, 0xFC, 0xB7, 0xF1, 0xCD, 0x78, 0x3A, 0x18, 0x3B, 0x97, 0x0F, 0x08, 0xA9, +0x97, 0x3F, 0xEA, 0x32, 0xFC, 0xC3, 0x58, 0xCC, 0x3A, 0xC6, 0x22, 0x05, 0x84, 0x54, 0xCB, 0xE7, +0x2D, 0x42, 0xCA, 0x8F, 0xCF, 0x1E, 0xB9, 0x47, 0x04, 0x05, 0x91, 0xC6, 0xF2, 0xAE, 0x47, 0x08, +0x7C, 0x94, 0x26, 0xD2, 0xF0, 0x0F, 0x9F, 0x10, 0xD8, 0xB0, 0x08, 0x81, 0x8F, 0x52, 0xCD, 0xE5, +0x2B, 0xBE, 0x5A, 0x71, 0x08, 0x08, 0x31, 0xF9, 0x28, 0x17, 0xB3, 0x72, 0x60, 0x04, 0x65, 0x08, +0x89, 0x77, 0x7C, 0x1E, 0x24, 0xCA, 0xE7, 0xFC, 0x36, 0x87, 0x35, 0x73, 0x0A, 0x3E, 0x7C, 0x44, +0xB4, 0xA8, 0xCB, 0x37, 0x36, 0xF0, 0x1D, 0xAB, 0x61, 0x22, 0x4E, 0xFE, 0x01, 0x21, 0x15, 0xFF, +0x78, 0x3C, 0xC3, 0xE6, 0x0D, 0x0F, 0xC1, 0x3F, 0x3C, 0x42, 0x22, 0x2B, 0x77, 0x3C, 0x84, 0xF2, +0x47, 0x9D, 0x90, 0x6D, 0x75, 0xF9, 0xEA, 0x53, 0xE9, 0x1E, 0x70, 0xB2, 0xAD, 0xF0, 0x31, 0xA9, +0x1B, 0x8F, 0x0F, 0x64, 0xF8, 0x07, 0x3A, 0x59, 0x9A, 0xF3, 0x2B, 0x08, 0x51, 0xD4, 0xF9, 0x70, +0x67, 0x59, 0x0C, 0x15, 0x46, 0xCE, 0xF3, 0x37, 0x9B, 0x58, 0x7C, 0xC0, 0x48, 0x51, 0x17, 0xAC, +0xE3, 0x81, 0x4D, 0x1C, 0x7F, 0xE4, 0x76, 0xC0, 0x63, 0xE2, 0x97, 0xD5, 0xC1, 0xC6, 0x8E, 0xE9, +0xD5, 0x54, 0x34, 0xD2, 0x0F, 0xFD, 0x89, 0xEC, 0x75, 0x5B, 0x24, 0x22, 0x95, 0xF2, 0xA0, 0x41, +0x08, 0xFE, 0xF1, 0x58, 0xF1, 0x0F, 0xDE, 0xD7, 0x3C, 0xFF, 0x40, 0x2F, 0x46, 0x4D, 0xC9, 0x44, +0x04, 0x84, 0x94, 0x7C, 0x6C, 0xA7, 0x47, 0xF0, 0x4D, 0xE9, 0x09, 0x3A, 0x2F, 0xDC, 0x83, 0xE3, +0xC1, 0x44, 0xB8, 0x7C, 0x91, 0xE5, 0xAB, 0x86, 0x1A, 0xE9, 0x87, 0x49, 0xC8, 0xB2, 0x01, 0xC8, +0x72, 0xC2, 0x3F, 0xB4, 0x29, 0x50, 0xBE, 0x9C, 0xE1, 0x45, 0x51, 0x7D, 0x5F, 0xF0, 0x31, 0x97, +0xAA, 0x33, 0xEB, 0x48, 0x63, 0x88, 0x91, 0x33, 0x76, 0x3D, 0x7C, 0xA8, 0x03, 0x8D, 0x88, 0x1A, +0x1F, 0x2C, 0xF7, 0x72, 0x2D, 0x56, 0xBE, 0xBC, 0xA4, 0x0C, 0x0E, 0x32, 0x76, 0xF8, 0x47, 0x0F, +0x22, 0x7C, 0x1B, 0x77, 0x76, 0x90, 0xF1, 0x48, 0xED, 0xD9, 0x43, 0x6C, 0x3E, 0xA4, 0xC2, 0x3F, +0xEE, 0x2B, 0xEF, 0x62, 0xAD, 0x82, 0xC8, 0xB2, 0x2D, 0x11, 0x61, 0xF8, 0x07, 0xBA, 0xBD, 0xB1, +0xF9, 0x90, 0x8A, 0x7F, 0x1B, 0xE4, 0x63, 0xF8, 0x07, 0x64, 0x70, 0x5C, 0xF5, 0x90, 0xED, 0xFB, +0x43, 0x53, 0x1E, 0x1F, 0xC8, 0xE3, 0x03, 0xB9, 0xFE, 0x91, 0x4B, 0x86, 0xFB, 0x4A, 0x79, 0xD0, +0xF0, 0x10, 0xFC, 0x03, 0x0B, 0xC1, 0x48, 0x74, 0x30, 0x22, 0xE2, 0xF1, 0x81, 0x87, 0x30, 0x1B, +0x9A, 0xCA, 0x3F, 0xCA, 0x92, 0xA1, 0x00, 0x51, 0xF9, 0xFC, 0xA7, 0x67, 0x3E, 0xA6, 0x11, 0xA1, +0xE8, 0x08, 0x1B, 0x1E, 0x21, 0xA4, 0x1F, 0x61, 0x92, 0x69, 0x9F, 0xB1, 0x49, 0x27, 0xAB, 0x5A, +0xF9, 0xBC, 0x6D, 0x22, 0x94, 0x3F, 0xF0, 0x8F, 0x09, 0xB9, 0x78, 0x40, 0x88, 0x61, 0x20, 0x50, +0x53, 0xF0, 0xD1, 0x56, 0x71, 0x75, 0x2F, 0x48, 0x94, 0x59, 0x3A, 0x1E, 0xE2, 0xF9, 0x07, 0x45, +0x75, 0x87, 0x0F, 0x64, 0xF1, 0x81, 0xCA, 0xF2, 0x47, 0x35, 0xFF, 0xC0, 0x48, 0x58, 0xEE, 0x65, +0x7A, 0x65, 0x7A, 0x88, 0x1A, 0xB3, 0x8D, 0xE4, 0x20, 0x8C, 0x20, 0x12, 0x11, 0x0F, 0x0F, 0x0A, +0x22, 0x54, 0x29, 0x18, 0xE5, 0x13, 0x88, 0x08, 0x8A, 0x11, 0x10, 0xEC, 0xA3, 0x61, 0x22, 0xA0, +0x87, 0x7D, 0xB4, 0xA2, 0xF4, 0x0F, 0xBE, 0xD7, 0x3D, 0xEF, 0x28, 0x18, 0xE2, 0x21, 0x2C, 0xEF, +0x9A, 0x84, 0x6C, 0xEE, 0x28, 0x7F, 0x18, 0x1E, 0xC2, 0xFC, 0xAA, 0xA9, 0x0B, 0x10, 0x01, 0x84, +0x69, 0x1D, 0x7F, 0x82, 0x70, 0x8E, 0x90, 0x9B, 0x61, 0xD6, 0x04, 0x1F, 0x2F, 0xF3, 0x0F, 0xBA, +0x17, 0x8B, 0x59, 0x07, 0x43, 0x37, 0x16, 0x1F, 0xC8, 0xE1, 0x03, 0x9D, 0x54, 0xFC, 0xA3, 0x01, +0x09, 0x45, 0x75, 0xF8, 0xB0, 0x3D, 0x24, 0xC6, 0xCC, 0x2A, 0xF0, 0x60, 0x00, 0xAD, 0x98, 0x75, +0x39, 0x7C, 0x10, 0x94, 0x0C, 0x9B, 0xF6, 0x41, 0x45, 0x24, 0x01, 0x52, 0xFE, 0x46, 0x3D, 0xF8, +0x74, 0x94, 0xF1, 0x48, 0x6A, 0xCB, 0x57, 0x19, 0x89, 0x7C, 0xA2, 0x96, 0x94, 0xF6, 0x2B, 0x93, +0x0F, 0x08, 0x89, 0x0F, 0xFE, 0xAF, 0x71, 0x79, 0xCB, 0x44, 0x4E, 0x96, 0x86, 0x28, 0x88, 0xBC, +0xCC, 0xCA, 0x89, 0x4A, 0x51, 0xBD, 0xE0, 0x63, 0x6E, 0x31, 0xAB, 0x96, 0x7F, 0x10, 0x2F, 0x8B, +0xEA, 0x07, 0xEF, 0xFE, 0xAF, 0x4C, 0x3E, 0xCA, 0xA2, 0xFA, 0xD2, 0x13, 0x78, 0xFC, 0xDB, 0xC0, +0x23, 0x7C, 0x7D, 0xA9, 0xA2, 0xBA, 0xC5, 0x07, 0x1E, 0x12, 0xF1, 0x5C, 0xFE, 0x50, 0x27, 0x1A, +0xA8, 0xA6, 0x73, 0x00, 0x21, 0x2E, 0x1F, 0x8B, 0x31, 0x31, 0x6F, 0xE5, 0x1F, 0xA9, 0xC5, 0xD1, +0x4F, 0x03, 0x20, 0x3A, 0x34, 0x62, 0x34, 0x91, 0xB8, 0xBC, 0xC4, 0x89, 0xB2, 0xFC, 0x31, 0xE6, +0xE4, 0x94, 0xD2, 0x79, 0x2F, 0xA0, 0xA8, 0x4E, 0xFA, 0xD1, 0x10, 0xD7, 0xBF, 0x6F, 0xE4, 0x1F, +0xA7, 0xBC, 0x16, 0x0D, 0xDD, 0x2F, 0x99, 0x5F, 0xF5, 0x10, 0x72, 0x61, 0xEA, 0xF6, 0x0B, 0x7C, +0x74, 0x10, 0xF2, 0x09, 0xAF, 0x28, 0xFC, 0x83, 0xBD, 0xA2, 0x8F, 0x0F, 0x3C, 0xE4, 0xC2, 0x54, +0x63, 0xF9, 0xAA, 0xB1, 0x98, 0xB5, 0x36, 0x44, 0xC9, 0x10, 0x3E, 0xCC, 0x59, 0x16, 0xD3, 0x0E, +0x6D, 0x39, 0x22, 0x51, 0xC7, 0x42, 0x20, 0xC4, 0x1D, 0x96, 0xE3, 0x6A, 0xEF, 0xAE, 0x0A, 0x47, +0xC9, 0x8C, 0x12, 0x91, 0xAF, 0x3F, 0x6C, 0x74, 0x60, 0x7A, 0x88, 0xC8, 0xF3, 0x1E, 0x05, 0x88, +0x60, 0x12, 0x0B, 0x8A, 0x83, 0x2C, 0x67, 0xC7, 0x0F, 0x93, 0xF8, 0x78, 0x94, 0xEB, 0x21, 0x9B, +0xBB, 0x86, 0x7F, 0x94, 0xF6, 0x0F, 0x1F, 0x3E, 0x21, 0x17, 0x75, 0x03, 0xC1, 0x42, 0x30, 0x12, +0xF8, 0xB0, 0x09, 0xC1, 0x2F, 0xAA, 0x3B, 0x42, 0xD3, 0xB0, 0x2D, 0x7C, 0xB8, 0x1E, 0x72, 0x65, +0xC1, 0x41, 0x41, 0x64, 0x69, 0x03, 0xB2, 0x34, 0xF9, 0x60, 0xB9, 0x17, 0x3E, 0x4C, 0x42, 0x48, +0x55, 0x99, 0x6A, 0x90, 0x83, 0x64, 0x4C, 0xC8, 0xD4, 0x7D, 0x3E, 0x94, 0xAA, 0xCF, 0x8F, 0x74, +0x7E, 0xB4, 0xF9, 0xE1, 0xEB, 0xEE, 0xF3, 0x71, 0x68, 0xEA, 0x55, 0x0F, 0x11, 0x42, 0xFA, 0x61, +0x45, 0x2A, 0x7F, 0xAC, 0xCC, 0x00, 0x0F, 0x4F, 0x43, 0xF9, 0xE3, 0xEC, 0x6C, 0x6D, 0x07, 0x7C, +0x58, 0xF2, 0xED, 0x23, 0x13, 0x72, 0xE8, 0xD1, 0x50, 0x3D, 0xFF, 0x3B, 0xC6, 0xFF, 0xB8, 0xFF, +0x66, 0x57, 0xFC, 0x40, 0x84, 0x7C, 0x12, 0x1F, 0x3D, 0x82, 0x0F, 0x4F, 0xF0, 0x61, 0x49, 0x7C, +0xF4, 0x3C, 0xF3, 0x2C, 0x5F, 0x99, 0x88, 0xF4, 0x0C, 0x1B, 0x61, 0x02, 0x1F, 0xA6, 0x87, 0xCC, +0x8C, 0x74, 0x7E, 0x74, 0xBD, 0xFA, 0xE1, 0xE1, 0xE9, 0xC3, 0xD3, 0xEE, 0xDB, 0x8D, 0xC3, 0x62, +0xDB, 0x7D, 0xB8, 0xEE, 0xFC, 0xC0, 0x63, 0x42, 0xDD, 0xD7, 0x6A, 0xF8, 0x9A, 0x3D, 0x33, 0x36, +0x22, 0xE4, 0xE4, 0xE4, 0xFE, 0x64, 0xED, 0x6E, 0x8F, 0xEB, 0x93, 0x4E, 0x5D, 0x75, 0x48, 0x4E, +0x72, 0xB3, 0x1D, 0x32, 0x70, 0xA3, 0xF1, 0x5D, 0xD6, 0xC8, 0xFB, 0x3E, 0xF7, 0x83, 0xD5, 0x52, +0xA7, 0x07, 0xD4, 0xA3, 0x93, 0x4E, 0xAD, 0x1F, 0xFD, 0x67, 0x5E, 0x31, 0xF8, 0x87, 0xFF, 0xD2, +0x6E, 0x18, 0x36, 0x9E, 0x98, 0xD1, 0x5B, 0x7A, 0xBA, 0xFE, 0x30, 0xB4, 0x0F, 0xC3, 0x8E, 0xC6, +0x4D, 0xEC, 0xAE, 0x3F, 0x9C, 0x2B, 0x49, 0x37, 0x25, 0x3C, 0xAE, 0xAF, 0xFB, 0x00, 0x11, 0x22, +0x6A, 0x66, 0xC8, 0x31, 0x1F, 0x36, 0xA6, 0x12, 0x1F, 0xFB, 0xFD, 0xFE, 0xD1, 0xDD, 0xD4, 0xF8, +0x7E, 0x6A, 0x4B, 0x83, 0x2B, 0xF8, 0xBA, 0xD5, 0x76, 0xD3, 0xA5, 0x6D, 0xA7, 0x6E, 0xBA, 0x14, +0x0F, 0xC9, 0x95, 0xF9, 0x19, 0x2A, 0xAA, 0xED, 0xEB, 0xBD, 0xFD, 0xCC, 0x27, 0x69, 0xDC, 0xBB, +0xDA, 0x6F, 0x64, 0x0A, 0x5D, 0x23, 0xA7, 0x53, 0x4F, 0x1A, 0xF7, 0xAE, 0x16, 0xE7, 0x3F, 0xAC, +0xAE, 0x8B, 0xDF, 0xBF, 0x9E, 0x04, 0x44, 0x12, 0x24, 0x8B, 0x27, 0x6B, 0x0B, 0xA8, 0x87, 0xDC, +0xC3, 0xDB, 0x56, 0x2B, 0xF9, 0xA5, 0x6D, 0x21, 0x0F, 0xFB, 0x41, 0x8F, 0xAE, 0xF6, 0x8F, 0xCB, +0xD3, 0xF7, 0xCB, 0x2E, 0x40, 0x24, 0x06, 0x99, 0xA5, 0xB7, 0xE0, 0x03, 0x1D, 0x7A, 0xF8, 0xE8, +0x82, 0xFB, 0x36, 0x66, 0x59, 0xB7, 0x66, 0x9C, 0x0C, 0xCF, 0xE5, 0x63, 0xC7, 0x93, 0x3F, 0xC8, +0xB6, 0x10, 0xF1, 0x21, 0x9D, 0xBB, 0x23, 0x27, 0xF8, 0xF0, 0x07, 0xE6, 0xF5, 0xA0, 0xF6, 0x48, +0x07, 0x85, 0xA8, 0xA4, 0x5F, 0x1F, 0x85, 0x5A, 0x35, 0x46, 0x8D, 0xD6, 0xA0, 0xDD, 0xEC, 0xBE, +0x8F, 0x90, 0x95, 0xA4, 0x2E, 0xB9, 0xC3, 0xEC, 0x96, 0xEC, 0xC3, 0x27, 0x64, 0x2F, 0x3E, 0xDE, +0x6B, 0xE6, 0xBC, 0xEC, 0xC1, 0xE3, 0x2D, 0x09, 0xD9, 0x7E, 0x97, 0x7C, 0x3E, 0x7A, 0x94, 0xB3, +0x15, 0xDF, 0x43, 0x96, 0x52, 0x07, 0x21, 0x7B, 0x4C, 0x64, 0x7E, 0x1B, 0xFC, 0xA3, 0x87, 0x10, +0x7C, 0xC1, 0x19, 0x98, 0x80, 0x34, 0xE2, 0x71, 0x7D, 0xD4, 0x6A, 0xE3, 0x7F, 0x95, 0x00, 0x29, +0xB1, 0x61, 0xC7, 0x69, 0xC0, 0x17, 0x1E, 0xB2, 0x48, 0x7D, 0xFA, 0xBF, 0xD6, 0xCF, 0x91, 0x85, +0x47, 0xE2, 0x03, 0x42, 0x1E, 0x9A, 0x9B, 0x62, 0x9F, 0xE5, 0xBD, 0x42, 0x27, 0xCB, 0xF7, 0x02, +0x44, 0x88, 0x8C, 0x13, 0xE8, 0xD6, 0x06, 0x1F, 0x6F, 0x47, 0xC8, 0xF6, 0x3B, 0x65, 0xF3, 0xD1, +0xE9, 0x1F, 0x7D, 0x84, 0x8C, 0x8B, 0x1D, 0xF2, 0x63, 0xF7, 0xD9, 0x87, 0x10, 0x45, 0xF3, 0xA5, +0x4D, 0xF9, 0x07, 0x84, 0x18, 0x23, 0x87, 0x71, 0x66, 0x0E, 0xCC, 0xEB, 0xA4, 0x44, 0x48, 0xC9, +0x07, 0xC8, 0x20, 0x39, 0x48, 0x20, 0x43, 0x54, 0x77, 0xE9, 0x8E, 0xF1, 0x10, 0x80, 0xA4, 0x8F, +0x47, 0x11, 0x47, 0x7D, 0x84, 0xAC, 0xA4, 0x40, 0x24, 0x52, 0xF0, 0xE9, 0x6D, 0xF0, 0x0F, 0x64, +0xF1, 0x71, 0x9A, 0xF0, 0xC8, 0x84, 0x48, 0x8F, 0xD3, 0x9B, 0x74, 0x54, 0x25, 0xEF, 0x1B, 0x6E, +0x6F, 0xC1, 0x07, 0x7A, 0xA3, 0xF9, 0x15, 0x84, 0xB4, 0xDF, 0x40, 0xE0, 0x23, 0x08, 0x71, 0xF1, +0x80, 0x90, 0xF6, 0x4B, 0xBB, 0x7F, 0xC8, 0x7C, 0x48, 0xF6, 0xFC, 0x0A, 0xB5, 0x07, 0xA6, 0x7A, +0x46, 0xF1, 0x22, 0x71, 0x70, 0x5D, 0x6D, 0xA0, 0x90, 0x93, 0xF4, 0x3A, 0x4B, 0x1C, 0xE9, 0xFE, +0x74, 0x9F, 0x98, 0x08, 0x60, 0x56, 0xFB, 0x42, 0xE7, 0x16, 0x1F, 0x10, 0xB2, 0x6F, 0xBE, 0xCD, +0x48, 0xFB, 0x23, 0xCD, 0xA6, 0x1F, 0xF0, 0x61, 0x4D, 0xB3, 0xE0, 0xA3, 0xDF, 0x43, 0x2E, 0xDE, +0x84, 0x0F, 0x64, 0xDB, 0x47, 0xCF, 0xFC, 0x0A, 0x25, 0x0A, 0x1E, 0x5B, 0xEF, 0x1D, 0xCB, 0x53, +0x9E, 0x4A, 0x3C, 0xA4, 0x09, 0x08, 0x9A, 0x71, 0x10, 0xFD, 0x74, 0x85, 0x1C, 0x0F, 0xA9, 0xE2, +0x11, 0x58, 0x94, 0xBD, 0x5A, 0xE2, 0x03, 0x4D, 0xE1, 0x91, 0x77, 0x38, 0x48, 0x7D, 0x36, 0x46, +0x13, 0x12, 0x90, 0xF7, 0x34, 0x82, 0x02, 0xA8, 0x95, 0x5E, 0x32, 0x3D, 0x24, 0xF2, 0x8F, 0x82, +0x90, 0xE6, 0x04, 0x6B, 0x5F, 0xCA, 0xF0, 0x0F, 0x94, 0x52, 0x75, 0x67, 0x7E, 0x05, 0x21, 0xAF, +0x3B, 0xCD, 0xDA, 0xFE, 0xF5, 0x76, 0x84, 0xF4, 0xF3, 0xE1, 0x7F, 0x52, 0x1D, 0x3E, 0x78, 0x2E, +0xE7, 0x3C, 0x64, 0x5F, 0xA8, 0xED, 0x20, 0xF2, 0x8F, 0x63, 0x75, 0xFA, 0x07, 0x90, 0xD4, 0x7B, +0xD0, 0x08, 0x0F, 0x69, 0xE2, 0xA1, 0x86, 0x83, 0x54, 0x10, 0x49, 0x1B, 0x7C, 0xA0, 0x74, 0xD2, +0x04, 0xB5, 0xA2, 0x06, 0x1E, 0x0B, 0xF8, 0x80, 0x90, 0xD6, 0xDB, 0x8C, 0x0D, 0x08, 0xFE, 0x81, +0xF0, 0x90, 0xC7, 0xCA, 0xA6, 0x0E, 0x3E, 0x5E, 0x81, 0x10, 0x9B, 0x0F, 0x5F, 0xFE, 0xF4, 0xCA, +0xE7, 0xC3, 0x9B, 0x65, 0x49, 0xC3, 0x52, 0x47, 0x41, 0xC8, 0xDE, 0xE0, 0x03, 0xB5, 0xDE, 0xF9, +0xE0, 0x03, 0x2D, 0x1C, 0xFF, 0x40, 0xED, 0x77, 0x6D, 0x86, 0x30, 0xB3, 0xAC, 0x46, 0xC3, 0x41, +0x92, 0x2A, 0x08, 0xD5, 0xF8, 0x88, 0xC3, 0xC1, 0xAF, 0xA6, 0x40, 0x45, 0xCE, 0x2C, 0x6B, 0xB1, +0x7A, 0x21, 0x11, 0xB3, 0xDF, 0x4C, 0x4D, 0xB4, 0xE0, 0x03, 0xDD, 0xB5, 0xF8, 0x78, 0xCF, 0x9B, +0x1E, 0x1E, 0x62, 0xCC, 0xAF, 0x7A, 0x09, 0xA1, 0x64, 0xF8, 0x16, 0x7C, 0xA0, 0x57, 0x4C, 0xCF, +0xE1, 0x03, 0x05, 0x0D, 0xD5, 0xB7, 0x0F, 0xFC, 0x03, 0x42, 0x1E, 0xF7, 0x16, 0x1F, 0x10, 0x32, +0xF5, 0xB2, 0x6E, 0x56, 0x15, 0xB9, 0x78, 0x00, 0x48, 0x1D, 0x0E, 0xFC, 0xC3, 0x24, 0x44, 0x6A, +0x38, 0xC8, 0xD1, 0x2E, 0xA0, 0x28, 0x55, 0x79, 0x14, 0x81, 0xCD, 0x04, 0x21, 0xD5, 0x75, 0x3B, +0xF8, 0x28, 0x09, 0xA9, 0xAE, 0x66, 0x91, 0x7E, 0xB4, 0x09, 0x81, 0x8F, 0x35, 0xEF, 0x79, 0xA5, +0x87, 0xAC, 0x2B, 0xDB, 0x45, 0x5D, 0xAF, 0x46, 0xC8, 0xF6, 0xFF, 0x4A, 0x80, 0xBD, 0x7A, 0x7A, +0x6E, 0x4C, 0xB3, 0xF0, 0x0F, 0x83, 0x10, 0xF8, 0x70, 0x11, 0xD9, 0xAB, 0x5F, 0x55, 0x65, 0x4D, +0xAF, 0x50, 0xD3, 0x3F, 0x16, 0x35, 0x42, 0x7A, 0x1C, 0x84, 0xC6, 0x61, 0x31, 0xBF, 0xE2, 0xB8, +0xE6, 0x20, 0xE0, 0x61, 0x9A, 0x88, 0x34, 0xF1, 0xB4, 0xAC, 0xAA, 0x78, 0x60, 0x1F, 0xA5, 0xA6, +0xCA, 0x83, 0xE1, 0x1F, 0x25, 0x22, 0xB5, 0x59, 0x16, 0x7C, 0xBC, 0x15, 0x21, 0x87, 0xED, 0xAB, +0xE8, 0xF0, 0xCA, 0xCB, 0xBB, 0xA5, 0x2A, 0x6F, 0x1F, 0x75, 0xFF, 0xA0, 0x20, 0xD2, 0xE0, 0xC3, +0xC9, 0x43, 0xA4, 0xD5, 0x94, 0x16, 0x06, 0x1F, 0x46, 0x1E, 0x82, 0x5A, 0x84, 0x00, 0x07, 0x0E, +0xC2, 0x09, 0x3F, 0xE6, 0x57, 0x41, 0xA2, 0x54, 0x25, 0xFB, 0x50, 0x34, 0x64, 0xCC, 0xAF, 0xD0, +0x40, 0xC8, 0x7E, 0x3E, 0xFF, 0x40, 0x13, 0xE5, 0xF3, 0x65, 0xFD, 0x45, 0xAD, 0xCE, 0xB2, 0x1E, +0x5B, 0x17, 0x23, 0xBE, 0x06, 0x21, 0xDB, 0xD7, 0xD2, 0xAB, 0x95, 0x07, 0xEB, 0x2A, 0x97, 0xAE, +0xE0, 0xC3, 0x27, 0x64, 0x3F, 0xA9, 0xCA, 0xDC, 0x99, 0xF2, 0x87, 0x67, 0x22, 0x4D, 0x3E, 0x6A, +0x13, 0x9B, 0x34, 0x5E, 0xEB, 0xD3, 0x2C, 0x46, 0x7B, 0x05, 0x11, 0x1C, 0x04, 0x3C, 0x8E, 0x1D, +0xA4, 0x84, 0x22, 0x8B, 0x44, 0xA4, 0xA8, 0xC7, 0xB8, 0x1E, 0x82, 0x7D, 0x4C, 0x13, 0xF2, 0xC2, +0x89, 0x5B, 0xAA, 0x95, 0x07, 0x79, 0x4D, 0x0B, 0x9D, 0x82, 0xC8, 0x3A, 0x3A, 0xFC, 0xA3, 0xE1, +0x21, 0xB6, 0xDE, 0x04, 0x0F, 0xF4, 0x46, 0xFE, 0x01, 0x21, 0x28, 0x28, 0x99, 0x7E, 0x2A, 0x6B, +0x84, 0xEC, 0x9B, 0xAA, 0xE4, 0x1F, 0xCD, 0xA1, 0xB0, 0x68, 0xF8, 0x87, 0x93, 0x87, 0x3C, 0x5D, +0x37, 0xB4, 0x78, 0xB9, 0x7C, 0x5B, 0x73, 0x10, 0x20, 0xA9, 0x2F, 0x5F, 0xD5, 0x49, 0x29, 0x7C, +0x6C, 0x4E, 0xC5, 0x1F, 0xC9, 0x93, 0x32, 0x4D, 0x48, 0x99, 0x9E, 0xFB, 0x88, 0x88, 0x0F, 0xE6, +0x57, 0x13, 0xB3, 0xAC, 0x35, 0x03, 0x00, 0x3E, 0x0C, 0x0F, 0x31, 0x74, 0xFB, 0x16, 0x7C, 0xA0, +0x37, 0xE1, 0x03, 0x15, 0xEF, 0x1D, 0x0D, 0x3E, 0x28, 0x88, 0x78, 0x80, 0x90, 0x87, 0x90, 0x7F, +0xB4, 0xF9, 0x78, 0x58, 0x39, 0xFE, 0x81, 0x6A, 0xFE, 0xD1, 0xB0, 0x90, 0xA2, 0x20, 0x52, 0xAD, +0xA4, 0x97, 0x74, 0xE4, 0x5F, 0x5D, 0xB4, 0x0C, 0xA4, 0x5C, 0xCB, 0x7A, 0x7A, 0x9A, 0x7D, 0xD4, +0xE5, 0xE5, 0x57, 0x4D, 0xE9, 0xE7, 0x0F, 0x4E, 0xFE, 0x81, 0x3C, 0xFF, 0x40, 0xC0, 0x01, 0x1F, +0x06, 0x21, 0xAE, 0xDE, 0x82, 0x0F, 0xF4, 0x0A, 0xE5, 0x8F, 0x96, 0x02, 0x0C, 0xA9, 0xCD, 0x07, +0x97, 0x9D, 0x18, 0x7C, 0x20, 0x16, 0x29, 0x25, 0xCA, 0xE7, 0xA8, 0xB5, 0x98, 0x85, 0xAC, 0x3C, +0x84, 0x81, 0x8B, 0xEA, 0x05, 0x91, 0xD8, 0x35, 0x1D, 0x84, 0x1C, 0xA4, 0x7D, 0xBF, 0x4F, 0x09, +0x4C, 0x3C, 0x44, 0xE1, 0x08, 0xB7, 0x84, 0x8F, 0x95, 0x8E, 0xD8, 0xEA, 0x25, 0xC3, 0xBD, 0xF8, +0x30, 0xD4, 0x28, 0x7F, 0x4C, 0x2D, 0x66, 0xC1, 0xC7, 0x9B, 0x12, 0xB2, 0x7D, 0x75, 0xBD, 0x09, +0x1F, 0x88, 0x45, 0x0C, 0xD2, 0x8F, 0x29, 0xC9, 0xAA, 0x21, 0xA4, 0xC0, 0xC3, 0x48, 0xD5, 0x57, +0xF3, 0xF2, 0xFC, 0x03, 0xE1, 0x20, 0x91, 0x9F, 0xB7, 0x2D, 0x64, 0xC2, 0x3E, 0x70, 0x10, 0x84, +0x81, 0x14, 0xFE, 0x01, 0x2F, 0x75, 0x0F, 0x31, 0xC5, 0xF2, 0x6E, 0x4B, 0xE7, 0x5C, 0x98, 0x45, +0x7A, 0xEE, 0x08, 0xFF, 0x60, 0x7A, 0xD5, 0xF4, 0x10, 0xCA, 0xE7, 0x6F, 0x4A, 0xC8, 0xF6, 0x0D, +0xF4, 0x36, 0x7C, 0xA0, 0x22, 0x3D, 0xB7, 0x09, 0xD9, 0x5B, 0x2A, 0xCB, 0x83, 0xB6, 0x87, 0x58, +0x62, 0x60, 0x6A, 0xD0, 0x96, 0x39, 0x48, 0x1B, 0x91, 0xB6, 0x83, 0x60, 0x22, 0x6D, 0x5F, 0x5A, +0x00, 0xCC, 0x08, 0x2A, 0xF2, 0xF2, 0x10, 0x50, 0x40, 0xB5, 0x9B, 0x22, 0x55, 0xDF, 0x9B, 0xBA, +0x7B, 0x2E, 0x0F, 0xE2, 0x1F, 0x8E, 0x87, 0x5C, 0xA0, 0x37, 0x48, 0xD5, 0x0F, 0xAF, 0x4F, 0x07, +0x05, 0x91, 0xDE, 0xF2, 0x87, 0xF8, 0x30, 0xD5, 0x28, 0x7F, 0x34, 0x0A, 0x22, 0x7B, 0x57, 0x29, +0x0F, 0xD9, 0x1C, 0xBD, 0xEE, 0xD5, 0x8D, 0xE5, 0xDE, 0xA1, 0xD9, 0xE2, 0xEA, 0xDD, 0x86, 0x85, +0x20, 0xF8, 0x98, 0x73, 0x10, 0xD2, 0xF3, 0x96, 0x81, 0xA0, 0xF0, 0x33, 0x5F, 0x5C, 0x9D, 0xE8, +0x58, 0xEB, 0x60, 0xC1, 0xFF, 0xB1, 0x77, 0xF6, 0xBC, 0x8D, 0x1B, 0x41, 0x18, 0x0E, 0xD4, 0x85, +0x50, 0x7F, 0x51, 0xEF, 0xD2, 0x65, 0x2C, 0x40, 0x06, 0x54, 0x1C, 0xA4, 0x4A, 0x38, 0xA4, 0x8E, +0x6B, 0x4B, 0x30, 0xE0, 0xFB, 0x09, 0x52, 0x6A, 0xD7, 0x01, 0x5C, 0xE6, 0xC7, 0x66, 0xB8, 0x1E, +0xFA, 0x91, 0xD6, 0xCB, 0xE5, 0x3B, 0x32, 0x99, 0x0F, 0x24, 0xEF, 0x8A, 0x4B, 0x9E, 0x7C, 0x77, +0xB6, 0xC9, 0x7D, 0xF4, 0xCE, 0xEC, 0xF0, 0x03, 0xFB, 0x90, 0x08, 0xD9, 0xEF, 0x3D, 0x3D, 0x17, +0x04, 0x1E, 0x93, 0x10, 0x02, 0x1F, 0x53, 0xE8, 0xE9, 0xAA, 0xF4, 0x5C, 0x17, 0xFE, 0xA1, 0x10, +0xB2, 0x4A, 0x84, 0xEC, 0x75, 0x39, 0x1F, 0x82, 0x20, 0x24, 0xF8, 0x90, 0xDB, 0x2D, 0x58, 0xD4, +0xD4, 0xD2, 0xE4, 0x78, 0x28, 0x0E, 0x02, 0x1F, 0x92, 0x85, 0xE0, 0x20, 0xA2, 0xE0, 0xA3, 0x9A, +0x82, 0xE0, 0x21, 0x00, 0x22, 0x28, 0x95, 0x07, 0x6F, 0x90, 0xE0, 0x21, 0xB7, 0x01, 0xC5, 0xA3, +0xAC, 0x6F, 0x93, 0x69, 0x3D, 0x0D, 0x1F, 0x48, 0xF4, 0x0F, 0x0A, 0x22, 0xF0, 0xA1, 0x11, 0x42, +0x30, 0xDD, 0x27, 0xBE, 0x44, 0x7C, 0x15, 0x30, 0x11, 0x93, 0x68, 0x21, 0x82, 0x83, 0xA0, 0x32, +0x12, 0x28, 0xFF, 0xBE, 0x41, 0x2D, 0x8F, 0xE5, 0x00, 0x2B, 0x67, 0xC6, 0xB7, 0x63, 0xBB, 0x7D, +0x77, 0xC2, 0x3E, 0x04, 0x42, 0xE6, 0xE0, 0xA1, 0x69, 0x83, 0xA4, 0x92, 0xA1, 0xC5, 0x42, 0x93, +0x69, 0xFD, 0xED, 0xB0, 0x09, 0xFE, 0x40, 0x31, 0x35, 0xDA, 0xAE, 0xA4, 0x20, 0x12, 0x13, 0x03, +0x40, 0xD2, 0x2C, 0xA8, 0xAD, 0x6A, 0x20, 0xDE, 0x29, 0x0E, 0x02, 0x1F, 0xCA, 0x7F, 0xEA, 0x33, +0x59, 0x21, 0x6D, 0x0D, 0x10, 0x49, 0xD4, 0x43, 0x4E, 0x21, 0x3E, 0x56, 0x76, 0xA4, 0x64, 0xD9, +0x00, 0xB8, 0x45, 0x13, 0x10, 0x12, 0x04, 0x24, 0x8A, 0xD3, 0xC3, 0xB4, 0x7C, 0x34, 0xA1, 0x9B, +0x25, 0xCD, 0x57, 0x31, 0x3E, 0x8E, 0x7C, 0x0C, 0xA6, 0xAD, 0x05, 0x2B, 0x5F, 0xAE, 0x02, 0x04, +0xD9, 0x00, 0x15, 0x2C, 0x04, 0x0F, 0x51, 0x73, 0x10, 0xD5, 0x40, 0x38, 0x6D, 0x31, 0x22, 0xA6, +0x78, 0xCB, 0x26, 0xF2, 0x31, 0x00, 0x23, 0x47, 0x57, 0xF8, 0xB8, 0x59, 0xDD, 0xE8, 0x22, 0xC4, +0xD2, 0x15, 0x31, 0x90, 0x68, 0x0A, 0xB2, 0x5E, 0x07, 0x08, 0x49, 0x49, 0xC8, 0x94, 0x7C, 0x98, +0x6E, 0x02, 0x5A, 0xAD, 0x6E, 0x4E, 0xBB, 0x10, 0x1F, 0xC3, 0x01, 0x16, 0xFD, 0x22, 0x1C, 0x63, +0xF9, 0xA0, 0xD5, 0xD3, 0x05, 0xD1, 0x41, 0xB6, 0x8A, 0x1C, 0xC6, 0x97, 0x37, 0x3E, 0xB6, 0x11, +0xFF, 0xF0, 0x22, 0xA1, 0x50, 0x07, 0x59, 0xCE, 0x5A, 0x3C, 0xEC, 0x25, 0x47, 0x59, 0x2D, 0x1F, +0xAB, 0x00, 0x21, 0xCD, 0x61, 0x52, 0x42, 0x1E, 0x92, 0xD6, 0x01, 0x3C, 0x22, 0x84, 0x3C, 0x24, +0x4D, 0xC9, 0x87, 0x29, 0xC2, 0x87, 0xED, 0xFC, 0x53, 0x80, 0x0F, 0x6B, 0xA1, 0x1C, 0xDD, 0x14, +0xC2, 0x03, 0x0F, 0xA9, 0x5B, 0x08, 0x52, 0x1C, 0x64, 0x2B, 0x1B, 0x08, 0x75, 0x42, 0x5D, 0x86, +0xC7, 0x9B, 0xC4, 0xD4, 0xAC, 0xDB, 0x8B, 0x2A, 0x1F, 0x7E, 0xAF, 0xF7, 0x9B, 0x40, 0x8A, 0x3E, +0x21, 0x21, 0xC1, 0x32, 0xC8, 0xDA, 0xA5, 0xF2, 0xE1, 0x9A, 0x94, 0x0F, 0x9D, 0x10, 0xDF, 0xF3, +0x27, 0x95, 0x8F, 0x74, 0x70, 0x21, 0x64, 0xC8, 0x44, 0xDE, 0x14, 0xC2, 0x63, 0xDB, 0xF6, 0xC2, +0x27, 0x3D, 0x52, 0x1C, 0x64, 0x2B, 0x8A, 0xF4, 0x7C, 0x9B, 0x9A, 0x4C, 0x88, 0x33, 0xB2, 0x54, +0x74, 0x84, 0x90, 0x67, 0x99, 0x0F, 0x1D, 0x91, 0xBC, 0x90, 0xAE, 0x4B, 0xE5, 0xC3, 0xA5, 0xF2, +0xE1, 0x52, 0xF9, 0x70, 0x4D, 0xC5, 0x87, 0x4B, 0xE5, 0x23, 0x44, 0x08, 0xC7, 0xD6, 0x08, 0xE8, +0x5F, 0xF0, 0x8F, 0x37, 0x05, 0x12, 0x11, 0x1F, 0x9C, 0x52, 0x16, 0x82, 0x06, 0x1C, 0xE4, 0x51, +0xA0, 0x0C, 0x25, 0x40, 0xBB, 0x1F, 0x44, 0xA3, 0x83, 0xFB, 0x73, 0x57, 0x26, 0xF8, 0x16, 0x64, +0x1F, 0xEC, 0x46, 0x8D, 0x0F, 0x24, 0xF1, 0x31, 0x09, 0x21, 0xF0, 0x81, 0x42, 0x7C, 0x7C, 0x5D, +0x4B, 0x7C, 0xA0, 0x49, 0xF8, 0x40, 0x0A, 0x1E, 0xE8, 0xA6, 0xD9, 0x0F, 0x27, 0x22, 0x1C, 0xDB, +0x44, 0x88, 0x10, 0x5E, 0x75, 0x8F, 0x96, 0x92, 0xD3, 0x0F, 0x7A, 0xC1, 0x40, 0xD0, 0x63, 0xD5, +0x41, 0xB6, 0x21, 0xE5, 0x3F, 0xCD, 0xB0, 0xFC, 0x51, 0x07, 0xC9, 0x2C, 0x07, 0x4E, 0xC6, 0x9A, +0x81, 0x47, 0x02, 0x64, 0xB8, 0x5C, 0xD8, 0xB4, 0x87, 0x09, 0x09, 0x7C, 0x4C, 0x47, 0x48, 0xFC, +0x64, 0x45, 0xC3, 0xE2, 0x4C, 0x12, 0x1F, 0x68, 0x02, 0x3E, 0x5E, 0x1B, 0x5B, 0xAC, 0xB5, 0xD2, +0xF9, 0x48, 0x79, 0x48, 0xA3, 0xF8, 0x07, 0xAD, 0x36, 0xDF, 0xEF, 0xAB, 0x4E, 0x4B, 0x7B, 0x89, +0xEE, 0x81, 0x85, 0x68, 0x59, 0x08, 0xEA, 0x77, 0x10, 0x85, 0x32, 0x64, 0xF9, 0x79, 0xD7, 0x54, +0x3C, 0x9C, 0x8D, 0x45, 0xF7, 0x14, 0x84, 0x9A, 0x16, 0xEC, 0x44, 0xCD, 0x43, 0xDA, 0x43, 0x13, +0x21, 0xE4, 0x90, 0x46, 0x80, 0x37, 0x9D, 0x90, 0x8D, 0x48, 0xC8, 0x43, 0x26, 0xC9, 0x3F, 0x90, +0xC4, 0x07, 0x52, 0xF1, 0x88, 0x9C, 0x87, 0xF5, 0x4A, 0xAF, 0xF0, 0x81, 0x86, 0x08, 0xD9, 0xE5, +0x87, 0xB6, 0xEE, 0x21, 0x3C, 0x39, 0xE3, 0x2D, 0xF8, 0x58, 0xAA, 0x78, 0xE0, 0x23, 0x82, 0x81, +0xA0, 0x1E, 0x07, 0x89, 0xFB, 0x07, 0xDA, 0x4A, 0x99, 0x88, 0x5B, 0xA4, 0xAD, 0xBA, 0x27, 0xB1, +0x09, 0xF9, 0x07, 0xAD, 0x3E, 0xDD, 0xFB, 0xDC, 0xAC, 0x3E, 0xA8, 0x5A, 0x1F, 0xCC, 0xF4, 0x1A, +0xF7, 0x90, 0xE0, 0x1D, 0xE4, 0x42, 0x7C, 0xFC, 0xBA, 0x96, 0xF8, 0x40, 0xBA, 0x7D, 0x68, 0xFE, +0x61, 0x8D, 0xDE, 0x34, 0x57, 0xF8, 0xC0, 0x44, 0x64, 0x3E, 0xF0, 0x90, 0xDE, 0x0C, 0x24, 0x71, +0xB1, 0x38, 0x7F, 0xC4, 0xA5, 0x14, 0x61, 0xC1, 0x89, 0x78, 0x46, 0x16, 0x2A, 0x3B, 0x88, 0x44, +0x19, 0x72, 0x24, 0xF4, 0xF8, 0xEA, 0xE2, 0x01, 0xB7, 0x26, 0x0F, 0xB3, 0x16, 0x7D, 0xF6, 0x71, +0xFC, 0xB8, 0x1B, 0x8F, 0xD5, 0xF2, 0x47, 0x80, 0x90, 0x3B, 0x87, 0x82, 0x36, 0x6E, 0x94, 0xF5, +0x50, 0x92, 0xC6, 0x07, 0x92, 0xF8, 0x40, 0xE3, 0xA6, 0x1F, 0x38, 0x88, 0x2F, 0x37, 0x73, 0x81, +0x0F, 0x85, 0x90, 0xE3, 0xC7, 0x0F, 0xBF, 0xCA, 0x64, 0x16, 0x41, 0x39, 0x0F, 0x23, 0xAB, 0x10, +0x92, 0x45, 0xFC, 0x8C, 0xD2, 0x50, 0x72, 0xFD, 0x58, 0xBC, 0xAB, 0x49, 0x4C, 0x20, 0xA1, 0x19, +0x88, 0xE3, 0xEF, 0x98, 0xF0, 0x88, 0xA9, 0xB3, 0x58, 0x93, 0x6D, 0x76, 0xA1, 0xE8, 0x21, 0xF0, +0xA1, 0x10, 0x32, 0xF7, 0xF2, 0xC7, 0x99, 0xA4, 0x30, 0x6B, 0x33, 0x14, 0x65, 0x51, 0x1E, 0x8C, +0x11, 0x42, 0xFA, 0x41, 0xA2, 0xDE, 0x47, 0x48, 0xFC, 0xA6, 0x0D, 0xF9, 0x4F, 0x3F, 0xCC, 0xC7, +0x6B, 0xE6, 0x20, 0x49, 0x12, 0x1F, 0xE8, 0x54, 0x99, 0xDE, 0xA5, 0x0D, 0xA6, 0xEA, 0x3E, 0x68, +0x12, 0x23, 0x67, 0xA1, 0x87, 0x1E, 0x60, 0xB9, 0x24, 0x0B, 0x41, 0x1F, 0x1D, 0x24, 0x16, 0xA6, +0xB9, 0x71, 0x61, 0x20, 0xB0, 0x5B, 0xAF, 0x7F, 0xD8, 0x0A, 0x07, 0x31, 0xF5, 0xFA, 0x87, 0x4C, +0x08, 0xD3, 0x57, 0x3A, 0x21, 0x8D, 0xE7, 0x1F, 0xB4, 0x2B, 0x53, 0x75, 0x89, 0x0F, 0xF4, 0x24, +0xD9, 0x07, 0x92, 0xEC, 0x03, 0x8D, 0xE8, 0x1F, 0x38, 0x08, 0xA0, 0x68, 0x7C, 0x54, 0xA7, 0x7B, +0x9F, 0xE1, 0x43, 0x22, 0xE4, 0xE8, 0xFE, 0xD1, 0x0E, 0x99, 0x34, 0x84, 0xF8, 0x94, 0x1D, 0xC6, +0x23, 0x6D, 0xD1, 0x42, 0xCA, 0x1C, 0x24, 0xEE, 0x1F, 0xA9, 0x15, 0x0D, 0x64, 0xDB, 0xCB, 0xC7, +0xE5, 0xB3, 0x18, 0xF9, 0x43, 0x71, 0xEA, 0x62, 0x1F, 0x20, 0xE4, 0xE4, 0x87, 0xA9, 0x24, 0xCD, +0x3F, 0x1C, 0x97, 0x51, 0x08, 0x81, 0x0F, 0x81, 0x10, 0xF8, 0x50, 0x3D, 0xE4, 0xA1, 0xA2, 0x71, +0xF8, 0x78, 0x2D, 0x3A, 0x88, 0x49, 0xE6, 0x03, 0x42, 0x72, 0x3E, 0x32, 0x3C, 0x86, 0x52, 0x75, +0x86, 0x89, 0x9B, 0x47, 0x67, 0x23, 0x45, 0x0F, 0x21, 0xA6, 0xC2, 0x41, 0x90, 0x74, 0x69, 0x21, +0xC2, 0x41, 0x3E, 0x91, 0x9E, 0x63, 0x20, 0x75, 0x07, 0xB1, 0xDF, 0x34, 0x61, 0xE1, 0x22, 0xC0, +0x4A, 0xFD, 0x47, 0x3C, 0x9C, 0x05, 0x5A, 0x6D, 0x32, 0x6B, 0x07, 0x1F, 0x45, 0x95, 0xF9, 0x78, +0xCD, 0xDA, 0xBB, 0x06, 0x27, 0xAF, 0x58, 0x95, 0x08, 0xB9, 0x8D, 0xDE, 0x7A, 0xD4, 0x51, 0xE8, +0x91, 0xC4, 0x07, 0x1A, 0xE0, 0x83, 0x9F, 0x7E, 0xD8, 0x3F, 0x70, 0x10, 0xE6, 0x7B, 0x35, 0x3E, +0x28, 0x88, 0x14, 0xF8, 0xE8, 0x07, 0xA4, 0x30, 0xDD, 0x4B, 0xAC, 0x41, 0xFA, 0x61, 0x8B, 0x0F, +0xA0, 0x32, 0x1E, 0x99, 0x97, 0x5C, 0xED, 0x21, 0x38, 0x48, 0xDC, 0x3E, 0xEA, 0x06, 0xB2, 0x2D, +0xDA, 0x07, 0x9F, 0x05, 0xA4, 0xE8, 0x09, 0x0F, 0x4C, 0x04, 0x3E, 0x8E, 0xCB, 0xFE, 0x96, 0x11, +0xB2, 0xA3, 0xFC, 0xD1, 0xA7, 0xEC, 0x92, 0x86, 0x43, 0x53, 0xD2, 0xEB, 0x58, 0x1E, 0xF2, 0x30, +0xA0, 0x75, 0xA1, 0xFC, 0xA1, 0x7B, 0xC8, 0xC3, 0x80, 0xEA, 0xF9, 0x87, 0xEE, 0x1F, 0xB9, 0x83, +0xB8, 0x24, 0x3C, 0x50, 0x4E, 0x48, 0x01, 0x8F, 0x4A, 0x41, 0x24, 0x0D, 0x0E, 0x02, 0x0F, 0xDF, +0x82, 0x98, 0x02, 0x22, 0x59, 0xE0, 0x9F, 0xD3, 0x23, 0x59, 0x08, 0x7A, 0x73, 0x90, 0x38, 0x1F, +0x43, 0x06, 0x92, 0x13, 0xC2, 0x27, 0x80, 0xDB, 0x06, 0x16, 0xE2, 0xBE, 0x52, 0x48, 0x3F, 0x64, +0x42, 0x56, 0xC3, 0xC7, 0x29, 0xE7, 0xE3, 0xB5, 0xD0, 0xA4, 0x92, 0x61, 0x79, 0x9C, 0x49, 0xFE, +0x81, 0x2E, 0xF9, 0xF8, 0x15, 0x1E, 0xCA, 0x8C, 0x48, 0x7C, 0xA0, 0x8A, 0x7D, 0x6C, 0x04, 0x3E, +0x2A, 0x0E, 0x92, 0x36, 0x74, 0x3E, 0xF0, 0x90, 0x9C, 0x0F, 0x35, 0xCA, 0x22, 0xCA, 0xF0, 0x01, +0xE4, 0x6B, 0x6B, 0x9E, 0xB6, 0x97, 0xD9, 0xC8, 0x3F, 0xB8, 0x79, 0x7B, 0x1B, 0xD4, 0x9B, 0x83, +0x6C, 0x47, 0x35, 0x10, 0xEF, 0x11, 0x79, 0x87, 0xF5, 0xA9, 0x5B, 0xBC, 0xA1, 0xC1, 0x1B, 0xF6, +0x96, 0xC6, 0x07, 0x84, 0x3C, 0x77, 0xAE, 0xCD, 0xF4, 0x95, 0x42, 0xC8, 0xBC, 0x29, 0x4A, 0x2E, +0x19, 0xD6, 0xC3, 0xAC, 0x5B, 0xED, 0x01, 0x3A, 0x92, 0x7F, 0x20, 0x89, 0x0F, 0x94, 0xF1, 0x11, +0xA1, 0x3D, 0x9B, 0xF8, 0xC6, 0x41, 0xD0, 0x41, 0xE2, 0x03, 0x35, 0x39, 0x1F, 0xBA, 0x87, 0x5C, +0x44, 0x19, 0x0C, 0x15, 0x1F, 0x3B, 0x79, 0x94, 0x45, 0xEC, 0x52, 0x30, 0x10, 0xBE, 0x8C, 0x85, +0x48, 0x6A, 0x1D, 0x24, 0x8C, 0x47, 0xD5, 0x40, 0xBC, 0x47, 0x7C, 0x0C, 0xB4, 0x6B, 0x7E, 0xB9, +0xB6, 0x3B, 0xF7, 0x14, 0xE2, 0x2B, 0xA1, 0x19, 0x21, 0x9E, 0x01, 0xC2, 0x47, 0x55, 0x97, 0x7C, +0xD4, 0x1D, 0xC4, 0xB6, 0x35, 0xE7, 0x40, 0x3C, 0x3E, 0x47, 0x12, 0x7C, 0x08, 0x32, 0x8B, 0x81, +0x0F, 0x49, 0xB7, 0x43, 0xE1, 0xD5, 0x46, 0xF0, 0x8F, 0xDC, 0x41, 0xD8, 0x4B, 0x73, 0x8D, 0x8F, +0xBC, 0x20, 0x72, 0x14, 0x0F, 0x2D, 0x78, 0x9C, 0xE3, 0xC0, 0x50, 0xF1, 0x28, 0xCB, 0x6B, 0x04, +0x25, 0x0B, 0xE9, 0x35, 0x10, 0xEB, 0xA3, 0x16, 0x62, 0xCF, 0x49, 0x0F, 0xF2, 0xC1, 0xB7, 0xAD, +0x19, 0x08, 0x8C, 0xBC, 0x3B, 0x05, 0x45, 0x90, 0xF6, 0x0F, 0xA4, 0x1F, 0xEE, 0x97, 0x8E, 0xC8, +0x51, 0x69, 0x9C, 0x98, 0xB5, 0x52, 0xD5, 0xD2, 0xD1, 0x9D, 0x5E, 0x32, 0xE8, 0x20, 0xAF, 0x10, +0x22, 0x52, 0x72, 0xDD, 0x43, 0x3C, 0xD7, 0xA2, 0x22, 0x7C, 0x60, 0x22, 0x72, 0x90, 0x88, 0x7F, +0x54, 0x1C, 0x04, 0x66, 0xE0, 0x23, 0x44, 0x88, 0x78, 0x6C, 0x8F, 0xE7, 0xF9, 0x47, 0x87, 0x03, +0x49, 0x48, 0xDB, 0xA7, 0x11, 0xD4, 0xC5, 0x25, 0x99, 0x43, 0x80, 0x89, 0xAD, 0x8A, 0xD5, 0x43, +0xEC, 0x43, 0x01, 0x64, 0x11, 0x74, 0x90, 0xCB, 0xC1, 0xDF, 0x67, 0x20, 0xAC, 0x96, 0x33, 0x32, +0x2A, 0xA7, 0x82, 0x3F, 0xF8, 0x9F, 0x7D, 0xE5, 0xF1, 0x95, 0xFA, 0x39, 0x73, 0x24, 0xBE, 0x92, +0xC4, 0xD5, 0x1F, 0x82, 0x83, 0xC4, 0x13, 0x11, 0xF8, 0x90, 0xA4, 0xE1, 0x41, 0xAE, 0x4E, 0x79, +0x50, 0x26, 0x44, 0x25, 0x03, 0x3C, 0x34, 0x07, 0xF1, 0xA2, 0xFA, 0x4A, 0x94, 0x5F, 0x65, 0xA8, +0x1C, 0x58, 0x8A, 0xEA, 0x0C, 0x13, 0xEB, 0xB0, 0x0E, 0xAF, 0xA5, 0xFB, 0xCA, 0xFF, 0x4E, 0x69, +0xCE, 0x8A, 0x37, 0xB2, 0xB7, 0x3C, 0x53, 0x7F, 0x99, 0xCA, 0x41, 0xB2, 0xEA, 0x8B, 0x62, 0x20, +0xE4, 0xE3, 0x4C, 0x49, 0x90, 0x9D, 0x63, 0x2A, 0x2D, 0x32, 0x47, 0x59, 0x29, 0x11, 0x69, 0x52, +0x7E, 0x2E, 0xBE, 0xEC, 0xEF, 0x36, 0x81, 0x47, 0x81, 0x37, 0x83, 0x99, 0x79, 0xF6, 0x45, 0x91, +0x0F, 0x0A, 0x22, 0x3E, 0xF4, 0x95, 0x97, 0x09, 0x3E, 0x44, 0x42, 0x94, 0x2C, 0xCA, 0x7A, 0x00, +0x89, 0xC8, 0x2F, 0x1F, 0x14, 0x5F, 0x56, 0x10, 0x39, 0x1E, 0x43, 0x07, 0xB7, 0x4B, 0x3E, 0x92, +0x7C, 0xD8, 0x24, 0x1C, 0x6C, 0xF1, 0x15, 0xE5, 0x91, 0x25, 0x95, 0xC1, 0xC2, 0xC9, 0xEE, 0xBC, +0xC3, 0x56, 0x40, 0xD1, 0x1C, 0x24, 0xFF, 0xB6, 0x65, 0x03, 0x61, 0xFD, 0x46, 0xC5, 0xE2, 0x8D, +0x00, 0x4C, 0xC4, 0x0D, 0xD3, 0x29, 0xE9, 0x32, 0x13, 0x7B, 0xE9, 0x41, 0x96, 0x39, 0xC8, 0x2E, +0xEE, 0x20, 0xBA, 0x74, 0xF7, 0xB8, 0xDE, 0x41, 0xBE, 0xCA, 0x0E, 0x42, 0x84, 0x15, 0x74, 0x90, +0x8D, 0xEA, 0x22, 0x8D, 0xAE, 0xEB, 0x1D, 0x64, 0xBF, 0x1C, 0x7C, 0x79, 0x8C, 0xF5, 0x06, 0xC2, +0xBB, 0x6B, 0xB0, 0xF2, 0xE8, 0x83, 0xD9, 0xAD, 0xE2, 0x9C, 0x55, 0x5E, 0x49, 0x67, 0xDB, 0x56, +0x11, 0x1D, 0xEB, 0x0E, 0x22, 0x9C, 0x63, 0x52, 0x36, 0x10, 0x84, 0x83, 0xB8, 0x59, 0x12, 0x40, +0xFA, 0xBA, 0xDB, 0x36, 0x29, 0x3B, 0xD1, 0x23, 0xAC, 0xD3, 0xB5, 0x39, 0xC8, 0xAB, 0xD2, 0x8A, +0x64, 0x8C, 0x9D, 0x83, 0xAC, 0x65, 0x7D, 0x2E, 0x07, 0x11, 0x67, 0x7B, 0xB5, 0x3D, 0xF3, 0xA9, +0x1C, 0xC4, 0x34, 0xD4, 0xFB, 0x54, 0x6F, 0xF7, 0x21, 0xCA, 0xA7, 0xAA, 0x2D, 0x84, 0x55, 0xE7, +0x25, 0x12, 0x08, 0x41, 0x15, 0x03, 0x89, 0xE9, 0x8F, 0xF0, 0x34, 0x6F, 0x96, 0x0D, 0xD5, 0x0D, +0xC4, 0xBA, 0xC5, 0x45, 0xD6, 0x91, 0x05, 0x90, 0x7C, 0x0E, 0x30, 0xCB, 0x3B, 0xB0, 0x0B, 0x3F, +0x39, 0x8B, 0xA5, 0x69, 0x28, 0xE1, 0x60, 0x3D, 0xFD, 0x2C, 0xD6, 0xD7, 0xEB, 0x67, 0xB1, 0x82, +0x6A, 0x04, 0x4D, 0x3F, 0x8B, 0xC5, 0x35, 0xE8, 0x0C, 0x1B, 0xDC, 0x83, 0x4F, 0x5B, 0x5F, 0xD0, +0x96, 0xD6, 0x6F, 0x20, 0x49, 0x3A, 0x25, 0xF7, 0x00, 0xA2, 0x8B, 0x6F, 0x9C, 0x39, 0x48, 0xB9, +0x94, 0x5E, 0x73, 0x10, 0xA6, 0xB7, 0x63, 0x75, 0x10, 0xC3, 0xE3, 0xFA, 0x3A, 0x88, 0xE4, 0x1F, +0xBA, 0x36, 0x57, 0xD7, 0x41, 0x38, 0xCD, 0x64, 0xFA, 0x3A, 0xC8, 0xA6, 0x96, 0x85, 0xE8, 0x1E, +0x92, 0xD5, 0x41, 0x62, 0x95, 0x42, 0x61, 0xF6, 0xFE, 0xB2, 0x0E, 0xC2, 0x08, 0xF1, 0x73, 0x31, +0x7C, 0xCD, 0x29, 0x19, 0x33, 0x34, 0x85, 0x81, 0xDC, 0x6F, 0xAF, 0xA8, 0xA4, 0xDF, 0x97, 0xCF, +0x2A, 0xC9, 0x0C, 0xE4, 0x5C, 0x4C, 0x5E, 0x93, 0x6B, 0x79, 0xB2, 0xE5, 0xD9, 0x7A, 0xF6, 0x00, +0xCF, 0xE5, 0xB4, 0x95, 0xF4, 0x21, 0x55, 0x0C, 0x63, 0xA4, 0x4A, 0xBA, 0x86, 0x88, 0x7F, 0xED, +0xF3, 0x95, 0x74, 0xB4, 0xF9, 0x8C, 0x87, 0xFC, 0xD5, 0x95, 0x74, 0x1F, 0x21, 0xC4, 0xE2, 0xA4, +0x25, 0x49, 0x59, 0x29, 0x5D, 0x30, 0x90, 0xFB, 0xA8, 0x81, 0x24, 0x07, 0x81, 0x90, 0x98, 0x85, +0xE4, 0xB6, 0xC6, 0x3B, 0x99, 0x5A, 0x18, 0xBC, 0x90, 0xEE, 0xAB, 0x37, 0x52, 0x88, 0x24, 0x2F, +0x75, 0x9C, 0xFA, 0x5C, 0xAC, 0x7A, 0x8C, 0xAD, 0x5D, 0x12, 0x32, 0xD2, 0xB9, 0x58, 0x9A, 0x7F, +0xA0, 0x10, 0x20, 0xF1, 0x62, 0x48, 0x75, 0xD7, 0xC8, 0xE7, 0x62, 0xC1, 0xC7, 0x6E, 0xAF, 0x12, +0x02, 0x1F, 0x88, 0x11, 0x62, 0x0B, 0x89, 0x08, 0xC1, 0x56, 0xD0, 0x40, 0xE2, 0xA7, 0x2B, 0x6E, +0xAF, 0x3B, 0x9B, 0x17, 0x28, 0x51, 0xF5, 0xCA, 0x74, 0xF7, 0x4B, 0xE6, 0xB2, 0xDB, 0xEE, 0x7D, +0x39, 0xD7, 0xE0, 0x54, 0xD6, 0x18, 0x67, 0xF3, 0x16, 0x35, 0xD6, 0x15, 0x21, 0xD1, 0xB3, 0x79, +0x2B, 0x16, 0xF2, 0x75, 0x9C, 0xB3, 0x79, 0x6D, 0x91, 0xA5, 0xF9, 0x07, 0x52, 0xF8, 0xD0, 0xCF, +0xE6, 0xCD, 0x75, 0x3E, 0x7B, 0x55, 0x38, 0x09, 0x23, 0x53, 0xCD, 0x40, 0xF0, 0x0F, 0xDB, 0x92, +0xF9, 0xE8, 0x1C, 0x24, 0x4E, 0x08, 0x49, 0x79, 0xF6, 0x43, 0xF8, 0x76, 0xD1, 0x44, 0xDE, 0x2F, +0x2A, 0xF4, 0x4D, 0xD2, 0x8F, 0x5C, 0x47, 0xE2, 0xD5, 0x49, 0xAE, 0x07, 0xA9, 0x98, 0x48, 0xA4, +0x38, 0x08, 0x1F, 0x32, 0x21, 0x91, 0xEB, 0xA5, 0xC6, 0xBD, 0x1E, 0xA4, 0x37, 0xDE, 0xDA, 0x88, +0x1E, 0x12, 0xBF, 0x1E, 0xC4, 0xF9, 0x40, 0xA7, 0xF8, 0xF5, 0x20, 0xEF, 0xF9, 0x47, 0x66, 0x25, +0xE0, 0x21, 0x1A, 0x48, 0xDC, 0x3F, 0xCE, 0x1D, 0x24, 0x9E, 0x88, 0x98, 0x4A, 0xB5, 0x99, 0xCA, +0xD3, 0x09, 0x49, 0x3B, 0xDE, 0x73, 0xAE, 0xD4, 0xA3, 0x8A, 0x89, 0xC0, 0xC7, 0x69, 0x8C, 0x2B, +0x0A, 0x0D, 0x91, 0xB2, 0x34, 0x32, 0xC6, 0xBE, 0xA2, 0xF0, 0xEB, 0xB0, 0x7F, 0xA0, 0x18, 0x1F, +0xF1, 0x92, 0x7A, 0x59, 0x7F, 0xD3, 0x15, 0x85, 0x04, 0x54, 0x69, 0xBC, 0xB0, 0x51, 0xCE, 0xCF, +0x2B, 0x19, 0x48, 0x37, 0xC2, 0x67, 0x3A, 0x1F, 0x38, 0x08, 0x84, 0xE8, 0xC2, 0x30, 0x08, 0xF1, +0x06, 0x6E, 0x89, 0xC5, 0xB4, 0x04, 0xB3, 0x58, 0x28, 0xCB, 0xD4, 0xCB, 0x7C, 0x48, 0xF7, 0x6C, +0x40, 0x95, 0x5B, 0xF2, 0x0E, 0xFA, 0x87, 0x00, 0x4B, 0xFC, 0x9A, 0x74, 0x9D, 0x90, 0xF1, 0xAE, +0x49, 0x17, 0x2C, 0xB1, 0x19, 0xF2, 0x90, 0x4F, 0x5F, 0x93, 0x8E, 0x96, 0x42, 0x7C, 0x85, 0x16, +0x26, 0x12, 0x10, 0xAC, 0x24, 0x68, 0x20, 0x60, 0x11, 0xE2, 0x03, 0x07, 0xB9, 0x36, 0x55, 0x77, +0x09, 0x37, 0x37, 0xC1, 0x41, 0xFC, 0x57, 0x4D, 0x7F, 0x38, 0x66, 0x5C, 0xB0, 0x55, 0x9C, 0x06, +0x1C, 0xEB, 0xAE, 0x26, 0xF3, 0xAB, 0xD3, 0x8F, 0xCD, 0xB4, 0x77, 0x35, 0xC1, 0x3F, 0xA6, 0xB8, +0xAB, 0x09, 0x5B, 0x41, 0x0F, 0x19, 0xF7, 0xAE, 0x26, 0x82, 0x7F, 0x70, 0x73, 0x66, 0xE6, 0xAF, +0x6C, 0xE1, 0xC2, 0x89, 0x8A, 0x4A, 0x06, 0xC2, 0xB0, 0x95, 0xF9, 0xC0, 0x41, 0xAE, 0x25, 0x84, +0x24, 0xA4, 0x66, 0x20, 0xE8, 0xFD, 0xFC, 0x1A, 0xCE, 0xC9, 0x62, 0x77, 0x64, 0x5A, 0x4C, 0x7B, +0x5F, 0xAC, 0x3B, 0x23, 0xA4, 0x66, 0x1F, 0x8D, 0x00, 0xCA, 0x98, 0xF7, 0xC5, 0x12, 0xFC, 0x63, +0x9A, 0xFB, 0x62, 0x6D, 0xA4, 0xA2, 0xFA, 0x28, 0xF7, 0xC5, 0x42, 0x85, 0xF2, 0x07, 0x2A, 0x8C, +0x05, 0x12, 0x90, 0x56, 0x02, 0x1E, 0x99, 0x81, 0x5C, 0xE9, 0x1F, 0x38, 0x08, 0x84, 0xC4, 0x53, +0x75, 0x60, 0x1D, 0x24, 0x84, 0xD3, 0x6B, 0xFC, 0x1C, 0xAC, 0xB2, 0xA7, 0xFE, 0x55, 0x77, 0x56, +0x1C, 0xF6, 0x8F, 0xA6, 0x38, 0x8A, 0x26, 0xBD, 0xB3, 0x22, 0xFE, 0x31, 0xF2, 0x9D, 0x15, 0x37, +0x15, 0x28, 0x1A, 0xEF, 0x91, 0x94, 0x7E, 0xA0, 0x32, 0x1F, 0xBA, 0x87, 0xA0, 0x12, 0x23, 0x9D, +0x6B, 0x9C, 0x9D, 0xF6, 0x1E, 0x33, 0x90, 0x2D, 0x9A, 0xE9, 0x7C, 0xE0, 0x20, 0x9F, 0x20, 0x04, +0x58, 0x05, 0x6D, 0xCF, 0x2B, 0x3C, 0xEE, 0x1F, 0x68, 0x51, 0xF7, 0x10, 0xF8, 0x18, 0xF1, 0xDE, +0xBC, 0x7C, 0x46, 0xFE, 0xED, 0xF7, 0xE6, 0x4D, 0x54, 0x38, 0x1D, 0xFF, 0x84, 0x7B, 0xF3, 0xBE, +0xD2, 0xFE, 0xAA, 0x7B, 0xF3, 0xB2, 0xCE, 0xB7, 0xC9, 0x3F, 0x5A, 0x89, 0xB7, 0xAE, 0x66, 0x33, +0x3A, 0x03, 0x85, 0x70, 0x90, 0xAB, 0x33, 0xF5, 0x0C, 0xD6, 0xBA, 0x2E, 0xAE, 0x09, 0xEB, 0xC9, +0x3D, 0xD0, 0xDF, 0x76, 0x77, 0xF7, 0xC6, 0xBB, 0xAC, 0x32, 0xC8, 0xC4, 0xE8, 0x54, 0x77, 0x77, +0x47, 0x53, 0xDF, 0xDD, 0x3D, 0x77, 0x92, 0x66, 0xCC, 0xBB, 0xBB, 0xEF, 0x22, 0x77, 0x77, 0x87, +0x0F, 0x54, 0x0E, 0xB2, 0xAC, 0x49, 0x7C, 0xE4, 0x79, 0x71, 0xD0, 0x40, 0xEE, 0x11, 0x0E, 0x82, +0xAE, 0xB0, 0x90, 0x88, 0x38, 0x23, 0x53, 0x79, 0xAE, 0xE9, 0xDF, 0xF1, 0x7C, 0x90, 0x0C, 0x95, +0xBF, 0xF4, 0xF9, 0x20, 0x5F, 0xF1, 0x8F, 0x49, 0x9E, 0x0F, 0x02, 0x12, 0xE5, 0xF9, 0xAB, 0xC9, +0x9E, 0x0F, 0x52, 0x29, 0x88, 0xD4, 0xF0, 0xE0, 0x2B, 0x9C, 0x8D, 0x25, 0xD3, 0xE1, 0x6B, 0xD5, +0x3F, 0xC0, 0xA3, 0xE6, 0x20, 0xF1, 0x82, 0x08, 0xFE, 0x11, 0x43, 0x84, 0x9D, 0x40, 0x5F, 0x94, +0xF3, 0x71, 0xFA, 0xFF, 0x09, 0x53, 0xA3, 0x3D, 0x61, 0x2A, 0x77, 0x8F, 0x7F, 0xCA, 0x13, 0xA6, +0x6A, 0x0F, 0x04, 0x5F, 0xB8, 0x66, 0x9A, 0xCA, 0xE9, 0xF9, 0x4C, 0xE2, 0xA3, 0xEE, 0x20, 0xF1, +0xC9, 0xAC, 0x98, 0xDC, 0x29, 0xD9, 0x23, 0x3D, 0xA4, 0x80, 0xC7, 0xDF, 0xF1, 0x8C, 0xC2, 0xA6, +0xBC, 0x3D, 0xFD, 0x33, 0x0A, 0xBF, 0xFE, 0x6D, 0xCF, 0x28, 0x6C, 0xE8, 0xFF, 0x8A, 0x67, 0x14, +0x9E, 0xD4, 0x67, 0x14, 0x2E, 0x2E, 0x3C, 0x24, 0x40, 0x47, 0x52, 0x38, 0xFD, 0x18, 0x76, 0x90, +0xAB, 0xCF, 0xEE, 0x8D, 0x58, 0x88, 0xB0, 0x5F, 0x60, 0x04, 0x3E, 0x26, 0x7B, 0xCA, 0xAD, 0x1E, +0x60, 0x6D, 0xFE, 0xED, 0x4F, 0xB9, 0x2D, 0x7A, 0xC7, 0x66, 0xCC, 0xA7, 0xDC, 0xEA, 0x84, 0x98, +0xE4, 0xC7, 0x1D, 0xC3, 0x87, 0xAA, 0xCC, 0x30, 0xA4, 0x5B, 0x56, 0x0B, 0x0E, 0x32, 0x99, 0x87, +0x40, 0xF6, 0x87, 0x54, 0x83, 0x2D, 0x56, 0x00, 0x72, 0x3C, 0xC1, 0xC7, 0x5F, 0xF1, 0x9C, 0xF4, +0xA6, 0x72, 0xB1, 0xEA, 0xD4, 0xCF, 0x49, 0x5F, 0xFF, 0x87, 0x9E, 0x93, 0x7E, 0x2A, 0xE4, 0x1F, +0xF5, 0xF9, 0xDE, 0xA0, 0xE2, 0xE5, 0x0F, 0xC9, 0x41, 0xA6, 0x8F, 0xB2, 0x8E, 0x4B, 0x24, 0x3C, +0xAA, 0x10, 0xFF, 0xD0, 0x08, 0xB9, 0x9B, 0x07, 0x8E, 0xE9, 0xBC, 0x9C, 0x9F, 0x97, 0xDF, 0x8B, +0xF3, 0xB1, 0x01, 0x90, 0x09, 0xB4, 0xFE, 0x76, 0xD8, 0x5C, 0x4D, 0x48, 0xC3, 0xDA, 0x96, 0x72, +0x98, 0xD5, 0x44, 0x76, 0xE5, 0x1D, 0xF9, 0x87, 0x28, 0xA6, 0x77, 0x59, 0x2D, 0xFC, 0x55, 0x8A, +0xB2, 0x62, 0x8A, 0x19, 0xC8, 0x0C, 0x10, 0x7A, 0x1D, 0x04, 0x69, 0x05, 0x15, 0x9E, 0x05, 0x1D, +0x53, 0x2A, 0x71, 0xA0, 0x7A, 0x91, 0x68, 0xB9, 0x63, 0xD6, 0x50, 0xB3, 0xEE, 0xD3, 0x8D, 0x6C, +0x21, 0x73, 0x42, 0x2C, 0x31, 0x09, 0xD9, 0x84, 0x44, 0x88, 0x35, 0x85, 0xD6, 0xB1, 0x14, 0x04, +0x42, 0x50, 0xFD, 0xE3, 0x81, 0x33, 0x4C, 0x04, 0xB5, 0x7C, 0xC4, 0x08, 0xD9, 0xED, 0xEC, 0x68, +0xCB, 0x22, 0xC0, 0xD2, 0xA3, 0x95, 0x98, 0x7F, 0x28, 0x0E, 0x02, 0x21, 0xBA, 0x7D, 0xBC, 0xC4, +0x08, 0xE1, 0xF9, 0x9D, 0x8B, 0x7E, 0x34, 0xF8, 0x1B, 0xBB, 0xDD, 0xF1, 0xA8, 0x13, 0xF2, 0x7C, +0x6A, 0xE3, 0xB1, 0x1B, 0xD9, 0x44, 0x9A, 0x56, 0xC3, 0x68, 0x50, 0x54, 0x3F, 0x6C, 0x22, 0xE2, +0x1A, 0x90, 0x29, 0xF4, 0xF4, 0x10, 0x26, 0xE4, 0x70, 0xB8, 0xAD, 0xA8, 0x94, 0xA5, 0xAB, 0x9F, +0x36, 0x77, 0x2B, 0xE3, 0x23, 0x14, 0x0C, 0xDB, 0x71, 0xDD, 0x55, 0x4F, 0x31, 0xF1, 0xCE, 0x95, +0x06, 0xCE, 0x4C, 0x56, 0x1A, 0x97, 0x91, 0x0C, 0xE4, 0x5E, 0x72, 0x10, 0x08, 0x11, 0x11, 0x69, +0xE9, 0x88, 0x11, 0xB2, 0x68, 0x5B, 0x06, 0x43, 0xBF, 0xF6, 0x3B, 0xD3, 0x31, 0xC0, 0x87, 0x69, +0x7F, 0x6A, 0xEE, 0xEE, 0x3E, 0x3D, 0xCD, 0x5B, 0x7A, 0xF3, 0x10, 0xE7, 0x63, 0x2A, 0x0F, 0x59, +0x33, 0xCD, 0x7B, 0x1B, 0x22, 0x04, 0x13, 0x19, 0xC0, 0x84, 0xB3, 0x14, 0x15, 0x3E, 0x9A, 0x96, +0x0F, 0x53, 0x84, 0x0F, 0x27, 0x64, 0xC0, 0x46, 0xE0, 0x23, 0x38, 0xCB, 0xFB, 0xA2, 0xA7, 0x21, +0xB3, 0x7B, 0x93, 0xEA, 0x20, 0xFE, 0xCE, 0x4C, 0xF3, 0x8F, 0x28, 0x21, 0x8B, 0xB7, 0x5F, 0x14, +0x38, 0x0A, 0x51, 0x28, 0x85, 0xC2, 0x9D, 0x29, 0xE0, 0x21, 0xA7, 0x37, 0xED, 0xF7, 0x0D, 0x1E, +0x22, 0x15, 0x0A, 0x4B, 0xB1, 0x38, 0x0A, 0xDA, 0x47, 0xBC, 0x50, 0x18, 0x57, 0xB4, 0x50, 0x88, +0x9C, 0x90, 0xEC, 0xD7, 0x2D, 0x95, 0xD2, 0x05, 0x42, 0x38, 0xF9, 0x93, 0x9D, 0x2F, 0xC9, 0xE0, +0x78, 0xD3, 0xC7, 0xB9, 0x2C, 0x9C, 0x03, 0x2D, 0x7C, 0xDC, 0xE8, 0x84, 0xF8, 0xB8, 0x7C, 0xC1, +0x40, 0x86, 0xF8, 0xD8, 0x6A, 0x0E, 0xB2, 0xF5, 0x05, 0x0F, 0x19, 0xF0, 0x8F, 0x6D, 0x84, 0x10, +0xFF, 0x2D, 0xA5, 0xA9, 0xDE, 0x99, 0xF1, 0xD1, 0x49, 0x23, 0xE4, 0xF4, 0xAE, 0x7D, 0x33, 0xBF, +0x13, 0xFC, 0x03, 0x09, 0x21, 0x47, 0x9C, 0x0F, 0x34, 0x25, 0x1F, 0x71, 0x42, 0xAA, 0xBF, 0x2B, +0xF6, 0x01, 0x21, 0x1A, 0x1F, 0x2E, 0x95, 0x8F, 0xE4, 0x20, 0xB6, 0x02, 0x86, 0x9E, 0x69, 0x9A, +0xE3, 0x72, 0x06, 0x20, 0x0B, 0xD9, 0x3F, 0xD2, 0x62, 0xBD, 0x4B, 0xC8, 0xCF, 0xB5, 0x3A, 0x08, +0x88, 0xCC, 0x34, 0xFF, 0xE8, 0x7E, 0x14, 0x99, 0x0F, 0x5F, 0xEA, 0xE9, 0xF9, 0xA2, 0xF5, 0x8F, +0xF3, 0xA6, 0xE1, 0x81, 0x87, 0x0C, 0x1E, 0xD6, 0x43, 0x23, 0x10, 0xF2, 0x39, 0x3E, 0xD0, 0x64, +0x7C, 0x5C, 0x4F, 0x48, 0xCD, 0x2D, 0x2F, 0x77, 0xCD, 0xCD, 0x7C, 0x20, 0x3D, 0x4F, 0x7C, 0x20, +0xCD, 0x3F, 0x1C, 0x92, 0xBD, 0x11, 0x82, 0x75, 0xA0, 0xCC, 0x3F, 0x58, 0x54, 0xFF, 0xE8, 0xC2, +0x1B, 0x0C, 0xA4, 0xC6, 0xC7, 0x96, 0x71, 0xDF, 0xE3, 0x20, 0xFC, 0x2D, 0xEB, 0x7C, 0x99, 0x0D, +0xF9, 0x87, 0xC3, 0x11, 0xE0, 0xA3, 0x8B, 0xB1, 0x48, 0xD5, 0x7D, 0x41, 0x4C, 0x5F, 0x21, 0x08, +0x19, 0x00, 0x04, 0x0F, 0x21, 0x55, 0x97, 0x2E, 0x99, 0xFA, 0x58, 0x51, 0xE6, 0xAD, 0x2B, 0xD2, +0xF3, 0x5C, 0x53, 0xF0, 0x81, 0x0E, 0xA3, 0xA4, 0xEA, 0xFC, 0xFA, 0xB9, 0xE6, 0x75, 0x2B, 0xCE, +0x77, 0xBE, 0xE8, 0x1F, 0xC7, 0xC4, 0xC9, 0x3E, 0x9B, 0xCC, 0x2A, 0xC4, 0x57, 0x00, 0xA2, 0x78, +0x88, 0x7F, 0x5E, 0xAB, 0x1E, 0x02, 0x18, 0xAA, 0x83, 0xB0, 0x08, 0xFE, 0x61, 0x2B, 0x35, 0xCC, +0xBA, 0x70, 0xCA, 0x56, 0x35, 0x5F, 0x35, 0x3E, 0x8E, 0xB4, 0x61, 0x42, 0x4E, 0x99, 0xF6, 0xB5, +0xE9, 0xDE, 0x39, 0xF9, 0x07, 0xBA, 0x45, 0x7A, 0x7A, 0xAE, 0x5F, 0x74, 0x3B, 0x25, 0x1F, 0xF1, +0xC9, 0xAC, 0x81, 0xE9, 0x2B, 0x89, 0x10, 0xCA, 0x1F, 0xA7, 0x4C, 0x92, 0x7F, 0x38, 0x26, 0x44, +0x59, 0xC5, 0xAC, 0xD4, 0xBE, 0xE6, 0xC3, 0x86, 0x65, 0x18, 0x0F, 0x5F, 0xDC, 0x43, 0x6A, 0x06, +0x32, 0x7B, 0x1F, 0xED, 0x18, 0x49, 0x9F, 0x83, 0x6C, 0x33, 0x07, 0xC1, 0x43, 0x6A, 0xD3, 0x57, +0x5B, 0xEB, 0x1C, 0x5A, 0x25, 0x3D, 0x67, 0xB1, 0x56, 0xB9, 0x5A, 0x0A, 0xE7, 0xB0, 0x85, 0x54, +0x7D, 0x90, 0x0F, 0x04, 0x21, 0xBD, 0x78, 0xAC, 0x9A, 0xE6, 0xD4, 0x76, 0xAB, 0x1A, 0x21, 0x9F, +0xF3, 0x0F, 0xF4, 0x34, 0x19, 0x1F, 0x10, 0x32, 0x4A, 0x94, 0x95, 0xED, 0x99, 0x7A, 0x22, 0xE2, +0x7C, 0xE4, 0x1A, 0x98, 0xBF, 0xF2, 0xE6, 0x69, 0x48, 0xB5, 0x20, 0x02, 0x1E, 0xA2, 0x87, 0xBC, +0xF8, 0x80, 0x3C, 0x8B, 0xFD, 0xEB, 0x7C, 0x5C, 0xEF, 0x20, 0xD6, 0xF7, 0xC1, 0xD7, 0xC5, 0x79, +0x9D, 0x95, 0x39, 0xAB, 0x1A, 0x1E, 0x2C, 0xBD, 0xE7, 0xFF, 0xEF, 0x30, 0xE1, 0xB3, 0xFD, 0xA9, +0xF2, 0x01, 0x21, 0xF3, 0xF2, 0x9C, 0x64, 0xD2, 0x29, 0xF5, 0x6C, 0x12, 0x52, 0x8D, 0xE0, 0x1F, +0x53, 0x11, 0xE2, 0xE5, 0x8F, 0xB1, 0x3C, 0xA4, 0x29, 0x24, 0xE9, 0xE8, 0xE4, 0x0B, 0x05, 0x91, +0x01, 0x3E, 0x50, 0x0D, 0x0F, 0xD3, 0x31, 0x35, 0x02, 0x84, 0x3E, 0x3C, 0xF0, 0x0F, 0xD1, 0x43, +0xCA, 0xC3, 0xB2, 0x96, 0x7E, 0x6C, 0x73, 0x07, 0xD9, 0x16, 0x1C, 0x84, 0xAF, 0x81, 0x07, 0x05, +0x91, 0x1E, 0xFF, 0x20, 0xCE, 0x63, 0xD2, 0x40, 0x48, 0x3F, 0x58, 0xEC, 0x55, 0xAE, 0x12, 0xA6, +0x5D, 0xE7, 0x4E, 0xCC, 0x7C, 0x47, 0xBB, 0x51, 0x29, 0x7F, 0x94, 0x08, 0x59, 0xDD, 0xD5, 0xA7, +0xAF, 0x4E, 0xEF, 0xDD, 0x0A, 0x42, 0xF2, 0x5C, 0x24, 0xCE, 0xC7, 0x74, 0x84, 0x50, 0xFE, 0x40, +0x4A, 0x41, 0x44, 0xCF, 0x43, 0x7C, 0xBF, 0xE0, 0x1D, 0xBE, 0x85, 0x87, 0xE4, 0xE5, 0x8F, 0xB2, +0x2A, 0x7C, 0x9C, 0x39, 0x08, 0x87, 0xB6, 0x54, 0x1A, 0x23, 0xFD, 0xC8, 0x17, 0x25, 0xFD, 0xA8, +0x4C, 0x66, 0xC1, 0x87, 0xEA, 0x20, 0x7C, 0x11, 0x44, 0xFA, 0x3D, 0x04, 0x4E, 0x3B, 0x27, 0xEB, +0x7E, 0x9C, 0x6A, 0x75, 0xB0, 0x64, 0x96, 0xE5, 0x9B, 0xFE, 0x74, 0x64, 0xA4, 0xAE, 0xFB, 0xAC, +0x49, 0x2F, 0x9D, 0x0F, 0x2F, 0x19, 0xCE, 0x7B, 0xF8, 0xF0, 0xF8, 0x21, 0x75, 0xA8, 0x14, 0x5E, +0x8D, 0xC2, 0xC7, 0x38, 0x45, 0xF5, 0xE0, 0x8D, 0xE3, 0xE2, 0x25, 0x43, 0x88, 0x70, 0xB1, 0x0D, +0x21, 0xF0, 0xB1, 0xC2, 0xBC, 0x25, 0x42, 0x38, 0x98, 0x97, 0x0E, 0x62, 0x02, 0x8D, 0x5A, 0x7C, +0xC5, 0x52, 0x14, 0xE3, 0x12, 0x07, 0x71, 0x6A, 0x2A, 0xFE, 0x91, 0x3B, 0x88, 0x35, 0xDD, 0x41, +0x4A, 0x84, 0xBC, 0xBC, 0x64, 0xDF, 0x7D, 0x60, 0x32, 0x8B, 0x5F, 0x73, 0x28, 0x11, 0xC1, 0x3F, +0x12, 0x19, 0x38, 0x08, 0xF3, 0x82, 0x52, 0x78, 0xC5, 0x41, 0x32, 0x0F, 0xC9, 0xE7, 0x24, 0x11, +0x8C, 0x9C, 0x48, 0x44, 0x42, 0x7C, 0xC4, 0x6F, 0x3D, 0x3A, 0x19, 0x1F, 0x78, 0xC8, 0xF5, 0x05, +0x91, 0xB3, 0xFD, 0x72, 0xF2, 0xCE, 0x16, 0x08, 0xC9, 0xFD, 0xA3, 0xBA, 0xF7, 0x6B, 0xD3, 0xBB, +0x38, 0x08, 0x1E, 0xD2, 0x53, 0x3E, 0xF7, 0x45, 0x48, 0x44, 0xF8, 0xC8, 0x06, 0x0F, 0xC6, 0x65, +0x89, 0x8F, 0x11, 0x1C, 0xA4, 0xE0, 0x21, 0xE4, 0x41, 0xD9, 0x4F, 0x51, 0x9E, 0xCC, 0xAA, 0xFD, +0x96, 0xE9, 0x95, 0xF3, 0xB1, 0x27, 0xFD, 0xC0, 0x41, 0x7C, 0xDB, 0x9A, 0x00, 0x08, 0xDA, 0x77, +0x25, 0x43, 0xFC, 0xE3, 0x96, 0xF0, 0x8A, 0x08, 0x8B, 0x8D, 0x89, 0xF8, 0x80, 0x90, 0xB1, 0xF9, +0x18, 0xB1, 0x64, 0xC8, 0x9E, 0xC8, 0x74, 0x82, 0x90, 0x0B, 0x3E, 0x4E, 0x55, 0x7D, 0xE4, 0x23, +0x6B, 0xD9, 0x1F, 0x2A, 0xE5, 0x0F, 0x29, 0xCC, 0x62, 0x5C, 0x32, 0x22, 0x19, 0x97, 0x45, 0xFF, +0xE8, 0x73, 0x90, 0xED, 0xA5, 0x83, 0x6C, 0x6B, 0x0E, 0x02, 0x21, 0x00, 0x52, 0x74, 0x10, 0xF7, +0x32, 0x35, 0xBE, 0x62, 0xC9, 0xF8, 0x68, 0x71, 0xC8, 0x1D, 0xC4, 0xB7, 0xD3, 0x17, 0x64, 0x3E, +0x28, 0xAA, 0xC3, 0x47, 0x61, 0x04, 0x64, 0x21, 0xF7, 0x55, 0xD3, 0x57, 0xFA, 0x23, 0x74, 0x46, +0xE0, 0x63, 0x2A, 0x42, 0x7C, 0x67, 0x60, 0x22, 0x97, 0x91, 0xE8, 0xA6, 0x39, 0x40, 0x08, 0xE5, +0x0F, 0x19, 0x91, 0x6E, 0x5E, 0x92, 0xE6, 0x2B, 0x3C, 0x24, 0xE7, 0xA3, 0x3E, 0x6E, 0x0A, 0xFE, +0x81, 0x83, 0x90, 0x85, 0xD0, 0x67, 0xE5, 0x8F, 0x91, 0x1C, 0xC4, 0xB6, 0x29, 0xAA, 0x83, 0x43, +0x9E, 0x09, 0x79, 0x97, 0x9A, 0xEC, 0x1F, 0x10, 0x42, 0x7C, 0x45, 0xBE, 0x51, 0x74, 0x10, 0x6B, +0x32, 0x1E, 0xF9, 0x89, 0x59, 0x73, 0x42, 0x08, 0x7F, 0xC1, 0x06, 0xF1, 0xF6, 0xF5, 0x67, 0x27, +0x1E, 0x1E, 0x04, 0x8D, 0xC2, 0xC7, 0x14, 0xA9, 0x7A, 0x16, 0x73, 0xBA, 0x9C, 0x92, 0x24, 0xFB, +0x2B, 0x73, 0x42, 0x55, 0x69, 0xE7, 0x23, 0xB8, 0x28, 0x3A, 0x08, 0x25, 0x43, 0xF8, 0x90, 0x3D, +0x04, 0xDF, 0x28, 0x38, 0x08, 0x3E, 0xD2, 0xE3, 0x1F, 0xB6, 0x4D, 0x4F, 0x73, 0x07, 0x91, 0x44, +0x41, 0x04, 0xAF, 0xB8, 0xF8, 0xEE, 0xD9, 0x64, 0x96, 0x96, 0x7F, 0xB0, 0xE4, 0xF3, 0x57, 0x7D, +0x0E, 0xE2, 0x41, 0xAC, 0xC8, 0x07, 0xA7, 0x9D, 0xDC, 0xDD, 0x39, 0x1F, 0x70, 0x80, 0x89, 0xF8, +0xA7, 0x25, 0xBA, 0xBA, 0xFC, 0xA1, 0x69, 0x4C, 0x3E, 0x46, 0x2C, 0x19, 0xB2, 0x33, 0xB2, 0xAD, +0xCB, 0x4C, 0x64, 0x9E, 0x9D, 0x5E, 0xA2, 0x22, 0xD2, 0x1D, 0xBB, 0x82, 0x83, 0x00, 0x0B, 0x84, +0xE0, 0x1F, 0x8A, 0x87, 0x30, 0x12, 0x2B, 0x0E, 0x62, 0xAF, 0xAC, 0xFC, 0x21, 0x38, 0xC8, 0xF2, +0x5E, 0x25, 0x24, 0x89, 0x49, 0x34, 0xBE, 0x2F, 0x0E, 0xC2, 0xBB, 0x22, 0x1E, 0x2C, 0xE7, 0xE5, +0xC1, 0x63, 0xC5, 0x41, 0xBC, 0xE9, 0x7C, 0x50, 0x54, 0xCF, 0xA7, 0x77, 0x89, 0xAD, 0x4E, 0xE4, +0x24, 0x64, 0xEA, 0xA3, 0xF3, 0x81, 0xC6, 0xE3, 0x63, 0xC4, 0x92, 0x21, 0xFB, 0x80, 0xDD, 0x92, +0x96, 0x1C, 0x17, 0xCA, 0x1F, 0x92, 0xF0, 0x8F, 0x0E, 0x09, 0xDA, 0xE5, 0x66, 0x12, 0x7C, 0x28, +0x23, 0x07, 0x3C, 0x18, 0x98, 0xD9, 0x3C, 0x16, 0x3D, 0x84, 0xC0, 0x47, 0x4D, 0xBA, 0x83, 0x90, +0x87, 0xBC, 0xCC, 0x04, 0x07, 0xF1, 0x64, 0x89, 0x02, 0xA1, 0xB2, 0x24, 0x40, 0x5A, 0x0E, 0x86, +0x1C, 0xC4, 0x37, 0x34, 0x3E, 0x28, 0x19, 0x5A, 0x22, 0x82, 0x57, 0xB0, 0x85, 0x2E, 0xD9, 0x99, +0x92, 0x8F, 0x38, 0x22, 0x94, 0x07, 0x27, 0x8B, 0xB2, 0x40, 0x20, 0xD3, 0xCA, 0x3B, 0xC4, 0xE9, +0x25, 0x3A, 0x21, 0x1C, 0xD7, 0xB2, 0x83, 0x50, 0x12, 0x91, 0xF8, 0x60, 0xC1, 0x3F, 0x8A, 0x23, +0xB2, 0xEB, 0xC9, 0x90, 0x3D, 0xBC, 0xD2, 0xB4, 0xC4, 0x41, 0xA4, 0x28, 0x6B, 0x26, 0x3B, 0x88, +0x11, 0x6D, 0x5A, 0xD8, 0x4B, 0x6C, 0xB3, 0xE5, 0xC2, 0xF7, 0xA0, 0xE0, 0x20, 0x4E, 0x88, 0x7E, +0x8F, 0x99, 0x36, 0xCC, 0x6A, 0x22, 0x8A, 0x5D, 0x5D, 0x7B, 0x80, 0x0F, 0x51, 0xD3, 0xD8, 0x07, +0x1E, 0x12, 0x82, 0xDB, 0xF9, 0x10, 0x75, 0x6B, 0xBB, 0xF2, 0xB4, 0x97, 0x75, 0x62, 0x7A, 0xB7, +0xEA, 0x20, 0xEF, 0xB5, 0x61, 0xC3, 0x23, 0x32, 0x72, 0x98, 0xBE, 0x2A, 0x8F, 0xC8, 0xBC, 0x58, +0x67, 0x89, 0x88, 0x8D, 0x65, 0x19, 0x90, 0x3F, 0x5E, 0x1E, 0xC5, 0x76, 0xFF, 0xF8, 0xC2, 0x85, +0x28, 0xDD, 0xEA, 0xBD, 0xE7, 0xDD, 0x6E, 0x7B, 0xEB, 0xB7, 0xA8, 0x96, 0x65, 0xFE, 0xA1, 0x39, +0x88, 0xB5, 0xBD, 0x6D, 0x36, 0xCD, 0x4A, 0x6C, 0xDF, 0x9B, 0xD5, 0x69, 0xD5, 0x04, 0xB5, 0xD1, +0xC4, 0xDD, 0x19, 0x9E, 0xEC, 0x43, 0x5E, 0x7B, 0x59, 0x97, 0xEE, 0x5F, 0xB2, 0xB6, 0x96, 0x6B, +0x5D, 0x6A, 0xA9, 0x7E, 0xFE, 0xF4, 0xA4, 0xBD, 0xAC, 0xC3, 0x43, 0x34, 0x35, 0x41, 0xAD, 0x2C, +0x16, 0x0D, 0xB4, 0xFD, 0xD1, 0x34, 0xE4, 0x20, 0x1D, 0x3E, 0x6D, 0x1E, 0x12, 0x93, 0x0F, 0xB9, +0xE2, 0x88, 0xA4, 0x67, 0x74, 0x3E, 0x6E, 0xB5, 0xF6, 0x92, 0x66, 0xB1, 0xBE, 0x7C, 0x79, 0xFC, +0x5D, 0x6C, 0x5F, 0x5E, 0x66, 0x91, 0x66, 0xFE, 0xF7, 0xB3, 0x0D, 0x7B, 0xB5, 0x2D, 0x7F, 0x3E, +0xCA, 0x4A, 0xBC, 0x9C, 0x7E, 0xFA, 0xE9, 0xA7, 0x95, 0xDC, 0xE6, 0xDC, 0xC1, 0x46, 0x91, 0x7A, +0xB7, 0x45, 0xAA, 0x25, 0x4F, 0x11, 0xA5, 0x7B, 0x8C, 0x7A, 0xCB, 0x5E, 0xA5, 0x66, 0x7F, 0xFD, +0x49, 0xD7, 0xB7, 0x27, 0xAA, 0xE4, 0x9A, 0x2C, 0x6C, 0x8A, 0x68, 0x3E, 0x8F, 0xEC, 0xF8, 0x9F, +0x9E, 0x9F, 0x8F, 0x21, 0xFD, 0xBC, 0x5C, 0x06, 0x86, 0x8D, 0x01, 0x12, 0x1B, 0x96, 0xED, 0x88, +0x17, 0x5F, 0x8F, 0xBB, 0x1F, 0xFE, 0x78, 0xFC, 0xF2, 0x68, 0x2F, 0xB1, 0xA5, 0x54, 0xC8, 0xBA, +0xB6, 0xA7, 0xB5, 0x5D, 0xDB, 0xB3, 0x9D, 0x7A, 0xD3, 0x42, 0xD7, 0xF2, 0xE7, 0x10, 0x22, 0xBB, +0xE7, 0xE7, 0xDD, 0xB3, 0xED, 0x7F, 0x55, 0xF3, 0x18, 0x20, 0x16, 0x47, 0x44, 0x10, 0x39, 0xB4, +0x7A, 0x78, 0x12, 0xF5, 0x60, 0x7C, 0x38, 0x21, 0xF9, 0xAB, 0xFC, 0x9E, 0x79, 0x88, 0x11, 0xA2, +0xFF, 0xFF, 0x86, 0xAB, 0x4E, 0xC8, 0x26, 0x76, 0x87, 0xB8, 0xC6, 0xF8, 0x30, 0xAD, 0x54, 0xFD, +0xB4, 0x7A, 0x6E, 0x8F, 0x55, 0x08, 0x8F, 0x9F, 0x75, 0x0F, 0x59, 0x12, 0x62, 0x55, 0x1B, 0x63, +0xF6, 0xE5, 0xCB, 0x4B, 0x3B, 0x96, 0xA5, 0xD7, 0x8B, 0x39, 0x88, 0x0E, 0x47, 0xFA, 0x8F, 0x67, +0x2A, 0xAE, 0x49, 0x7A, 0x94, 0xB5, 0x6C, 0x01, 0x59, 0x1E, 0x45, 0x2D, 0x77, 0xCF, 0xB6, 0xD3, +0x77, 0xCF, 0xDF, 0xA5, 0x03, 0xF5, 0x9B, 0xF1, 0x91, 0x14, 0xE2, 0xC3, 0x24, 0xF3, 0xF1, 0x0A, +0x21, 0x22, 0x1F, 0xBD, 0x88, 0x14, 0xED, 0xC3, 0xA4, 0x13, 0xF2, 0x70, 0x78, 0xD3, 0xAD, 0x28, +0x4F, 0x2C, 0x64, 0x40, 0xE6, 0x49, 0xAB, 0xDF, 0x64, 0x3E, 0xF6, 0xCF, 0x10, 0x22, 0xF1, 0x61, +0x2D, 0xC6, 0x87, 0x3E, 0x2A, 0x5F, 0xD2, 0x48, 0xC6, 0x13, 0x06, 0x36, 0xDA, 0x59, 0x2C, 0xD5, +0x40, 0x0C, 0x90, 0xB6, 0x49, 0x3F, 0xCB, 0xBB, 0xBA, 0x87, 0x3A, 0xCC, 0x96, 0xF5, 0x96, 0xF6, +0x4A, 0xDB, 0xAB, 0xFE, 0x61, 0xDA, 0x1B, 0x22, 0xA2, 0x87, 0xCC, 0x3B, 0x35, 0x32, 0x1F, 0x49, +0xBA, 0x7F, 0x40, 0x88, 0xCA, 0x47, 0x99, 0x10, 0x6F, 0x17, 0x5D, 0x8C, 0x90, 0xD7, 0xCD, 0xC1, +0xA5, 0xE1, 0x11, 0xBD, 0x4B, 0xF5, 0xDC, 0xA5, 0xED, 0xF8, 0xEF, 0xF6, 0x31, 0x96, 0xB4, 0x53, +0xF9, 0xF0, 0xC6, 0xA8, 0xA9, 0x35, 0xE6, 0x79, 0x45, 0x3E, 0x0C, 0x8F, 0xD4, 0xEA, 0x74, 0xF8, +0xD6, 0x97, 0xFB, 0x04, 0xC8, 0x97, 0xDF, 0x87, 0xF1, 0x48, 0xFF, 0x69, 0xFA, 0xDF, 0x31, 0xAB, +0x5A, 0x43, 0xEF, 0x4F, 0xCB, 0xE1, 0x69, 0x8C, 0x6C, 0x61, 0x1F, 0x10, 0x22, 0xF1, 0xE1, 0x52, +0x3C, 0xE4, 0x37, 0xC3, 0x03, 0xDD, 0x08, 0xE3, 0xE0, 0x6C, 0xD0, 0xDC, 0x6E, 0x24, 0x3E, 0x5C, +0x9B, 0xE1, 0x11, 0x9C, 0xD2, 0xF3, 0x3A, 0x21, 0x79, 0x87, 0xEC, 0x9F, 0x0B, 0xFE, 0x81, 0x54, +0xFF, 0xD0, 0x11, 0x69, 0xE6, 0x67, 0xFA, 0x3E, 0xEC, 0x1F, 0xDF, 0xF7, 0x66, 0x1F, 0x01, 0x42, +0xD2, 0x30, 0xF0, 0x96, 0xF2, 0x57, 0x1F, 0x25, 0xE5, 0x35, 0x7C, 0x68, 0x84, 0xCC, 0x12, 0x1A, +0xD6, 0x55, 0x4C, 0x84, 0x4D, 0xEB, 0xDF, 0xEA, 0x20, 0xAA, 0x7F, 0x78, 0x13, 0x00, 0xB9, 0xD0, +0x9B, 0x87, 0xF0, 0xF4, 0xCE, 0x37, 0xF4, 0xD9, 0x5A, 0x24, 0xFF, 0xA0, 0x69, 0x7C, 0xB8, 0x76, +0xFB, 0xEF, 0x83, 0x26, 0x32, 0x3F, 0x97, 0x94, 0x9E, 0x37, 0x67, 0x52, 0xF8, 0x80, 0x90, 0xC3, +0xA0, 0x7D, 0x7C, 0xFB, 0x75, 0x9D, 0x11, 0xC2, 0xAB, 0x84, 0xC7, 0x05, 0x4F, 0xDF, 0x06, 0x01, +0x39, 0x98, 0x7F, 0x20, 0x8D, 0x0F, 0x24, 0xD9, 0x07, 0x1A, 0x0C, 0xAF, 0xBE, 0xEF, 0xCF, 0x8F, +0x95, 0x16, 0x5F, 0x79, 0xB3, 0x17, 0xE3, 0xA5, 0xBC, 0x86, 0x0F, 0x85, 0x10, 0x7B, 0xF9, 0x00, +0xF6, 0xE1, 0x5C, 0x60, 0x83, 0xAD, 0x36, 0x43, 0xEF, 0x0A, 0x85, 0x42, 0x90, 0xE5, 0xF6, 0xE1, +0x9C, 0x0C, 0x85, 0x59, 0x08, 0x0F, 0x69, 0x99, 0x4F, 0xFD, 0x22, 0xA1, 0xEF, 0xB0, 0x2C, 0xF1, +0x8F, 0xAE, 0x0D, 0x27, 0x22, 0xCF, 0x49, 0x10, 0x32, 0x57, 0xFC, 0x03, 0x89, 0x7C, 0x00, 0xC8, +0x46, 0xE1, 0x03, 0x42, 0xBE, 0x55, 0x01, 0xB9, 0xE4, 0xE3, 0xDB, 0x50, 0x80, 0x95, 0xCB, 0xEA, +0x85, 0x75, 0x3E, 0x32, 0x69, 0x7C, 0x20, 0x0D, 0x10, 0x08, 0xF9, 0x5E, 0x05, 0xE4, 0x94, 0xD2, +0x0F, 0x24, 0xF9, 0x07, 0x8D, 0x51, 0x52, 0x5A, 0xE3, 0x1F, 0xA8, 0x0E, 0x08, 0xFE, 0x91, 0x5A, +0xD9, 0x39, 0x68, 0xEF, 0x95, 0xF4, 0x1F, 0xEF, 0xEF, 0x87, 0xF0, 0xF0, 0xE6, 0x98, 0xD4, 0x4D, +0x04, 0xE1, 0x21, 0x9D, 0x2F, 0xB6, 0x4B, 0xDB, 0xCE, 0x1E, 0x75, 0xCB, 0x4E, 0x81, 0x90, 0x61, +0xFB, 0x40, 0xFB, 0xDD, 0xA9, 0xE6, 0x21, 0xF0, 0x21, 0x46, 0x59, 0x1F, 0xC6, 0xCC, 0xC0, 0xF4, +0xEE, 0x83, 0x40, 0x08, 0xF1, 0xD5, 0x2F, 0xEB, 0x5C, 0xC9, 0x38, 0x32, 0x48, 0x68, 0x99, 0x7E, +0xC1, 0x43, 0xAA, 0x7C, 0xA0, 0x8D, 0xC4, 0x07, 0x1A, 0x98, 0xBE, 0xCA, 0x55, 0xE7, 0xE3, 0xE3, +0xB1, 0x52, 0xFC, 0x83, 0x66, 0x63, 0x24, 0x1B, 0x2D, 0xAC, 0xCB, 0xF7, 0xEA, 0xAD, 0xF3, 0xC1, +0x10, 0xCE, 0x2C, 0x84, 0x2D, 0xDA, 0xE5, 0xA9, 0x26, 0x8F, 0xFD, 0x79, 0xC8, 0x23, 0xAE, 0x74, +0x19, 0x66, 0x89, 0x80, 0x78, 0x41, 0x24, 0xFD, 0xA2, 0xB6, 0x24, 0x75, 0x51, 0x96, 0xA9, 0x00, +0xC8, 0x52, 0xE0, 0x03, 0xB5, 0x05, 0x91, 0xB9, 0xC4, 0x07, 0x1E, 0xD2, 0x08, 0xFE, 0x51, 0xF3, +0x10, 0xF8, 0x40, 0x10, 0x52, 0x89, 0xAF, 0xD6, 0x05, 0xE5, 0x4C, 0x00, 0x4C, 0x49, 0xBF, 0xF4, +0x7B, 0x08, 0xAC, 0x8A, 0x84, 0x94, 0xAA, 0xE4, 0x43, 0xD3, 0x57, 0xC3, 0x1E, 0xC2, 0xF4, 0x95, +0xB5, 0x4C, 0x3B, 0xC9, 0x3F, 0x68, 0xD9, 0x68, 0xF1, 0x08, 0xC4, 0x89, 0x29, 0xA8, 0x96, 0x7E, +0x78, 0x0E, 0x4D, 0xAB, 0x9A, 0x02, 0xE7, 0x62, 0x25, 0x0B, 0xB9, 0x57, 0xEC, 0xE3, 0x11, 0x17, +0x91, 0xF0, 0xC8, 0x26, 0xB3, 0x78, 0x18, 0x3C, 0x4F, 0xBC, 0x76, 0x3E, 0xF2, 0x26, 0xF0, 0x81, +0xF6, 0xBD, 0x05, 0x91, 0xEF, 0xF0, 0x21, 0x78, 0x08, 0x7C, 0xE4, 0x92, 0xF8, 0x80, 0x90, 0x87, +0xEA, 0xF4, 0x55, 0xAE, 0x6F, 0x80, 0x41, 0x57, 0xF6, 0x0F, 0x7B, 0x11, 0x65, 0x09, 0x7C, 0x40, +0x48, 0xB9, 0xFC, 0x51, 0x94, 0x14, 0x5E, 0xA1, 0x81, 0xE9, 0x5D, 0x9D, 0x90, 0xE2, 0x40, 0x58, +0xFA, 0x30, 0x61, 0x4E, 0xEB, 0x7D, 0x55, 0xD6, 0xC0, 0xF4, 0xAE, 0xBF, 0xB2, 0x3C, 0xA4, 0xE4, +0x1F, 0x3F, 0x5A, 0xC3, 0x41, 0x2A, 0x84, 0xE0, 0x4A, 0x24, 0x38, 0x95, 0x5C, 0xBD, 0x47, 0x0E, +0xBE, 0xDB, 0x25, 0x3E, 0x09, 0x1F, 0x97, 0x4D, 0xE1, 0x03, 0xF5, 0x11, 0x02, 0x1F, 0x9A, 0x87, +0x34, 0x3D, 0xBA, 0xFD, 0x93, 0xB6, 0xB3, 0xD9, 0x6D, 0xA4, 0x88, 0xA2, 0x30, 0x62, 0x47, 0xE4, +0x45, 0x16, 0x48, 0x31, 0x62, 0x1B, 0xAC, 0x2C, 0x90, 0x12, 0x09, 0x07, 0xA9, 0x91, 0x58, 0x20, +0x22, 0x21, 0xAC, 0x28, 0xEB, 0xB0, 0x0E, 0xC1, 0x92, 0xF3, 0x06, 0xE0, 0xD9, 0xF1, 0x02, 0x96, +0x7A, 0xC9, 0xC3, 0x72, 0xFB, 0xFA, 0x96, 0x3F, 0xBB, 0x5C, 0x5D, 0x7D, 0x2A, 0x84, 0x53, 0xE5, +0xEE, 0x8E, 0x67, 0x70, 0x3C, 0x76, 0x7D, 0x7D, 0xEE, 0x4F, 0xDB, 0xBC, 0x2A, 0x7C, 0xA0, 0xDF, +0xCA, 0x7C, 0xC4, 0x12, 0x2F, 0x08, 0x32, 0x8E, 0xC7, 0x98, 0x20, 0xA4, 0xC0, 0x87, 0x4C, 0xC8, +0xE8, 0x95, 0x56, 0x32, 0x1F, 0x34, 0x44, 0x24, 0x3E, 0x20, 0xA4, 0x8C, 0x47, 0x99, 0x10, 0x5B, +0x24, 0x11, 0x67, 0xC5, 0x59, 0x95, 0xF2, 0x55, 0x51, 0xE3, 0xFE, 0x71, 0x3E, 0x20, 0xA3, 0x18, +0x5F, 0x01, 0x48, 0xC5, 0x43, 0x20, 0x22, 0x4B, 0x70, 0x8A, 0x80, 0xA0, 0x62, 0x22, 0x12, 0x76, +0x49, 0xB1, 0x6E, 0x8C, 0x0F, 0xBB, 0xBF, 0x85, 0x0F, 0x1B, 0x6F, 0xF3, 0x0A, 0x1F, 0xA2, 0x87, +0x60, 0x1F, 0x92, 0x87, 0xBC, 0x22, 0x89, 0x90, 0x1F, 0x2B, 0x82, 0x0A, 0x26, 0xAA, 0x12, 0x42, +0xFB, 0x7C, 0x54, 0xE7, 0x68, 0x03, 0x48, 0x41, 0x12, 0x1F, 0x48, 0xE2, 0x03, 0xAD, 0xA4, 0xF8, +0x8A, 0x11, 0x1F, 0x18, 0xA2, 0x29, 0x02, 0x1F, 0x45, 0x4D, 0xF9, 0x87, 0x0D, 0x8E, 0x88, 0xB3, +0x0A, 0x7C, 0x7C, 0x01, 0x20, 0xF6, 0xC3, 0x40, 0x48, 0x01, 0x10, 0x58, 0xC3, 0x4A, 0xC6, 0xF3, +0x90, 0x31, 0xD1, 0x10, 0xC9, 0xFB, 0x1F, 0xA3, 0x84, 0x48, 0x7C, 0x10, 0x65, 0xFD, 0x6E, 0xEF, +0xCA, 0x74, 0x7C, 0x85, 0x34, 0xFF, 0x40, 0x1A, 0x1F, 0x44, 0x59, 0xB5, 0xF8, 0x4A, 0xF0, 0x90, +0x22, 0x1F, 0x38, 0x10, 0x84, 0xE0, 0x1F, 0x35, 0x49, 0xFE, 0x81, 0x24, 0x3E, 0xD0, 0x39, 0x1F, +0x94, 0x77, 0x35, 0x42, 0x32, 0xFB, 0x28, 0xA5, 0xEA, 0x34, 0x40, 0xE0, 0xA3, 0xAC, 0x31, 0x3E, +0x58, 0xCA, 0x1C, 0x05, 0x1F, 0x05, 0xFF, 0xC8, 0x73, 0x90, 0x72, 0x31, 0x0B, 0x20, 0x18, 0x90, +0xA7, 0xE2, 0x01, 0x21, 0x7B, 0x9D, 0xB4, 0xCF, 0x2B, 0x1E, 0x22, 0xF1, 0x41, 0xB9, 0x77, 0x2E, +0xE0, 0x81, 0x34, 0xFF, 0x40, 0x3F, 0x4B, 0x7C, 0xE0, 0x21, 0x79, 0x79, 0x97, 0xE5, 0x3D, 0x42, +0xC8, 0x69, 0x99, 0xB7, 0x2E, 0x8A, 0x59, 0xB4, 0xCF, 0xAB, 0x2A, 0xB4, 0xCF, 0xAB, 0x52, 0xF0, +0x40, 0xD9, 0xA9, 0xE9, 0x1A, 0x3E, 0x2A, 0x84, 0xC8, 0x7C, 0x2C, 0xC9, 0x58, 0x5D, 0xF0, 0xA1, +0x10, 0x62, 0x93, 0xF8, 0xA7, 0x34, 0x72, 0x44, 0x06, 0x3E, 0xBE, 0x28, 0x84, 0x58, 0xC5, 0x44, +0x04, 0xEC, 0x62, 0x92, 0x88, 0x14, 0xCA, 0xBD, 0x2A, 0x21, 0xDF, 0x63, 0x1F, 0xB5, 0x91, 0x11, +0xB2, 0xA9, 0x6B, 0xB5, 0xD9, 0xCE, 0x95, 0xF0, 0x0A, 0x89, 0x7C, 0xD0, 0x54, 0x57, 0xD2, 0x0F, +0x4C, 0x24, 0xE3, 0x03, 0x34, 0xEA, 0x61, 0x16, 0xFE, 0x51, 0x55, 0x56, 0xDE, 0x9D, 0x94, 0xE6, +0x1F, 0x48, 0x06, 0x84, 0xA6, 0x3A, 0xE5, 0x5D, 0xDA, 0xE7, 0x12, 0x21, 0x53, 0x2B, 0x21, 0x11, +0x42, 0x7C, 0xD5, 0x46, 0x48, 0x96, 0x40, 0x67, 0x47, 0x36, 0x4F, 0x08, 0xA9, 0x7F, 0xA2, 0xB0, +0xCC, 0x07, 0x23, 0x07, 0x51, 0xC7, 0x03, 0x42, 0x3E, 0x27, 0xFF, 0x98, 0x18, 0x12, 0x1F, 0x78, +0xC8, 0x66, 0x2E, 0xF8, 0x07, 0xCA, 0xCB, 0x57, 0x93, 0x92, 0xFC, 0x03, 0xE5, 0xE5, 0x5D, 0x81, +0x90, 0x7A, 0x76, 0x8E, 0x03, 0x3D, 0xE1, 0x21, 0xB4, 0xCF, 0xEB, 0xD2, 0xF8, 0x40, 0x12, 0x1E, +0xA8, 0x43, 0x71, 0xF9, 0x55, 0x55, 0xA2, 0x7F, 0x10, 0x65, 0x85, 0x88, 0xAF, 0xEA, 0xCA, 0xDA, +0x83, 0x8C, 0x12, 0x24, 0x79, 0x78, 0xF5, 0x85, 0x4F, 0x00, 0x89, 0x7B, 0xBC, 0xB0, 0x75, 0xD4, +0xFD, 0xE0, 0x31, 0x6C, 0x5B, 0x4E, 0x44, 0x8E, 0x9B, 0xEA, 0x92, 0xF6, 0xD5, 0x5E, 0x81, 0x0F, +0x5A, 0x86, 0x0A, 0x1F, 0x94, 0x7B, 0x67, 0x32, 0x1F, 0x14, 0xB3, 0xE0, 0x43, 0xF0, 0x10, 0xF8, +0x50, 0x3D, 0x84, 0xCB, 0x4B, 0x58, 0xE2, 0xF5, 0x4C, 0x5D, 0x13, 0xE5, 0xDE, 0x57, 0x49, 0x3F, +0xC3, 0x87, 0x24, 0x95, 0x0F, 0x1A, 0x22, 0xA4, 0xE7, 0xD3, 0x5A, 0x49, 0xFE, 0xC1, 0x48, 0xD1, +0xB9, 0x4D, 0x4D, 0x94, 0xAF, 0xA8, 0xEB, 0x82, 0x09, 0xC9, 0x75, 0x86, 0x08, 0x6C, 0x00, 0xC8, +0xA8, 0x87, 0x8C, 0x18, 0x07, 0x77, 0x51, 0xED, 0x55, 0xA5, 0xC5, 0x57, 0x24, 0x22, 0x5C, 0xDD, +0x2E, 0x88, 0x86, 0xC8, 0x4C, 0x54, 0x00, 0x02, 0x1F, 0x75, 0xBD, 0x8A, 0xF1, 0x15, 0x4D, 0xF5, +0xE0, 0x03, 0x2C, 0x04, 0x0F, 0x99, 0x10, 0x4D, 0x75, 0xD2, 0x73, 0x9D, 0x90, 0x9F, 0x45, 0x3E, +0xF8, 0x0C, 0xD5, 0x4C, 0xD4, 0x81, 0x0F, 0xED, 0xCD, 0x5A, 0x51, 0xDF, 0x55, 0x06, 0xED, 0x41, +0x55, 0x79, 0x7A, 0x9E, 0x35, 0x2C, 0xB2, 0xEC, 0x1A, 0xFF, 0xC0, 0x42, 0x48, 0xD2, 0xD3, 0x4C, +0x4D, 0xF5, 0xAC, 0xFF, 0x51, 0x4A, 0x44, 0x62, 0xD8, 0xB1, 0x3F, 0x17, 0x59, 0x71, 0x2D, 0xD6, +0x52, 0x24, 0x64, 0x49, 0x7A, 0x2E, 0x68, 0xE5, 0x84, 0xC0, 0x87, 0xE8, 0x21, 0x8E, 0x87, 0x26, +0xF8, 0x90, 0xF4, 0xDB, 0x23, 0xFE, 0x21, 0xA8, 0xEE, 0x1F, 0x38, 0x10, 0x4D, 0x75, 0xF8, 0x50, +0x09, 0x69, 0xF8, 0xE8, 0x39, 0x7C, 0xA8, 0x1E, 0x32, 0xF3, 0x4F, 0x47, 0x89, 0x84, 0xE0, 0x1F, +0xD2, 0x20, 0x3D, 0xD7, 0x44, 0xFB, 0xE3, 0x85, 0x59, 0x6A, 0x85, 0xF8, 0xD6, 0x47, 0xC4, 0x57, +0x15, 0x07, 0xA1, 0x21, 0x02, 0x19, 0x85, 0x41, 0x8D, 0xCC, 0x33, 0xF5, 0x36, 0xE1, 0x1F, 0xDA, +0x68, 0xE0, 0x23, 0x5A, 0x86, 0xB3, 0x06, 0x91, 0x9E, 0x6B, 0x12, 0xC2, 0xAB, 0xAC, 0xDC, 0x9B, +0x2D, 0xEF, 0x49, 0x44, 0x24, 0xC5, 0xE3, 0xC0, 0x87, 0x4C, 0xC8, 0x45, 0x83, 0x44, 0x3E, 0x28, +0x66, 0xE1, 0x1F, 0x22, 0x21, 0x2D, 0x2B, 0x01, 0x3E, 0x64, 0x0B, 0x19, 0x5F, 0xB9, 0xEC, 0x63, +0x84, 0x7F, 0x60, 0x21, 0x00, 0x82, 0x81, 0x84, 0x00, 0x0D, 0xC0, 0xB0, 0x93, 0x33, 0x14, 0x5B, +0x09, 0x81, 0x0F, 0x69, 0x10, 0x5F, 0x89, 0x1E, 0x72, 0x3B, 0x6B, 0xD0, 0x2D, 0x7C, 0x48, 0x12, +0xFD, 0x83, 0x4F, 0x88, 0xFC, 0xF8, 0xCC, 0x92, 0x9E, 0x12, 0xB9, 0xBC, 0x2A, 0xDA, 0x83, 0x9A, +0x2E, 0x90, 0xE4, 0x21, 0x4D, 0xAF, 0x25, 0xFE, 0xA1, 0x69, 0x45, 0x1C, 0xA1, 0x0C, 0xF8, 0x50, +0x09, 0xC9, 0x2E, 0x43, 0x07, 0x0A, 0xB2, 0x10, 0x16, 0x75, 0xCA, 0xCF, 0x47, 0x1C, 0x04, 0x70, +0x6C, 0xF3, 0x40, 0x0B, 0xBD, 0x34, 0xF2, 0xB4, 0xE7, 0xAA, 0x15, 0x10, 0x3E, 0x37, 0xA6, 0xA4, +0x21, 0x1B, 0x45, 0x34, 0xD5, 0xB7, 0x6D, 0xEF, 0x6A, 0x23, 0x20, 0x7D, 0xFF, 0xDA, 0xA4, 0xDF, +0x5A, 0x97, 0xBC, 0x1E, 0x60, 0x79, 0x3B, 0xE4, 0xB5, 0x89, 0x90, 0x9E, 0x6F, 0x82, 0x93, 0x84, +0x81, 0x48, 0xDA, 0xD2, 0xFF, 0x90, 0xF4, 0xD7, 0xFF, 0x0A, 0xC8, 0x55, 0xE4, 0xE7, 0x19, 0x1B, +0xDC, 0xC9, 0x9F, 0x79, 0xC1, 0x29, 0xF0, 0x80, 0x84, 0xBC, 0x8A, 0x65, 0xC2, 0x43, 0x78, 0x58, +0x66, 0xEC, 0x33, 0xBF, 0x1A, 0xD4, 0x16, 0x61, 0x41, 0x88, 0x90, 0x84, 0xAC, 0x4C, 0x1B, 0x55, +0xF6, 0x37, 0xB7, 0x9B, 0x6D, 0xB7, 0x98, 0xC9, 0x1A, 0xBE, 0x95, 0x46, 0x47, 0xE4, 0xDB, 0xBE, +0x87, 0x10, 0xC5, 0x3F, 0xBC, 0x85, 0xFE, 0xAC, 0x05, 0x59, 0xED, 0xF2, 0x2F, 0x10, 0x6A, 0x21, +0xA4, 0x6F, 0x23, 0xC4, 0x5E, 0x9C, 0x86, 0xB3, 0x4D, 0xB7, 0xDD, 0x6E, 0x9B, 0x0C, 0xC4, 0xD4, +0x14, 0x62, 0x99, 0xDA, 0xF8, 0x28, 0x17, 0xAD, 0x5E, 0x4A, 0x39, 0xC8, 0x15, 0x68, 0x8C, 0x3B, +0x88, 0xFB, 0x47, 0x10, 0x92, 0xE1, 0x97, 0xBB, 0x14, 0x97, 0xB3, 0xEC, 0xA5, 0xF3, 0xE1, 0x6A, +0xE0, 0xC3, 0xF5, 0xBB, 0xCE, 0xC7, 0xB6, 0x89, 0x90, 0x8B, 0x8B, 0x36, 0x42, 0xFA, 0x36, 0x42, +0x86, 0x22, 0x93, 0x11, 0xF2, 0xA1, 0x58, 0xE0, 0x1F, 0xC3, 0x63, 0xB7, 0x64, 0x21, 0xBD, 0xAB, +0xC1, 0x3F, 0x3A, 0xDB, 0x34, 0xF0, 0xB1, 0x69, 0x22, 0x64, 0xE5, 0x6A, 0xE0, 0xC3, 0xA5, 0xF3, +0xE1, 0x2A, 0x16, 0xAD, 0x4A, 0xD1, 0xD1, 0x03, 0x78, 0x60, 0x21, 0x27, 0x55, 0x2C, 0x84, 0x87, +0x8C, 0x0E, 0x98, 0x4C, 0xD2, 0xCB, 0xBC, 0x4D, 0x88, 0xAC, 0x92, 0x74, 0x3E, 0x9C, 0x10, 0x35, +0xBC, 0x72, 0x40, 0x6C, 0xA7, 0x21, 0xE2, 0x4B, 0x4C, 0x27, 0xC4, 0x97, 0xAF, 0x13, 0xA2, 0xE8, +0xA9, 0x2D, 0xC8, 0x72, 0x3E, 0xBC, 0x15, 0xD2, 0xAB, 0x7C, 0x84, 0xD4, 0x32, 0x6F, 0xE7, 0x43, +0x0D, 0xB3, 0xBA, 0xCD, 0x76, 0x2F, 0x8D, 0x90, 0xDF, 0x57, 0x21, 0xF2, 0x10, 0xAD, 0x55, 0x28, +0xF3, 0xE1, 0x2A, 0x24, 0xE8, 0xC5, 0xE3, 0x23, 0x8B, 0x98, 0x70, 0x10, 0x74, 0x75, 0x55, 0x6A, +0x14, 0xC6, 0x4C, 0x03, 0x89, 0x7C, 0x84, 0x3E, 0x17, 0x08, 0x19, 0xFC, 0x03, 0x29, 0x7C, 0xF0, +0x75, 0xB0, 0x12, 0x21, 0x76, 0x86, 0x8C, 0x35, 0x20, 0x9A, 0x48, 0x9F, 0xA4, 0xF2, 0xF1, 0x5B, +0x8C, 0x8F, 0x0E, 0xB0, 0xE0, 0x43, 0xF7, 0x90, 0xFE, 0x20, 0x2D, 0xCA, 0xBA, 0x0E, 0x40, 0x20, +0x44, 0xE0, 0x43, 0x25, 0x64, 0x85, 0xFE, 0x52, 0x7A, 0xC6, 0x5F, 0xA1, 0x16, 0x3E, 0x58, 0xC3, +0xEC, 0x0B, 0x59, 0xBB, 0xFB, 0x07, 0xC2, 0x42, 0xA8, 0x62, 0x95, 0xF0, 0xC9, 0xA3, 0xB5, 0x82, +0x91, 0x1C, 0x4B, 0xE3, 0x03, 0x09, 0xE9, 0xF9, 0xEA, 0x58, 0xC2, 0xA5, 0x26, 0x5B, 0xDE, 0xA4, +0x0B, 0xD9, 0x3F, 0xC2, 0x43, 0xA6, 0xB4, 0x35, 0x3C, 0x90, 0xEE, 0x1F, 0x7B, 0x0F, 0x79, 0x14, +0xD1, 0xD0, 0xE5, 0x78, 0xF8, 0xD0, 0x08, 0xE9, 0x8F, 0xA4, 0xFA, 0x87, 0xEE, 0x21, 0x17, 0xBC, +0xF6, 0x10, 0x22, 0xF1, 0x01, 0x21, 0x75, 0x3E, 0x90, 0xC4, 0x07, 0x3A, 0x2F, 0x5A, 0xE5, 0x2B, +0xFA, 0x25, 0x23, 0xA3, 0xE8, 0x20, 0xFC, 0x09, 0x3A, 0x03, 0x2E, 0xF7, 0xA7, 0x53, 0x69, 0x7C, +0x20, 0x8D, 0x0F, 0x24, 0xFB, 0x87, 0x87, 0xC2, 0x17, 0x02, 0x1F, 0x2C, 0x82, 0xEB, 0xE9, 0x15, +0xD3, 0x9F, 0x48, 0xE0, 0xC3, 0x07, 0x84, 0x7C, 0x68, 0x15, 0xEB, 0x31, 0xF9, 0x07, 0x1E, 0xA2, +0xF3, 0xE1, 0xA9, 0xBA, 0xE2, 0x1F, 0xB2, 0x87, 0x78, 0xFA, 0x21, 0x12, 0x02, 0x1F, 0x10, 0xA2, +0xA4, 0x1F, 0x87, 0x4F, 0x83, 0x34, 0xF2, 0x31, 0xBA, 0x7A, 0x89, 0xAF, 0x0A, 0xCA, 0xAB, 0x58, +0x65, 0x41, 0x59, 0x31, 0x8A, 0x4B, 0x60, 0xFC, 0xF3, 0xB9, 0x84, 0x08, 0xD7, 0xB9, 0x07, 0x2A, +0x1A, 0x1F, 0x48, 0xE5, 0x23, 0x12, 0x91, 0xD9, 0x62, 0x9A, 0x0F, 0x08, 0xE9, 0xEA, 0xF6, 0x11, +0x7C, 0x20, 0x25, 0xBE, 0x62, 0x09, 0xDB, 0xD7, 0x61, 0x7D, 0x64, 0x90, 0xF5, 0x08, 0x1E, 0x9A, +0x87, 0xF4, 0x48, 0x22, 0xE4, 0xFA, 0xA2, 0x6B, 0xF0, 0x90, 0x2D, 0x82, 0x10, 0x81, 0x0F, 0xD1, +0x43, 0x2C, 0x20, 0xE7, 0xB3, 0xE8, 0xD3, 0x1E, 0x92, 0x2F, 0xCB, 0xE2, 0xEA, 0x65, 0x94, 0xD1, +0xC0, 0x41, 0x46, 0x0D, 0x84, 0x54, 0x3D, 0xCF, 0x45, 0x12, 0x8E, 0xE9, 0x69, 0x20, 0xC9, 0x3F, +0x8C, 0x10, 0xF2, 0x10, 0x81, 0x0F, 0xA4, 0xF1, 0x01, 0x21, 0x15, 0x75, 0xC4, 0x57, 0x87, 0x3C, +0xE4, 0x5B, 0x85, 0x0F, 0x24, 0xE5, 0x1F, 0x0C, 0x21, 0x55, 0xD7, 0xF9, 0x00, 0x10, 0xC9, 0x43, +0x7A, 0xA4, 0x44, 0x59, 0x9D, 0xF3, 0xC1, 0xB0, 0x7B, 0x04, 0xFF, 0x50, 0x09, 0x59, 0x15, 0x54, +0x21, 0x84, 0x6B, 0xDD, 0x39, 0xB7, 0x6A, 0xF6, 0xC1, 0xF2, 0x7C, 0x39, 0xCB, 0x41, 0xB8, 0x67, +0xC4, 0x1C, 0xB2, 0x2A, 0x56, 0xE8, 0xE1, 0x30, 0x42, 0x79, 0xF6, 0xC1, 0xA3, 0x9F, 0x3E, 0x0D, +0x1B, 0x13, 0x84, 0xF0, 0xCF, 0xF4, 0xCD, 0x9E, 0x90, 0xB1, 0x57, 0x05, 0x3E, 0x24, 0x42, 0x7E, +0xCF, 0xF9, 0x48, 0xC5, 0xAC, 0xDB, 0x0A, 0x1F, 0x5D, 0x36, 0xAA, 0x99, 0x7A, 0x5F, 0x50, 0xFD, +0x3A, 0xDE, 0x1C, 0x10, 0xF3, 0x90, 0x8F, 0x0A, 0xB2, 0x1E, 0xEF, 0x79, 0x5C, 0x10, 0x11, 0xF8, +0x10, 0x3D, 0xA4, 0xC3, 0x5D, 0x19, 0x02, 0x1F, 0x1A, 0x21, 0xAB, 0x92, 0x2A, 0xD7, 0xBC, 0x7F, +0x15, 0x0B, 0x26, 0x34, 0x55, 0xEE, 0x85, 0x8B, 0x61, 0x77, 0x15, 0x62, 0xF9, 0x66, 0x39, 0xF4, +0x18, 0x1B, 0x38, 0x08, 0x77, 0x81, 0x45, 0x1C, 0xE3, 0x21, 0x94, 0xAF, 0x18, 0x65, 0xD5, 0xCB, +0xBB, 0x7C, 0x59, 0xDC, 0x70, 0x68, 0xF7, 0x8E, 0xF9, 0xC7, 0x6A, 0x44, 0x65, 0xF7, 0x80, 0x0F, +0x91, 0x10, 0xEC, 0xE3, 0xD4, 0x44, 0x8A, 0x80, 0x6C, 0xBF, 0xED, 0x47, 0x34, 0x82, 0x07, 0xE9, +0x79, 0x96, 0x88, 0x08, 0x57, 0xF5, 0x8A, 0xE5, 0xAB, 0x7C, 0x0C, 0xB3, 0xFF, 0x59, 0xE0, 0x43, +0x20, 0x84, 0xF4, 0x83, 0x61, 0x77, 0xD7, 0xDA, 0x1F, 0xB9, 0x68, 0x88, 0x08, 0x7C, 0xD4, 0xCB, +0xBD, 0x07, 0x2E, 0xC2, 0x41, 0x7C, 0x0F, 0x20, 0xA3, 0xFE, 0xB1, 0x3F, 0x67, 0x53, 0xEE, 0x2D, +0x36, 0x42, 0xAE, 0x0A, 0xE5, 0x2B, 0x16, 0x3F, 0x55, 0xAC, 0xA2, 0x83, 0x3C, 0xC4, 0x5D, 0x57, +0xC5, 0x1C, 0x04, 0xEB, 0x70, 0x4C, 0xA1, 0x76, 0x04, 0x90, 0x65, 0x18, 0x08, 0x89, 0x48, 0xFC, +0xC3, 0x25, 0x3E, 0xD0, 0xEF, 0x95, 0xF2, 0x95, 0x4C, 0x48, 0x74, 0x89, 0xCF, 0x4D, 0xA4, 0x9C, +0x9F, 0xF7, 0xF7, 0x0A, 0x21, 0x00, 0x52, 0xE2, 0x43, 0x6F, 0x88, 0xE8, 0x7C, 0x68, 0x61, 0x56, +0x3F, 0xAA, 0x4A, 0xF9, 0xAA, 0x84, 0x48, 0x85, 0x0F, 0x8D, 0x10, 0xF8, 0xD0, 0x09, 0xF9, 0x2A, +0x7D, 0x9B, 0x5A, 0x7C, 0xBD, 0xF3, 0xB0, 0x8D, 0xF8, 0xA3, 0x24, 0x62, 0xFE, 0xCF, 0x83, 0x93, +0x4A, 0x1E, 0x72, 0x08, 0xAF, 0x1E, 0x4E, 0x07, 0x26, 0x42, 0x92, 0x1E, 0x7F, 0x0B, 0x1D, 0x21, +0x72, 0x35, 0x5A, 0xDF, 0x0D, 0x24, 0xF6, 0xA0, 0xD4, 0x3C, 0xC4, 0xF1, 0x08, 0xF6, 0x6D, 0x13, +0x3F, 0xF9, 0xB6, 0xDC, 0x3E, 0x57, 0x08, 0xE1, 0xEA, 0x2B, 0x24, 0x11, 0x02, 0x1E, 0xF9, 0x28, +0x76, 0x0C, 0x5F, 0x01, 0x44, 0x20, 0xE4, 0x67, 0xFC, 0xA3, 0x44, 0xC8, 0x73, 0x73, 0x7B, 0x10, +0x3D, 0xD9, 0x80, 0x0F, 0x91, 0x90, 0xBE, 0xA2, 0x8B, 0xAD, 0xE2, 0x1F, 0x14, 0xB3, 0x64, 0x3E, +0x20, 0x24, 0x8F, 0x85, 0x2B, 0xAA, 0xD4, 0xAF, 0x7C, 0xB1, 0x38, 0x26, 0x6E, 0x21, 0xA3, 0x9F, +0x0C, 0x39, 0x36, 0x8F, 0xC0, 0x84, 0xE3, 0xF3, 0xEB, 0xB1, 0x58, 0xF6, 0x05, 0x07, 0x01, 0x10, +0xEE, 0xCB, 0x1C, 0x24, 0x36, 0x2F, 0x79, 0xC7, 0x70, 0x10, 0x06, 0x16, 0x70, 0x00, 0xEF, 0xF9, +0xD3, 0x4E, 0x6E, 0x71, 0x92, 0x82, 0xF8, 0xCE, 0x54, 0x48, 0xCF, 0xAB, 0x52, 0xFC, 0x03, 0x6D, +0xBA, 0x4A, 0xFB, 0x23, 0x1B, 0xE5, 0xA6, 0x3A, 0x78, 0x48, 0x84, 0xC0, 0xC7, 0xFF, 0xE2, 0x21, +0xC5, 0xC7, 0x25, 0xD0, 0x92, 0xF8, 0x40, 0x9A, 0x7F, 0x10, 0x83, 0x16, 0xDA, 0x83, 0x35, 0x41, +0x48, 0xC9, 0x3E, 0x84, 0x62, 0x56, 0xAC, 0x1B, 0x9F, 0xF1, 0xD5, 0x26, 0xE1, 0x20, 0x25, 0x0F, +0x81, 0x0A, 0x5F, 0x8B, 0x3E, 0xFC, 0xB0, 0x98, 0x87, 0x5C, 0xBD, 0x3C, 0x9C, 0x2D, 0x7B, 0x16, +0x3F, 0x49, 0xBA, 0x1F, 0xD4, 0x1C, 0xC4, 0x94, 0x7D, 0xBD, 0x22, 0x51, 0x1E, 0xCF, 0xE8, 0xD8, +0x53, 0xCE, 0xC3, 0x2B, 0xD8, 0x77, 0x03, 0x89, 0x88, 0x32, 0xE5, 0x25, 0xCB, 0xBF, 0x14, 0x3E, +0x50, 0xAD, 0x7C, 0x85, 0x68, 0xAA, 0x2F, 0xF2, 0xF2, 0x6E, 0x65, 0x40, 0x08, 0x7C, 0x54, 0xA5, +0xF1, 0x41, 0xAA, 0xFE, 0x7E, 0x36, 0x68, 0x7F, 0xE8, 0x1E, 0xD2, 0x23, 0xC1, 0x43, 0xF0, 0x0F, +0xC1, 0x43, 0x68, 0x0F, 0x2A, 0x84, 0xC0, 0x87, 0x4E, 0x48, 0x0A, 0x3B, 0x88, 0xCA, 0xFD, 0x47, +0xBE, 0xE0, 0xB9, 0xCC, 0x47, 0x5E, 0xC6, 0x8A, 0x4D, 0x9E, 0x87, 0x58, 0x7E, 0xAE, 0x3B, 0xC8, +0xC3, 0x98, 0x83, 0xC4, 0xE1, 0x49, 0x3B, 0x32, 0x84, 0x67, 0x1C, 0xFB, 0xC8, 0x9E, 0xD5, 0x72, +0xFD, 0x2A, 0x0C, 0x84, 0x14, 0x04, 0x0F, 0x51, 0xF8, 0x40, 0x0A, 0x1F, 0x10, 0x72, 0x31, 0xBB, +0xCD, 0xF8, 0xB0, 0x59, 0xF3, 0x10, 0x00, 0xD9, 0x1A, 0x1F, 0x53, 0x8B, 0x4C, 0xC9, 0xCF, 0x19, +0x7C, 0xC0, 0xF0, 0x7D, 0x7C, 0x30, 0x14, 0x0F, 0xE9, 0x27, 0x15, 0xFF, 0x5A, 0xDA, 0x1F, 0x82, +0x87, 0xC0, 0xC7, 0x66, 0x2B, 0x12, 0x02, 0x1F, 0x3A, 0x21, 0x47, 0xEB, 0x86, 0x42, 0x6F, 0xDA, +0x15, 0x3C, 0x04, 0xDF, 0xE0, 0xC4, 0x8D, 0xF0, 0x10, 0xDA, 0xE7, 0x0F, 0x15, 0x07, 0x71, 0x0F, +0x09, 0x40, 0x26, 0x1C, 0xE4, 0xC1, 0x66, 0xDE, 0x1E, 0x24, 0xEB, 0x38, 0xB2, 0x32, 0xC2, 0xBF, +0xEC, 0x23, 0xB6, 0x91, 0x7D, 0xD8, 0x0D, 0x25, 0xBF, 0x74, 0x1D, 0x97, 0x77, 0x15, 0x4D, 0xF3, +0x81, 0x36, 0xD1, 0x32, 0x84, 0x8F, 0xFA, 0x80, 0x90, 0x2D, 0xFE, 0x51, 0x53, 0xA1, 0xFD, 0x51, +0x45, 0x44, 0x48, 0x3F, 0x84, 0xF6, 0x87, 0xE2, 0x21, 0xBD, 0x20, 0xCD, 0x3F, 0xF0, 0x90, 0xAC, +0xBC, 0xAB, 0x11, 0x02, 0x1F, 0x3A, 0x21, 0x2C, 0x92, 0xE3, 0xB2, 0x4E, 0xEC, 0xD3, 0x1D, 0x27, +0x78, 0x10, 0x5F, 0xED, 0x43, 0x19, 0x72, 0x91, 0x74, 0x90, 0xB5, 0x3F, 0x54, 0x07, 0x79, 0xA8, +0x3B, 0x88, 0x8B, 0x1C, 0x87, 0x02, 0x73, 0x4A, 0xD1, 0x49, 0xD4, 0x41, 0x36, 0xB3, 0x8F, 0xF8, +0x5F, 0x1F, 0x30, 0x22, 0x21, 0xC1, 0x44, 0xE0, 0x43, 0x91, 0xC8, 0x07, 0x4D, 0x75, 0x8D, 0x8F, +0xBC, 0xA9, 0xDE, 0x6B, 0x12, 0xE2, 0xAB, 0x0F, 0x68, 0x88, 0xD0, 0xFE, 0x10, 0x3D, 0xA4, 0x17, +0x44, 0xB9, 0x97, 0xF6, 0x47, 0x7D, 0x34, 0xF1, 0x01, 0x21, 0x2B, 0x49, 0x5C, 0x76, 0x12, 0xEB, +0x06, 0xBF, 0x48, 0x94, 0xC4, 0x36, 0x15, 0xB7, 0x92, 0x4E, 0xC2, 0xAA, 0xE0, 0x84, 0x3A, 0x6B, +0xAC, 0xD8, 0xCC, 0x3F, 0xC6, 0x1D, 0x24, 0x76, 0xAA, 0x83, 0x3C, 0xD0, 0x10, 0x81, 0xD3, 0xC8, +0x38, 0xC6, 0x04, 0x1E, 0x7B, 0x0E, 0x52, 0xF5, 0xEA, 0x24, 0xD1, 0x8A, 0x7B, 0xA3, 0xA9, 0x6E, +0xC9, 0xC8, 0x4A, 0x55, 0x03, 0x1F, 0x14, 0xB3, 0xBA, 0x0B, 0x6D, 0xF8, 0xA7, 0x0C, 0x6D, 0xF6, +0x6D, 0x80, 0x08, 0x74, 0xAC, 0xF7, 0x9B, 0x77, 0xFA, 0xC7, 0xBA, 0x89, 0x90, 0x5E, 0x54, 0xD6, +0x3E, 0x9F, 0x32, 0x91, 0x0E, 0x3E, 0x44, 0x42, 0x74, 0x3E, 0x28, 0xF7, 0x1E, 0x47, 0xE0, 0x38, +0x08, 0xF9, 0x39, 0xDF, 0xF9, 0xEE, 0x1A, 0x16, 0x26, 0x01, 0x96, 0xBB, 0x87, 0x0D, 0x52, 0x01, +0xBF, 0xCF, 0x45, 0xFB, 0x43, 0x70, 0x90, 0x07, 0x03, 0xE4, 0x41, 0x72, 0x90, 0x48, 0x44, 0x20, +0xF4, 0x1F, 0x2A, 0x58, 0xB1, 0x2B, 0x34, 0xD5, 0xDD, 0x35, 0x9C, 0x81, 0x83, 0x51, 0x92, 0x62, +0xB1, 0xF3, 0x9E, 0x21, 0xFE, 0xA1, 0x09, 0x3E, 0x34, 0x42, 0x66, 0xB7, 0x5E, 0xDE, 0xD5, 0xC6, +0x35, 0xFE, 0xA1, 0x22, 0xF2, 0x73, 0x9F, 0xC7, 0x57, 0x13, 0xC5, 0xAC, 0xC7, 0x8F, 0x69, 0x7F, +0x8C, 0x36, 0xD5, 0x7B, 0x59, 0x5E, 0x97, 0x30, 0x3C, 0xC4, 0x61, 0x39, 0x1D, 0xE5, 0x5D, 0x91, +0x90, 0x55, 0x83, 0x06, 0x40, 0xD2, 0x99, 0x94, 0xEF, 0x3A, 0x8F, 0x63, 0xB6, 0x87, 0x32, 0x68, +0xD8, 0x07, 0x4B, 0x90, 0x4D, 0x7E, 0xB1, 0x47, 0x00, 0xE2, 0xCB, 0x59, 0x72, 0x90, 0xEF, 0x3F, +0xFB, 0xFE, 0x07, 0x5D, 0xF8, 0x47, 0xFA, 0x85, 0xC4, 0x7B, 0xDC, 0x45, 0x7F, 0x24, 0x75, 0x3B, +0x0E, 0xED, 0x4F, 0x2C, 0xF3, 0xC4, 0x4F, 0xE2, 0x94, 0x00, 0x1E, 0x9A, 0xB6, 0x0D, 0xFA, 0x7D, +0xD3, 0x19, 0x1F, 0xBA, 0x3A, 0x3E, 0x1D, 0xA5, 0xC9, 0xD3, 0x0F, 0x71, 0xD6, 0xCB, 0xBD, 0x8F, +0x85, 0x09, 0x1F, 0xE2, 0x68, 0x7C, 0xF2, 0x17, 0x6D, 0xBA, 0x86, 0x0F, 0x49, 0xF0, 0x21, 0x7A, +0x48, 0xEA, 0x7E, 0xB0, 0x3C, 0x52, 0x60, 0x65, 0x9B, 0xD8, 0xFA, 0xD1, 0x1E, 0x10, 0x56, 0x25, +0xF5, 0x55, 0xF2, 0x63, 0xE2, 0x9C, 0x40, 0x04, 0xCB, 0x18, 0x17, 0x39, 0xC8, 0xCB, 0xEE, 0xE5, +0x57, 0xE5, 0x66, 0xE3, 0xF2, 0xAA, 0x4D, 0x91, 0x82, 0x3B, 0x18, 0x82, 0x96, 0x37, 0xAB, 0xD5, +0xDD, 0x4A, 0xD4, 0xDD, 0x5F, 0x37, 0xDD, 0xFC, 0xED, 0xAD, 0xD3, 0xE7, 0xEC, 0xBA, 0x41, 0x96, +0xAD, 0xF4, 0x17, 0xAF, 0xF2, 0x30, 0xB7, 0x59, 0x3F, 0x3D, 0x2E, 0x1A, 0xC6, 0xF3, 0x4F, 0x3F, +0x3D, 0x17, 0x47, 0x41, 0x76, 0xA7, 0x7D, 0x07, 0x96, 0xFD, 0x47, 0x4F, 0x6B, 0x69, 0xD8, 0xDF, +0x6B, 0x79, 0xF2, 0x66, 0x36, 0xD7, 0x8D, 0xFA, 0xD4, 0xF2, 0xC2, 0xCF, 0xDF, 0x36, 0xF2, 0xDB, +0x3A, 0xAC, 0x80, 0x9B, 0xE5, 0x57, 0x8A, 0x58, 0x5B, 0x57, 0x6D, 0xF2, 0x05, 0x2D, 0xDE, 0x0C, +0x90, 0x5F, 0x65, 0x5D, 0x5E, 0x5E, 0xEE, 0x1A, 0x9E, 0xC6, 0x40, 0x88, 0xAE, 0x6F, 0xBE, 0x5A, +0x2E, 0x97, 0x77, 0x77, 0xAB, 0x3B, 0x51, 0xAB, 0x9B, 0x9B, 0x9B, 0x4F, 0xF3, 0x4F, 0xD2, 0xF4, +0xDD, 0xED, 0x7C, 0xD6, 0x20, 0xA3, 0xC9, 0x9B, 0xE8, 0xEA, 0xEC, 0xEF, 0xEF, 0xD7, 0x4F, 0x0D, +0x7A, 0x7E, 0x7E, 0xFE, 0xE9, 0x3B, 0x5B, 0xFB, 0xDF, 0xE5, 0xB3, 0x2C, 0xFB, 0xEB, 0xF6, 0x1F, +0x19, 0x21, 0x9A, 0xD6, 0xF7, 0xF7, 0x6D, 0xAE, 0x60, 0x67, 0x84, 0x16, 0xD9, 0x8B, 0xF9, 0xC9, +0x34, 0x57, 0xA6, 0x0D, 0x7B, 0xAB, 0xEE, 0x96, 0xE2, 0xDB, 0x6A, 0xC3, 0x16, 0x82, 0x2D, 0x87, +0x34, 0x7C, 0x9E, 0x0C, 0x9B, 0xCB, 0x74, 0x30, 0xC8, 0x17, 0x9B, 0x2E, 0x5B, 0xC6, 0xFA, 0x92, +0x6F, 0x00, 0xE4, 0xD2, 0x75, 0x25, 0xF3, 0xE1, 0x1B, 0xFB, 0x27, 0xA8, 0x63, 0x39, 0x68, 0x75, +0xA7, 0x8D, 0xBF, 0xEE, 0x6E, 0x06, 0xBD, 0xCD, 0x3F, 0x4D, 0xAB, 0xB3, 0xDB, 0xDB, 0x7C, 0x66, +0xA3, 0x09, 0x0F, 0x03, 0x44, 0xD7, 0xBD, 0xA9, 0x37, 0x42, 0xCC, 0x45, 0xA6, 0xE7, 0x7A, 0x6D, +0x7C, 0x0C, 0x84, 0xC8, 0xFA, 0xF1, 0xD9, 0x64, 0xD6, 0x20, 0xFD, 0x02, 0xE3, 0xA3, 0x1F, 0x9E, +0x8E, 0xB9, 0x9A, 0x32, 0x9C, 0x8F, 0x36, 0x44, 0xE6, 0x73, 0x7B, 0x31, 0xED, 0x75, 0x15, 0x64, +0x78, 0xBC, 0xDD, 0xDC, 0x6C, 0x6E, 0x6E, 0x44, 0xFB, 0xB0, 0xB1, 0x34, 0xE1, 0x21, 0x70, 0xC0, +0x1D, 0x71, 0x4F, 0xA0, 0x73, 0xD5, 0xA6, 0xCB, 0x5F, 0x5B, 0x08, 0x69, 0x01, 0xC4, 0x47, 0x73, +0x94, 0xA5, 0x6A, 0xB9, 0x97, 0x08, 0x88, 0xF9, 0x47, 0x10, 0x62, 0x6F, 0xD4, 0xC4, 0xB0, 0xF9, +0x36, 0xF8, 0x87, 0xBD, 0xAD, 0x2D, 0xF6, 0x61, 0x88, 0x68, 0x6B, 0xEC, 0x75, 0xE8, 0x96, 0x40, +0x88, 0xDD, 0x16, 0x95, 0xAD, 0xFB, 0xC0, 0xB3, 0xEB, 0x47, 0x95, 0x8F, 0xE7, 0x90, 0x91, 0xB5, +0xAE, 0x3F, 0xBA, 0xC9, 0xF9, 0x70, 0xC9, 0xF6, 0xE1, 0x43, 0x27, 0x64, 0x6E, 0xB2, 0xAD, 0xBD, +0xB0, 0xC2, 0x98, 0x1B, 0x1F, 0x2E, 0x3B, 0xA9, 0xAD, 0x94, 0xB1, 0x0C, 0x8D, 0x5A, 0x08, 0x9B, +0x61, 0xDB, 0x18, 0x5F, 0xED, 0x2E, 0x07, 0x3C, 0x64, 0x42, 0x76, 0x43, 0x0E, 0x22, 0xF2, 0x91, +0xA4, 0xDA, 0x47, 0x48, 0xB6, 0x8F, 0x90, 0xEA, 0x1F, 0x9B, 0x44, 0x88, 0x23, 0x50, 0x9D, 0x6F, +0x9F, 0x66, 0x03, 0x1F, 0x3E, 0x25, 0x39, 0x1E, 0x3E, 0x44, 0xFF, 0x08, 0xF5, 0xF7, 0xC3, 0xF2, +0xB4, 0x31, 0xB1, 0x7D, 0x4E, 0x12, 0xFD, 0xE3, 0xC7, 0x03, 0x21, 0xC2, 0xA3, 0xAF, 0x9D, 0x8F, +0x20, 0x44, 0x00, 0x9C, 0x7F, 0xEA, 0xB5, 0xCA, 0x87, 0x4F, 0x27, 0x64, 0x6A, 0xCE, 0xBB, 0xE0, +0x63, 0xF0, 0x10, 0x09, 0x90, 0xA5, 0x2B, 0x33, 0x91, 0xCC, 0x40, 0x70, 0x90, 0xF7, 0xF0, 0xF1, +0xAB, 0x4E, 0x88, 0xE7, 0x20, 0x5F, 0x08, 0x84, 0xF8, 0x63, 0xA6, 0xB1, 0x53, 0xF8, 0x40, 0xA2, +0x7F, 0x40, 0x88, 0xE4, 0x1F, 0x10, 0xF2, 0x69, 0xE2, 0x8D, 0x32, 0x3E, 0xDC, 0x3F, 0x62, 0x6A, +0xFE, 0xC1, 0x98, 0xF4, 0x0F, 0xF8, 0x80, 0x90, 0xDA, 0x58, 0x3F, 0x1F, 0xF4, 0xA3, 0xE4, 0x21, +0xCF, 0xE8, 0x69, 0x3A, 0x51, 0x7F, 0xB2, 0x27, 0x71, 0x90, 0xE6, 0x1F, 0x10, 0xA2, 0xE1, 0xA1, +0x13, 0xE2, 0xF1, 0x95, 0x49, 0xF7, 0x90, 0x25, 0xC2, 0x43, 0x4A, 0x06, 0x12, 0xBB, 0x77, 0xF3, +0xF1, 0x8F, 0x12, 0x33, 0xBD, 0x78, 0xA3, 0x50, 0x20, 0x64, 0x78, 0x48, 0xB4, 0x93, 0xF8, 0xE0, +0x27, 0xC9, 0x3F, 0xD0, 0xDD, 0x24, 0x22, 0x37, 0x1B, 0x1B, 0x07, 0xCD, 0xFD, 0x8D, 0xAA, 0xBC, +0x4D, 0x33, 0xF8, 0xB0, 0x9B, 0xE4, 0x1F, 0x0C, 0xD9, 0x3F, 0x20, 0xE4, 0x71, 0x11, 0xB9, 0x86, +0x6D, 0x86, 0x1F, 0xB8, 0x27, 0xF9, 0x07, 0x88, 0x68, 0xF6, 0x81, 0xEC, 0x01, 0x0A, 0x8F, 0xCB, +0x3D, 0xEB, 0xE0, 0x03, 0x42, 0x04, 0xFF, 0x80, 0x10, 0x85, 0x0F, 0x66, 0x95, 0x10, 0xBF, 0x25, +0x3E, 0x36, 0xBE, 0x99, 0xC4, 0xC3, 0xF9, 0x40, 0x75, 0x03, 0xC1, 0x3E, 0x9A, 0xF8, 0x88, 0x69, +0x9A, 0x5A, 0xF7, 0xC6, 0xC7, 0x17, 0x83, 0x83, 0x0C, 0x84, 0x5C, 0x0A, 0x06, 0xC2, 0x80, 0x00, +0x4D, 0xAA, 0x7D, 0x28, 0x79, 0x88, 0xFD, 0x29, 0xAE, 0xED, 0x5B, 0x27, 0x64, 0x2C, 0x65, 0x34, +0xFF, 0x88, 0x37, 0x93, 0x79, 0x2F, 0xF0, 0x21, 0x7A, 0x88, 0xA7, 0x1F, 0x39, 0x21, 0xA6, 0xC8, +0x35, 0x42, 0x29, 0x37, 0x39, 0xA4, 0xE7, 0x0D, 0x26, 0xF2, 0x1C, 0x80, 0x40, 0xC8, 0xF9, 0xE3, +0x72, 0x4F, 0xF0, 0x81, 0x7A, 0xC9, 0x3F, 0x20, 0x44, 0x49, 0xCF, 0xF1, 0x90, 0x59, 0x1D, 0x8F, +0x79, 0x9C, 0xC6, 0x78, 0xB7, 0xAA, 0x1E, 0x72, 0xB3, 0x74, 0xE5, 0x1E, 0x32, 0x6A, 0x20, 0xCD, +0x7C, 0x04, 0x1B, 0xFF, 0xF8, 0xCE, 0xC6, 0x94, 0x7F, 0x18, 0x19, 0x43, 0x0E, 0xE2, 0x84, 0x54, +0x04, 0x73, 0x7E, 0xC3, 0x43, 0x74, 0x49, 0xFE, 0x21, 0x86, 0x59, 0xAB, 0x9B, 0x30, 0x10, 0xD4, +0x19, 0x21, 0x63, 0xEF, 0xD3, 0x3C, 0xE3, 0xC3, 0x24, 0xF0, 0x21, 0x7A, 0x48, 0xF0, 0xD1, 0x9F, +0xCC, 0x75, 0x8A, 0xB2, 0x6C, 0x66, 0x07, 0xF0, 0x01, 0x21, 0x9A, 0x7F, 0x20, 0x1E, 0x2C, 0xFF, +0x05, 0xF0, 0xC1, 0xD3, 0x31, 0x42, 0x5E, 0x2B, 0x7C, 0x5F, 0xB7, 0x10, 0x02, 0x1F, 0x20, 0x62, +0x27, 0xA0, 0x82, 0x22, 0xFF, 0x80, 0x8E, 0xC3, 0x66, 0x59, 0x4B, 0x2D, 0x97, 0x67, 0x0A, 0x3A, +0x8A, 0x06, 0xF2, 0x5E, 0x3E, 0x4C, 0xB1, 0xAB, 0xDB, 0xC7, 0x00, 0xC6, 0x0F, 0x83, 0x83, 0xF8, +0x41, 0x05, 0x27, 0x7F, 0xD8, 0x81, 0x3A, 0xBF, 0x7D, 0xB4, 0x87, 0xC0, 0x87, 0x66, 0x22, 0x37, +0x08, 0x4A, 0x3E, 0xCD, 0xC7, 0x2C, 0x9E, 0xF7, 0x92, 0x39, 0x17, 0xF8, 0x90, 0x3C, 0xE4, 0x35, +0xF9, 0xC7, 0xBA, 0xB7, 0x9B, 0x1F, 0x05, 0x21, 0xFB, 0x38, 0x28, 0x46, 0x2C, 0x5E, 0xFC, 0x43, +0xF6, 0x90, 0xE7, 0x92, 0x9E, 0x4E, 0x1F, 0x37, 0x0E, 0xE0, 0x63, 0xB8, 0xAD, 0xE3, 0x49, 0x99, +0xFA, 0x57, 0xC5, 0x40, 0x18, 0x52, 0x7C, 0x05, 0x21, 0xA3, 0x16, 0x62, 0xED, 0x8F, 0x5C, 0x1B, +0x9B, 0xE3, 0x89, 0xC8, 0xB2, 0xA4, 0x20, 0x02, 0x03, 0xC1, 0x52, 0xDA, 0xF9, 0x88, 0x75, 0x6C, +0xE3, 0x9F, 0xFD, 0xE6, 0xB2, 0xEE, 0x1F, 0x07, 0x07, 0xB1, 0xF1, 0xC5, 0x84, 0x7D, 0x30, 0x8D, +0x11, 0xD3, 0x6E, 0xA7, 0xE4, 0x1F, 0x48, 0xF2, 0x0F, 0x34, 0xFA, 0x2A, 0x06, 0x17, 0x99, 0x36, +0xF6, 0x76, 0xE4, 0x72, 0x44, 0xE6, 0xB3, 0x36, 0x40, 0x58, 0x28, 0x92, 0x85, 0xC4, 0x7A, 0x3C, +0xD8, 0xC8, 0xDA, 0xB7, 0x7D, 0xCA, 0x13, 0x92, 0x9C, 0x15, 0xD2, 0x8F, 0x33, 0x44, 0x64, 0xFF, +0x20, 0x0F, 0xE1, 0x71, 0x7D, 0x1F, 0xED, 0x8F, 0x9E, 0x48, 0x2F, 0x38, 0xE9, 0x47, 0x3D, 0xA4, +0x88, 0x87, 0x37, 0x44, 0x24, 0xFF, 0x60, 0x8E, 0xF0, 0x41, 0x7A, 0x8E, 0x81, 0x0C, 0x92, 0xFC, +0x03, 0x65, 0x16, 0x12, 0xE1, 0xD5, 0x3B, 0xFD, 0xE3, 0x57, 0xCC, 0x23, 0xF6, 0x35, 0xFF, 0x08, +0x40, 0x6C, 0xE7, 0x3F, 0xBC, 0x8C, 0xFB, 0xC7, 0x80, 0x1A, 0xD3, 0x07, 0x84, 0x54, 0xF9, 0x40, +0x9A, 0x7F, 0xA0, 0xD5, 0x94, 0x7F, 0xF0, 0x9A, 0xD3, 0x10, 0x39, 0x9E, 0xD1, 0x1E, 0x2C, 0xCF, +0x6A, 0xFB, 0x43, 0xF4, 0x90, 0x57, 0x4F, 0xCF, 0xC3, 0x39, 0x50, 0x10, 0x62, 0x22, 0x18, 0xF2, +0x5C, 0x61, 0x01, 0x1F, 0x9A, 0x87, 0x3C, 0xA3, 0xDC, 0x43, 0x78, 0xDC, 0x27, 0xF6, 0x03, 0x12, +0x0E, 0x29, 0x66, 0x56, 0xF7, 0x90, 0xEB, 0xF2, 0xB8, 0x16, 0xFC, 0x03, 0x0B, 0xF1, 0x17, 0xBE, +0xC6, 0x47, 0xFE, 0x8E, 0x95, 0x3D, 0x64, 0x39, 0xA6, 0x13, 0x07, 0xA1, 0xC0, 0xBB, 0x6B, 0xE7, +0xC3, 0xB9, 0x48, 0x41, 0x90, 0xAF, 0x69, 0x6B, 0x04, 0x8E, 0x2C, 0xFA, 0x3D, 0x15, 0xE4, 0x20, +0x83, 0x87, 0xBC, 0x14, 0x71, 0x8A, 0x47, 0x4D, 0x11, 0x16, 0xA9, 0x48, 0x63, 0x22, 0xB2, 0xD3, +0xFC, 0x03, 0x95, 0xCB, 0x57, 0x80, 0x81, 0x68, 0xAA, 0x77, 0xD9, 0xBC, 0x2D, 0xBF, 0xA9, 0xA6, +0x4A, 0x79, 0x57, 0x76, 0x91, 0xB4, 0x0A, 0xFB, 0xF5, 0x7E, 0x26, 0x0F, 0x19, 0x76, 0xD0, 0x51, +0xC9, 0x3F, 0x40, 0x44, 0xF3, 0x0F, 0x08, 0x29, 0x5C, 0x7E, 0x95, 0x70, 0xC0, 0xCE, 0xFC, 0xC0, +0xB1, 0xC9, 0x3D, 0x04, 0x3A, 0x2A, 0x84, 0x68, 0xFE, 0x91, 0x5A, 0x86, 0x15, 0x3E, 0x36, 0x6C, +0x46, 0x3D, 0x64, 0x59, 0x11, 0x06, 0xF2, 0xFE, 0xFC, 0x7C, 0x58, 0xB0, 0x81, 0x05, 0x26, 0xE2, +0x1A, 0x29, 0x5F, 0x01, 0x48, 0x1C, 0x15, 0x53, 0xF5, 0x00, 0xC3, 0x37, 0x2E, 0x3F, 0x4C, 0xF7, +0x35, 0x42, 0x5C, 0xF6, 0x0F, 0x9D, 0x90, 0x65, 0xE6, 0x1F, 0x90, 0x92, 0x3C, 0x24, 0x2B, 0x5F, +0x11, 0x5E, 0x95, 0xA6, 0xEE, 0x1F, 0xC5, 0xA6, 0xBA, 0xF3, 0xD1, 0x73, 0xAA, 0x4E, 0x22, 0x11, +0x59, 0x3C, 0x32, 0xE1, 0x43, 0x36, 0x91, 0x1F, 0xAB, 0x7F, 0x9F, 0xC7, 0xDD, 0xEF, 0x9C, 0x0F, +0x18, 0x59, 0xC7, 0x2E, 0x3D, 0xB1, 0xAA, 0x7B, 0x28, 0xA9, 0x7A, 0xF5, 0x95, 0xCC, 0xAA, 0x88, +0xF0, 0x21, 0x7B, 0xC8, 0xB2, 0x2A, 0xFC, 0x23, 0xA9, 0xDD, 0x3F, 0x92, 0x75, 0x70, 0x90, 0xD2, +0x91, 0xF3, 0x45, 0x6F, 0x30, 0xE4, 0x0E, 0xE2, 0xB7, 0xBC, 0xDC, 0x4B, 0x4C, 0x45, 0x6C, 0xC5, +0xF1, 0x19, 0x21, 0x04, 0x5D, 0x23, 0x2A, 0xDB, 0x87, 0x4E, 0x48, 0xBC, 0xC0, 0x60, 0x81, 0xA2, +0x65, 0xC8, 0x49, 0x0C, 0x3E, 0x54, 0x44, 0xC0, 0xA3, 0x38, 0xCA, 0xFE, 0x11, 0xC6, 0x71, 0x38, +0x69, 0xA7, 0x8D, 0xCD, 0xA7, 0x88, 0xAB, 0x7C, 0x0B, 0x1E, 0x63, 0x3A, 0xC3, 0x03, 0x40, 0x4A, +0xF2, 0x87, 0x8E, 0xE4, 0x83, 0xF2, 0x6E, 0x58, 0xD9, 0xC1, 0x39, 0xE0, 0xF7, 0x88, 0x6F, 0xF8, +0xA8, 0x10, 0xA2, 0xE1, 0x41, 0x43, 0x64, 0xBC, 0x3D, 0x88, 0x77, 0xE0, 0xFF, 0x9A, 0x7F, 0x20, +0x0C, 0xC4, 0x47, 0x2B, 0x1F, 0x97, 0x2C, 0x5A, 0xF2, 0x85, 0x20, 0xA5, 0xE0, 0x21, 0x2F, 0x03, +0x0C, 0x00, 0x92, 0x7E, 0x18, 0x06, 0x84, 0x90, 0x7F, 0xC4, 0x03, 0x25, 0x1B, 0xE1, 0xC1, 0xB3, +0x4C, 0x5D, 0x78, 0xD2, 0x9A, 0x7D, 0xA0, 0x62, 0xFB, 0x1C, 0xE5, 0x3F, 0xBF, 0xF1, 0x2E, 0x39, +0x1F, 0x02, 0x21, 0x12, 0x1F, 0x98, 0x88, 0xC9, 0xB6, 0x2E, 0x5F, 0x76, 0x14, 0xB1, 0x86, 0x79, +0xE6, 0x21, 0xA6, 0x54, 0x69, 0x7A, 0x46, 0x92, 0x87, 0x3C, 0x4F, 0x29, 0x75, 0x09, 0xFD, 0x57, +0x2C, 0xF0, 0x0F, 0x0C, 0x2D, 0x50, 0x8D, 0x67, 0xA6, 0xF9, 0x07, 0x84, 0x68, 0xE1, 0x15, 0x0D, +0x91, 0xB7, 0x8C, 0x0F, 0x54, 0x82, 0xA5, 0x89, 0x0F, 0x3C, 0xC4, 0xD5, 0xCE, 0x47, 0xE4, 0x1C, +0x9C, 0xE4, 0xC3, 0x3D, 0x4C, 0x51, 0xD2, 0x3A, 0x5E, 0xF3, 0x38, 0x06, 0x0E, 0x92, 0x6E, 0x56, +0xEE, 0x45, 0x06, 0x40, 0x60, 0x97, 0x48, 0xF1, 0x32, 0x59, 0xAA, 0xF6, 0x92, 0x87, 0x68, 0x7C, +0xE4, 0x4D, 0xF5, 0xA5, 0xA2, 0x63, 0x3E, 0xDE, 0xC6, 0x32, 0x10, 0x08, 0xE9, 0x0E, 0xF1, 0x55, +0xC7, 0xE5, 0x25, 0xA3, 0x53, 0xE4, 0x83, 0x71, 0xD0, 0x6B, 0xCA, 0x87, 0xC1, 0xC4, 0x77, 0x18, +0x88, 0x13, 0x12, 0xC5, 0x5E, 0xFC, 0xA3, 0x2A, 0x2D, 0xFD, 0x40, 0x0B, 0x2E, 0xBF, 0x3A, 0x62, +0xC3, 0xE7, 0x1A, 0x5A, 0xB8, 0x5B, 0xE2, 0x03, 0x42, 0x34, 0xFF, 0x20, 0x55, 0x7F, 0x4B, 0x2E, +0x32, 0x2F, 0x32, 0xC1, 0xC6, 0xB5, 0x22, 0xCC, 0x5A, 0x2A, 0x0A, 0x34, 0xDE, 0x9D, 0x7E, 0x1C, +0x25, 0xE8, 0xAC, 0x67, 0xC0, 0x39, 0xD2, 0x0F, 0x3F, 0x64, 0x80, 0xF0, 0x53, 0xD6, 0x10, 0x49, +0x89, 0x0C, 0xEC, 0x51, 0x1C, 0xF3, 0xDB, 0x7F, 0x69, 0x88, 0x48, 0x7C, 0x50, 0xEE, 0x5D, 0xF2, +0x7A, 0x57, 0x2C, 0xE4, 0xEE, 0xED, 0x6D, 0x1E, 0x57, 0xEF, 0xCE, 0xC9, 0xCF, 0xC7, 0xE7, 0xBC, +0x8D, 0x0F, 0x08, 0x89, 0x78, 0x66, 0x80, 0x20, 0xF6, 0x11, 0x70, 0xB1, 0xC7, 0x43, 0x48, 0x3F, +0x64, 0x0F, 0x79, 0x56, 0x94, 0xB5, 0x07, 0x9D, 0xCC, 0x78, 0x3A, 0xCE, 0x6E, 0xF8, 0x07, 0x00, +0xC3, 0x87, 0x46, 0x08, 0x7C, 0x48, 0x84, 0xC4, 0xE7, 0x0A, 0x3E, 0x6D, 0x6E, 0x26, 0xB5, 0x81, +0x90, 0x3A, 0x1F, 0x98, 0xCB, 0x7F, 0xBA, 0xBC, 0xE4, 0xA8, 0x70, 0x15, 0x8C, 0x90, 0x5D, 0xDB, +0x18, 0x8C, 0x20, 0xA5, 0x1F, 0x0E, 0xC2, 0xA8, 0x83, 0xBC, 0x98, 0x87, 0x7C, 0x4D, 0xFE, 0x41, +0xE6, 0xC1, 0xA3, 0x52, 0xD4, 0x3A, 0x6E, 0xAA, 0xEB, 0x9C, 0x9C, 0xFA, 0xC7, 0x9D, 0xE8, 0x21, +0x9E, 0x79, 0x28, 0xB2, 0xFC, 0x70, 0x6E, 0x98, 0xCC, 0x6E, 0x85, 0xD3, 0x9E, 0x49, 0xE3, 0x83, +0x81, 0x7F, 0x24, 0x9B, 0xB0, 0xE9, 0x0B, 0xB3, 0x8F, 0x85, 0x19, 0xF7, 0xD0, 0x54, 0xF7, 0xF6, +0xA0, 0x28, 0xD1, 0x3F, 0x68, 0x88, 0x3C, 0x92, 0x7F, 0xB8, 0x7A, 0x1F, 0xAE, 0xD8, 0x91, 0x29, +0x79, 0x43, 0x04, 0x3E, 0x64, 0x42, 0xC0, 0xA3, 0x3E, 0xCD, 0x43, 0x3A, 0xDA, 0x83, 0x99, 0x81, +0x8C, 0x16, 0xB3, 0x96, 0xAA, 0xDE, 0xEF, 0x1F, 0x29, 0x2B, 0x20, 0x18, 0xA2, 0x69, 0x91, 0x35, +0xD5, 0x83, 0x0F, 0x6E, 0xB9, 0x83, 0x24, 0x0F, 0x01, 0xB1, 0x28, 0x8C, 0xD9, 0x41, 0xAA, 0x5F, +0xF9, 0x8E, 0x3A, 0xC0, 0x6E, 0x47, 0x7E, 0xAE, 0x48, 0xF5, 0x0F, 0x1A, 0x22, 0xCB, 0x3B, 0x5E, +0xEE, 0x71, 0x0B, 0xA1, 0xDC, 0x6B, 0xFE, 0xE1, 0x7C, 0x28, 0x88, 0xC0, 0x87, 0x36, 0xE2, 0xD3, +0x83, 0xBE, 0xE2, 0xB0, 0x0C, 0x32, 0x80, 0xAC, 0x8B, 0xBD, 0xC6, 0x3F, 0x64, 0x0F, 0x79, 0xD6, +0xE5, 0xFE, 0xD1, 0xF7, 0x94, 0x08, 0x5C, 0x7B, 0x48, 0xC9, 0x41, 0x28, 0xB6, 0x61, 0x20, 0xD2, +0x68, 0xE2, 0xC3, 0x86, 0xE4, 0x1F, 0xBC, 0x6D, 0x53, 0xFE, 0x91, 0xC1, 0xF3, 0x3E, 0xFF, 0x30, +0x05, 0x13, 0x64, 0xD1, 0xC7, 0x69, 0xB5, 0xF7, 0x42, 0x7C, 0x4D, 0x0F, 0x02, 0x85, 0x73, 0x07, +0xA1, 0x1F, 0xF2, 0xF5, 0xAF, 0xE1, 0x45, 0x58, 0x11, 0x4D, 0x48, 0x22, 0xB8, 0xF4, 0x33, 0x74, +0x68, 0xFA, 0x06, 0x3E, 0x24, 0x13, 0xA1, 0x7D, 0xAE, 0x68, 0x63, 0x78, 0x90, 0x9E, 0x0B, 0x1E, +0x42, 0xFB, 0x43, 0x19, 0xBD, 0xFB, 0x47, 0xA8, 0x4F, 0xFD, 0x86, 0x75, 0xCA, 0x3A, 0x68, 0xAD, +0xC7, 0x31, 0xED, 0x73, 0x4D, 0xA2, 0x7F, 0x50, 0xCC, 0x4A, 0x64, 0xAE, 0x53, 0x56, 0x14, 0xE4, +0xDA, 0x84, 0xE0, 0x78, 0x6E, 0xDE, 0x32, 0x6C, 0xF9, 0xE7, 0x5E, 0xC3, 0x87, 0x30, 0x6F, 0x49, +0xCF, 0xEB, 0x06, 0xE2, 0xD3, 0x04, 0x1F, 0x52, 0x9C, 0xF5, 0xCD, 0x3B, 0xDB, 0xE7, 0xFF, 0xB0, +0x8C, 0x7D, 0xC4, 0x4C, 0x46, 0x92, 0x14, 0xED, 0x8F, 0x33, 0x07, 0xE1, 0x27, 0x6E, 0x27, 0x49, +0x07, 0x33, 0x36, 0xFC, 0xE1, 0x3B, 0x3F, 0x65, 0x28, 0xB0, 0x81, 0xEC, 0xBB, 0x1C, 0xDE, 0x20, +0x64, 0xD2, 0x42, 0x56, 0x37, 0x9F, 0x6E, 0xE1, 0x43, 0xF1, 0x10, 0x16, 0x84, 0x64, 0x21, 0x87, +0xFA, 0x90, 0xDD, 0x38, 0x5B, 0xDB, 0x01, 0x6B, 0xD4, 0xF7, 0x71, 0xCE, 0x7E, 0x7A, 0xC6, 0x12, +0x24, 0x0F, 0x79, 0x6E, 0xD2, 0x82, 0xAB, 0x25, 0xF9, 0xB5, 0xC4, 0x78, 0x0E, 0xE9, 0x71, 0x9E, +0xC4, 0x3F, 0x44, 0x1A, 0xBC, 0x52, 0x12, 0x21, 0xDD, 0x8D, 0xAE, 0x8D, 0xBD, 0xAD, 0xCB, 0xAF, +0x6A, 0x54, 0xC4, 0x0E, 0xB5, 0xF2, 0xC1, 0x29, 0x3D, 0x26, 0x6D, 0xBC, 0xBC, 0x7B, 0x31, 0xDC, +0x09, 0x1F, 0x23, 0x0E, 0x42, 0x1E, 0x62, 0x84, 0x90, 0xD1, 0x18, 0x68, 0xE9, 0x30, 0x02, 0xAC, +0xEC, 0x0F, 0x1B, 0x2D, 0x64, 0xF7, 0xCD, 0x12, 0x09, 0xA8, 0x58, 0x06, 0xE2, 0x88, 0xC8, 0x16, +0xD2, 0xE9, 0x84, 0xD8, 0xA6, 0xEB, 0xFA, 0x06, 0x3C, 0xAE, 0xB1, 0x8F, 0x38, 0x3F, 0x03, 0x49, +0xEC, 0xE8, 0x45, 0xF8, 0xDF, 0x69, 0x73, 0x10, 0xDA, 0x1F, 0x92, 0x2C, 0xC5, 0x09, 0xFF, 0x20, +0xC4, 0x72, 0x52, 0x13, 0xAA, 0x6B, 0x88, 0xD9, 0xAB, 0x6F, 0xE1, 0xA3, 0xEB, 0x5A, 0x08, 0xB9, +0xED, 0x74, 0x03, 0x71, 0x59, 0xF4, 0xDC, 0xA4, 0xF6, 0x8F, 0x47, 0x51, 0x82, 0xA5, 0x5F, 0x71, +0xDA, 0x07, 0x21, 0x8D, 0xB0, 0xFC, 0xE3, 0xDC, 0x2A, 0x4A, 0x0E, 0xF2, 0x32, 0xA8, 0x80, 0x9D, +0x6D, 0x03, 0x3B, 0x7E, 0x30, 0x59, 0x12, 0x02, 0x21, 0x52, 0x96, 0xFE, 0x0D, 0x35, 0x5E, 0xC1, +0x48, 0x56, 0xF6, 0x3A, 0x6E, 0x74, 0x0B, 0x79, 0x7B, 0x7B, 0xBB, 0x91, 0x53, 0x90, 0xDB, 0x79, +0x37, 0xE8, 0x5A, 0x8D, 0x38, 0x2E, 0x48, 0xCF, 0x39, 0x51, 0x9F, 0xD4, 0xAF, 0x02, 0x91, 0x74, +0x6C, 0x2D, 0x0A, 0x3E, 0x42, 0x28, 0xA9, 0x95, 0x8F, 0xC5, 0x3A, 0x91, 0x88, 0x8F, 0xF5, 0x80, +0x91, 0x8E, 0x6C, 0x17, 0x47, 0x4D, 0x7C, 0xE8, 0x84, 0xD8, 0xE8, 0xDE, 0x4C, 0xEA, 0x69, 0xCC, +0xA6, 0xC5, 0xCE, 0x10, 0xC2, 0x5A, 0x60, 0x3D, 0x64, 0x07, 0xC3, 0xC2, 0x69, 0xE1, 0xC3, 0xB4, +0xCF, 0x05, 0x08, 0x78, 0xC0, 0x82, 0x98, 0x28, 0xD2, 0xE9, 0x17, 0xD7, 0xA4, 0x83, 0x04, 0x1F, +0xE6, 0x21, 0xF9, 0x23, 0x0D, 0x82, 0x1A, 0x4A, 0xCB, 0x3B, 0x57, 0x03, 0x1F, 0x03, 0x21, 0x39, +0x1C, 0xBC, 0x38, 0xA5, 0x2A, 0xD6, 0xDD, 0x4A, 0x4E, 0x42, 0xDE, 0x4C, 0xE6, 0x21, 0x72, 0x8A, +0xDE, 0xB9, 0xE4, 0x25, 0x13, 0x1C, 0xB8, 0x47, 0x04, 0x18, 0xD4, 0xAD, 0xD2, 0xD2, 0x84, 0x1E, +0x5B, 0xBE, 0xA6, 0xC5, 0xF3, 0xFF, 0xA4, 0x01, 0x8F, 0xA7, 0xC7, 0xF5, 0x29, 0xAD, 0x54, 0x0C, +0x02, 0x96, 0x74, 0x85, 0x58, 0xB3, 0x87, 0x74, 0x2E, 0x39, 0xBE, 0x1A, 0x5E, 0x78, 0x93, 0x66, +0x20, 0xCE, 0x07, 0x84, 0x08, 0x11, 0xC5, 0x57, 0x86, 0xC7, 0x37, 0x0D, 0x51, 0xD6, 0xCE, 0x75, +0x54, 0x82, 0xA5, 0x89, 0xCE, 0x8F, 0xD4, 0xB1, 0x5E, 0xF6, 0xCA, 0x3D, 0xC4, 0x00, 0x29, 0xF8, +0x07, 0x1E, 0x42, 0x2F, 0x85, 0x5A, 0xF2, 0x3F, 0xFC, 0xE0, 0x7C, 0x84, 0x74, 0x3E, 0xC2, 0x43, +0x24, 0xDD, 0xD0, 0x26, 0x54, 0x2C, 0xE4, 0xCD, 0x65, 0xBB, 0xD9, 0xAD, 0xE6, 0x1F, 0x21, 0x6D, +0xC5, 0x9C, 0x37, 0xDF, 0x92, 0x57, 0x10, 0x67, 0x1D, 0xE7, 0x23, 0xDE, 0xA7, 0x58, 0xAC, 0xF1, +0x90, 0x8F, 0xE7, 0xC3, 0x86, 0xD5, 0x79, 0x49, 0xC9, 0xF1, 0x8C, 0xA3, 0x27, 0x44, 0x7A, 0xB2, +0x68, 0xF0, 0x90, 0x2E, 0x74, 0xAD, 0xF4, 0x41, 0xEC, 0xB5, 0x74, 0x3C, 0xB6, 0xB2, 0x87, 0xAC, +0x56, 0x19, 0x21, 0x77, 0xF5, 0x0C, 0x3D, 0x35, 0x98, 0x9B, 0xF8, 0x70, 0x13, 0x39, 0xE4, 0xE3, +0x2C, 0x66, 0xEA, 0xB0, 0x91, 0xC3, 0xBF, 0x1C, 0x34, 0xE5, 0x20, 0x28, 0x82, 0x28, 0x1E, 0x30, +0x37, 0x11, 0x4F, 0x3F, 0x90, 0x54, 0xC1, 0xE2, 0x1F, 0x5A, 0x7E, 0x21, 0x38, 0xA4, 0x0B, 0xE2, +0x1B, 0xCD, 0x3F, 0x42, 0xDB, 0x1B, 0xA5, 0x93, 0x3E, 0x8F, 0x35, 0x20, 0x7B, 0x88, 0xAF, 0xB0, +0x19, 0x78, 0xAC, 0x49, 0x90, 0x61, 0x83, 0x53, 0xB8, 0xD3, 0xE1, 0x84, 0x2C, 0xC4, 0xCC, 0x42, +0x57, 0x84, 0x57, 0xEB, 0xC7, 0x44, 0x08, 0x1D, 0x99, 0xC0, 0x03, 0xAB, 0x8B, 0xA7, 0x6A, 0x9A, +0xF9, 0x4D, 0xF1, 0x90, 0xFE, 0xBA, 0x43, 0x02, 0x1F, 0xB3, 0x37, 0xB4, 0x11, 0x0C, 0x64, 0xB3, +0xBA, 0x83, 0x90, 0xAA, 0x8B, 0xE0, 0x1F, 0x3E, 0xC4, 0x44, 0x64, 0x87, 0xC2, 0x32, 0xDC, 0x47, +0xA0, 0xE4, 0x24, 0xC8, 0xDA, 0xBD, 0xFC, 0x30, 0x0E, 0x48, 0x81, 0x8F, 0x88, 0xB2, 0x4E, 0x1E, +0x30, 0x7D, 0xAC, 0x90, 0x16, 0x49, 0xF0, 0x81, 0x94, 0xFA, 0x55, 0xC2, 0x03, 0x0F, 0xA9, 0xA4, +0x20, 0xFE, 0x1A, 0x26, 0x46, 0xA6, 0xB3, 0x90, 0x38, 0x85, 0x85, 0xA6, 0x7B, 0xE9, 0x9D, 0x09, +0x42, 0x26, 0x53, 0xF5, 0xFB, 0xD0, 0x82, 0xAC, 0x23, 0x62, 0x2C, 0x92, 0x64, 0xE7, 0x22, 0x00, +0x5A, 0x3C, 0x0E, 0xE6, 0x11, 0xB7, 0xA7, 0x0F, 0xE7, 0x63, 0xE0, 0xEE, 0x71, 0xB1, 0xB0, 0x8D, +0x41, 0x48, 0xA1, 0xF7, 0x9E, 0xED, 0x3A, 0xA3, 0x76, 0x11, 0x88, 0x0C, 0x1E, 0x72, 0x21, 0xF8, +0x87, 0x4C, 0x88, 0xF3, 0xB1, 0xE1, 0xC5, 0xBF, 0x99, 0xD6, 0xDD, 0xD1, 0xA9, 0xAF, 0x16, 0x64, +0xE3, 0x1F, 0x0C, 0x99, 0x0F, 0x08, 0xB1, 0x99, 0x98, 0xA0, 0xDA, 0xCB, 0xB9, 0x1E, 0x3E, 0x4C, +0xE3, 0x0E, 0x12, 0x7C, 0x20, 0xB2, 0x10, 0xDF, 0xD2, 0x64, 0x49, 0x16, 0xB2, 0x3B, 0x95, 0xE4, +0x1F, 0x20, 0x92, 0xBD, 0x1A, 0xD0, 0x42, 0x03, 0x24, 0x08, 0x49, 0x57, 0xF3, 0x6E, 0x14, 0xFF, +0x30, 0xF9, 0xDB, 0x35, 0x95, 0x7F, 0x74, 0x48, 0xC8, 0xD4, 0x3D, 0x3F, 0xE7, 0x24, 0x1C, 0x29, +0x87, 0x0F, 0x13, 0xB1, 0x56, 0xDC, 0xD9, 0xBB, 0x7F, 0x18, 0x22, 0x8F, 0x0B, 0xDB, 0xD3, 0x4E, +0xFF, 0x58, 0xFF, 0xB0, 0x87, 0xB7, 0xDB, 0x60, 0x53, 0x78, 0x1A, 0x97, 0x99, 0x10, 0x08, 0xE6, +0xF2, 0x30, 0x6B, 0xDA, 0x3F, 0xD0, 0x54, 0x03, 0xC4, 0xF1, 0x38, 0xE8, 0x62, 0xD2, 0x40, 0x02, +0x0F, 0x9F, 0xF6, 0xC3, 0xC8, 0x2A, 0x20, 0xBE, 0x62, 0xDD, 0x28, 0x1E, 0xB2, 0xCB, 0x04, 0x14, +0x04, 0x43, 0x7E, 0x10, 0x2D, 0xC2, 0x1F, 0x9C, 0x0F, 0x34, 0xDA, 0x49, 0x3F, 0xD5, 0x80, 0x15, +0xDD, 0xC1, 0x83, 0x6F, 0x44, 0x10, 0x67, 0x07, 0xBB, 0x33, 0x4D, 0xF0, 0x81, 0x7F, 0x90, 0xAA, +0xF3, 0x4A, 0x00, 0x07, 0x7C, 0xDC, 0x1D, 0x13, 0x52, 0xB7, 0x90, 0x8D, 0x73, 0xE1, 0xD3, 0x35, +0x94, 0x7B, 0x85, 0xFC, 0x43, 0x25, 0x64, 0x0F, 0x07, 0x27, 0x61, 0xEA, 0xA9, 0xC9, 0x43, 0x7A, +0xD6, 0xA8, 0xED, 0x0D, 0x8E, 0x47, 0x3F, 0xC5, 0xE3, 0x21, 0x1F, 0xCD, 0xC7, 0x93, 0x33, 0x68, +0x33, 0x08, 0x49, 0xD8, 0x06, 0xAC, 0xE9, 0x4A, 0x5E, 0x9C, 0x6F, 0x96, 0x6E, 0xF6, 0x53, 0xD5, +0x42, 0x12, 0x1F, 0x68, 0xA2, 0xBC, 0x9B, 0xB4, 0x25, 0xCA, 0xAA, 0x08, 0x3C, 0xA6, 0xC2, 0x2C, +0xFC, 0x83, 0xE1, 0x84, 0x28, 0x7C, 0xA0, 0x38, 0xB7, 0x9F, 0xF6, 0x0C, 0x0F, 0x17, 0xA7, 0xBF, +0xE4, 0x1A, 0x75, 0x90, 0x73, 0x51, 0xD5, 0x3D, 0xD8, 0x07, 0x10, 0xB6, 0x01, 0x32, 0xA0, 0x9F, +0x01, 0x02, 0x21, 0x05, 0x39, 0x1E, 0xF9, 0x2B, 0x59, 0xB7, 0x0F, 0xB4, 0x0D, 0x42, 0xC6, 0xDF, +0xD6, 0x0E, 0x29, 0x61, 0xD6, 0x3D, 0x22, 0xCC, 0x0A, 0x20, 0x28, 0x19, 0x81, 0x8E, 0x2D, 0xDD, +0x38, 0xB7, 0xFB, 0xE5, 0xBC, 0x83, 0x9E, 0x3E, 0xDE, 0x3F, 0xEC, 0xE6, 0xC3, 0x21, 0xE9, 0xF1, +0x0C, 0x3C, 0xCD, 0x8F, 0x8A, 0x92, 0xC2, 0x2B, 0x54, 0xE5, 0xA3, 0xA0, 0x8A, 0x81, 0x10, 0x37, +0xC7, 0xC4, 0x43, 0x10, 0xF7, 0xE0, 0x1F, 0x78, 0xC8, 0x57, 0x12, 0x1F, 0x88, 0x18, 0x68, 0x0F, +0x06, 0xD9, 0x03, 0xE9, 0x79, 0xD1, 0x43, 0xC8, 0x41, 0xC0, 0x23, 0xF7, 0x90, 0xC8, 0xF5, 0x7D, +0x4F, 0x06, 0x42, 0x7C, 0xA5, 0x21, 0xB2, 0x73, 0xFB, 0xC8, 0xC7, 0x38, 0x22, 0x01, 0x07, 0x13, +0x42, 0xB0, 0x10, 0x84, 0xC5, 0xA3, 0x8D, 0x5D, 0xB4, 0xA8, 0xC4, 0x57, 0xA8, 0xC6, 0x87, 0x9F, +0x7A, 0x63, 0x6B, 0x13, 0xF5, 0x69, 0x4F, 0xC9, 0xD7, 0x68, 0xF0, 0xD4, 0xE0, 0x69, 0xBF, 0x84, +0x23, 0xCC, 0x7A, 0xFA, 0x38, 0x3E, 0x4C, 0x0E, 0x85, 0xFF, 0x96, 0xB0, 0x92, 0x43, 0xE3, 0x83, +0x0B, 0xC5, 0x48, 0xCF, 0xFD, 0xA9, 0xDB, 0x0C, 0xFF, 0x18, 0x24, 0x86, 0x57, 0x10, 0x52, 0xE1, +0x63, 0x93, 0x59, 0x48, 0x35, 0x11, 0xC9, 0xF0, 0xC0, 0x43, 0xEA, 0xFE, 0xC1, 0xA8, 0x12, 0xB2, +0x2B, 0x8A, 0xD3, 0xFA, 0xBE, 0xF4, 0x44, 0x20, 0x54, 0x04, 0xE4, 0xDC, 0x41, 0x6C, 0x8C, 0xE8, +0xB4, 0x6E, 0x85, 0x35, 0x95, 0x9F, 0xC7, 0x4E, 0xF4, 0x0F, 0xC2, 0xAC, 0xB2, 0x48, 0x3F, 0x98, +0xC3, 0x66, 0x24, 0x0D, 0x39, 0xF1, 0x8E, 0x8D, 0x8D, 0x14, 0x65, 0x15, 0x11, 0xB9, 0xED, 0x90, +0x42, 0xC8, 0x45, 0xC1, 0x3F, 0x16, 0x44, 0x34, 0xBE, 0x24, 0x41, 0x65, 0x48, 0x3F, 0x7C, 0xF1, +0xAE, 0x1D, 0x8F, 0xBD, 0x97, 0x88, 0x84, 0xE8, 0xFE, 0xE1, 0xBF, 0xC2, 0x7F, 0x4B, 0x14, 0x03, +0xF6, 0x84, 0x24, 0x1F, 0x59, 0xD3, 0xEB, 0x47, 0x8B, 0x20, 0x3B, 0x76, 0x7D, 0x39, 0x0F, 0xE9, +0x46, 0x34, 0x76, 0x79, 0x09, 0x74, 0x9C, 0xA8, 0x68, 0x20, 0x36, 0xC8, 0xCE, 0x99, 0x10, 0x42, +0x9A, 0x9E, 0xF9, 0x87, 0xEA, 0x21, 0xF9, 0x7A, 0x4C, 0xE2, 0xD3, 0x84, 0x41, 0x06, 0xED, 0xC1, +0x1A, 0x21, 0x00, 0x82, 0x72, 0x13, 0x21, 0xDD, 0x0F, 0x23, 0xA1, 0x3F, 0x28, 0x12, 0x42, 0xFA, +0xC1, 0xA8, 0x17, 0xB3, 0x48, 0x3F, 0x72, 0x13, 0xC1, 0xA9, 0x8F, 0xF9, 0xE8, 0xCE, 0xDD, 0xC3, +0x75, 0xD3, 0xCD, 0x6E, 0x15, 0x3E, 0x20, 0xA4, 0xD8, 0x3E, 0x0F, 0xFF, 0xC8, 0x57, 0x98, 0x89, +0x2B, 0x14, 0x63, 0xBF, 0xEE, 0x7B, 0xFB, 0x90, 0x78, 0x02, 0xE3, 0x71, 0x6D, 0x37, 0x9F, 0x1F, +0x96, 0x87, 0x3C, 0x45, 0xFE, 0x91, 0x62, 0xB8, 0xF8, 0x45, 0x7E, 0xC0, 0x93, 0xB2, 0x01, 0x2D, +0x86, 0x86, 0x8D, 0xD0, 0x8C, 0x43, 0x35, 0xBE, 0x82, 0x90, 0x42, 0xFB, 0x3C, 0xC3, 0x63, 0xCB, +0x61, 0xD9, 0x3E, 0x4A, 0x78, 0x94, 0x3D, 0x84, 0xF2, 0xAE, 0xEE, 0x21, 0xBB, 0x82, 0xA8, 0xF6, +0x02, 0x46, 0x2A, 0x5F, 0x8D, 0xEB, 0xD4, 0x41, 0xAA, 0x8A, 0x07, 0x03, 0x3F, 0xC2, 0xAB, 0x92, +0x26, 0xCB, 0x57, 0xE5, 0x44, 0x44, 0xE0, 0x23, 0xB5, 0x0C, 0x73, 0x15, 0xDE, 0x1F, 0x40, 0x31, +0x42, 0x0A, 0xF9, 0x87, 0xEC, 0x21, 0x5C, 0x7E, 0xC5, 0x0A, 0xB3, 0xC9, 0x42, 0xEB, 0xB9, 0x25, +0xFF, 0xD8, 0x9B, 0x87, 0xEF, 0x63, 0x7C, 0x60, 0xCB, 0xD0, 0x49, 0x73, 0xDB, 0xF0, 0xC9, 0x2F, +0xF2, 0x86, 0x48, 0x7F, 0x64, 0x6B, 0x28, 0x9E, 0x30, 0x70, 0x44, 0xA4, 0xD8, 0x4B, 0xF1, 0x15, +0xA2, 0x74, 0x4E, 0x79, 0x97, 0xDA, 0x48, 0xC1, 0x44, 0x72, 0x03, 0x21, 0xAF, 0xB4, 0x21, 0x64, +0xEA, 0xF0, 0x91, 0x8F, 0x72, 0x53, 0xBD, 0xBA, 0x2E, 0x63, 0x15, 0x73, 0x7D, 0x16, 0xE5, 0xDD, +0x92, 0x92, 0x83, 0xE0, 0x1F, 0x15, 0x0F, 0xA1, 0xA7, 0x82, 0x7B, 0x54, 0x08, 0xF9, 0x4A, 0xF1, +0x0F, 0x3C, 0x24, 0x57, 0x05, 0x8F, 0x61, 0xBE, 0x65, 0x16, 0x52, 0xF4, 0x0E, 0x94, 0x7B, 0x48, +0x87, 0x94, 0x4C, 0x9D, 0xF5, 0xE4, 0xBB, 0x98, 0xA7, 0x36, 0xB2, 0x4E, 0x45, 0x23, 0xE7, 0x23, +0x42, 0x2A, 0x37, 0x0F, 0x9F, 0x91, 0x8B, 0x7C, 0x08, 0x21, 0xFB, 0x8C, 0x1C, 0xF6, 0x1C, 0x0D, +0x8A, 0x59, 0xE4, 0x1E, 0x36, 0xB2, 0xFE, 0xE0, 0x02, 0xBE, 0x93, 0x34, 0xFF, 0x40, 0x85, 0xF6, +0xB9, 0x8D, 0xCC, 0x42, 0xD0, 0x44, 0xFA, 0x91, 0x23, 0x52, 0x4A, 0x3F, 0x6A, 0x43, 0xE3, 0x03, +0x71, 0x71, 0x2F, 0xE9, 0x47, 0x95, 0x90, 0x70, 0x90, 0x97, 0x49, 0xED, 0x2B, 0xC6, 0x41, 0xE0, +0x28, 0x1F, 0xC4, 0x7D, 0x92, 0x7F, 0x30, 0xA6, 0xF8, 0x60, 0x52, 0xEE, 0x45, 0xE5, 0x77, 0x87, +0x3C, 0x04, 0x0F, 0x21, 0x3D, 0xAF, 0x12, 0x72, 0x84, 0x08, 0xFE, 0xC1, 0xFA, 0x82, 0x18, 0xBA, +0x70, 0x3E, 0x92, 0x7F, 0x3C, 0x46, 0x59, 0x89, 0xE1, 0x1D, 0x8B, 0x54, 0xEE, 0x6D, 0xBB, 0xA0, +0xBD, 0x5C, 0xBE, 0x0A, 0x1C, 0x0E, 0x36, 0xB2, 0x1F, 0x8F, 0xEE, 0x21, 0x7C, 0xF7, 0x28, 0x4F, +0x3C, 0x94, 0x38, 0xA1, 0xDC, 0xDB, 0x4B, 0xF9, 0x07, 0xCA, 0xDA, 0x1F, 0x53, 0xDA, 0x9C, 0x1A, +0x48, 0x19, 0x0F, 0x1A, 0x22, 0x1A, 0x1F, 0x8C, 0xAF, 0x24, 0x3E, 0x10, 0x2D, 0xBD, 0x81, 0x0F, +0xEC, 0x63, 0x44, 0x51, 0xC5, 0x7A, 0x51, 0x74, 0xC9, 0x43, 0x67, 0x34, 0x14, 0x11, 0xD1, 0xBE, +0xB9, 0x9A, 0x88, 0xB2, 0xDC, 0x1E, 0xCC, 0x27, 0xD5, 0x5E, 0x2C, 0x64, 0x53, 0x7D, 0x7F, 0xFC, +0x76, 0xD2, 0x54, 0xEF, 0x3A, 0x81, 0x90, 0xA2, 0x7F, 0x00, 0x47, 0x08, 0x33, 0xA1, 0x71, 0x4D, +0x4E, 0x9E, 0xCC, 0xC3, 0xF7, 0xB6, 0xB3, 0xDB, 0x7F, 0x2E, 0x66, 0x3D, 0x39, 0x1D, 0x4F, 0x3E, +0x28, 0xF2, 0xC6, 0xAF, 0xA2, 0x65, 0x98, 0x2C, 0x04, 0xFB, 0xC0, 0x01, 0x13, 0x31, 0x78, 0x48, +0xD6, 0xFE, 0x98, 0xF6, 0x10, 0xE2, 0x2B, 0xCA, 0x21, 0x25, 0x0B, 0xDF, 0xE6, 0x1E, 0x02, 0x1E, +0xA5, 0xE9, 0x43, 0xE2, 0x83, 0x85, 0xA3, 0xE1, 0x81, 0x92, 0x81, 0xE0, 0x1F, 0x35, 0x85, 0x83, +0xD4, 0xC5, 0x65, 0x27, 0xA1, 0x9D, 0xA4, 0xE3, 0xAB, 0xDB, 0x9B, 0x08, 0x21, 0x48, 0xAD, 0x23, +0x12, 0x2A, 0xD9, 0xFB, 0xA6, 0x50, 0xEE, 0xBD, 0xC5, 0x3F, 0xA6, 0x05, 0x20, 0xF7, 0xE8, 0x38, +0xF1, 0x58, 0xF8, 0x11, 0x3D, 0x75, 0x9B, 0xE4, 0x1F, 0x6E, 0x20, 0x9C, 0xD6, 0x6D, 0xA6, 0x5C, +0x41, 0x68, 0x88, 0x08, 0xFE, 0x11, 0x9E, 0x34, 0x20, 0x92, 0x6C, 0x64, 0x01, 0x95, 0xF6, 0x53, +0x8F, 0x7F, 0xB8, 0x66, 0xF0, 0x4C, 0x06, 0x05, 0xF7, 0x52, 0xFE, 0x81, 0x02, 0x0F, 0xDA, 0x1F, +0x55, 0x5D, 0x90, 0x86, 0x54, 0xDF, 0x57, 0x1A, 0x22, 0xF0, 0x21, 0x00, 0x72, 0xE4, 0x21, 0x3B, +0x49, 0x87, 0x64, 0x61, 0x58, 0xD4, 0x82, 0x1C, 0x10, 0x4D, 0xE4, 0x1F, 0x8A, 0xE0, 0x63, 0x29, +0x00, 0x62, 0x84, 0xE0, 0x1F, 0x93, 0x78, 0xB8, 0x1D, 0x9B, 0x7B, 0xDB, 0xCB, 0x5E, 0xF3, 0x0E, +0x44, 0x53, 0xBD, 0xD3, 0x74, 0xD6, 0xFE, 0x08, 0x2E, 0x08, 0xE2, 0xE3, 0x00, 0xB9, 0x7D, 0x2C, +0x1E, 0x59, 0xAA, 0x51, 0x5A, 0xA2, 0xCE, 0xE4, 0xFE, 0xF1, 0x7E, 0x0F, 0xA1, 0xFD, 0xE1, 0x66, +0x91, 0x2C, 0xE3, 0xC8, 0xAA, 0x92, 0x61, 0x25, 0x07, 0x81, 0x8A, 0x05, 0xCF, 0xF8, 0xB0, 0xC7, +0x46, 0x1A, 0xF0, 0xC0, 0x43, 0x4A, 0xE5, 0xDD, 0x72, 0x2E, 0x92, 0x7A, 0x57, 0x53, 0x78, 0x90, +0xAA, 0xE3, 0x1F, 0x02, 0x22, 0xF0, 0x21, 0x13, 0xC2, 0xE5, 0xBB, 0x1F, 0x09, 0xC8, 0xAF, 0x9A, +0x7F, 0x10, 0x65, 0xD1, 0xFE, 0x50, 0x46, 0xF2, 0x8F, 0xBA, 0x83, 0xB0, 0x27, 0xFD, 0x40, 0xDB, +0xF1, 0x38, 0x6B, 0xEF, 0x21, 0x9D, 0x2C, 0x8B, 0xCD, 0x33, 0xFF, 0x00, 0x8F, 0x38, 0x13, 0x73, +0x7F, 0x88, 0xC4, 0x80, 0xD4, 0xC0, 0xF3, 0x73, 0x0A, 0x5A, 0xE1, 0x2F, 0x0A, 0x21, 0x95, 0xF6, +0x07, 0xCD, 0x95, 0x60, 0x0E, 0xAB, 0xF2, 0x5A, 0xD6, 0x3A, 0x4F, 0x3A, 0x80, 0x64, 0xE1, 0x33, +0xFB, 0xB7, 0x90, 0x7E, 0x48, 0x3A, 0xC9, 0x3F, 0x46, 0x83, 0x2C, 0x7E, 0x8A, 0xF4, 0xBC, 0x8A, +0x07, 0xEF, 0xEB, 0x0A, 0xFF, 0x10, 0x46, 0x22, 0x64, 0xA7, 0x6A, 0xFF, 0x35, 0x72, 0x92, 0x7D, +0xE8, 0x80, 0xD0, 0x10, 0xD9, 0x35, 0x48, 0x8C, 0xAF, 0x88, 0xB2, 0x82, 0x0F, 0x05, 0x0F, 0x1B, +0x43, 0x16, 0x32, 0xE9, 0x1D, 0xA8, 0x9B, 0xC1, 0x87, 0xA2, 0x73, 0xFF, 0xC0, 0x3A, 0x48, 0x74, +0x8F, 0xF4, 0x6A, 0x18, 0x70, 0x46, 0xA7, 0x3B, 0x98, 0xC0, 0xB0, 0x69, 0x7F, 0x83, 0x62, 0xD6, +0x8F, 0x36, 0xE5, 0x61, 0x8A, 0xBE, 0x63, 0xCC, 0x33, 0x2D, 0xD8, 0xD9, 0xA6, 0x0F, 0x3A, 0xD8, +0x01, 0x4C, 0x96, 0x4F, 0x45, 0x22, 0xD2, 0x35, 0x68, 0x36, 0x9B, 0xBB, 0x7F, 0xD4, 0x72, 0x90, +0xF8, 0xB3, 0xAD, 0x7F, 0x42, 0x64, 0x43, 0xF9, 0x4A, 0xF0, 0x11, 0xD1, 0x3F, 0x68, 0x88, 0xC0, +0x87, 0x96, 0x87, 0xE8, 0x7C, 0x3C, 0x00, 0x88, 0x22, 0x03, 0xE4, 0x32, 0xD7, 0x6E, 0x7C, 0x18, +0x1F, 0xAA, 0xBC, 0x24, 0xB1, 0xC4, 0x85, 0x15, 0x3B, 0xC6, 0x3F, 0x04, 0x6D, 0x8C, 0x90, 0xEB, +0xAE, 0x45, 0xF8, 0x87, 0x26, 0xFF, 0x1F, 0x34, 0xAF, 0x7D, 0xA4, 0xFD, 0x3E, 0xAE, 0xE2, 0x4E, +0xBF, 0xED, 0x3D, 0xC0, 0xBF, 0xCB, 0xC1, 0x6E, 0xA5, 0x51, 0x9C, 0x4F, 0x46, 0x97, 0x3A, 0xAC, +0x51, 0x09, 0xC8, 0xA4, 0x1C, 0x20, 0x3D, 0xCB, 0xCB, 0x72, 0xD7, 0x4D, 0xAF, 0x4C, 0x37, 0xEB, +0xDE, 0x9A, 0x64, 0x6F, 0xAC, 0xCA, 0x87, 0x97, 0x7B, 0xB5, 0x13, 0x2B, 0x0D, 0x91, 0xCB, 0x71, +0x1A, 0x4A, 0x77, 0xBD, 0x20, 0xC1, 0x41, 0x7E, 0xD5, 0xF5, 0xCB, 0xDF, 0x4D, 0xBA, 0xFC, 0xE6, +0x9B, 0x9D, 0x3C, 0x4C, 0x77, 0x77, 0x37, 0x77, 0x0D, 0xBA, 0xF9, 0xD4, 0x26, 0x2B, 0xBB, 0xDC, +0xEA, 0x73, 0x36, 0xBB, 0xB7, 0xB8, 0xFC, 0x5E, 0x1C, 0x46, 0xD3, 0xE2, 0x8F, 0xE7, 0x27, 0xD3, +0x1F, 0x4F, 0x4F, 0xBE, 0xF7, 0x43, 0x9B, 0x1C, 0x0F, 0x7F, 0xC0, 0xE1, 0x4F, 0xDF, 0x35, 0xE9, +0x27, 0x7F, 0x30, 0x4D, 0x7F, 0xD8, 0x58, 0xD8, 0x53, 0x6A, 0x18, 0xB3, 0x59, 0xD3, 0x8B, 0x33, +0xFF, 0x54, 0xD0, 0x9B, 0x8F, 0xA2, 0x78, 0x5F, 0x25, 0x99, 0x7F, 0x34, 0xE9, 0xB2, 0x6D, 0x61, +0xFE, 0xF2, 0xAB, 0x2E, 0x00, 0x51, 0xF8, 0x68, 0x7B, 0x1E, 0x66, 0x2F, 0x83, 0x07, 0x0A, 0x37, +0x9F, 0x3B, 0x47, 0x44, 0x97, 0xC5, 0xB5, 0x5F, 0x36, 0xE0, 0xF1, 0xE7, 0x9F, 0x7F, 0xCE, 0x6F, +0x1B, 0x34, 0x7C, 0x9F, 0xDC, 0x7D, 0x2F, 0xE2, 0xD1, 0xDF, 0x2F, 0x16, 0xF7, 0xB6, 0x32, 0xC5, +0x61, 0x7F, 0xF3, 0x5F, 0xDA, 0xCE, 0xE7, 0xB5, 0x99, 0x2A, 0x8C, 0xC2, 0xB8, 0x12, 0xB1, 0xC5, +0x2C, 0xB2, 0xA8, 0x74, 0x6B, 0x4B, 0xD1, 0x45, 0x2D, 0x9F, 0x45, 0xA4, 0x8B, 0x50, 0x37, 0x45, +0x02, 0xD9, 0xE8, 0xC2, 0xFD, 0x07, 0x71, 0x11, 0xC8, 0xCE, 0x4D, 0x20, 0x88, 0x30, 0x6B, 0x41, +0x70, 0xE9, 0x1F, 0xEB, 0x3B, 0x27, 0xEF, 0xF4, 0xF9, 0x72, 0x7B, 0xE7, 0xCE, 0x19, 0xC5, 0x33, +0x37, 0x33, 0xD3, 0x18, 0x6B, 0x3A, 0x73, 0x9F, 0x39, 0xEF, 0x8F, 0x49, 0x7C, 0x0E, 0xBD, 0x7B, +0xFE, 0xD6, 0x5C, 0xDE, 0xC5, 0xAB, 0x85, 0x87, 0x07, 0xC8, 0xCF, 0xBA, 0xB3, 0x64, 0x06, 0x22, +0x17, 0xA1, 0x39, 0x7C, 0xC4, 0xB1, 0x3C, 0xFA, 0x5A, 0xF6, 0x15, 0x5E, 0x64, 0xF0, 0xA1, 0xE9, +0x60, 0x8E, 0x3F, 0x3F, 0x8F, 0x89, 0x36, 0x07, 0x8F, 0xD0, 0xC2, 0x9E, 0xF2, 0x33, 0x00, 0x59, +0xBC, 0xF4, 0x9A, 0xC3, 0x47, 0x48, 0xE6, 0xA0, 0xD1, 0xDE, 0x2A, 0x98, 0x84, 0x10, 0x07, 0x8F, +0xDD, 0x5D, 0x3C, 0xDC, 0x53, 0x74, 0xBC, 0xBA, 0x0A, 0x42, 0x5C, 0x0F, 0x89, 0x87, 0xE4, 0xFB, +0xC7, 0x6D, 0xE8, 0xF1, 0xD6, 0xBD, 0xC6, 0x8B, 0x8F, 0x9F, 0x83, 0x90, 0x77, 0x16, 0x23, 0x7A, +0x6D, 0xC8, 0x73, 0x8F, 0x18, 0xFB, 0xC7, 0xFE, 0xED, 0xCC, 0xF1, 0x0F, 0x11, 0x32, 0x87, 0x8F, +0x19, 0x84, 0xC4, 0x89, 0x9A, 0x45, 0x48, 0x4C, 0x03, 0x21, 0xA2, 0xF9, 0x31, 0x35, 0x42, 0x9A, +0x68, 0x3E, 0x1F, 0xD2, 0xFF, 0xE1, 0x20, 0x2F, 0x92, 0xCF, 0x47, 0x4A, 0x7F, 0x6A, 0x10, 0x50, +0xDB, 0x6A, 0xE8, 0xE7, 0x38, 0x26, 0x49, 0x88, 0x79, 0x24, 0xC5, 0x87, 0x3C, 0xC4, 0xE2, 0x43, +0xA7, 0xF4, 0xCA, 0x23, 0x44, 0x7C, 0xF4, 0x93, 0x26, 0xD6, 0x2E, 0x1F, 0x02, 0x44, 0x84, 0x38, +0x8C, 0x0C, 0x5F, 0x51, 0xFD, 0xCE, 0xA1, 0x23, 0x20, 0x4A, 0x6D, 0xCD, 0x00, 0x2B, 0x50, 0x95, +0x7C, 0xFB, 0x98, 0x45, 0x48, 0x1C, 0xC6, 0x10, 0x84, 0x58, 0x7C, 0xC4, 0xDA, 0xF7, 0x8F, 0x7E, +0x68, 0xF6, 0x7F, 0xDE, 0x1A, 0xC9, 0x50, 0xCE, 0x33, 0x1F, 0x10, 0x69, 0x06, 0x20, 0x9F, 0xF8, +0x7C, 0x48, 0x36, 0x1F, 0xA9, 0x13, 0xE6, 0xB1, 0x2E, 0xB7, 0xB9, 0xC0, 0x87, 0x86, 0x87, 0x47, +0xCA, 0xF5, 0x90, 0xFE, 0x9A, 0x77, 0x3A, 0xAB, 0x16, 0x1F, 0xC2, 0x03, 0x42, 0x2C, 0x3E, 0xD2, +0x43, 0x7E, 0xDE, 0x4E, 0x4C, 0x5F, 0xF1, 0x91, 0xEA, 0x13, 0x11, 0xC3, 0x3F, 0x90, 0xE1, 0x1F, +0x3F, 0x8B, 0x0F, 0x08, 0x71, 0xFD, 0xC3, 0x8E, 0xB2, 0xC4, 0x87, 0x4F, 0xC8, 0x92, 0x73, 0x65, +0xF2, 0x91, 0x80, 0x68, 0x5E, 0x34, 0xC6, 0x9F, 0x22, 0x68, 0x81, 0x7C, 0x3C, 0x7C, 0x42, 0x74, +0xAB, 0x89, 0x43, 0xC8, 0xE5, 0x0B, 0xF2, 0xF0, 0x40, 0x09, 0xC5, 0xE7, 0xE5, 0x76, 0x28, 0x5F, +0x89, 0x8F, 0x1C, 0x21, 0x2F, 0xBE, 0x7A, 0xBA, 0x4B, 0x3D, 0x59, 0xF9, 0xC7, 0x95, 0xE4, 0x78, +0x08, 0xFE, 0x21, 0x91, 0x87, 0x34, 0xF2, 0x0F, 0xC9, 0xF6, 0x10, 0xE6, 0x7B, 0x44, 0x5A, 0x16, +0x20, 0x48, 0x0C, 0x78, 0xFE, 0xB1, 0x89, 0x87, 0xE5, 0x1F, 0xC8, 0xF5, 0x0F, 0x08, 0xF1, 0xFC, +0x03, 0x0F, 0x31, 0xFD, 0x43, 0x03, 0x97, 0xA8, 0x8C, 0x9C, 0x3B, 0x8B, 0x0F, 0xE5, 0xF0, 0x81, +0x16, 0x0E, 0x1F, 0x02, 0xC4, 0x20, 0xE4, 0xE5, 0x4C, 0x1E, 0x1F, 0x48, 0x35, 0xBB, 0xB4, 0x4C, +0xB6, 0xE9, 0x1D, 0x83, 0x7D, 0x30, 0xBC, 0xF0, 0x0A, 0x19, 0xFE, 0x71, 0x35, 0x28, 0xAC, 0x64, +0x72, 0x0A, 0x08, 0x0F, 0x64, 0xF9, 0x47, 0xDC, 0x24, 0x65, 0x7A, 0x48, 0x40, 0x21, 0xE1, 0x21, +0x06, 0x1F, 0xC8, 0xE4, 0x63, 0xF3, 0xEA, 0x21, 0x9E, 0x7D, 0xD8, 0x61, 0x56, 0x5C, 0x6B, 0x00, +0xE4, 0x70, 0x9C, 0xD2, 0x70, 0x1D, 0x5B, 0x9A, 0x1E, 0x12, 0x13, 0x80, 0x31, 0x5C, 0x49, 0xAB, +0x01, 0x96, 0xFE, 0xD1, 0xE2, 0x5C, 0x16, 0x1F, 0xC8, 0xE0, 0x43, 0x80, 0x84, 0x3C, 0x3E, 0x90, +0xC5, 0x07, 0x12, 0x07, 0x78, 0x26, 0x17, 0x05, 0xF2, 0xF3, 0xB3, 0x31, 0x19, 0x5F, 0x0D, 0xC7, +0xDD, 0xCA, 0x43, 0x0E, 0xF7, 0x87, 0x2B, 0x14, 0x67, 0xF8, 0xB6, 0xED, 0x1F, 0xE5, 0xA4, 0x99, +0xE4, 0x23, 0xE0, 0xE0, 0x9A, 0xFD, 0xD8, 0xF6, 0x90, 0x3E, 0xDD, 0xFE, 0xF5, 0x9C, 0x90, 0x06, +0x1D, 0x4A, 0x3F, 0x0C, 0x42, 0xE0, 0x43, 0x78, 0xE8, 0x2D, 0xC5, 0x88, 0x37, 0xE4, 0xF9, 0x07, +0xB2, 0xF8, 0x00, 0x91, 0x09, 0x13, 0xB9, 0x2B, 0x65, 0xF1, 0xC1, 0xD0, 0x54, 0xA9, 0x46, 0x57, +0x72, 0x97, 0x45, 0x29, 0x83, 0x0F, 0xDF, 0x43, 0xAE, 0x3F, 0x01, 0x90, 0x4F, 0x2C, 0x3E, 0x90, +0xC7, 0x07, 0x12, 0x08, 0x03, 0x10, 0xF9, 0x27, 0x7F, 0x33, 0x64, 0x61, 0xEB, 0xE2, 0xA8, 0x84, +0xEE, 0x0C, 0xFF, 0xB0, 0x3C, 0x64, 0xB9, 0x3B, 0x0C, 0xF9, 0x07, 0x84, 0x34, 0xE7, 0x00, 0xB2, +0x08, 0x79, 0xCC, 0xF9, 0xD8, 0xE3, 0x91, 0xB5, 0xAC, 0xBD, 0x3C, 0xA4, 0xE9, 0x1F, 0x5B, 0xD3, +0x43, 0x6A, 0xFA, 0xB9, 0x81, 0x47, 0xBC, 0x07, 0xEC, 0xCC, 0xF0, 0x90, 0x8B, 0x8A, 0x26, 0xCA, +0x57, 0xC5, 0xB1, 0x34, 0xF8, 0x30, 0x3C, 0x84, 0xF4, 0xA3, 0x42, 0x48, 0x48, 0x93, 0xE5, 0x2C, +0x39, 0xCF, 0xF4, 0xBC, 0x94, 0xC1, 0x07, 0x6A, 0x36, 0x44, 0x16, 0xE2, 0x43, 0x80, 0x48, 0xD7, +0x8B, 0x71, 0x3E, 0xF8, 0xD5, 0x68, 0x0E, 0x1E, 0xD9, 0x10, 0xC1, 0x3C, 0xB2, 0x82, 0x55, 0xF7, +0x0F, 0x65, 0x69, 0x46, 0x7E, 0x6E, 0x9A, 0xC8, 0x81, 0x00, 0x0B, 0x0F, 0x31, 0xF9, 0x80, 0x90, +0xD1, 0xF6, 0x60, 0x3A, 0xC7, 0x5E, 0x5B, 0x8D, 0x78, 0x0A, 0x0F, 0xA9, 0xF0, 0x81, 0x7F, 0x0C, +0xB0, 0xBC, 0x33, 0xFC, 0xC3, 0xF1, 0x90, 0x6D, 0xFF, 0x1F, 0x47, 0x9B, 0x93, 0xB5, 0x3D, 0x5A, +0x7C, 0x20, 0x83, 0x0F, 0xD3, 0x43, 0x4A, 0x38, 0xB4, 0x31, 0xD2, 0x0F, 0x06, 0x25, 0x4F, 0xCD, +0x9F, 0xD7, 0x45, 0xAB, 0x45, 0x4D, 0x16, 0x1F, 0xA8, 0xE9, 0x1F, 0x00, 0x22, 0x42, 0xC6, 0x5E, +0xD9, 0xBD, 0x54, 0x65, 0x01, 0x82, 0xD2, 0x42, 0x0A, 0xD3, 0x24, 0x3D, 0x2F, 0x09, 0xB1, 0xF9, +0x68, 0x17, 0xB3, 0x74, 0x0A, 0x2B, 0x67, 0xD5, 0x4A, 0x3F, 0x50, 0xCB, 0x3F, 0x7E, 0xD1, 0x43, +0x9B, 0xD7, 0x44, 0x04, 0x0F, 0x29, 0xF8, 0xA8, 0x7B, 0xC2, 0x58, 0x2D, 0x4B, 0xB2, 0x08, 0xD9, +0x6A, 0x3C, 0x0E, 0xEF, 0x65, 0x1F, 0x83, 0x64, 0xC4, 0xE4, 0x03, 0x42, 0x4C, 0x3E, 0xDA, 0x89, +0x88, 0x70, 0xA8, 0xA8, 0xD5, 0xFE, 0xA8, 0x8D, 0x3F, 0x21, 0x23, 0x84, 0x83, 0x2C, 0xEA, 0x72, +0xF0, 0x40, 0x5D, 0x93, 0x0F, 0x00, 0x11, 0x21, 0x0E, 0x1F, 0xC8, 0xE3, 0x03, 0xE9, 0x0A, 0xF0, +0xCD, 0x9F, 0x04, 0x5B, 0xDA, 0x70, 0x1C, 0x4A, 0x44, 0xC6, 0xF9, 0x58, 0xFA, 0x84, 0x80, 0x87, +0xE1, 0x21, 0xF8, 0x87, 0xE1, 0x21, 0x94, 0x77, 0xD1, 0x2F, 0x39, 0x23, 0xF3, 0xB6, 0x93, 0xED, +0x58, 0xF9, 0x0A, 0x51, 0xCC, 0x32, 0xF1, 0x80, 0x90, 0x76, 0xF9, 0x0A, 0x43, 0xC3, 0x43, 0xAA, +0x7C, 0xF8, 0x84, 0x94, 0x7C, 0x4C, 0x14, 0xB3, 0x76, 0x85, 0x7F, 0xB0, 0xEF, 0xFA, 0x07, 0x61, +0x16, 0xF7, 0xEB, 0x91, 0xB9, 0x2E, 0xC6, 0x64, 0xF1, 0x41, 0x94, 0xB5, 0x68, 0xF1, 0x01, 0x20, +0x10, 0x52, 0xB6, 0xCF, 0x47, 0xE5, 0xF1, 0x81, 0x08, 0x21, 0xF5, 0xA7, 0xD2, 0x00, 0x19, 0x19, +0x75, 0x3C, 0x96, 0x63, 0x88, 0xEC, 0x2C, 0x3E, 0xB8, 0xEE, 0x8D, 0xB6, 0xCF, 0x7D, 0x0F, 0xD1, +0x24, 0xD4, 0xD5, 0x9A, 0xC9, 0x58, 0x2F, 0x66, 0xA9, 0x41, 0xF1, 0xD6, 0x3F, 0xC8, 0x43, 0x6A, +0x0D, 0x91, 0x78, 0x76, 0x54, 0xD5, 0xF6, 0x47, 0xC2, 0x31, 0xBC, 0x2B, 0x8C, 0xED, 0xD6, 0xE2, +0x03, 0x35, 0xDA, 0x1F, 0x92, 0x91, 0x88, 0x9C, 0xCE, 0x93, 0x06, 0x7B, 0xA9, 0x76, 0xFB, 0xA3, +0x1C, 0xE4, 0xAD, 0xB9, 0x22, 0x3F, 0xF7, 0x09, 0x69, 0x4C, 0xE3, 0x31, 0x3E, 0x00, 0x04, 0xFD, +0xF0, 0x52, 0xA6, 0x1F, 0x4D, 0x79, 0x78, 0xA0, 0xFC, 0xFB, 0x72, 0x23, 0xFF, 0x88, 0x65, 0x74, +0x78, 0xF1, 0x15, 0x84, 0x58, 0x7C, 0x80, 0x48, 0x8D, 0x0F, 0x9F, 0x90, 0xD2, 0x3F, 0x7E, 0x61, +0x7E, 0x6E, 0x68, 0x88, 0x14, 0xFE, 0x51, 0xC9, 0x40, 0x48, 0xD5, 0xDF, 0xE4, 0x1F, 0x15, 0x40, +0xF8, 0x05, 0xC2, 0xA2, 0xE6, 0x1F, 0x51, 0xBB, 0xD2, 0x1E, 0xAA, 0x46, 0x59, 0x17, 0xC8, 0x22, +0xA4, 0x7D, 0x2C, 0xEB, 0xFE, 0x51, 0x8A, 0xAB, 0x5B, 0xB3, 0x7C, 0x55, 0x0E, 0x31, 0xA1, 0x75, +0xE8, 0x73, 0xF0, 0x18, 0x57, 0x9D, 0x0F, 0x9F, 0x90, 0x4F, 0x24, 0x00, 0x41, 0x96, 0x7F, 0x20, +0x8F, 0x0F, 0x74, 0x43, 0x6C, 0xA5, 0x75, 0x8B, 0x8F, 0x50, 0xED, 0xF6, 0xAB, 0xD4, 0x13, 0xBB, +0x68, 0x06, 0x1F, 0x8A, 0x17, 0x9C, 0xFC, 0x1C, 0x7D, 0x51, 0xC4, 0x57, 0x84, 0xFB, 0x31, 0x22, +0x4B, 0xDF, 0xFF, 0x82, 0x85, 0x9C, 0x7B, 0x88, 0xB6, 0xCF, 0x4D, 0x95, 0x37, 0x66, 0x65, 0xA1, +0xCB, 0x09, 0xB3, 0xE0, 0x83, 0xE2, 0xD5, 0x60, 0x6B, 0xE9, 0x24, 0x21, 0xDB, 0x3F, 0x40, 0xA4, +0xF4, 0x0F, 0x9F, 0x90, 0xE5, 0xEE, 0x6E, 0x42, 0x3E, 0x1F, 0x20, 0x42, 0x80, 0xB5, 0x98, 0x92, +0xC5, 0x07, 0x1A, 0xE1, 0x03, 0x40, 0x50, 0xE1, 0x1F, 0x53, 0xBF, 0xDA, 0xE3, 0x03, 0x89, 0x8B, +0xCC, 0xD4, 0x27, 0x0F, 0x0A, 0x61, 0x16, 0xED, 0xF3, 0xA6, 0x76, 0xCB, 0x0F, 0xCE, 0x11, 0x7C, +0x8C, 0x23, 0x52, 0xB6, 0xCF, 0x27, 0x54, 0xF2, 0x91, 0x8E, 0x51, 0x94, 0x8D, 0x12, 0x1C, 0x3C, +0x84, 0xF2, 0x55, 0x3F, 0xC6, 0x13, 0x11, 0xF8, 0x78, 0xD7, 0xF4, 0x0F, 0x08, 0x29, 0xFD, 0x23, +0x68, 0x48, 0x2A, 0x42, 0x00, 0xA3, 0x27, 0x2D, 0xFF, 0x40, 0x95, 0xF6, 0x87, 0x4F, 0xC8, 0x07, +0xA7, 0xE4, 0xE9, 0x2C, 0xBC, 0x62, 0xCF, 0xC9, 0xCF, 0x19, 0xAF, 0x9D, 0x41, 0x8D, 0xC5, 0xB4, +0x1C, 0x3E, 0xD0, 0xE2, 0x0D, 0x1F, 0xEF, 0x73, 0x0C, 0x80, 0x20, 0x8B, 0x0F, 0x54, 0xF0, 0x71, +0xD3, 0x7C, 0x70, 0xFF, 0x7B, 0x6C, 0x9B, 0xF6, 0x41, 0x31, 0x0B, 0x3E, 0x96, 0x1C, 0xE2, 0x51, +0x1D, 0x11, 0xA7, 0xB4, 0x41, 0x88, 0x15, 0x5F, 0xA1, 0x73, 0x3E, 0x36, 0x79, 0xAD, 0xCE, 0x88, +0x7F, 0xC8, 0x8B, 0x65, 0x27, 0xA7, 0x96, 0x21, 0x1E, 0x52, 0xCE, 0xF1, 0xBA, 0x87, 0x48, 0x13, +0xFE, 0xC1, 0x2F, 0xC0, 0xA0, 0xC8, 0x3F, 0x70, 0x10, 0x51, 0x92, 0x9B, 0xF4, 0x90, 0xC2, 0x3E, +0x6C, 0x0F, 0x29, 0x4A, 0x81, 0xF5, 0x9C, 0xCE, 0x88, 0xAF, 0xC6, 0xCA, 0xBD, 0xB4, 0x3F, 0x1A, +0x83, 0x00, 0x6B, 0xE1, 0xC8, 0xE2, 0x03, 0x8D, 0xF8, 0x47, 0x05, 0x10, 0x1A, 0x22, 0xDE, 0x6F, +0xB6, 0xFD, 0x23, 0x11, 0x51, 0x12, 0x82, 0x7F, 0x78, 0x84, 0xD0, 0x1E, 0x04, 0x8F, 0x65, 0x83, +0x90, 0xDD, 0xF2, 0x8A, 0xF6, 0x87, 0xE7, 0x21, 0xDE, 0xA4, 0x19, 0xF8, 0xC8, 0x28, 0x2A, 0x4B, +0xBC, 0xD2, 0x9E, 0xE0, 0x5F, 0xA8, 0xA8, 0x65, 0x98, 0x1E, 0x52, 0xBA, 0x41, 0x33, 0x0F, 0x89, +0x75, 0x5D, 0x40, 0x03, 0x21, 0x65, 0xFB, 0x7C, 0xA3, 0x15, 0xCD, 0x74, 0x6D, 0xF6, 0xA7, 0xBD, +0x47, 0xF8, 0xB0, 0x54, 0x94, 0x77, 0x27, 0x11, 0x19, 0x0C, 0xFC, 0xCE, 0xD1, 0xEE, 0xCE, 0x49, +0xCF, 0x19, 0x83, 0x87, 0x88, 0x0F, 0x47, 0xF0, 0x61, 0x89, 0xF4, 0x5C, 0xFE, 0x51, 0x01, 0x04, +0x42, 0x68, 0x0F, 0xCE, 0x20, 0x04, 0x08, 0x1A, 0x5B, 0xED, 0x84, 0xE4, 0x1F, 0xB3, 0x08, 0x29, +0x90, 0x58, 0xB6, 0x3D, 0x64, 0x79, 0xCA, 0x31, 0x1C, 0x42, 0xB0, 0x0F, 0x8F, 0x10, 0xDD, 0x9E, +0x98, 0x5E, 0x51, 0x5E, 0xAF, 0xC9, 0x4A, 0xF2, 0x87, 0x47, 0x35, 0xD5, 0xE5, 0x1F, 0x18, 0x07, +0xBB, 0x15, 0x42, 0x24, 0x50, 0xA8, 0x9B, 0x07, 0x1E, 0x22, 0xFA, 0x6E, 0x33, 0xFF, 0x40, 0x69, +0x1F, 0x31, 0xE0, 0xB5, 0xD7, 0x17, 0xF0, 0xE1, 0x7B, 0x88, 0x77, 0x28, 0xF9, 0x0C, 0x55, 0xD5, +0x35, 0xB4, 0x46, 0x0A, 0x96, 0x29, 0xEF, 0x7A, 0x43, 0xFA, 0x73, 0xE1, 0xCA, 0xC2, 0x83, 0x72, +0x2F, 0xED, 0xF3, 0x96, 0x83, 0xE0, 0x21, 0xFC, 0x66, 0x8B, 0x10, 0x8F, 0x0E, 0x89, 0xF6, 0xB9, +0x31, 0x92, 0x10, 0xFC, 0xA3, 0x81, 0x07, 0x4D, 0xF5, 0x83, 0xFC, 0xC3, 0x24, 0x84, 0xF4, 0xC3, +0x51, 0x86, 0x57, 0x5C, 0x9C, 0xB9, 0x5E, 0x43, 0x0D, 0xD7, 0xEC, 0xCD, 0x16, 0xFF, 0x68, 0x24, +0x21, 0x78, 0x44, 0xE0, 0x31, 0x2A, 0x40, 0xC3, 0x43, 0x82, 0x8F, 0x47, 0x2C, 0xEC, 0xE4, 0x1F, +0xBF, 0x08, 0x11, 0xBD, 0x39, 0xFD, 0xBC, 0xA7, 0x41, 0xF3, 0xC5, 0x5F, 0x17, 0xC8, 0xF2, 0x10, +0xF8, 0x30, 0x08, 0xA9, 0x86, 0x57, 0xA3, 0xC1, 0x31, 0x7C, 0x58, 0x43, 0x1E, 0xB2, 0xF0, 0x05, +0x1F, 0x36, 0x21, 0xF0, 0x51, 0x03, 0x04, 0x42, 0xE0, 0xC3, 0x24, 0xC4, 0xF3, 0x8E, 0x61, 0xDF, +0x3A, 0x1A, 0x0C, 0xEC, 0x03, 0x35, 0x38, 0xD9, 0x71, 0x77, 0xA2, 0xE9, 0x21, 0xC8, 0x8A, 0xB2, +0x32, 0x74, 0x21, 0xBC, 0xD7, 0x94, 0xC4, 0x37, 0xF6, 0xF9, 0x64, 0x16, 0xB3, 0x2A, 0x26, 0xD0, +0xCA, 0x31, 0x00, 0xA4, 0x21, 0x30, 0xF9, 0xF0, 0xEE, 0x2B, 0xC2, 0x3D, 0x22, 0x3D, 0x5A, 0xFD, +0x8F, 0x99, 0x88, 0xCC, 0x23, 0x04, 0x3E, 0x9C, 0x83, 0x59, 0xE5, 0x63, 0xFC, 0xDA, 0x46, 0x7C, +0xE5, 0x46, 0x59, 0x8B, 0x39, 0x9A, 0x31, 0x89, 0x95, 0x6F, 0x8B, 0x8F, 0x16, 0x20, 0x10, 0xC2, +0xAF, 0x76, 0xE4, 0xE5, 0x1F, 0x88, 0xFC, 0xDC, 0xF3, 0x10, 0xF9, 0x07, 0x47, 0x7A, 0x32, 0xCA, +0xA2, 0xE8, 0x62, 0x11, 0x72, 0x61, 0x4B, 0x56, 0xC3, 0xD4, 0x3B, 0x39, 0xC5, 0x46, 0x33, 0x54, +0xD3, 0x12, 0x74, 0xB8, 0x66, 0x6F, 0x9E, 0x09, 0x99, 0x26, 0x83, 0x2C, 0x6A, 0x57, 0x6E, 0x1E, +0x92, 0xF9, 0x07, 0xEF, 0x28, 0x8D, 0x23, 0x77, 0x50, 0xDA, 0xDB, 0xCC, 0xAB, 0x01, 0x7C, 0x18, +0x3A, 0xDC, 0x1F, 0x2B, 0x4C, 0xB4, 0x90, 0xA1, 0xBE, 0xEB, 0x8D, 0xC5, 0x3C, 0xBD, 0xCC, 0x23, +0x44, 0x7C, 0x38, 0x80, 0xBC, 0xBF, 0xA6, 0x43, 0xE8, 0xA8, 0xB0, 0x08, 0x76, 0xD8, 0x7E, 0xA8, +0x35, 0x57, 0x0D, 0x33, 0x0B, 0x51, 0xDB, 0x63, 0x19, 0xC3, 0xF0, 0x90, 0xA7, 0xDD, 0x4E, 0x15, +0x5E, 0x4B, 0x7A, 0xE1, 0x77, 0x17, 0x73, 0x44, 0x39, 0x77, 0xA3, 0x35, 0xE1, 0x56, 0x46, 0xFD, +0x84, 0x5C, 0x32, 0x90, 0xCD, 0x86, 0xC4, 0x81, 0x9D, 0xBA, 0xB6, 0xAC, 0x9B, 0xEE, 0xC1, 0x7A, +0x73, 0xAA, 0x60, 0x89, 0xD3, 0x33, 0x4F, 0x23, 0x6D, 0xCF, 0x4A, 0xDB, 0xF0, 0x0E, 0x83, 0x71, +0x5F, 0x3A, 0x44, 0xF6, 0xA1, 0x0C, 0x03, 0xD9, 0x55, 0x28, 0xD0, 0xE0, 0x89, 0xFF, 0xE0, 0x20, +0xEB, 0xB9, 0x84, 0x68, 0x1E, 0x5F, 0x7A, 0xAB, 0xEE, 0xFA, 0xFA, 0xBD, 0x07, 0xC8, 0xF5, 0xFB, +0xEB, 0xEB, 0xEB, 0x45, 0xE7, 0xFE, 0xE6, 0x78, 0x1B, 0x45, 0x24, 0xD5, 0x2A, 0x62, 0xC5, 0xB8, +0xE9, 0xCC, 0xA3, 0x42, 0xB7, 0xF0, 0x2C, 0xBB, 0x6B, 0x5F, 0x9C, 0x76, 0x21, 0x3B, 0xC8, 0x3A, +0x04, 0x1E, 0xB1, 0xF1, 0xFD, 0x83, 0x0B, 0xF2, 0xFE, 0x51, 0x1B, 0xCA, 0xBA, 0xFB, 0x5F, 0xF6, +0x8F, 0x62, 0x46, 0xD3, 0x55, 0xD7, 0x72, 0xF1, 0x11, 0xFD, 0x10, 0x26, 0xB5, 0x25, 0x10, 0x31, +0x9A, 0x85, 0x22, 0x04, 0x22, 0x64, 0x1C, 0xA4, 0x47, 0x7A, 0x9B, 0xF9, 0xC4, 0x20, 0x9F, 0x90, +0xFE, 0xEA, 0x61, 0x12, 0xA2, 0x5E, 0xC8, 0x2E, 0x04, 0x09, 0x35, 0x52, 0xD0, 0x72, 0x5E, 0x0E, +0x12, 0x8B, 0x26, 0xCE, 0x3C, 0x3E, 0x7A, 0x13, 0xB9, 0x8C, 0x99, 0xFC, 0x55, 0xCC, 0xFF, 0xAF, +0xC6, 0xF7, 0x14, 0x05, 0xFD, 0xD0, 0x4F, 0x7B, 0x07, 0x90, 0xFE, 0x75, 0xC1, 0x88, 0xAA, 0x58, +0x97, 0x5D, 0x2C, 0xB9, 0x7E, 0xD1, 0x6F, 0x8A, 0x9D, 0xAF, 0xBA, 0x61, 0xAF, 0x7F, 0x5A, 0xDF, +0x06, 0x3C, 0xC6, 0x03, 0x5B, 0xF8, 0x49, 0xB9, 0x47, 0x86, 0x2A, 0x2F, 0x6A, 0x78, 0xC8, 0x71, +0x27, 0x89, 0x10, 0x93, 0x8F, 0x90, 0x0B, 0x08, 0x55, 0x22, 0x8D, 0x22, 0xEF, 0x78, 0xBB, 0xDF, +0xB8, 0x8B, 0x17, 0x58, 0xC0, 0xC2, 0xD5, 0xAF, 0xF0, 0x91, 0x84, 0x28, 0xAC, 0x1B, 0xDE, 0x0E, +0x69, 0x88, 0xE0, 0x05, 0x8F, 0x99, 0x84, 0x70, 0x98, 0x7C, 0x3E, 0x62, 0xD5, 0x38, 0x3B, 0x4B, +0xAD, 0xF2, 0x41, 0x17, 0xDD, 0x1A, 0xBA, 0xAE, 0xFA, 0x84, 0x0C, 0xFF, 0x3F, 0x42, 0x5D, 0xC4, +0x99, 0xC4, 0xF5, 0xBD, 0xC8, 0xA2, 0xAF, 0x4F, 0xF3, 0x7E, 0x1C, 0x10, 0xF8, 0x48, 0x42, 0x4E, +0x11, 0x5C, 0xFF, 0x5B, 0xB4, 0x09, 0x2E, 0x2E, 0x3B, 0x90, 0x49, 0x07, 0x91, 0x81, 0x68, 0x40, +0x03, 0x1B, 0x7E, 0x4C, 0xA5, 0x7F, 0x68, 0x65, 0x19, 0x08, 0xDD, 0xA4, 0x1D, 0xF6, 0x31, 0xEE, +0x1F, 0xBB, 0x28, 0xA3, 0x24, 0x21, 0x87, 0x83, 0xC9, 0x87, 0xE4, 0xF3, 0x81, 0x88, 0x62, 0xCA, +0x1E, 0x84, 0x6C, 0xE5, 0xF1, 0x95, 0x8F, 0xBD, 0xD1, 0x08, 0xB1, 0x61, 0x01, 0x2C, 0x5A, 0xE9, +0x7C, 0x0E, 0x64, 0x73, 0xB2, 0x10, 0x32, 0x11, 0x3D, 0xCA, 0xA6, 0xBF, 0xCF, 0x47, 0x7A, 0x88, +0xC3, 0xC7, 0x6E, 0x50, 0x71, 0x8A, 0x26, 0x6F, 0x7B, 0x37, 0x0D, 0x64, 0x98, 0x37, 0x3E, 0x1F, +0x1A, 0x31, 0x57, 0xBF, 0xCA, 0xB9, 0x5A, 0xDF, 0xBB, 0x54, 0x18, 0xD4, 0xCF, 0x78, 0x08, 0x69, +0x00, 0x92, 0x2F, 0xEB, 0x87, 0xAA, 0x00, 0x3D, 0x0F, 0x31, 0x4E, 0xA8, 0x85, 0x7B, 0xC8, 0x4A, +0x72, 0x2F, 0xFE, 0x2B, 0x61, 0x20, 0x7F, 0xC7, 0xD0, 0x7B, 0xB9, 0x71, 0x42, 0x2C, 0xFD, 0x91, +0xD2, 0x2C, 0x3E, 0x94, 0x87, 0x4C, 0x7A, 0xC8, 0xEE, 0x03, 0x5D, 0x7D, 0x79, 0xF0, 0xF8, 0xF0, +0x09, 0xB9, 0x45, 0xDC, 0xC6, 0x7B, 0xEE, 0x1A, 0x64, 0xE8, 0xF0, 0x11, 0xBA, 0xDD, 0x16, 0x8D, +0x0C, 0xAD, 0x0C, 0x24, 0x1A, 0x98, 0x88, 0x0F, 0x08, 0xC9, 0x77, 0xF1, 0xB8, 0xC7, 0x44, 0x72, +0xCD, 0xBB, 0x83, 0x90, 0x2F, 0x2C, 0x3E, 0x7C, 0x42, 0x0E, 0x87, 0x9D, 0x54, 0xF3, 0x10, 0x6D, +0xD8, 0x23, 0xBE, 0x9A, 0xD3, 0x2A, 0x44, 0x36, 0x21, 0x7F, 0x9F, 0x4C, 0x44, 0x93, 0x38, 0xE7, +0x6F, 0xEE, 0xC4, 0xE3, 0xFC, 0x39, 0xF9, 0x47, 0x4E, 0xFC, 0x36, 0x20, 0x03, 0x48, 0xDA, 0xF6, +0xCD, 0x74, 0xF1, 0xC5, 0x6F, 0x62, 0x47, 0xF4, 0xFD, 0x90, 0xDE, 0xA1, 0x0D, 0x88, 0x14, 0x19, +0x3B, 0xCF, 0x45, 0x9A, 0x25, 0xA5, 0x87, 0x58, 0x7C, 0x80, 0xC8, 0xA4, 0x7F, 0xA0, 0x65, 0x10, +0xD2, 0xF6, 0x90, 0xF2, 0xA4, 0xCF, 0xC8, 0x3F, 0x10, 0x3D, 0x3A, 0x7A, 0x10, 0x21, 0xF8, 0x40, +0xCF, 0xEF, 0xB6, 0xC0, 0x61, 0x68, 0x3B, 0xE9, 0x1F, 0xFB, 0x82, 0x90, 0x3D, 0xC5, 0x2B, 0x19, +0x09, 0x3D, 0xF4, 0x5C, 0xCD, 0xF2, 0x90, 0xE3, 0x95, 0x47, 0x08, 0xFE, 0x81, 0x64, 0xF5, 0x0D, +0xC1, 0x87, 0xD5, 0x2C, 0x24, 0xBE, 0xB2, 0xA3, 0xAC, 0xB3, 0xFF, 0x63, 0xE7, 0xE5, 0x8B, 0x96, +0xF4, 0x0B, 0x66, 0xB1, 0x1E, 0x9A, 0xC6, 0x9A, 0xF5, 0xD2, 0x7B, 0xD5, 0x7A, 0x4B, 0x40, 0xB0, +0x0F, 0x65, 0x2A, 0xA9, 0x4F, 0xDE, 0xAB, 0x1D, 0x32, 0x30, 0xC7, 0x2F, 0xEC, 0x17, 0x3D, 0x23, +0xEB, 0xD0, 0x12, 0x36, 0x32, 0xEA, 0x1A, 0x80, 0x43, 0x7C, 0x35, 0x4D, 0x48, 0x3C, 0xAC, 0xBB, +0xDD, 0x01, 0x66, 0xA7, 0xF0, 0x0A, 0x1D, 0x9B, 0x84, 0x1C, 0x4E, 0xF6, 0x81, 0xBC, 0xF2, 0x6E, +0xE9, 0x22, 0x4A, 0x84, 0x55, 0x42, 0x1A, 0x72, 0x75, 0x51, 0xF2, 0x4B, 0xF2, 0x81, 0xB6, 0x4E, +0x3B, 0xC4, 0xCF, 0x40, 0x36, 0xA5, 0x84, 0x2A, 0xDC, 0xEE, 0x85, 0x2C, 0x85, 0xB5, 0xB9, 0x1E, +0xF2, 0xE6, 0x70, 0xB5, 0xCB, 0xBB, 0x3B, 0x84, 0x87, 0x54, 0xFB, 0x84, 0xA4, 0x1F, 0xAE, 0x87, +0xC4, 0x52, 0xCA, 0x49, 0x3F, 0x62, 0x1D, 0x2B, 0xFD, 0x90, 0x76, 0xD1, 0xC9, 0x39, 0x40, 0x45, +0xEB, 0x2E, 0xF9, 0x48, 0xF5, 0x08, 0x8C, 0x02, 0xF2, 0x01, 0x1C, 0x19, 0x8F, 0xF5, 0x84, 0xBC, +0xD2, 0x91, 0x21, 0x5B, 0x2E, 0xF2, 0x0F, 0xDE, 0x8A, 0x68, 0xAD, 0x16, 0x76, 0x81, 0xA5, 0xD4, +0x7A, 0x9C, 0x10, 0xF1, 0x71, 0x57, 0xF9, 0xBE, 0x06, 0x02, 0xAD, 0x52, 0xB2, 0x8D, 0x82, 0x90, +0xF1, 0x4F, 0x4C, 0x0D, 0x7C, 0x5C, 0xC4, 0xD0, 0x8A, 0x72, 0xAF, 0xE5, 0x1F, 0x17, 0x5C, 0x95, +0xB5, 0xB3, 0xD1, 0x4E, 0x8C, 0xFC, 0xDA, 0xCF, 0x4D, 0xA9, 0xFD, 0x86, 0xEB, 0x3F, 0x5B, 0x5F, +0xC2, 0x89, 0x5D, 0xF8, 0xC3, 0x43, 0xC8, 0x41, 0x32, 0x35, 0x17, 0xAB, 0x31, 0x6A, 0x9A, 0xC4, +0x83, 0xA3, 0x23, 0x13, 0x39, 0x1C, 0x0C, 0x3E, 0x40, 0xA4, 0x11, 0x09, 0x73, 0x1B, 0x96, 0xE7, +0x21, 0x44, 0xE5, 0x1D, 0x80, 0x18, 0x0E, 0x82, 0x8D, 0xFC, 0xAD, 0xF9, 0xCB, 0x23, 0x16, 0xC2, +0x2D, 0xF8, 0x00, 0x92, 0x0A, 0x20, 0xF8, 0x47, 0x41, 0xC8, 0x29, 0x45, 0x27, 0xBE, 0xC2, 0x9B, +0xD2, 0x3B, 0x62, 0x45, 0xC4, 0x57, 0x75, 0x8F, 0xDC, 0xE0, 0x1E, 0xFC, 0xBD, 0xBE, 0x7F, 0xD4, +0x8B, 0x59, 0x14, 0x7F, 0x77, 0x15, 0x8D, 0x36, 0x44, 0x0E, 0x43, 0x7D, 0xD7, 0x32, 0x11, 0xF9, +0x87, 0xEC, 0xA1, 0x94, 0xCC, 0x62, 0x0F, 0x23, 0x7A, 0x4E, 0xED, 0x0F, 0x04, 0x21, 0x30, 0xC1, +0xDE, 0x7C, 0x1F, 0xC1, 0x3F, 0x6A, 0x1E, 0x42, 0x59, 0x2D, 0x77, 0x79, 0xDF, 0xBE, 0x87, 0xE8, +0xC8, 0xC4, 0x02, 0x27, 0x3A, 0x66, 0xE3, 0xFD, 0xF3, 0x8A, 0x8A, 0xBA, 0xD5, 0xD4, 0x37, 0x9B, +0x4C, 0xA5, 0xE7, 0xA5, 0x26, 0xE0, 0x18, 0xFC, 0xE3, 0x87, 0x1C, 0x9A, 0xBD, 0x94, 0x65, 0x63, +0x21, 0x0C, 0x7A, 0xE3, 0x0B, 0x31, 0x6A, 0x80, 0xE4, 0xEB, 0x4A, 0x42, 0x16, 0xFA, 0x2D, 0x6F, +0xD8, 0x53, 0x76, 0x3E, 0x58, 0x98, 0x28, 0x89, 0x05, 0x34, 0xD8, 0x21, 0x3D, 0xEF, 0x62, 0x29, +0xD4, 0xD5, 0x3D, 0x04, 0xFF, 0x28, 0x25, 0x16, 0x2A, 0x22, 0xBE, 0x42, 0x34, 0x44, 0x2A, 0x78, +0x10, 0x60, 0xC5, 0x9E, 0x1E, 0x9A, 0x16, 0x3E, 0x1F, 0x08, 0xFB, 0x50, 0xF4, 0x0F, 0x1F, 0x15, +0x42, 0x20, 0xC3, 0xF7, 0x0C, 0x88, 0xD2, 0x20, 0xFD, 0xA8, 0x11, 0x22, 0x13, 0xE1, 0x6E, 0x17, +0x0C, 0x64, 0x06, 0x21, 0x1C, 0x29, 0x19, 0x2B, 0x89, 0xC8, 0x58, 0x79, 0xB7, 0x2A, 0x2B, 0xFD, +0x40, 0x46, 0x78, 0xD5, 0xD9, 0x84, 0x30, 0xFE, 0x8E, 0x21, 0x13, 0x21, 0x41, 0x20, 0x0A, 0xEA, +0xDB, 0xE7, 0xF0, 0x81, 0x44, 0x08, 0x80, 0xC0, 0x47, 0x45, 0x3D, 0x21, 0xC1, 0xC4, 0xC0, 0x1E, +0x2E, 0x72, 0x0A, 0xAC, 0x08, 0xAE, 0x44, 0x6C, 0xC9, 0x08, 0x3A, 0xFD, 0x75, 0x58, 0x08, 0xAA, +0x21, 0x72, 0x03, 0x1E, 0x9E, 0x87, 0xC0, 0xC7, 0x54, 0x1E, 0x02, 0x1F, 0x9C, 0x7D, 0xA6, 0x44, +0x1D, 0x90, 0x06, 0x1F, 0x9B, 0x21, 0x47, 0x27, 0xFA, 0xAF, 0xF3, 0x41, 0x22, 0x52, 0x4E, 0xFA, +0xED, 0x7F, 0xF7, 0x0F, 0x08, 0xD1, 0x3B, 0xA0, 0xAE, 0xB6, 0xD7, 0x18, 0x53, 0x9D, 0x90, 0x3C, +0x30, 0xF1, 0x00, 0x93, 0x01, 0x06, 0x9F, 0x0F, 0x3C, 0xC4, 0xFD, 0xEE, 0xB8, 0x56, 0x7C, 0xE5, +0x7A, 0x08, 0xF3, 0x30, 0xED, 0x03, 0x60, 0xC8, 0x0F, 0x34, 0x7F, 0xD3, 0x41, 0xAE, 0x6B, 0xA2, +0x65, 0x08, 0x20, 0x3F, 0xE8, 0xE9, 0x52, 0xD9, 0x32, 0xC4, 0x99, 0xC4, 0x47, 0x90, 0x07, 0x18, +0x24, 0x21, 0xDA, 0xA7, 0xDC, 0xCB, 0xF6, 0x54, 0xBF, 0xD2, 0x40, 0xF0, 0x52, 0xE3, 0x63, 0x5C, +0x01, 0x83, 0xC1, 0x07, 0xE2, 0xCE, 0xDE, 0x22, 0xBC, 0x2A, 0xCE, 0x7E, 0x9A, 0x88, 0x93, 0x9F, +0x23, 0x6E, 0x36, 0xE1, 0x93, 0x7B, 0xA3, 0x7C, 0xA8, 0xA9, 0xFE, 0x6E, 0x66, 0x7B, 0x70, 0x0B, +0x4A, 0xC6, 0x57, 0x2B, 0xE6, 0x9B, 0x18, 0x2C, 0x0D, 0xFF, 0xF0, 0x09, 0x21, 0xAE, 0xC2, 0x58, +0xF5, 0x13, 0x1E, 0xD2, 0xE4, 0x03, 0x1D, 0xAB, 0x89, 0xFA, 0xF8, 0x99, 0x9D, 0x88, 0xAF, 0x72, +0x8F, 0x1F, 0x9A, 0xEE, 0x11, 0x8B, 0x66, 0x26, 0x3B, 0x50, 0x11, 0x3E, 0xD2, 0xF4, 0x0F, 0x3C, +0x04, 0x40, 0xDE, 0x93, 0xA9, 0x94, 0x2F, 0xE4, 0xB6, 0x13, 0x51, 0x22, 0x97, 0xFA, 0x21, 0xC1, +0x08, 0x5A, 0x29, 0x63, 0x69, 0x9D, 0xD0, 0xC2, 0xC6, 0x0D, 0xF5, 0xAB, 0x18, 0x58, 0x48, 0xA3, +0xDC, 0x8B, 0x7F, 0xD4, 0xD4, 0x68, 0x0F, 0x56, 0x55, 0x9E, 0x56, 0xFC, 0x23, 0x47, 0x6E, 0x52, +0x4E, 0x79, 0x17, 0xDD, 0xAB, 0x1D, 0xC2, 0x25, 0x5B, 0xB7, 0x97, 0x8C, 0x6B, 0x5F, 0x7E, 0xB6, +0xD0, 0x74, 0x0F, 0x18, 0x69, 0xF1, 0x41, 0x43, 0x84, 0x2F, 0xB3, 0x43, 0x26, 0x21, 0xC5, 0xE1, +0xC0, 0x68, 0x21, 0x64, 0xBC, 0xBC, 0x5B, 0x2F, 0x66, 0x2D, 0x1D, 0xFF, 0xA8, 0x17, 0xB3, 0x1A, +0x6A, 0x12, 0xF2, 0x77, 0x86, 0x57, 0x04, 0x36, 0xB1, 0xE9, 0x4B, 0x58, 0x98, 0x88, 0xD2, 0xF3, +0x51, 0x45, 0xBF, 0x1C, 0x40, 0x14, 0x5F, 0x8D, 0xA3, 0x94, 0xE5, 0xDE, 0x21, 0xAD, 0xF9, 0x2A, +0xF6, 0x06, 0x36, 0x71, 0x0E, 0xF1, 0x92, 0x3F, 0x03, 0x06, 0xF1, 0x55, 0x43, 0xD5, 0x4F, 0x80, +0x38, 0x1E, 0x82, 0x7D, 0x34, 0x25, 0xCF, 0x28, 0xDB, 0x83, 0x28, 0x79, 0x01, 0x19, 0x3B, 0xBC, +0x42, 0x7C, 0x9D, 0x49, 0xAC, 0x5B, 0xBA, 0x85, 0x10, 0x57, 0x5B, 0xDB, 0x3F, 0x20, 0x64, 0x0F, +0x26, 0x13, 0xAA, 0xFA, 0x07, 0x8E, 0xAA, 0xCD, 0xA8, 0x87, 0xC0, 0xC7, 0x44, 0x98, 0x85, 0x7F, +0xB4, 0x55, 0xBF, 0xBD, 0xA4, 0x6E, 0x20, 0x75, 0x0F, 0x51, 0x66, 0x4C, 0x70, 0x15, 0x3F, 0xD2, +0x15, 0xD1, 0x0C, 0xCE, 0x79, 0x1C, 0xEA, 0xD4, 0x3E, 0x6F, 0x08, 0x40, 0x5A, 0xAF, 0x12, 0x3B, +0xF9, 0xF9, 0xC2, 0xF4, 0x10, 0x51, 0x90, 0x4C, 0xC4, 0x83, 0x20, 0x6B, 0xD8, 0x3B, 0x57, 0xA7, +0xD8, 0xAA, 0x6A, 0x21, 0x20, 0x62, 0xC5, 0x57, 0x10, 0xE2, 0xF0, 0x01, 0x21, 0x91, 0xA9, 0x97, +0x7C, 0x5C, 0xC4, 0x26, 0xC7, 0x05, 0x8C, 0xC4, 0xBA, 0x24, 0xC4, 0xA1, 0x23, 0xA7, 0xA3, 0xEE, +0xA7, 0xDD, 0x48, 0xA6, 0x87, 0x6C, 0x6D, 0x42, 0xE0, 0xC3, 0x22, 0x44, 0x2D, 0x1A, 0x4B, 0xA4, +0xEA, 0xE4, 0x1F, 0x58, 0x88, 0xB6, 0xFC, 0x0C, 0x21, 0xF0, 0xE1, 0x13, 0x02, 0x1E, 0x8E, 0x87, +0xC4, 0xD2, 0xD6, 0x1A, 0x42, 0x70, 0x8F, 0xB3, 0x84, 0x58, 0x3F, 0x6A, 0x3F, 0x7D, 0x25, 0xED, +0x23, 0xA7, 0xF1, 0x38, 0x1E, 0x34, 0xD5, 0x05, 0x88, 0x7E, 0x68, 0xBF, 0x56, 0x0D, 0x11, 0x0D, +0xEC, 0x43, 0x6B, 0x1C, 0x24, 0x37, 0xB9, 0x8F, 0x8D, 0x94, 0x38, 0xD4, 0xF3, 0x10, 0xC7, 0x3F, +0xD0, 0x87, 0x7C, 0xB4, 0x00, 0x21, 0x55, 0x37, 0xFA, 0x5D, 0x17, 0xC3, 0xDA, 0xE5, 0x03, 0xED, +0x75, 0xB5, 0xDE, 0xB7, 0xFD, 0x83, 0xDB, 0x4E, 0xE6, 0x17, 0xB3, 0x68, 0x7F, 0x4C, 0xEB, 0x91, +0x6F, 0x33, 0x71, 0x54, 0x6F, 0x9F, 0xE3, 0x1E, 0xA5, 0xA1, 0x1C, 0x1C, 0x3E, 0x08, 0xB3, 0x2C, +0x40, 0x50, 0x11, 0x5E, 0x35, 0x0D, 0xA4, 0xF4, 0x10, 0xE6, 0x1F, 0xB9, 0xB9, 0x06, 0xF9, 0x08, +0x26, 0xD2, 0x8D, 0xF2, 0x41, 0x53, 0xFD, 0xBD, 0x00, 0x89, 0x1D, 0x5E, 0xD9, 0x22, 0x24, 0xC3, +0xAC, 0x8C, 0xE8, 0xB4, 0xD1, 0x23, 0xE9, 0xD4, 0xE3, 0x15, 0x57, 0xA4, 0x3F, 0xA4, 0x69, 0x21, +0x10, 0x22, 0x3E, 0x1C, 0xD9, 0xFE, 0x41, 0x43, 0x84, 0xF6, 0x60, 0x56, 0xF8, 0x2F, 0x8A, 0x44, +0x04, 0xCD, 0xE2, 0x03, 0xFD, 0xA2, 0xF6, 0xA0, 0x43, 0x08, 0xDF, 0xF4, 0x33, 0x4B, 0x1B, 0x4F, +0xE9, 0x21, 0xC8, 0xF4, 0x10, 0xE2, 0xCC, 0x3C, 0x4C, 0x1C, 0xA0, 0xB2, 0xCA, 0x91, 0x9F, 0xFE, +0x40, 0xED, 0x3C, 0x64, 0xF7, 0xA4, 0xF6, 0xA0, 0x23, 0xFC, 0x63, 0xF2, 0xB2, 0x2A, 0x15, 0x05, +0x2C, 0x82, 0x2C, 0xA6, 0x64, 0xE6, 0x23, 0xBD, 0x86, 0x69, 0x0C, 0x1F, 0x6D, 0xF5, 0x80, 0x4C, +0xE2, 0x41, 0x53, 0x5D, 0xBF, 0x58, 0x48, 0xC0, 0xA5, 0xDE, 0xC3, 0xE0, 0x67, 0x18, 0xC9, 0x20, +0x39, 0x61, 0x5B, 0x34, 0x44, 0x0C, 0x3E, 0x28, 0xF7, 0xC2, 0x87, 0x49, 0x08, 0xB9, 0x08, 0x78, +0x14, 0xD7, 0xCB, 0xB2, 0xA9, 0x6E, 0xA3, 0x91, 0x9F, 0xFE, 0xF0, 0x74, 0x4B, 0x53, 0x7D, 0x96, +0x6A, 0xED, 0x8F, 0x56, 0xCB, 0xD0, 0x15, 0x7C, 0x8C, 0x8A, 0x03, 0xA4, 0xA6, 0x3A, 0xE5, 0x2B, +0x43, 0xB4, 0xCF, 0x2D, 0xF1, 0xE9, 0x8F, 0x09, 0x03, 0x49, 0x81, 0xC7, 0xDF, 0x84, 0x32, 0x5A, +0x93, 0x1D, 0xD3, 0x3F, 0xFC, 0xE1, 0xD2, 0xE1, 0x83, 0x4C, 0xBD, 0x77, 0x90, 0xA6, 0xE8, 0xBE, +0xEB, 0xD3, 0x59, 0xEA, 0xB9, 0xF0, 0xDF, 0x3D, 0x41, 0xA1, 0x0D, 0xC0, 0x0C, 0x99, 0x11, 0xE5, +0xAB, 0x86, 0x85, 0x20, 0xFC, 0xC3, 0x27, 0x64, 0x67, 0xEB, 0x48, 0xF7, 0x9C, 0xD8, 0x81, 0x12, +0xCD, 0x1B, 0x51, 0xBF, 0x32, 0x74, 0x1F, 0x0F, 0x93, 0x0F, 0x5A, 0x86, 0xDB, 0xB9, 0x99, 0xFA, +0x06, 0x19, 0x84, 0x20, 0xD3, 0x43, 0xD2, 0x5A, 0x13, 0x83, 0xDC, 0x89, 0x15, 0x86, 0x82, 0xF0, +0x0F, 0x4B, 0x84, 0x57, 0x8E, 0x48, 0xCF, 0x5B, 0xE2, 0x15, 0x95, 0x28, 0x2B, 0xE7, 0xE1, 0xAB, +0x79, 0xC4, 0x42, 0x6E, 0x72, 0xA9, 0xF2, 0xAE, 0x39, 0xED, 0x7B, 0x40, 0xCC, 0xD7, 0xF6, 0x84, +0xC0, 0x65, 0x7A, 0x06, 0xEB, 0x57, 0x3B, 0xE3, 0x4D, 0xDE, 0x28, 0xBC, 0xF2, 0xA4, 0xCF, 0xE1, +0xC2, 0x87, 0x21, 0xF8, 0xF0, 0x08, 0x11, 0x17, 0xEE, 0x72, 0x0C, 0x0F, 0xF1, 0x27, 0x19, 0x7C, +0xB8, 0x80, 0xFC, 0x8B, 0x4F, 0x88, 0x84, 0xF1, 0xF8, 0x9A, 0xF7, 0xDE, 0xF7, 0xF1, 0x85, 0x40, +0x57, 0xC7, 0x0B, 0xFF, 0xF0, 0x5C, 0xE1, 0x1F, 0x8E, 0xE0, 0xC3, 0x23, 0x04, 0xFF, 0x30, 0xD4, +0x05, 0x21, 0x7F, 0xCE, 0x5A, 0x5E, 0x16, 0xC1, 0x87, 0xB1, 0xE0, 0x20, 0x86, 0x54, 0x32, 0xEE, +0x3E, 0xEA, 0x66, 0x29, 0xEA, 0xBB, 0xFE, 0xB2, 0x58, 0xDF, 0x70, 0x18, 0x1D, 0x3D, 0xF5, 0xDF, +0x10, 0xE7, 0x2C, 0x5A, 0xF5, 0xB7, 0x9D, 0x5C, 0xB9, 0xEA, 0x5F, 0x89, 0x7F, 0x78, 0xD2, 0x57, +0x1C, 0x3A, 0xD2, 0x0B, 0x23, 0xFF, 0x98, 0xA5, 0xE7, 0x6D, 0xD4, 0xBF, 0x62, 0xF1, 0x46, 0xD0, +0x34, 0x4F, 0xD8, 0x83, 0x27, 0x8E, 0xBC, 0xB1, 0x1C, 0x8F, 0x9C, 0x58, 0x4F, 0x37, 0x8B, 0x19, +0x13, 0x67, 0x7D, 0xD3, 0xCD, 0xD4, 0xB5, 0x2D, 0x39, 0xC8, 0x0F, 0xDE, 0x12, 0x90, 0x5C, 0x7E, +0xF4, 0xF1, 0x47, 0xB3, 0xB4, 0x58, 0xAC, 0xB5, 0xC4, 0x18, 0x96, 0xEE, 0xFC, 0x67, 0x9E, 0x8F, +0x27, 0x7F, 0xFA, 0xE9, 0xA7, 0xAF, 0xDD, 0x65, 0xF5, 0xD3, 0xD3, 0x72, 0x96, 0x1E, 0x1E, 0xBE, +0x9C, 0xA3, 0xFB, 0xFB, 0x0C, 0x9E, 0x2E, 0x8C, 0x75, 0x6C, 0xF6, 0xBF, 0x6F, 0x9F, 0xB7, 0xBE, +0xE2, 0x2B, 0x46, 0x67, 0xE9, 0xDD, 0xBB, 0xAD, 0xAF, 0x1F, 0xB7, 0xDB, 0xBD, 0xA2, 0x2C, 0xDE, +0xE0, 0x9B, 0x35, 0x7F, 0xC0, 0x7D, 0xBC, 0xF4, 0xFE, 0x7E, 0xD6, 0xC1, 0x39, 0x3C, 0xCC, 0x3A, +0xF2, 0xCB, 0xA7, 0x9F, 0x56, 0xFD, 0x49, 0x5B, 0x99, 0x8F, 0xF5, 0x69, 0x4A, 0xBC, 0xB0, 0x5A, +0x74, 0xFC, 0x18, 0x53, 0xA5, 0x3B, 0xFB, 0x79, 0xFD, 0xD1, 0x3C, 0x5D, 0xC6, 0x6C, 0x36, 0x27, +0x7D, 0x00, 0xD2, 0xD9, 0x7C, 0x5C, 0xFE, 0x71, 0x79, 0x39, 0xF3, 0xAD, 0xAC, 0xC5, 0x82, 0xB9, +0xDC, 0xAC, 0xD7, 0x5F, 0x3F, 0xB9, 0x78, 0x7C, 0xFD, 0x14, 0x5A, 0x2E, 0x8F, 0xF6, 0x72, 0xF5, +0xF0, 0xF0, 0x70, 0xFF, 0xA5, 0xB9, 0x04, 0x1F, 0xA1, 0x0B, 0x66, 0xD1, 0xC4, 0x3A, 0xF8, 0xD8, +0xEF, 0x37, 0xB3, 0xF8, 0x08, 0xD9, 0x70, 0xFC, 0xA6, 0x97, 0x6F, 0x5D, 0xFD, 0x1A, 0x78, 0xEC, +0x45, 0x08, 0x10, 0x68, 0xAF, 0xD8, 0x87, 0xEE, 0xFB, 0xD0, 0x97, 0x07, 0xF7, 0xD8, 0x1C, 0x0E, +0x0F, 0x22, 0xC4, 0x3C, 0xF2, 0xCB, 0xE5, 0x53, 0x68, 0xE5, 0x5F, 0xFA, 0x22, 0xDE, 0xF6, 0x67, +0x4D, 0xF0, 0x32, 0x97, 0x8F, 0xD0, 0xF5, 0xB5, 0x0D, 0xC8, 0xDF, 0x3E, 0x1F, 0x01, 0xC8, 0xE5, +0x1F, 0x1F, 0xF9, 0xEA, 0xF0, 0x10, 0x63, 0xB9, 0x09, 0x40, 0xD6, 0x2B, 0xF7, 0x20, 0x06, 0x1D, +0x42, 0xC4, 0xD4, 0xF1, 0xE1, 0x10, 0x80, 0x1C, 0x0E, 0x71, 0x76, 0x8D, 0x11, 0x7C, 0x48, 0x9A, +0x45, 0xC6, 0x08, 0x3E, 0xA4, 0x98, 0x9A, 0x3E, 0x1F, 0xCF, 0x10, 0x02, 0x0A, 0x1A, 0x6F, 0xA4, +0x17, 0xCF, 0x20, 0x64, 0xA3, 0x77, 0xA3, 0x96, 0x21, 0x18, 0x88, 0x0B, 0xF6, 0xB5, 0x93, 0xC0, +0xDC, 0x4B, 0x5F, 0x7A, 0x07, 0xE7, 0x3E, 0x8E, 0x64, 0x4F, 0xC8, 0x71, 0xE9, 0xEA, 0xE9, 0xEE, +0x29, 0xC6, 0xD7, 0xEE, 0xB9, 0x5D, 0xAF, 0x83, 0x10, 0x1B, 0x8F, 0xF5, 0x6C, 0xFF, 0x90, 0xAE, +0x4D, 0x13, 0x09, 0x40, 0x7C, 0xFF, 0x90, 0x7C, 0x42, 0xD6, 0x5A, 0x2D, 0x4C, 0x44, 0x82, 0x8F, +0xFE, 0xC2, 0xE1, 0xE1, 0xB1, 0x7A, 0xDA, 0x05, 0x1D, 0xBE, 0x87, 0x1C, 0x4F, 0xE7, 0x34, 0xD6, +0xC6, 0x25, 0x12, 0x3E, 0x72, 0x0A, 0x0D, 0xA3, 0xDC, 0x67, 0xE4, 0x8C, 0xDC, 0x6F, 0x9F, 0x5D, +0x3E, 0x12, 0x91, 0xDF, 0x84, 0x04, 0x23, 0x21, 0x29, 0x86, 0xE4, 0x13, 0xB2, 0x97, 0xD2, 0x43, +0xC0, 0xA0, 0xDC, 0xCF, 0x77, 0x2F, 0x3E, 0x92, 0x10, 0xCB, 0x41, 0xE2, 0x28, 0x6A, 0xE9, 0x8F, +0xFD, 0x6E, 0xFA, 0x11, 0x6C, 0xE8, 0x6A, 0xE6, 0x1A, 0x88, 0x42, 0x09, 0x1F, 0x91, 0x4E, 0x57, +0x62, 0x5B, 0x9A, 0xC5, 0x49, 0x88, 0x09, 0xC8, 0x27, 0x16, 0x4B, 0xC9, 0x87, 0x4F, 0x48, 0x27, +0x3C, 0x4C, 0x0F, 0xD1, 0x01, 0x89, 0x11, 0x3E, 0xB2, 0xB2, 0xFC, 0x23, 0x74, 0x17, 0x4B, 0xE8, +0x68, 0xF9, 0x47, 0x9E, 0x53, 0x79, 0xC8, 0xBD, 0xE5, 0x1F, 0x20, 0xC2, 0xC4, 0xAA, 0xEE, 0x47, +0xB5, 0xEB, 0x75, 0x46, 0x7A, 0x1E, 0x42, 0xE6, 0x1D, 0xB3, 0x1F, 0x2C, 0x70, 0x90, 0x62, 0x4D, +0x3E, 0xFF, 0xE3, 0x76, 0x52, 0xCF, 0x8A, 0xAF, 0x24, 0x79, 0x48, 0x0B, 0x8F, 0x7B, 0xE1, 0x81, +0x6C, 0xFF, 0xC8, 0xA3, 0x69, 0xD9, 0xC7, 0xE9, 0x5C, 0xC5, 0x15, 0xCD, 0xF3, 0x90, 0xF5, 0x22, +0xA6, 0x81, 0x86, 0xCB, 0x87, 0xE6, 0x59, 0xE7, 0xF3, 0x91, 0x72, 0x92, 0xEE, 0xEB, 0xBC, 0xD5, +0xE4, 0xB2, 0xFD, 0x4A, 0xFC, 0xC3, 0x24, 0x84, 0x37, 0xAD, 0x28, 0xCB, 0x08, 0xAF, 0x04, 0x88, +0xED, 0x21, 0x3A, 0xDC, 0xCB, 0x38, 0xEE, 0xF2, 0x10, 0x23, 0xFD, 0x50, 0xD8, 0x9C, 0x88, 0x4C, +0x05, 0xD8, 0xE2, 0x03, 0xD5, 0xC0, 0x60, 0x5F, 0x1F, 0xBF, 0xD8, 0x00, 0xC8, 0xED, 0xB4, 0x87, +0x68, 0xBA, 0x97, 0x1E, 0x32, 0x58, 0xC9, 0xEB, 0x0E, 0x4F, 0x22, 0x83, 0x90, 0xE0, 0x73, 0x1F, +0x82, 0x10, 0xF2, 0x8C, 0x0B, 0xF6, 0x73, 0x07, 0x3E, 0x40, 0x64, 0x32, 0xFF, 0x78, 0x78, 0x5D, +0x0E, 0x32, 0x91, 0xF6, 0xA2, 0xF0, 0x2A, 0xA4, 0xB5, 0x91, 0x60, 0xDE, 0x2C, 0x92, 0x0E, 0xCF, +0x43, 0x3A, 0x22, 0x15, 0x9F, 0x0F, 0x08, 0x99, 0x44, 0x64, 0xB8, 0x59, 0x71, 0x8A, 0x24, 0xF9, +0x07, 0x7A, 0xB1, 0xE3, 0xAB, 0xD3, 0xA3, 0xB3, 0xFC, 0x83, 0xF1, 0xD3, 0xC4, 0x91, 0x7C, 0x1A, +0x2E, 0x4B, 0x7A, 0xDC, 0x2D, 0x27, 0xC4, 0x29, 0x3D, 0x45, 0x59, 0x89, 0x41, 0x65, 0xC8, 0x5D, +0xEE, 0x0B, 0x4D, 0x05, 0x59, 0xFB, 0x33, 0xDD, 0xCA, 0x43, 0x0C, 0x3E, 0xF0, 0x90, 0x1E, 0x83, +0x01, 0x0A, 0x76, 0xB4, 0x8E, 0x7F, 0x56, 0x68, 0xEA, 0xB7, 0xFF, 0x5E, 0xBC, 0x9F, 0x2A, 0xD4, +0xFC, 0x19, 0xF0, 0x61, 0x7A, 0xC8, 0xC3, 0xF9, 0xB2, 0x9C, 0x10, 0x56, 0x2F, 0x44, 0xA6, 0x00, +0x61, 0x0E, 0x78, 0x84, 0x28, 0x52, 0x89, 0x21, 0x50, 0x3A, 0x27, 0xFD, 0xF0, 0x09, 0x09, 0xDB, +0xE0, 0x76, 0xF7, 0xEB, 0xCF, 0xDA, 0x7C, 0x20, 0x8B, 0x90, 0x4E, 0x0F, 0xF6, 0x26, 0x08, 0x59, +0x17, 0xC7, 0xE5, 0x66, 0xAA, 0x7E, 0x75, 0xC7, 0x41, 0xEF, 0xB5, 0x6C, 0x5D, 0xC9, 0xE0, 0x03, +0x42, 0x1C, 0xFB, 0x40, 0x2D, 0xFF, 0xF8, 0x22, 0xE7, 0x23, 0xBA, 0x9D, 0xB8, 0xC4, 0xBF, 0x43, +0xA4, 0xEA, 0x40, 0x51, 0xAE, 0x52, 0x3F, 0xC6, 0x70, 0x12, 0x91, 0x81, 0x0F, 0xD4, 0x2C, 0x2F, +0xC0, 0x87, 0xE1, 0x21, 0x31, 0x14, 0x5F, 0xB1, 0xC8, 0x43, 0x46, 0xBB, 0x1F, 0xB1, 0xE8, 0x1C, +0x71, 0x31, 0x23, 0xCA, 0x6A, 0xFA, 0x07, 0x63, 0xDA, 0x3F, 0xA4, 0x55, 0x3F, 0xC9, 0xD6, 0x1E, +0x1F, 0x3E, 0x21, 0xDC, 0xEE, 0x1E, 0xF2, 0xF8, 0x40, 0x46, 0x74, 0xA5, 0xF5, 0x2A, 0xE1, 0x5E, +0xB4, 0xE2, 0xAB, 0x37, 0x47, 0xE5, 0x66, 0xAA, 0x7C, 0xC5, 0x41, 0xD7, 0xDA, 0xF4, 0x8F, 0xB6, +0x87, 0xE4, 0x24, 0x40, 0xAD, 0x28, 0x8B, 0xB1, 0x2F, 0xD4, 0x4E, 0xD5, 0x8B, 0x09, 0x4F, 0x94, +0x55, 0xC5, 0x43, 0x7C, 0x80, 0x46, 0x6A, 0xA2, 0x7C, 0x55, 0x2A, 0xAD, 0xA2, 0x18, 0xF0, 0x51, +0xCA, 0xCA, 0x3F, 0x58, 0xDA, 0xFE, 0x81, 0x83, 0xE8, 0xD1, 0x26, 0xA4, 0x08, 0x24, 0xDA, 0x79, +0xC8, 0xD0, 0xFE, 0x58, 0xC7, 0x92, 0x74, 0x74, 0x0E, 0x1F, 0x3E, 0x21, 0xE7, 0x1F, 0xB9, 0x1D, +0x2F, 0x0C, 0xC3, 0x87, 0x47, 0x48, 0x27, 0xA6, 0x71, 0x90, 0xA9, 0x62, 0x16, 0x87, 0x83, 0xD1, +0x20, 0x24, 0xFD, 0x03, 0x07, 0xC1, 0x43, 0x0C, 0xFF, 0x80, 0x10, 0xC3, 0x3F, 0x50, 0xDD, 0x3F, +0x1E, 0x85, 0x47, 0x45, 0x13, 0x7C, 0xFC, 0x08, 0x26, 0x49, 0xC8, 0xB7, 0x75, 0x07, 0x29, 0xA2, +0xAB, 0x49, 0x42, 0xF6, 0x55, 0xDD, 0x53, 0xCC, 0x2A, 0x6B, 0x0E, 0x55, 0x8D, 0x5A, 0x08, 0x87, +0x90, 0xA5, 0x95, 0x87, 0x24, 0x1B, 0xB1, 0x75, 0x08, 0x59, 0x89, 0x8F, 0x72, 0x58, 0xE5, 0x2B, +0xC2, 0x79, 0x93, 0x0F, 0x74, 0xDD, 0xE0, 0x03, 0x40, 0xA4, 0x6A, 0x2D, 0x2B, 0xD2, 0xF3, 0x11, +0x4D, 0x65, 0xE7, 0x1F, 0xD8, 0x9E, 0x7E, 0xB6, 0xD2, 0x0F, 0x3C, 0x64, 0x35, 0x82, 0x47, 0x52, +0x81, 0x83, 0xB4, 0x8B, 0x59, 0xD5, 0x53, 0x1A, 0x1A, 0x29, 0x65, 0xDD, 0x8F, 0xA8, 0x9E, 0x7F, +0x50, 0xBE, 0x2A, 0x3D, 0xA4, 0xC9, 0x07, 0x22, 0xCA, 0x7A, 0xA7, 0xF4, 0xFC, 0x1C, 0x8F, 0xDF, +0x0A, 0x3A, 0xF0, 0x1D, 0x9B, 0x0F, 0x8A, 0x59, 0x55, 0x17, 0x44, 0x8E, 0x87, 0xD4, 0xFC, 0x23, +0xF4, 0xD0, 0xF2, 0x0F, 0x09, 0x3C, 0xA4, 0x11, 0x44, 0xD6, 0xF5, 0x4B, 0xE5, 0x94, 0x7F, 0x74, +0x9A, 0x66, 0xB1, 0xCA, 0xB5, 0xCD, 0x07, 0x84, 0xD4, 0x5C, 0xA1, 0xF6, 0xBD, 0x58, 0xF5, 0xF2, +0xD5, 0xA8, 0xDA, 0x31, 0x96, 0x10, 0x09, 0xE1, 0x7F, 0x8D, 0xF4, 0xA3, 0x36, 0xC6, 0xF3, 0x73, +0x1C, 0x04, 0x56, 0x46, 0x8A, 0x59, 0x35, 0x3C, 0xB2, 0xDC, 0x5B, 0x0D, 0xB2, 0x47, 0x55, 0xBD, +0x02, 0xC3, 0x87, 0x47, 0x08, 0xAE, 0xF1, 0xAB, 0x86, 0x76, 0x92, 0x10, 0xA2, 0x2A, 0x56, 0xD2, +0x8F, 0x58, 0x07, 0x1A, 0x6D, 0x9F, 0xD7, 0xA5, 0x6A, 0x2F, 0x88, 0x37, 0xFC, 0xA3, 0xD1, 0x10, +0x01, 0x0F, 0xCB, 0x43, 0xF2, 0xBC, 0x70, 0xA2, 0x88, 0x88, 0x6B, 0x80, 0xAC, 0xC6, 0x66, 0xC2, +0xCD, 0xB8, 0x7F, 0x9C, 0x18, 0x59, 0x91, 0xF4, 0x1A, 0xE5, 0x2B, 0xCF, 0x43, 0xC4, 0x07, 0x80, +0x8C, 0x12, 0x42, 0x79, 0x17, 0x4D, 0x94, 0x7B, 0x3B, 0x21, 0x81, 0x71, 0x40, 0x4C, 0xD7, 0xD5, +0xF8, 0x18, 0x27, 0x64, 0x55, 0xCB, 0x3F, 0x76, 0x4F, 0x32, 0xED, 0xC2, 0x41, 0x24, 0xCB, 0x3F, +0x58, 0xDE, 0x78, 0x08, 0x7C, 0x54, 0x55, 0x09, 0xB0, 0xF6, 0xC8, 0x21, 0x04, 0x3A, 0x70, 0x05, +0x8A, 0x59, 0x21, 0x7C, 0x04, 0x3E, 0x06, 0x4A, 0xB4, 0xE2, 0x87, 0x66, 0xFB, 0xA3, 0xEE, 0x21, +0x65, 0xFA, 0xD4, 0x50, 0xAD, 0xA9, 0x8E, 0x7F, 0x54, 0x96, 0xBA, 0x7F, 0xDC, 0x55, 0x1D, 0x24, +0xB6, 0x2B, 0x23, 0xBE, 0x62, 0xD4, 0x10, 0x19, 0xA6, 0x57, 0x5A, 0xC8, 0xEA, 0x74, 0x39, 0x5E, +0xC7, 0xE8, 0x1A, 0x7C, 0xD8, 0x84, 0xD4, 0xBF, 0x59, 0x91, 0x86, 0x48, 0x59, 0xDE, 0xF5, 0x09, +0x21, 0xC8, 0xD2, 0x16, 0x0B, 0xE9, 0x62, 0x38, 0x7C, 0x30, 0x16, 0x6F, 0xDA, 0xE7, 0x77, 0x45, +0x72, 0xCE, 0x11, 0xAF, 0x76, 0xD5, 0xE3, 0x8C, 0xE6, 0x09, 0xB4, 0x12, 0x11, 0xF8, 0xA8, 0xEB, +0x3C, 0xC0, 0xC2, 0x3F, 0x5C, 0x42, 0xDE, 0xD5, 0x44, 0x1E, 0xD2, 0x93, 0x11, 0x82, 0x94, 0x67, +0xA0, 0x28, 0x9C, 0x47, 0x3F, 0x9A, 0xFE, 0x81, 0x87, 0x34, 0xD3, 0x8F, 0x76, 0x31, 0x0B, 0x3E, +0x5C, 0x13, 0x79, 0x92, 0x2A, 0x0E, 0x52, 0xF7, 0x90, 0x15, 0xE7, 0xDD, 0x09, 0xB3, 0xBA, 0x8E, +0x40, 0x45, 0xEA, 0x92, 0x17, 0xC3, 0x3F, 0x9C, 0x54, 0x7D, 0xFC, 0xDB, 0xDD, 0x6D, 0xFF, 0x80, +0x90, 0xBA, 0x81, 0xAC, 0x12, 0x8B, 0x15, 0xD5, 0xDE, 0x7E, 0xE3, 0xE4, 0x1F, 0xF5, 0x86, 0x48, +0x1C, 0xD2, 0xB3, 0xE3, 0xCD, 0x11, 0x07, 0x98, 0xE5, 0x59, 0x22, 0x02, 0x1E, 0x23, 0x88, 0x94, +0x35, 0x1A, 0xD4, 0x0E, 0xB3, 0xC8, 0xCF, 0x9B, 0x2A, 0x6E, 0xB0, 0xC5, 0x35, 0xC8, 0x26, 0xF4, +0x48, 0x0B, 0x29, 0xCB, 0xBD, 0xCF, 0xFC, 0x0B, 0x50, 0x52, 0x36, 0x44, 0xF0, 0x8F, 0xC9, 0xB7, +0x53, 0x14, 0xB0, 0x90, 0x91, 0x87, 0x44, 0x7C, 0x35, 0x01, 0xC8, 0xB1, 0x72, 0xF7, 0x55, 0xDD, +0x41, 0xAA, 0xA9, 0xFA, 0x62, 0x3D, 0x8B, 0x90, 0x9C, 0x69, 0xDA, 0xE4, 0xCE, 0x9A, 0xB4, 0xB7, +0x73, 0xF9, 0xA8, 0x37, 0xD5, 0x3F, 0x83, 0x0F, 0x00, 0x29, 0x3C, 0xC4, 0xF1, 0x8F, 0xB2, 0x21, +0x02, 0xD1, 0x01, 0x45, 0x57, 0x3E, 0x99, 0x09, 0xD4, 0x39, 0x1F, 0x6D, 0x3C, 0xD4, 0x10, 0x01, +0x10, 0xA5, 0x1F, 0x0D, 0x07, 0x11, 0x21, 0x0F, 0x4A, 0x45, 0x34, 0x5A, 0xE7, 0xB3, 0xB8, 0x31, +0x0B, 0x3E, 0xDA, 0xE2, 0x02, 0x4C, 0x7B, 0x10, 0x35, 0x1B, 0x22, 0xD8, 0x01, 0x49, 0x05, 0x04, +0x08, 0x91, 0xBE, 0x73, 0xFE, 0xDA, 0x4D, 0xC7, 0x35, 0x78, 0x91, 0x5E, 0xC8, 0x2F, 0x78, 0xDE, +0xA2, 0xDF, 0xF7, 0x93, 0x3A, 0x73, 0x90, 0x7B, 0xC9, 0xF3, 0x10, 0xCA, 0x57, 0xCD, 0xE5, 0x35, +0x09, 0x1C, 0xDA, 0xE7, 0xCB, 0x8A, 0x81, 0xF0, 0xF3, 0x79, 0x7B, 0x70, 0x72, 0x26, 0x54, 0xDB, +0xE7, 0x42, 0x63, 0x35, 0x5C, 0x80, 0x49, 0x7B, 0xAB, 0xE9, 0xB9, 0xEF, 0x21, 0xD0, 0x00, 0x20, +0xE8, 0x03, 0x3E, 0xBE, 0x82, 0x0F, 0x93, 0x90, 0x8E, 0xE8, 0x2A, 0x59, 0xD6, 0x58, 0x89, 0x0D, +0x8D, 0xEE, 0xFC, 0xEE, 0xDD, 0x89, 0x41, 0xAA, 0x1E, 0xED, 0x41, 0x1D, 0xF6, 0x71, 0x07, 0x91, +0x12, 0x0F, 0xFC, 0xA3, 0xB5, 0xD0, 0x10, 0x31, 0xF0, 0x28, 0x7A, 0xEA, 0x7B, 0x43, 0xB7, 0x9B, +0x5F, 0xE1, 0x43, 0x2A, 0xC8, 0xD0, 0x03, 0x10, 0x92, 0x8D, 0xE4, 0xA3, 0x10, 0xBE, 0x83, 0x00, +0xC4, 0x79, 0x3F, 0x1F, 0xDE, 0x8D, 0x65, 0xA9, 0xD9, 0xFE, 0x68, 0x35, 0x44, 0x9E, 0x60, 0x62, +0x59, 0x33, 0x90, 0xA2, 0x96, 0x65, 0xCC, 0x83, 0x33, 0x42, 0x08, 0xA9, 0xD2, 0x42, 0x28, 0x99, +0xF2, 0x8F, 0x4C, 0x3E, 0x20, 0x84, 0xF6, 0x79, 0x0B, 0x10, 0x08, 0xB9, 0xBE, 0x34, 0x05, 0x1D, +0x02, 0x40, 0x08, 0x6B, 0x91, 0x97, 0x04, 0xE0, 0x12, 0xD4, 0x2C, 0x16, 0x46, 0xFE, 0x51, 0x36, +0x44, 0xC4, 0x47, 0x01, 0x46, 0x99, 0x05, 0x6A, 0x2C, 0xA5, 0xB2, 0xFD, 0xD1, 0xCE, 0x43, 0x7A, +0x3E, 0xB8, 0xA6, 0x5A, 0x26, 0xB2, 0xF7, 0xB4, 0x39, 0x2F, 0x5F, 0x21, 0x7E, 0x40, 0x34, 0x44, +0x78, 0xC9, 0xAF, 0x18, 0x0E, 0xFF, 0x46, 0x49, 0x08, 0xE9, 0x87, 0x11, 0x65, 0xA9, 0x3D, 0x68, +0xEA, 0xC0, 0xED, 0x57, 0xB6, 0x87, 0xC4, 0x38, 0x47, 0xA2, 0xEE, 0x20, 0x8A, 0xB2, 0xF0, 0x0F, +0x63, 0x9C, 0x7F, 0xFA, 0x43, 0xDE, 0x21, 0x32, 0xE4, 0x21, 0xDA, 0xC9, 0x70, 0x8B, 0xF6, 0x34, +0x7C, 0xF8, 0x84, 0xC0, 0x07, 0x80, 0x94, 0x84, 0xD0, 0xFE, 0xB0, 0x54, 0x4D, 0xD0, 0x81, 0x99, +0x28, 0x31, 0xB6, 0x94, 0x7B, 0xCD, 0xC3, 0x12, 0xC5, 0xAC, 0x27, 0xE5, 0x1F, 0xCB, 0xBB, 0x82, +0x8C, 0x3C, 0x0F, 0xA5, 0x8B, 0x9F, 0x5C, 0xFE, 0x21, 0xCE, 0xAA, 0x4D, 0x48, 0x3C, 0x6C, 0xE5, +0xA7, 0x07, 0x37, 0xE6, 0x8C, 0xFC, 0x1D, 0x3E, 0x24, 0x72, 0x0A, 0x1C, 0x21, 0x9E, 0x21, 0x55, +0x97, 0x87, 0xA0, 0x2A, 0x4F, 0xBF, 0x62, 0x25, 0xB4, 0x3F, 0x3C, 0x40, 0x4E, 0xB9, 0xBA, 0x2D, +0xF9, 0x87, 0x65, 0x1F, 0x5A, 0xF0, 0x8F, 0x51, 0x44, 0x70, 0x90, 0x21, 0x55, 0xB7, 0x27, 0xC2, +0x59, 0xFB, 0x83, 0x7B, 0x99, 0xB8, 0x15, 0x0B, 0x54, 0xBA, 0x59, 0xFE, 0x41, 0x31, 0x8B, 0xF6, +0x47, 0x1D, 0x10, 0x5A, 0x86, 0xA4, 0xE7, 0x2E, 0x21, 0xDD, 0xD0, 0xF0, 0x20, 0x73, 0x12, 0xD5, +0x19, 0x24, 0xA6, 0xB5, 0x24, 0x21, 0xE4, 0x1F, 0x96, 0x87, 0xAC, 0x7E, 0x5A, 0x52, 0xC0, 0xE2, +0x68, 0x97, 0x16, 0x42, 0xB5, 0xF7, 0x10, 0x49, 0xA5, 0xEB, 0x21, 0x7D, 0x22, 0x32, 0x43, 0xB4, +0x07, 0x0D, 0x05, 0x49, 0xE2, 0x03, 0x3B, 0x28, 0x39, 0x41, 0x10, 0x82, 0x7F, 0x54, 0xC8, 0xD2, +0x73, 0xC8, 0xE6, 0x83, 0xA6, 0xFA, 0xBD, 0x2F, 0xDA, 0xE7, 0xDE, 0x92, 0x7C, 0xB4, 0x1D, 0x84, +0x2D, 0xED, 0x0F, 0x6B, 0x22, 0xD0, 0x3E, 0x17, 0x15, 0x64, 0xB7, 0xDC, 0xD5, 0x44, 0x5B, 0x01, +0x3E, 0x6C, 0xA9, 0x3D, 0xD8, 0x02, 0x04, 0x55, 0xD2, 0x73, 0xB3, 0x98, 0xB5, 0x26, 0x73, 0x22, +0x11, 0x89, 0x24, 0x04, 0x03, 0x89, 0x41, 0xFD, 0xCA, 0x19, 0xEB, 0xD5, 0xDD, 0xB2, 0xB4, 0x67, +0xD2, 0x11, 0x9E, 0xE6, 0x13, 0x22, 0x0F, 0x34, 0xB5, 0xAC, 0x54, 0x7D, 0x9E, 0xE0, 0xC3, 0x42, +0x84, 0x19, 0x8D, 0x8A, 0xE7, 0x30, 0x91, 0xE7, 0xC4, 0xA4, 0xC0, 0x42, 0x9B, 0xA2, 0xE0, 0x9B, +0x3B, 0xF0, 0x61, 0x09, 0x3C, 0x4C, 0x42, 0xFA, 0x03, 0x34, 0x63, 0x11, 0x1E, 0x9E, 0x83, 0xA8, +0x21, 0xC2, 0x85, 0xD2, 0x32, 0x91, 0xC4, 0x62, 0xC8, 0xC5, 0x3B, 0x18, 0x19, 0xD8, 0xE0, 0xD9, +0x0E, 0x3E, 0x4C, 0x89, 0x0F, 0x0B, 0x10, 0x02, 0x2C, 0x4B, 0x2F, 0x41, 0xC8, 0x5A, 0x18, 0x60, +0x20, 0x95, 0x7A, 0xDB, 0xAA, 0x7F, 0x4E, 0x63, 0x7D, 0xE3, 0x8F, 0xA0, 0xE9, 0x89, 0xB2, 0x48, +0xAC, 0x5B, 0x0E, 0x22, 0x2D, 0xBF, 0xF4, 0xF1, 0x88, 0x71, 0x75, 0x3F, 0x4F, 0xBF, 0x13, 0x5F, +0x39, 0xDA, 0x16, 0xFD, 0x0B, 0x8A, 0x59, 0x04, 0x4B, 0x15, 0x84, 0x40, 0x20, 0x05, 0x27, 0x6C, +0x01, 0xC4, 0xD6, 0xFD, 0x3C, 0xD1, 0xFF, 0xB0, 0x96, 0x23, 0x34, 0xB4, 0x0D, 0x44, 0xCB, 0xF2, +0x89, 0xFA, 0xAE, 0x35, 0x56, 0xCC, 0xAF, 0x35, 0xBB, 0x80, 0x92, 0xBE, 0x32, 0x3C, 0xD1, 0xBD, +0xCC, 0xBA, 0xCC, 0x5F, 0x5E, 0x7B, 0x80, 0x28, 0x0B, 0x99, 0x07, 0xC8, 0xCB, 0x4B, 0x22, 0xC0, +0x5B, 0x5F, 0xE1, 0x28, 0x69, 0x2B, 0xDC, 0x9C, 0xBC, 0x5A, 0xCD, 0xB1, 0x90, 0x95, 0xEE, 0xE0, +0x2D, 0x03, 0xAC, 0x31, 0x07, 0x21, 0xC4, 0x32, 0x09, 0xD1, 0xB7, 0xFC, 0xF8, 0xBA, 0xFD, 0xFE, +0xFB, 0xFD, 0x0C, 0x29, 0xC4, 0x42, 0x54, 0x6A, 0x47, 0x88, 0xC0, 0x3E, 0x4A, 0x13, 0x81, 0x13, +0xFE, 0x01, 0x21, 0x96, 0xAB, 0x78, 0xF7, 0xF7, 0x33, 0x14, 0xC7, 0x66, 0x0E, 0x21, 0xCB, 0x90, +0x6D, 0x20, 0xF1, 0xCA, 0xD5, 0xAC, 0x10, 0x6B, 0xBD, 0xFA, 0x94, 0x6A, 0xD5, 0x09, 0x8E, 0xB4, +0x12, 0xE8, 0x58, 0x89, 0x97, 0xFC, 0xA7, 0x2F, 0x2F, 0xB3, 0xF8, 0x88, 0xD4, 0xDB, 0x03, 0x84, +0x24, 0xDD, 0xC4, 0x23, 0x94, 0x05, 0xDD, 0x1E, 0x0C, 0x59, 0x09, 0x1E, 0x92, 0x15, 0x05, 0xC8, +0x5F, 0x75, 0xAB, 0x4F, 0x7D, 0x42, 0xE2, 0x8E, 0x93, 0x58, 0xE2, 0x6A, 0x03, 0x02, 0x2D, 0x07, +0x89, 0x17, 0xF6, 0xF2, 0x1D, 0xE4, 0x6A, 0x1E, 0x20, 0xDF, 0xEF, 0xBF, 0x87, 0x10, 0x8F, 0x8F, +0xE1, 0x2B, 0xB0, 0x7E, 0x84, 0x11, 0x76, 0xDE, 0x54, 0xA8, 0xBE, 0xA5, 0x63, 0xC2, 0x8A, 0x90, +0x8A, 0xDD, 0x18, 0xD9, 0x0A, 0x99, 0xC5, 0x47, 0x68, 0x0E, 0x1F, 0xB3, 0x08, 0x59, 0x4A, 0xB6, +0x81, 0x44, 0x06, 0x12, 0xA7, 0xD6, 0x07, 0x24, 0xA6, 0xCD, 0x6A, 0x45, 0x20, 0xCF, 0x5C, 0xA3, +0x1F, 0x9D, 0xCD, 0x90, 0xF4, 0x8F, 0x5E, 0x3E, 0x1F, 0xBA, 0x9F, 0xBD, 0x09, 0x08, 0x29, 0x7A, +0x88, 0x34, 0xDD, 0xE0, 0x43, 0x84, 0x10, 0x0A, 0x92, 0x23, 0xF1, 0xA6, 0xF3, 0x2F, 0x8A, 0xC7, +0x49, 0xB3, 0xF8, 0x58, 0xDD, 0x80, 0x40, 0xD3, 0x41, 0x84, 0xC7, 0x11, 0x42, 0x3C, 0x3E, 0x7C, +0x44, 0x62, 0x86, 0x49, 0x36, 0x1F, 0xD2, 0xE6, 0xD7, 0x62, 0xB6, 0xD3, 0xFF, 0x60, 0x5F, 0x7A, +0xFE, 0x36, 0x96, 0x77, 0xD0, 0xD1, 0x2E, 0x67, 0x3D, 0xFF, 0x9E, 0xBF, 0xDF, 0xE6, 0x43, 0xDA, +0xFB, 0x7C, 0xF8, 0x84, 0x84, 0x69, 0x0F, 0xC7, 0xDE, 0x32, 0x90, 0x08, 0xAF, 0xC4, 0x47, 0x10, +0x62, 0x4E, 0x05, 0xF1, 0x21, 0x42, 0xE8, 0x80, 0x14, 0x2D, 0x04, 0xEA, 0x5B, 0xF2, 0x0F, 0xC9, +0xE7, 0x03, 0x42, 0x9A, 0x8D, 0xC2, 0x57, 0xB9, 0x7C, 0x40, 0x88, 0xC8, 0xA6, 0x17, 0x32, 0x74, +0x08, 0x41, 0xA7, 0x4B, 0x3E, 0xD2, 0x43, 0x26, 0x87, 0xF8, 0xC8, 0xE5, 0x69, 0x67, 0x38, 0x88, +0x4E, 0x91, 0x1E, 0x36, 0x1F, 0x29, 0x9F, 0x0F, 0xC9, 0xCC, 0x3F, 0x24, 0x79, 0x08, 0x13, 0x5C, +0x0F, 0x44, 0x6A, 0x92, 0x84, 0x88, 0x11, 0x54, 0xC2, 0x45, 0xD6, 0x42, 0x9F, 0x70, 0xE3, 0xE3, +0x21, 0xB9, 0x78, 0xCC, 0x22, 0x84, 0x63, 0xEF, 0x95, 0xB0, 0x56, 0xE2, 0xC3, 0xF6, 0x90, 0x1E, +0x0F, 0x89, 0x78, 0x4A, 0x3B, 0x1A, 0x24, 0xE6, 0x7A, 0xC8, 0x3F, 0x06, 0xF9, 0x7C, 0x08, 0x91, +0x06, 0x20, 0x34, 0x41, 0xF2, 0xB5, 0x2E, 0x1F, 0x20, 0x42, 0xC7, 0x5C, 0xFB, 0x10, 0xAD, 0x55, +0xE6, 0x1F, 0xAB, 0x90, 0x17, 0x65, 0xC1, 0x47, 0x94, 0xCC, 0x0D, 0x07, 0xC9, 0x53, 0xC4, 0x37, +0x99, 0xB4, 0x97, 0xE0, 0x03, 0xD9, 0x7C, 0x48, 0x26, 0x1E, 0x08, 0xAB, 0xE0, 0x7E, 0x11, 0xB2, +0x74, 0xEC, 0x23, 0x96, 0xB2, 0xD1, 0x4E, 0x86, 0x1E, 0x83, 0x27, 0xCE, 0x3E, 0x69, 0xEB, 0xF0, +0x81, 0xF6, 0x36, 0x1F, 0x3E, 0x21, 0xD9, 0xA2, 0xD5, 0xBA, 0x65, 0x20, 0xF8, 0xC7, 0xEB, 0xE2, +0xC4, 0xDB, 0x83, 0x7F, 0xE8, 0x11, 0x73, 0x49, 0x71, 0x14, 0xED, 0x10, 0x70, 0xD1, 0x66, 0xDD, +0xBD, 0x20, 0xAF, 0x09, 0x82, 0xC6, 0x00, 0x81, 0x0F, 0x08, 0xF9, 0xC3, 0xE0, 0x03, 0x65, 0x43, +0x93, 0x0E, 0x61, 0xEE, 0xAC, 0x04, 0x78, 0x3F, 0x62, 0xA6, 0x0B, 0x91, 0x8F, 0x7A, 0x44, 0x8C, +0x9B, 0x15, 0xE3, 0xE8, 0xB1, 0xC4, 0x71, 0x6D, 0x39, 0x88, 0xFC, 0x63, 0x40, 0xE4, 0x28, 0x42, +0x0C, 0xFF, 0x40, 0x0E, 0x1F, 0xC8, 0xE4, 0x03, 0xD5, 0xA6, 0x3D, 0x02, 0x91, 0x5C, 0xC6, 0xAA, +0xC2, 0x18, 0x49, 0x1F, 0xBF, 0xA1, 0x39, 0x7C, 0x44, 0x22, 0xE5, 0xF1, 0x81, 0x1E, 0xBC, 0x3B, +0xB1, 0x4E, 0x9B, 0x68, 0xA6, 0x4F, 0xB7, 0xD1, 0xB5, 0x78, 0x1E, 0x22, 0xFF, 0xD0, 0x9C, 0xE9, +0x88, 0xB2, 0xBA, 0x22, 0x7E, 0xEF, 0x12, 0x17, 0x6D, 0x5E, 0x90, 0x43, 0x88, 0x26, 0x3D, 0x1A, +0x07, 0xE4, 0xBD, 0x6E, 0x32, 0xF1, 0x09, 0x79, 0x29, 0x94, 0x60, 0xA8, 0x98, 0x20, 0xC4, 0xA9, +0x2A, 0x48, 0xC1, 0x86, 0xE8, 0x90, 0x26, 0x08, 0x81, 0x0F, 0x08, 0x69, 0x3B, 0x48, 0xDE, 0x2B, +0xA7, 0x87, 0x08, 0x31, 0xFC, 0x03, 0x1D, 0xAE, 0x9C, 0xFC, 0x1C, 0xDD, 0xEF, 0x67, 0xDD, 0xEE, +0xBE, 0x19, 0xFA, 0x85, 0x45, 0x86, 0x41, 0xAA, 0x0E, 0x1D, 0xE4, 0x21, 0x1A, 0xD5, 0x7A, 0xD7, +0xB6, 0x94, 0xC5, 0x07, 0x88, 0x58, 0x7C, 0x20, 0xEF, 0x66, 0x5E, 0x7D, 0x53, 0x9C, 0xD4, 0x74, +0x90, 0xE5, 0x39, 0x1F, 0x5F, 0xB7, 0x09, 0x49, 0xFF, 0x48, 0x3A, 0x04, 0x0A, 0xE9, 0xAD, 0xD8, +0x48, 0x31, 0xD1, 0x16, 0xC5, 0xBC, 0x9C, 0xC5, 0x47, 0xE3, 0x76, 0xF7, 0x6B, 0xE5, 0xE7, 0x2E, +0x21, 0xF0, 0x81, 0xFE, 0x18, 0xBE, 0x62, 0x82, 0xB8, 0x8A, 0x0F, 0x85, 0xF0, 0x37, 0xEA, 0xAF, +0xEC, 0xFF, 0x68, 0x23, 0xBC, 0x62, 0xB9, 0xF9, 0x29, 0x6A, 0x54, 0xE3, 0x0E, 0x32, 0x9C, 0x23, +0x10, 0x39, 0x36, 0x3A, 0xEA, 0x0F, 0x57, 0xC8, 0xF1, 0x90, 0xDB, 0x72, 0x86, 0xC5, 0xF0, 0xF8, +0x80, 0x90, 0xA2, 0x98, 0x05, 0x23, 0x12, 0x74, 0x54, 0x3C, 0xA4, 0x40, 0x05, 0x3E, 0x90, 0xCF, +0x87, 0x50, 0x37, 0xF8, 0xB0, 0x11, 0xE1, 0x4E, 0xDE, 0x57, 0xFB, 0x1E, 0x73, 0x10, 0x85, 0x01, +0xE5, 0xA9, 0x6D, 0xDF, 0x70, 0x72, 0x13, 0x53, 0x25, 0x67, 0xCE, 0x3A, 0x16, 0x49, 0x19, 0x6E, +0x4E, 0x32, 0x6E, 0x88, 0x5D, 0xF5, 0x5B, 0xD2, 0x0F, 0x64, 0xF0, 0x81, 0x28, 0xF7, 0xD6, 0x3E, +0x72, 0x5B, 0xBE, 0xD8, 0xE2, 0x03, 0x75, 0x50, 0x31, 0xEC, 0x90, 0x7E, 0x74, 0xFA, 0x13, 0xD3, +0x44, 0x3A, 0x11, 0x72, 0x33, 0xDE, 0x1E, 0xC4, 0x3F, 0x58, 0x46, 0x1D, 0x24, 0xFD, 0x03, 0x3C, +0x76, 0xF1, 0x78, 0x3A, 0x8E, 0xD1, 0x81, 0x7D, 0x78, 0x84, 0x5C, 0xDD, 0x6A, 0x5A, 0x15, 0xF2, +0xF8, 0x40, 0xCD, 0x3B, 0x15, 0x0B, 0x3E, 0x6A, 0xF1, 0x15, 0x49, 0x7E, 0xE0, 0xF6, 0x56, 0x1E, +0x1F, 0x40, 0x62, 0xF0, 0xE1, 0x11, 0xB2, 0x7C, 0x15, 0x90, 0x2C, 0xC7, 0x1C, 0x64, 0x49, 0x7C, +0xC5, 0xC2, 0x47, 0xD2, 0xAB, 0xE5, 0x5D, 0xE0, 0x50, 0x06, 0xA2, 0x0D, 0xE9, 0xB8, 0x26, 0x19, +0x9F, 0xB2, 0xF8, 0xE3, 0xA5, 0x22, 0x8F, 0x0F, 0x54, 0x03, 0x44, 0x74, 0x94, 0x7A, 0xAF, 0x72, +0xAF, 0xC3, 0x07, 0x84, 0xA4, 0x69, 0x08, 0x68, 0x72, 0x90, 0xF8, 0xBB, 0xB0, 0x90, 0xFC, 0x23, +0x1B, 0xA9, 0x7A, 0x1C, 0xB2, 0x50, 0x71, 0x1C, 0x3B, 0x35, 0x44, 0x0A, 0x07, 0xD1, 0x13, 0x3A, +0x31, 0x38, 0x08, 0x77, 0xBD, 0x7F, 0xD9, 0xE0, 0xC3, 0x25, 0xE4, 0x4A, 0xE1, 0x55, 0x45, 0x1E, +0x1F, 0xA8, 0x98, 0xEB, 0xAC, 0xBF, 0x85, 0x90, 0xC2, 0x43, 0x80, 0x02, 0x52, 0x9E, 0xB7, 0x75, +0x79, 0x7C, 0xE0, 0x22, 0x16, 0x1F, 0x00, 0x32, 0xFD, 0x69, 0xC2, 0x5E, 0xBB, 0xC1, 0xBF, 0x77, +0x63, 0x39, 0x48, 0x09, 0x47, 0x2E, 0x53, 0xE5, 0x5D, 0x41, 0xC2, 0x0C, 0xD2, 0x3C, 0xE3, 0x03, +0x21, 0x54, 0x7B, 0x5F, 0xAA, 0x6A, 0xB5, 0x07, 0x11, 0x26, 0x52, 0x02, 0x22, 0x3E, 0xEA, 0xB2, +0xF8, 0x40, 0x14, 0xDC, 0xCE, 0x1E, 0x79, 0x11, 0x20, 0x0B, 0x91, 0x46, 0x09, 0x59, 0xE9, 0x33, +0xB6, 0xA5, 0x13, 0xAB, 0x65, 0x58, 0x5A, 0x88, 0xF8, 0x08, 0x71, 0x96, 0x32, 0x0E, 0xCE, 0x72, +0x6F, 0x83, 0x0F, 0x97, 0x10, 0xFC, 0xA3, 0x50, 0x1D, 0x8F, 0x0A, 0x1F, 0x94, 0x7B, 0xB9, 0xC5, +0x84, 0x39, 0x5F, 0xA3, 0x83, 0x8E, 0x61, 0x99, 0x7E, 0x3C, 0xE3, 0x1F, 0x85, 0x1C, 0x3E, 0xD0, +0xBE, 0xC1, 0x87, 0xED, 0x21, 0xC1, 0x07, 0x3A, 0xBE, 0xC2, 0x51, 0x4D, 0x44, 0x96, 0x6A, 0x9F, +0x73, 0x5A, 0x8B, 0x65, 0x9C, 0x8F, 0xBC, 0xB6, 0xAE, 0x09, 0xD0, 0xBB, 0x58, 0xD1, 0x3C, 0xE8, +0xB8, 0x67, 0x11, 0x3E, 0x4A, 0x35, 0xCA, 0xBB, 0x35, 0x01, 0x48, 0x8B, 0x0F, 0x5A, 0x86, 0x1E, +0x1F, 0x34, 0xD5, 0xB5, 0x12, 0xE0, 0xDA, 0xAE, 0x52, 0x6B, 0xD5, 0x22, 0xF4, 0x18, 0xC2, 0x2C, +0x27, 0xFF, 0x00, 0x11, 0x7D, 0x32, 0xA4, 0x4C, 0x42, 0xF0, 0x8F, 0xBC, 0x82, 0x1D, 0xB5, 0xD1, +0x0E, 0x79, 0x48, 0x83, 0x0F, 0xD4, 0x28, 0x5F, 0xD5, 0x34, 0x72, 0x07, 0x6F, 0x8B, 0x10, 0x44, +0x08, 0x25, 0x22, 0x2A, 0x0B, 0x2F, 0xF1, 0xBE, 0x7C, 0x74, 0xE3, 0xF3, 0x21, 0xE4, 0x1B, 0x7C, +0x78, 0x84, 0x9C, 0x7F, 0xC7, 0xBB, 0xE8, 0x80, 0x95, 0x5A, 0xAA, 0x5E, 0x39, 0xA9, 0x24, 0x99, +0xE3, 0xF1, 0x55, 0xC2, 0xB1, 0xEE, 0x12, 0x8F, 0x5E, 0x24, 0xE5, 0x69, 0x27, 0xF8, 0x47, 0x55, +0x36, 0x1F, 0x78, 0x08, 0x80, 0x90, 0x9E, 0x57, 0xE4, 0xE3, 0x41, 0x53, 0x3D, 0x47, 0xBE, 0x73, +0x32, 0x73, 0xD4, 0xE1, 0x21, 0x65, 0xF9, 0x4A, 0x66, 0x31, 0xB2, 0x7C, 0x98, 0x88, 0xD0, 0x3E, +0xE7, 0x34, 0xBD, 0x51, 0xA5, 0xBC, 0xDB, 0x54, 0x8D, 0x8F, 0x39, 0x88, 0xFC, 0xBE, 0x6D, 0x68, +0x43, 0xA7, 0x90, 0xB4, 0x1B, 0x22, 0xCA, 0xA5, 0x72, 0x57, 0x23, 0xFE, 0x51, 0x93, 0x85, 0x07, +0xDA, 0x37, 0xF0, 0xF0, 0x08, 0x59, 0xA2, 0xB4, 0x8E, 0x64, 0xA5, 0x96, 0x88, 0xEC, 0x6A, 0xF9, +0x47, 0xB3, 0x21, 0x22, 0x3E, 0x3E, 0x7A, 0x0D, 0x3D, 0x90, 0x3C, 0x84, 0xB6, 0x5B, 0x2C, 0x5A, +0xBF, 0xB4, 0xE4, 0xF1, 0x81, 0x3E, 0x00, 0x04, 0x3C, 0xAA, 0xB2, 0xF8, 0x40, 0x14, 0xB1, 0x92, +0x71, 0x70, 0x50, 0x78, 0xB5, 0xD6, 0xD2, 0xAB, 0x4B, 0x42, 0xC6, 0xDB, 0x1F, 0x2C, 0x45, 0x53, +0x1D, 0x07, 0x21, 0x37, 0x04, 0x94, 0x23, 0xDB, 0xC8, 0x43, 0x2A, 0x7C, 0xF8, 0x84, 0x10, 0x5E, +0x59, 0x84, 0x6C, 0xA7, 0x44, 0xAC, 0x44, 0x78, 0xD5, 0x58, 0x8A, 0x8E, 0xFB, 0x3F, 0xCC, 0x9D, +0xCD, 0x6B, 0x2C, 0x45, 0x14, 0xC5, 0xCD, 0xC6, 0x3C, 0x19, 0x62, 0x34, 0xB8, 0x9B, 0x5D, 0x16, +0x22, 0x86, 0xC1, 0x8F, 0x2C, 0xB2, 0x88, 0x10, 0x19, 0x0C, 0xE6, 0xE1, 0x32, 0x03, 0x6E, 0xDC, +0x09, 0x32, 0x41, 0x7C, 0x48, 0xC0, 0x8D, 0x20, 0x41, 0xD0, 0xED, 0xA0, 0x7B, 0x57, 0xFE, 0xA5, +0xDE, 0x3E, 0x73, 0xDB, 0x9F, 0x53, 0xA9, 0xAA, 0x3E, 0x8D, 0x08, 0x9E, 0xAA, 0xFE, 0x98, 0xBC, +0x79, 0xCF, 0x4C, 0x75, 0xFD, 0xFA, 0xD4, 0xBD, 0x77, 0x66, 0xA4, 0xFC, 0xD1, 0x90, 0xCD, 0x07, +0x1E, 0x52, 0xF2, 0xE1, 0x13, 0x92, 0x01, 0xDF, 0x38, 0xE0, 0x72, 0x70, 0x7C, 0x3C, 0xB6, 0xC2, +0x42, 0x58, 0x37, 0xD7, 0x5B, 0xA5, 0xFC, 0x91, 0x3A, 0x62, 0xFA, 0xC4, 0x01, 0x0F, 0x51, 0x0F, +0xE9, 0x08, 0x1F, 0x16, 0x21, 0xA7, 0xCB, 0xBE, 0xBE, 0x4E, 0x40, 0x28, 0x0F, 0xB6, 0x0D, 0xC7, +0xE1, 0x03, 0xBD, 0x95, 0xBF, 0x71, 0x26, 0x78, 0x59, 0x38, 0xC6, 0xBE, 0xEA, 0x21, 0x10, 0x12, +0xDB, 0x87, 0x53, 0x80, 0x6C, 0x0E, 0x1C, 0x24, 0xE1, 0x18, 0x91, 0x40, 0x30, 0x53, 0xA4, 0x77, +0xA7, 0xE4, 0xF0, 0x81, 0x5C, 0x3E, 0x20, 0x04, 0xF9, 0x78, 0x24, 0x4F, 0xC6, 0x3F, 0xEF, 0xF3, +0x81, 0x87, 0xC0, 0xC7, 0x3C, 0x42, 0x58, 0x52, 0x95, 0x29, 0x92, 0x11, 0x15, 0x4A, 0x57, 0x94, +0x3F, 0xDA, 0xED, 0xC3, 0x8A, 0x7F, 0xC8, 0x40, 0xD4, 0xE2, 0x8C, 0x59, 0xA3, 0x55, 0x57, 0xA2, +0x21, 0x1F, 0xA1, 0xFC, 0xD1, 0x56, 0x99, 0xBE, 0xEA, 0xEB, 0x65, 0x02, 0x22, 0xFF, 0x30, 0x08, +0x81, 0x0F, 0x83, 0x10, 0x3E, 0xC9, 0x72, 0x03, 0xF3, 0x63, 0xEC, 0xC1, 0xC3, 0x23, 0x4A, 0x86, +0xC4, 0xE7, 0x93, 0xC3, 0x38, 0xC6, 0x21, 0x94, 0xCF, 0xB5, 0x07, 0x14, 0xA1, 0x82, 0x87, 0x78, +0xFE, 0x81, 0xAC, 0xF8, 0x03, 0x75, 0xD3, 0x57, 0xD5, 0x82, 0x08, 0xBA, 0x8A, 0xAD, 0xCF, 0x08, +0x6F, 0x6A, 0x24, 0xBD, 0xDB, 0x95, 0xCF, 0x87, 0xD0, 0xF7, 0xF8, 0x40, 0x10, 0x92, 0x23, 0xAF, +0xA5, 0x2D, 0x49, 0x76, 0x16, 0x5B, 0xAA, 0xAA, 0xE3, 0x20, 0xF0, 0xD1, 0x6E, 0x14, 0x44, 0x14, +0x9F, 0x8F, 0xD9, 0x4E, 0xED, 0x33, 0x08, 0x49, 0x34, 0x6E, 0x24, 0xDE, 0xFB, 0x3E, 0xF2, 0xF1, +0x56, 0x77, 0x67, 0xF2, 0x01, 0x21, 0x01, 0xC8, 0x84, 0x7F, 0x50, 0x32, 0x84, 0x0F, 0x43, 0xBB, +0xF1, 0x57, 0xCF, 0xC5, 0x23, 0xE8, 0xC3, 0x46, 0x2E, 0x2D, 0x45, 0x48, 0x51, 0x3E, 0xEF, 0x36, +0xC5, 0x21, 0xEF, 0xC8, 0x42, 0xC6, 0x1B, 0x16, 0x38, 0xD4, 0x15, 0xA1, 0xBA, 0xF0, 0x80, 0x8F, +0xAE, 0x2C, 0x3E, 0x90, 0xEB, 0x1F, 0x10, 0x72, 0xAF, 0x8E, 0x7F, 0x74, 0xDA, 0x25, 0xFA, 0xC6, +0x93, 0xCD, 0x07, 0x1E, 0x02, 0x1F, 0x3E, 0x21, 0x1A, 0xF6, 0x32, 0xEA, 0xFB, 0x36, 0xE9, 0xD0, +0x41, 0x1A, 0x33, 0x58, 0xEF, 0x4D, 0x5F, 0x59, 0x42, 0x75, 0xC2, 0xF3, 0x5F, 0x72, 0x51, 0xCE, +0x3C, 0x3A, 0x4C, 0x6A, 0x8D, 0xEF, 0x5C, 0xDC, 0x4D, 0xE2, 0xA1, 0xCD, 0xE3, 0x83, 0x50, 0x5D, +0xFF, 0x8F, 0x42, 0x4B, 0x2F, 0xE1, 0xC3, 0x24, 0x44, 0x5C, 0x27, 0xEB, 0xBC, 0x34, 0x9D, 0xE9, +0xB5, 0x1E, 0x15, 0x05, 0x11, 0x8D, 0x8A, 0x46, 0xD1, 0x68, 0x63, 0xFE, 0x0A, 0x33, 0xC7, 0x41, +0xC0, 0x85, 0xF6, 0x11, 0xF6, 0xE1, 0x08, 0x3E, 0x2C, 0xC1, 0x87, 0x49, 0x08, 0x32, 0x18, 0xE1, +0xFB, 0x46, 0x4D, 0xD9, 0x7C, 0xE0, 0x21, 0xF0, 0xE1, 0x2E, 0xB3, 0x8A, 0xA8, 0x4F, 0xAE, 0x0D, +0x31, 0x44, 0x27, 0x63, 0x41, 0xC4, 0xBC, 0xB0, 0x63, 0x41, 0x44, 0x75, 0x64, 0x10, 0x19, 0x27, +0x0E, 0x1E, 0xA2, 0x3D, 0xCB, 0xAC, 0x49, 0xF3, 0xC8, 0x13, 0xF8, 0xB0, 0x24, 0x07, 0x31, 0x05, +0x1E, 0x86, 0x5E, 0xEE, 0x4B, 0x86, 0x89, 0xFA, 0x51, 0x6E, 0x12, 0x15, 0x51, 0x5E, 0xA5, 0x8A, +0xEA, 0x6F, 0x69, 0x79, 0x65, 0xB6, 0x61, 0xD0, 0xB9, 0x5D, 0x01, 0xC4, 0xA1, 0x00, 0x88, 0x77, +0x5F, 0x59, 0x22, 0x7D, 0x65, 0x09, 0x3E, 0x3C, 0x42, 0x60, 0xC3, 0x69, 0x94, 0x07, 0x4D, 0xC1, +0x87, 0x07, 0x09, 0x7C, 0xD8, 0x84, 0xB4, 0xA2, 0x3E, 0x32, 0xED, 0x90, 0x12, 0x4E, 0x6F, 0xF3, +0x11, 0xBB, 0x5C, 0x5E, 0x71, 0x03, 0x15, 0x23, 0x9A, 0x40, 0x65, 0x3D, 0x4D, 0x3D, 0xF9, 0xE8, +0x9A, 0x47, 0xF4, 0xE4, 0x84, 0xF2, 0xA0, 0x63, 0x0B, 0x00, 0x62, 0x08, 0x3E, 0x2C, 0x44, 0x82, +0x90, 0x78, 0x69, 0x43, 0x47, 0xC1, 0x7F, 0x3C, 0xC4, 0x27, 0x39, 0x0E, 0x1E, 0xA2, 0x11, 0x42, +0x07, 0x8F, 0x72, 0xFC, 0xB4, 0xED, 0x4F, 0xAF, 0x59, 0xF1, 0x16, 0x0E, 0x52, 0x7A, 0x88, 0x2E, +0x1A, 0x7C, 0x78, 0xB2, 0xED, 0x43, 0x18, 0xE9, 0xD3, 0x51, 0xB6, 0xE2, 0xB9, 0x10, 0x62, 0xB5, +0xB0, 0x8F, 0x59, 0xFF, 0x01, 0xF8, 0xB0, 0x7E, 0x7D, 0x13, 0x0F, 0xAA, 0xEA, 0x05, 0x0F, 0x6A, +0x79, 0x86, 0xA9, 0x8B, 0x14, 0xA5, 0x7B, 0x37, 0xBA, 0xB6, 0x6E, 0x23, 0xFC, 0xD0, 0x0E, 0xE5, +0x8C, 0x29, 0x1E, 0x06, 0x1F, 0x2F, 0x5F, 0x0A, 0x82, 0xB6, 0x7B, 0x00, 0x50, 0x3C, 0x93, 0xF4, +0xAE, 0xE5, 0x20, 0xBE, 0x76, 0xC7, 0x47, 0xB3, 0x74, 0xA3, 0xAD, 0xFC, 0x21, 0x47, 0x74, 0xA3, +0xDD, 0xE6, 0x66, 0x8E, 0x06, 0x40, 0x7C, 0xC5, 0x77, 0x39, 0xCC, 0xD1, 0x47, 0xEF, 0xBF, 0x1F, +0xD3, 0x66, 0xED, 0xEA, 0x83, 0xF7, 0xD7, 0xF7, 0xF1, 0x85, 0xD2, 0x66, 0xBB, 0x8F, 0xED, 0xEA, +0x29, 0xBE, 0x25, 0xCE, 0xED, 0xD1, 0xEE, 0xBF, 0xE1, 0xEF, 0x1B, 0x6D, 0xFD, 0x81, 0xDB, 0xF4, +0x2A, 0xF5, 0x82, 0x67, 0x48, 0xD3, 0xDE, 0xD7, 0xF5, 0xCD, 0x1C, 0x6D, 0x6E, 0x98, 0x1F, 0x37, +0xCE, 0x2C, 0x9B, 0xA9, 0xDD, 0xD2, 0xD3, 0x7C, 0x07, 0xD9, 0x1D, 0xAF, 0x5E, 0x5F, 0xCD, 0x10, +0x1F, 0x64, 0x41, 0xC5, 0x79, 0xEE, 0x74, 0x8C, 0xA1, 0x31, 0xBB, 0x76, 0xD7, 0x5F, 0xCE, 0x22, +0xE4, 0xA3, 0x8F, 0xEE, 0xE6, 0x68, 0xFB, 0xFE, 0xD6, 0x9F, 0x61, 0x91, 0x0D, 0xFE, 0xF9, 0xE7, +0x20, 0xC4, 0x6D, 0xF7, 0x97, 0x57, 0x31, 0xED, 0x7F, 0x7B, 0xB2, 0xF5, 0xE9, 0xD5, 0xD5, 0xF0, +0xB7, 0xEC, 0xF6, 0xF3, 0xCF, 0x73, 0x08, 0x09, 0xBE, 0xB7, 0x77, 0x73, 0x14, 0xFF, 0x07, 0x68, +0x7B, 0xF0, 0x15, 0xA7, 0xFB, 0x17, 0x56, 0x7C, 0x30, 0x27, 0x10, 0x3F, 0x29, 0x1F, 0x1E, 0xAF, +0x7C, 0xC5, 0x04, 0x3E, 0xDE, 0xCD, 0x72, 0x90, 0x5F, 0x5E, 0x2E, 0x4D, 0x5D, 0xFC, 0x1A, 0x5F, +0x12, 0xB7, 0x5A, 0x1D, 0xDB, 0x5A, 0xAD, 0x16, 0xE3, 0xE7, 0xBE, 0xE2, 0x38, 0xF6, 0xE3, 0x3C, +0x03, 0x0F, 0x3D, 0x88, 0x15, 0x66, 0x6C, 0xD2, 0x87, 0x9B, 0xD8, 0x6E, 0x86, 0x78, 0x7D, 0xD3, +0x38, 0x0F, 0x11, 0xA3, 0x9B, 0x78, 0x84, 0xEE, 0xDE, 0xDF, 0xBE, 0x7F, 0x67, 0xDC, 0x1F, 0xEF, +0xF2, 0x49, 0xC3, 0xEA, 0xDC, 0x6C, 0x31, 0x23, 0x07, 0x42, 0x4C, 0xED, 0xBF, 0xC9, 0xDD, 0xE7, +0x23, 0x9E, 0x2C, 0x42, 0x3C, 0x05, 0x1F, 0xC3, 0xEF, 0xE3, 0xE3, 0x11, 0x37, 0x83, 0xE1, 0x55, +0xDB, 0x4D, 0x83, 0x39, 0x39, 0xE4, 0x5F, 0x6A, 0x13, 0x1F, 0xA1, 0x61, 0xE2, 0xEB, 0x22, 0xEA, +0x02, 0xB6, 0xCE, 0x75, 0xF1, 0xBF, 0x88, 0x99, 0x70, 0x30, 0x71, 0xE8, 0x39, 0x7B, 0xE8, 0xB1, +0x3B, 0x5E, 0x2D, 0x86, 0xC9, 0xE6, 0xCE, 0xC9, 0xA3, 0x39, 0x31, 0xC8, 0x49, 0x38, 0xC8, 0xE9, +0x4B, 0x93, 0x8F, 0xDD, 0xC5, 0xEE, 0x24, 0x4C, 0xC4, 0x26, 0x64, 0x21, 0x42, 0x42, 0x8B, 0x78, +0xAD, 0x71, 0x32, 0xD0, 0x72, 0x3C, 0xBC, 0xA8, 0x45, 0x1C, 0xA2, 0x2F, 0xF4, 0x53, 0xFD, 0xA1, +0x5E, 0xE8, 0x30, 0x30, 0x37, 0x9B, 0x4D, 0xBA, 0xAC, 0x8E, 0x8D, 0xF3, 0xD8, 0xA8, 0x82, 0x98, +0x7C, 0x48, 0x61, 0x0C, 0xCE, 0x0C, 0x08, 0x3E, 0xB6, 0x22, 0x24, 0x56, 0x1F, 0x3E, 0x1F, 0xAF, +0x82, 0x90, 0x4B, 0x93, 0x0F, 0x01, 0x62, 0x13, 0xA2, 0x27, 0xBB, 0x84, 0xC4, 0xB3, 0x02, 0x8E, +0x9F, 0x6D, 0x0F, 0x79, 0xB5, 0x7E, 0x5F, 0xDA, 0xC6, 0xEB, 0xB6, 0xF8, 0xF8, 0x28, 0x05, 0x03, +0xB5, 0x0D, 0x4E, 0xAE, 0x37, 0x49, 0x48, 0x5E, 0x3B, 0xED, 0x5A, 0xE7, 0x9B, 0xE0, 0x43, 0x53, +0xE1, 0xE8, 0x48, 0x13, 0xE4, 0x8B, 0x61, 0x7F, 0xDC, 0xEE, 0x8B, 0xA3, 0xC5, 0x2A, 0xA6, 0x9A, +0x7F, 0xCF, 0x56, 0xB5, 0x62, 0x77, 0xF1, 0x72, 0x69, 0xA7, 0x79, 0x87, 0x83, 0xA1, 0xDD, 0xEE, +0x22, 0xFE, 0xE5, 0x0B, 0x9F, 0x90, 0x85, 0x10, 0x19, 0x88, 0x10, 0x1B, 0x71, 0x1C, 0xF8, 0x5F, +0xE4, 0x3D, 0x60, 0x81, 0x8D, 0x0C, 0x0A, 0x34, 0xD4, 0x8E, 0x62, 0x84, 0xB8, 0x95, 0x6C, 0xB4, +0x95, 0xE7, 0xB1, 0x6D, 0x92, 0x8F, 0x8D, 0x4B, 0x88, 0xAE, 0xEA, 0x59, 0x10, 0xE2, 0xF1, 0xB1, +0x8D, 0x26, 0xAD, 0xDF, 0x75, 0x96, 0x57, 0x9A, 0x8E, 0xD1, 0xD7, 0x03, 0x21, 0x13, 0x4D, 0x7C, +0x48, 0x51, 0x21, 0xB4, 0xFD, 0x43, 0x32, 0x57, 0x59, 0xF1, 0x8B, 0x44, 0x0B, 0x99, 0x74, 0xEB, +0xA5, 0xEA, 0x25, 0xDB, 0x80, 0x9C, 0x69, 0x38, 0x7D, 0xFF, 0x90, 0xF2, 0xC2, 0x6E, 0xB4, 0x10, +0xA8, 0x9F, 0x7F, 0x38, 0xF0, 0x91, 0x73, 0x81, 0xD5, 0xC5, 0x71, 0xA3, 0x6B, 0x0E, 0xC9, 0x3F, +0x04, 0xC8, 0xCA, 0xE5, 0x43, 0x79, 0xAC, 0x53, 0x3B, 0x48, 0x7F, 0x63, 0x69, 0x3C, 0xF7, 0x74, +0xA7, 0x7F, 0xD9, 0x24, 0x64, 0x05, 0x20, 0x41, 0x88, 0x48, 0x48, 0x48, 0xD4, 0x43, 0x89, 0xCD, +0x78, 0x97, 0x48, 0x3C, 0xF0, 0x90, 0x80, 0xA1, 0x6A, 0x20, 0x6A, 0xC9, 0xC7, 0xB9, 0x4D, 0xC8, +0x47, 0x7B, 0x3C, 0xA4, 0xAD, 0xE3, 0x1F, 0xEB, 0xB4, 0x90, 0x38, 0xBC, 0x9A, 0x9C, 0x66, 0xC2, +0x43, 0x3D, 0x48, 0xF9, 0x41, 0x93, 0xB8, 0xD3, 0x7F, 0x18, 0xF9, 0x90, 0x89, 0xF8, 0x7C, 0x40, +0x48, 0xBF, 0x5F, 0x7E, 0x23, 0x3E, 0xA2, 0x87, 0x1C, 0x40, 0xF4, 0x32, 0x7D, 0x0F, 0xD1, 0x40, +0xA6, 0x2C, 0xFF, 0x40, 0x18, 0x05, 0x9E, 0x71, 0x78, 0x1E, 0x07, 0xE1, 0xA1, 0x36, 0x4E, 0x96, +0xB6, 0x7D, 0xC4, 0x4E, 0x7C, 0xA8, 0x1B, 0x1A, 0xC2, 0x8F, 0xD4, 0xC5, 0xEE, 0x74, 0xD2, 0x3E, +0xE2, 0x19, 0xE3, 0x7B, 0xB1, 0x4E, 0x5F, 0x7A, 0x7C, 0x48, 0x41, 0xC8, 0x04, 0x22, 0xAB, 0xF8, +0x7D, 0xC7, 0x3E, 0x86, 0xEA, 0x72, 0x0B, 0x90, 0xD0, 0xD2, 0x4A, 0x0D, 0xFF, 0x50, 0x13, 0x21, +0xBA, 0xAF, 0x34, 0x0D, 0x44, 0x7C, 0xE0, 0x21, 0x16, 0x1F, 0x30, 0x72, 0xB7, 0xED, 0xE3, 0x71, +0x97, 0x93, 0x25, 0x35, 0x9D, 0x02, 0x82, 0x8F, 0x20, 0xE4, 0x9B, 0xBD, 0x47, 0xB4, 0x3B, 0x7C, +0xE0, 0x21, 0x06, 0x1F, 0x10, 0x32, 0xC1, 0x87, 0x96, 0x57, 0x74, 0xCB, 0x3F, 0xB6, 0x43, 0x17, +0x29, 0x93, 0x80, 0x30, 0x8E, 0x53, 0x71, 0x08, 0xFE, 0x71, 0x0E, 0x21, 0x71, 0x61, 0x3B, 0x06, +0x82, 0x7F, 0xA8, 0xE5, 0x5C, 0x69, 0x3A, 0x08, 0xFE, 0x91, 0x7D, 0xE5, 0xF1, 0x21, 0xC5, 0x82, +0x68, 0xD2, 0x15, 0x96, 0xF9, 0x5E, 0xAC, 0x49, 0x0F, 0x09, 0xDE, 0x4E, 0xD0, 0xB4, 0x87, 0x2C, +0x0E, 0xFA, 0x6A, 0x78, 0x2D, 0x0A, 0x37, 0x40, 0x62, 0xB1, 0xDF, 0x27, 0x38, 0x37, 0xE0, 0x11, +0xB0, 0x90, 0xCF, 0xA8, 0x1B, 0xC8, 0xB5, 0x84, 0x87, 0x78, 0x7C, 0x70, 0x65, 0xAD, 0xF8, 0x63, +0x1B, 0xCD, 0xF2, 0x10, 0xF1, 0x41, 0x1F, 0x3C, 0xA4, 0x87, 0xC7, 0xFD, 0x95, 0x84, 0x87, 0x78, +0xE1, 0x07, 0x6A, 0x13, 0x22, 0x3E, 0xD2, 0x3E, 0xF0, 0x34, 0xCB, 0x3F, 0xB6, 0xDA, 0x45, 0xC3, +0x43, 0x7A, 0xCB, 0x2B, 0x84, 0x5F, 0x70, 0xD4, 0x96, 0x4A, 0x3A, 0xCE, 0xF1, 0x10, 0xD6, 0x07, +0x98, 0x49, 0x9E, 0xE3, 0x1F, 0x78, 0x48, 0xD7, 0x41, 0xDE, 0x5E, 0x29, 0xFE, 0xA0, 0x9B, 0x7C, +0x40, 0x48, 0xDF, 0x3F, 0x78, 0xBB, 0x7B, 0xDF, 0x42, 0x4E, 0x14, 0x7E, 0x20, 0x92, 0x59, 0x5D, +0x40, 0x00, 0x9B, 0x78, 0x63, 0x41, 0x16, 0x2B, 0x3D, 0x64, 0x21, 0x3E, 0x68, 0x49, 0x48, 0xA8, +0xE7, 0x1F, 0x28, 0x1E, 0xDA, 0xFE, 0x91, 0x7B, 0x83, 0x8F, 0x94, 0x11, 0x88, 0xFC, 0x5C, 0x00, +0x92, 0xC9, 0x2C, 0x6D, 0x95, 0x29, 0x7C, 0x38, 0xDD, 0x35, 0xFD, 0xBB, 0xD9, 0xDE, 0xE7, 0x7F, +0xA1, 0x6D, 0x22, 0xD1, 0x0A, 0xFF, 0x98, 0x0C, 0xD5, 0xF3, 0x66, 0xC0, 0xED, 0xA0, 0x6F, 0x22, +0x90, 0x51, 0x78, 0xC8, 0x57, 0xC5, 0x31, 0xCF, 0xB8, 0x56, 0x10, 0x42, 0x88, 0x89, 0x99, 0xE8, +0xBC, 0xE4, 0x23, 0x5A, 0x46, 0xAE, 0xB5, 0xAE, 0x19, 0xC4, 0x1C, 0x23, 0x10, 0xE9, 0xA4, 0xAF, +0x0E, 0x15, 0xAB, 0xA2, 0x09, 0xFF, 0x00, 0x10, 0x3C, 0xA4, 0xE3, 0x1F, 0xE8, 0xA2, 0x4D, 0xC8, +0x0A, 0x3E, 0xE8, 0x14, 0x44, 0xA2, 0x29, 0x8B, 0x45, 0x18, 0x32, 0x00, 0x51, 0xB4, 0xF4, 0x90, +0x9E, 0x7F, 0x94, 0x88, 0xF8, 0xFE, 0xD1, 0xF7, 0x10, 0x66, 0xCB, 0x9A, 0x39, 0x13, 0x99, 0x1E, +0x93, 0x0F, 0x3C, 0xA4, 0xC2, 0x46, 0x6C, 0x3F, 0x5C, 0x21, 0x08, 0x31, 0xFC, 0xC3, 0x23, 0x44, +0x7C, 0x98, 0x84, 0xE8, 0x45, 0x15, 0x37, 0x82, 0x34, 0x91, 0x6E, 0xFC, 0x31, 0xE9, 0x21, 0x50, +0x72, 0x8D, 0x0A, 0x0F, 0xC1, 0x42, 0x74, 0x96, 0xC7, 0x5C, 0x4B, 0x14, 0x1E, 0xB2, 0x68, 0x05, +0x20, 0xAC, 0xE4, 0xE9, 0xA8, 0xC9, 0x07, 0xBA, 0x68, 0x12, 0xC2, 0xFF, 0x0A, 0x5A, 0x80, 0x48, +0xF1, 0x43, 0xC3, 0x3F, 0x1C, 0x0F, 0x59, 0x3C, 0xEF, 0x4A, 0x66, 0x65, 0x3A, 0x77, 0x21, 0xFA, +0xB5, 0x67, 0x7D, 0x55, 0x34, 0x15, 0xD5, 0xF1, 0x8C, 0xB6, 0x7F, 0x9C, 0x43, 0x88, 0xE9, 0x1F, +0x3A, 0xF1, 0xEC, 0x03, 0x19, 0xEB, 0x2B, 0xBA, 0x3C, 0x04, 0x2A, 0x40, 0xE4, 0x07, 0x66, 0x7B, +0x41, 0x88, 0xC9, 0x07, 0x81, 0x48, 0xD5, 0x3E, 0x82, 0x8F, 0x68, 0x3E, 0x21, 0x7A, 0xB1, 0x0A, +0x3F, 0xB4, 0xE1, 0x21, 0x3D, 0x3E, 0xC0, 0x23, 0x05, 0x1D, 0x1C, 0x25, 0xB0, 0x90, 0x52, 0xCA, +0xC1, 0x10, 0x78, 0xFC, 0xBD, 0x52, 0x20, 0xFC, 0x28, 0x3C, 0xA4, 0xE5, 0x20, 0xC7, 0xF2, 0x8F, +0xB2, 0x1B, 0x7C, 0x58, 0x1E, 0x12, 0x7C, 0x00, 0x88, 0xBC, 0xE4, 0xCD, 0x9E, 0x7F, 0xB8, 0x84, +0xAC, 0x2A, 0x80, 0x90, 0xEE, 0xA5, 0x3A, 0x78, 0x2C, 0x50, 0x86, 0xA3, 0x86, 0xA1, 0xE1, 0x21, +0xB1, 0xA9, 0xE1, 0x1F, 0xE0, 0x51, 0xAA, 0xCF, 0x07, 0x78, 0xA4, 0x1A, 0xF5, 0x10, 0xE6, 0x0B, +0x51, 0x88, 0x44, 0x1C, 0xD2, 0xF6, 0x0F, 0xBA, 0x08, 0x29, 0x27, 0x31, 0xE9, 0x2B, 0x83, 0x10, +0xF8, 0xA8, 0x13, 0xF2, 0xC3, 0xE1, 0x3F, 0x8E, 0x7F, 0x18, 0x84, 0x50, 0xFE, 0xA8, 0xAA, 0x99, +0xEE, 0x65, 0x2C, 0x0B, 0x48, 0xEA, 0xF1, 0xB9, 0x6E, 0x5C, 0x98, 0x07, 0x1E, 0x52, 0x33, 0x10, +0xFC, 0xA3, 0x6C, 0xAD, 0x44, 0x56, 0x96, 0x3F, 0xCA, 0x6E, 0xF1, 0x81, 0x20, 0xA4, 0xE2, 0x1F, +0x5F, 0x07, 0x19, 0x02, 0x24, 0x11, 0x89, 0x1F, 0x3F, 0x7F, 0xEA, 0x05, 0xFE, 0xE1, 0x79, 0xC8, +0xA2, 0x45, 0x08, 0x6B, 0xAA, 0x05, 0x05, 0x90, 0x81, 0x85, 0x5A, 0xA3, 0x64, 0x98, 0x16, 0xD2, +0xF4, 0x0F, 0x1D, 0x82, 0x9C, 0x16, 0x1E, 0x55, 0x0B, 0xA9, 0x99, 0x88, 0xCA, 0x1F, 0x4D, 0xF5, +0xF3, 0x57, 0x65, 0x5F, 0x8F, 0x48, 0x40, 0x09, 0xE9, 0x2B, 0x97, 0x90, 0x0A, 0x1E, 0xCD, 0x74, +0x6F, 0xCB, 0x3F, 0x3A, 0x05, 0x11, 0x78, 0xD8, 0xC2, 0x86, 0x7A, 0xDD, 0x43, 0x18, 0x3B, 0x46, +0x33, 0xCF, 0x45, 0x84, 0x76, 0x44, 0xE8, 0xD7, 0x6D, 0xDD, 0x10, 0x82, 0xC4, 0x4E, 0x37, 0xBE, +0xBA, 0x7F, 0xA8, 0xD5, 0x4A, 0x21, 0x47, 0x45, 0xFA, 0xAA, 0x13, 0x87, 0x50, 0xFE, 0xF0, 0xBF, +0xF7, 0x47, 0x7C, 0x2C, 0x71, 0x90, 0xAF, 0x45, 0x4B, 0x2D, 0x54, 0x7F, 0x39, 0xB8, 0x50, 0x45, +0x24, 0xB3, 0x2C, 0xFF, 0xC8, 0xA2, 0xFA, 0x2F, 0x23, 0x18, 0x19, 0x83, 0x2C, 0x82, 0x8F, 0x56, +0x93, 0x89, 0xEC, 0xD1, 0x90, 0x74, 0x72, 0x8D, 0x4A, 0x48, 0xAA, 0x84, 0xD4, 0xF0, 0xD0, 0xA1, +0x0A, 0x48, 0x4C, 0x0C, 0xCC, 0x23, 0xCF, 0xD1, 0xBA, 0xC6, 0x47, 0xB3, 0xAF, 0xBF, 0x51, 0xA8, +0x50, 0xA6, 0x77, 0xDB, 0x88, 0x58, 0xFE, 0x81, 0x7A, 0xE5, 0x8F, 0xB2, 0x57, 0x09, 0x59, 0x97, +0xAE, 0x01, 0x21, 0xD5, 0x82, 0x08, 0xC3, 0x07, 0x26, 0x3D, 0x0F, 0xA9, 0xDF, 0xC8, 0x8A, 0x40, +0x64, 0xD8, 0x32, 0x3E, 0x07, 0x0F, 0xCB, 0x44, 0xE0, 0xA3, 0xD2, 0x4D, 0x3E, 0x28, 0x19, 0x36, +0xBE, 0x59, 0x31, 0xB3, 0x58, 0x3A, 0xC6, 0x06, 0x21, 0x45, 0xF9, 0xA3, 0xA1, 0x8B, 0x5A, 0x41, +0x64, 0xD1, 0xEC, 0x42, 0x44, 0xEC, 0x13, 0x83, 0x74, 0x46, 0x25, 0x48, 0x22, 0x4E, 0xCF, 0x93, +0x2A, 0x1A, 0x84, 0xEA, 0x1D, 0x3C, 0x4A, 0x0B, 0xD1, 0x66, 0xF9, 0x07, 0x32, 0xC2, 0x0F, 0xFA, +0xFA, 0x95, 0x66, 0xAD, 0xC7, 0x87, 0x50, 0x30, 0xFD, 0x03, 0x42, 0xAA, 0xE5, 0x0F, 0xD3, 0x43, +0xF0, 0x0F, 0xA2, 0x0F, 0xD2, 0x59, 0x35, 0x0F, 0x61, 0xF8, 0x38, 0xA0, 0xB3, 0xBD, 0x71, 0xA0, +0xEA, 0x55, 0x42, 0xE3, 0x82, 0x20, 0x76, 0x21, 0xFC, 0xA3, 0xD1, 0x30, 0x91, 0x38, 0xA3, 0xFC, +0x61, 0x20, 0x42, 0x7A, 0xB7, 0x2E, 0xDE, 0x76, 0x52, 0xA6, 0xAF, 0xD2, 0x36, 0xE4, 0x20, 0x20, +0xB2, 0x3C, 0xA9, 0x85, 0x1F, 0x96, 0x87, 0xAC, 0x86, 0xF3, 0x45, 0xAF, 0xAF, 0x32, 0xDD, 0x7B, +0x9C, 0x0E, 0x82, 0x7F, 0xB4, 0x3C, 0x24, 0x03, 0xBA, 0xF4, 0xE1, 0xCA, 0x78, 0xF7, 0x08, 0x69, +0xE0, 0x81, 0x9E, 0xFB, 0xC7, 0xF6, 0xC0, 0x3C, 0x74, 0x8E, 0xB6, 0x4E, 0xF8, 0x41, 0x7F, 0xF5, +0x73, 0xE2, 0x41, 0xF9, 0xBC, 0xA7, 0xCB, 0x4B, 0x9F, 0x0F, 0x08, 0x61, 0xAB, 0xD8, 0x47, 0xAF, +0x20, 0xF2, 0x3E, 0xC2, 0x38, 0x21, 0xA6, 0x2C, 0x88, 0x54, 0xD6, 0xA8, 0x15, 0x0F, 0x61, 0x91, +0xA5, 0xF0, 0xA3, 0xEF, 0x21, 0xDC, 0xFD, 0xAE, 0x49, 0xEF, 0x36, 0x1A, 0x05, 0x91, 0x2C, 0x16, +0x4C, 0x4E, 0x35, 0x9F, 0x0F, 0x8A, 0xEA, 0x94, 0x3F, 0x14, 0x7E, 0xE0, 0x20, 0x42, 0x45, 0x1B, +0x45, 0x75, 0xF1, 0xF1, 0x62, 0x77, 0x32, 0xA5, 0x03, 0x0F, 0x59, 0x18, 0x84, 0xC8, 0x41, 0x42, +0xAA, 0x08, 0xF6, 0x9B, 0x08, 0x49, 0x07, 0x69, 0xF9, 0x07, 0xBC, 0x40, 0x08, 0x7C, 0x74, 0x2C, +0x24, 0x8B, 0xEA, 0xF8, 0x87, 0x26, 0x46, 0x5B, 0xE5, 0x2A, 0xEB, 0x15, 0x93, 0xAF, 0xD1, 0x29, +0x88, 0xE0, 0x1F, 0xD6, 0x2A, 0x8B, 0xF2, 0x47, 0x5F, 0xF7, 0x23, 0x1E, 0xF1, 0x41, 0x14, 0xF8, +0x68, 0xF6, 0xA2, 0x7C, 0x5E, 0x8D, 0x40, 0x32, 0xD1, 0x5B, 0x7A, 0x08, 0xCB, 0x2B, 0x46, 0xB2, +0xD4, 0x33, 0xFF, 0xA0, 0x42, 0xD8, 0xF4, 0x90, 0x8D, 0xE3, 0x1F, 0x6A, 0x44, 0xAD, 0x71, 0x58, +0xAC, 0xA6, 0xA6, 0x9A, 0xB8, 0xB0, 0xF8, 0xA0, 0x64, 0x88, 0x7F, 0xA0, 0x31, 0x48, 0x17, 0x2D, +0xB9, 0x9D, 0xBA, 0x7C, 0xE0, 0x21, 0xE0, 0xE1, 0x79, 0x88, 0xB6, 0x22, 0x67, 0xD1, 0x49, 0x66, +0x49, 0x9B, 0xB6, 0x67, 0x73, 0x25, 0x36, 0x35, 0x3E, 0x8C, 0x40, 0xE4, 0x8E, 0x29, 0xD2, 0x8A, +0x42, 0x74, 0xF2, 0x41, 0xD6, 0x43, 0xA6, 0xFC, 0x83, 0x74, 0xAF, 0x3C, 0x84, 0xF2, 0x87, 0x49, +0x48, 0x3C, 0x70, 0xFE, 0x82, 0x92, 0x59, 0xF9, 0xE9, 0x0F, 0xA7, 0x17, 0xFE, 0x51, 0xF5, 0x10, +0x96, 0x5A, 0x20, 0xC2, 0xF0, 0x71, 0xE8, 0x11, 0x52, 0xF8, 0xC7, 0x79, 0xCB, 0x43, 0xD2, 0x41, +0xA0, 0xA3, 0xD7, 0x78, 0xE7, 0xBB, 0x81, 0xC7, 0xA2, 0x9B, 0xBE, 0x6A, 0x17, 0x44, 0xF0, 0x8F, +0x68, 0x9F, 0xBD, 0x41, 0x0C, 0x12, 0xE7, 0xC3, 0xE1, 0x6B, 0x25, 0xB3, 0x4E, 0xEB, 0xE5, 0x8F, +0x7E, 0x32, 0x6B, 0x65, 0x12, 0xA2, 0x74, 0xAF, 0xF0, 0xF0, 0x5A, 0x12, 0x52, 0xCB, 0x18, 0x72, +0xE4, 0xC4, 0xF1, 0x0F, 0xD6, 0x09, 0xEF, 0xEC, 0x09, 0xA1, 0x3C, 0x38, 0x25, 0xF8, 0x70, 0xA6, +0x64, 0x7A, 0x48, 0x60, 0x62, 0x01, 0x12, 0x4F, 0x33, 0xF9, 0xC0, 0x43, 0xB2, 0x7C, 0x6E, 0x12, +0x92, 0xE5, 0x41, 0x7C, 0x03, 0xDB, 0xD4, 0x83, 0xDC, 0x49, 0x98, 0x48, 0x61, 0x1D, 0xD1, 0xEB, +0xE2, 0xD3, 0x51, 0x5D, 0xFF, 0x28, 0x23, 0x75, 0x1F, 0x10, 0x49, 0xE5, 0x73, 0xA3, 0xFB, 0x7C, +0x50, 0x10, 0x29, 0xFD, 0x23, 0x63, 0x90, 0x50, 0xF2, 0x42, 0x51, 0x5D, 0xE9, 0x2B, 0x87, 0x3D, +0x11, 0x22, 0x3C, 0xAC, 0xAE, 0x8F, 0x50, 0xF9, 0x7C, 0x84, 0xAF, 0x8A, 0x90, 0x46, 0xF2, 0x8A, +0xA3, 0x4E, 0x75, 0x69, 0x2C, 0x3C, 0xD0, 0xDD, 0x56, 0xFE, 0xB1, 0xE5, 0x36, 0x5A, 0x89, 0x42, +0xF4, 0x10, 0x44, 0x98, 0x71, 0x06, 0x21, 0x71, 0x93, 0xBF, 0xB2, 0x24, 0x2C, 0x4C, 0x3E, 0x08, +0x44, 0x6C, 0xFF, 0xA0, 0x20, 0xD2, 0x2A, 0x7F, 0x34, 0x8A, 0xEA, 0x07, 0x78, 0x4C, 0x7B, 0xC8, +0x35, 0x32, 0x3C, 0x24, 0xFC, 0xC3, 0x9F, 0x0B, 0xB9, 0xBC, 0x72, 0x01, 0x81, 0x0F, 0xCB, 0x43, +0x28, 0x7F, 0x88, 0x06, 0xBE, 0x9B, 0x57, 0x3F, 0x90, 0x96, 0x62, 0x46, 0x45, 0x75, 0xFC, 0xC3, +0xF4, 0x90, 0x85, 0xD9, 0xE3, 0xB9, 0x04, 0x20, 0x46, 0xD3, 0x07, 0x71, 0x0B, 0x18, 0x78, 0x58, +0x89, 0xD4, 0x1F, 0x12, 0x10, 0xC3, 0x42, 0x74, 0x2E, 0xFF, 0xC8, 0x66, 0x88, 0xFC, 0x95, 0xD7, +0x09, 0x3F, 0x5C, 0x42, 0x74, 0x70, 0x45, 0x78, 0xEE, 0xF5, 0x57, 0xFA, 0xF4, 0x20, 0x76, 0xC1, +0x8B, 0xCE, 0x47, 0x69, 0x29, 0x78, 0x48, 0xC9, 0x46, 0x0F, 0x91, 0x2C, 0x9F, 0xAB, 0x83, 0x45, +0xB7, 0x20, 0xF2, 0xC5, 0x8C, 0x99, 0x40, 0xF9, 0xC3, 0xE8, 0x75, 0x3E, 0xFC, 0xFF, 0x4F, 0x7A, +0x52, 0x92, 0x0E, 0x12, 0xA7, 0x50, 0x12, 0x5B, 0x3C, 0x1D, 0x39, 0x84, 0x2C, 0x66, 0x20, 0x72, +0x0C, 0x1E, 0xCE, 0x8D, 0xE3, 0xF3, 0x9B, 0x82, 0x8A, 0x7A, 0x10, 0x02, 0x22, 0x1F, 0xE9, 0xA2, +0x4E, 0x10, 0xC2, 0xFE, 0xFD, 0x6D, 0x11, 0xB2, 0x56, 0xA3, 0x10, 0x3D, 0xD4, 0x46, 0xF8, 0x61, +0xF4, 0x57, 0x6B, 0x66, 0xBB, 0x21, 0x2D, 0xC6, 0xE6, 0xFD, 0x8D, 0x57, 0x36, 0x20, 0x02, 0xBB, +0x4A, 0x7D, 0x89, 0x0A, 0xA7, 0x77, 0x8C, 0x5C, 0x67, 0x91, 0x85, 0x64, 0xE2, 0x96, 0x87, 0x48, +0xF8, 0x87, 0xD3, 0xF0, 0x0F, 0xAB, 0x2F, 0x56, 0x47, 0x17, 0xDC, 0xE6, 0x8D, 0x65, 0x56, 0x86, +0x1F, 0xD9, 0x70, 0x10, 0x1E, 0x7D, 0x96, 0x81, 0x48, 0x7E, 0x7C, 0x70, 0x06, 0x21, 0x4A, 0x2C, +0x98, 0x7D, 0x11, 0xF5, 0x10, 0x10, 0x31, 0x02, 0xF5, 0x62, 0x58, 0x6B, 0xE7, 0xE7, 0xD9, 0x55, +0x53, 0x17, 0x21, 0x16, 0x1D, 0xDA, 0x69, 0x72, 0x88, 0x04, 0x47, 0x6B, 0x2B, 0x40, 0x27, 0xD9, +0xAB, 0x39, 0x6F, 0x0A, 0x36, 0x7C, 0x07, 0xB9, 0x7D, 0x65, 0xF3, 0x11, 0xBA, 0xDD, 0x12, 0x7C, +0xE4, 0x0E, 0xE5, 0x28, 0x50, 0x32, 0x5C, 0xC7, 0xD7, 0x7E, 0x9F, 0x45, 0x73, 0xB2, 0x58, 0xD2, +0x3B, 0x15, 0x24, 0x7A, 0x22, 0x00, 0xB1, 0xDA, 0x82, 0x59, 0x64, 0xAD, 0xE6, 0x4F, 0x90, 0x65, +0x21, 0x6F, 0x8C, 0x1C, 0x60, 0x1A, 0xC4, 0x20, 0x82, 0x43, 0x5A, 0xBE, 0x24, 0x04, 0x31, 0x23, +0x9C, 0xDD, 0x9C, 0x5F, 0x3D, 0x84, 0xB3, 0x1A, 0x31, 0x48, 0xA8, 0x1D, 0x83, 0x94, 0x8A, 0x25, +0x56, 0x10, 0x62, 0xE3, 0xA1, 0xEF, 0x08, 0x4C, 0x0F, 0xB1, 0xA2, 0x90, 0xF5, 0xED, 0x76, 0xCE, +0x12, 0x8B, 0x14, 0xAF, 0x8F, 0xC7, 0xAC, 0x18, 0x24, 0x34, 0x67, 0x89, 0xB5, 0x5D, 0xAF, 0xB7, +0x53, 0x0E, 0xC2, 0x28, 0x0C, 0x83, 0xC3, 0xF8, 0xB1, 0xBC, 0xEA, 0x84, 0xE9, 0x0F, 0x8D, 0xA5, +0x30, 0x7B, 0x0E, 0x1B, 0xA5, 0x78, 0xDD, 0x36, 0xF0, 0xB1, 0x98, 0xC3, 0xC7, 0x6E, 0x16, 0x1E, +0xC1, 0xC7, 0x9B, 0x2F, 0x15, 0x98, 0xE7, 0x3A, 0x0A, 0x07, 0x21, 0x42, 0x5F, 0xCA, 0x61, 0xE2, +0x89, 0xCB, 0xA5, 0x4F, 0xC8, 0x6E, 0x78, 0xE6, 0xCE, 0xB6, 0x90, 0x01, 0x0F, 0x9F, 0x10, 0xF1, +0x51, 0x44, 0x21, 0x75, 0x50, 0x08, 0x41, 0x20, 0xC4, 0x60, 0xE4, 0xC7, 0x1F, 0x87, 0x1D, 0xF9, +0x9B, 0xBE, 0xB6, 0xEB, 0x01, 0x90, 0xAD, 0x1D, 0xA4, 0xF3, 0x1D, 0x0D, 0xAE, 0x9E, 0xA2, 0x79, +0x84, 0xF0, 0xB6, 0x5E, 0xDB, 0x43, 0x06, 0x3E, 0x6E, 0xD7, 0xC9, 0x3D, 0x50, 0xD4, 0xB2, 0x58, +0xBA, 0x69, 0x04, 0x1F, 0x3F, 0xCA, 0x43, 0x60, 0xA4, 0xCB, 0xC7, 0x43, 0x26, 0xB1, 0x0C, 0xFF, +0x10, 0x1F, 0xBA, 0xB8, 0x76, 0x40, 0xAA, 0x89, 0xE3, 0x2F, 0xE4, 0x77, 0x39, 0x35, 0xFD, 0x34, +0x56, 0xD4, 0x00, 0xFF, 0x14, 0x05, 0x4B, 0xF9, 0x47, 0x91, 0xC5, 0x1A, 0x29, 0x59, 0xBE, 0x29, +0x40, 0x6C, 0x42, 0x76, 0x92, 0x08, 0xF1, 0xF8, 0xB8, 0x11, 0x22, 0xD6, 0xA8, 0x88, 0x0F, 0x08, +0x29, 0x82, 0x90, 0xF3, 0x0A, 0x28, 0x99, 0x69, 0xFC, 0xD2, 0x23, 0x44, 0x7C, 0x0C, 0x8D, 0x79, +0xD1, 0x8C, 0x42, 0xF4, 0x78, 0x7D, 0xAB, 0x49, 0xB6, 0x36, 0x4D, 0xE4, 0x5E, 0xF2, 0x09, 0x11, +0x1C, 0x10, 0x62, 0xF1, 0x91, 0x1E, 0xE2, 0x00, 0x12, 0x68, 0xAF, 0xD5, 0x1B, 0x0E, 0xC2, 0x89, +0xF0, 0x89, 0xB1, 0x11, 0x21, 0xDE, 0x0A, 0xEB, 0x2E, 0xEA, 0xE7, 0x94, 0x09, 0xFB, 0x1E, 0x02, +0x1F, 0x21, 0x7D, 0x44, 0xCE, 0xF3, 0x0F, 0x10, 0x71, 0xF8, 0xD8, 0x49, 0x3E, 0x1F, 0x9A, 0xF9, +0x44, 0xE2, 0x95, 0x2C, 0x96, 0x38, 0x89, 0x27, 0x0D, 0x2D, 0x70, 0x3A, 0xD9, 0xB9, 0x7C, 0x88, +0x90, 0x30, 0xB5, 0x95, 0xC3, 0xC7, 0xEA, 0x46, 0x9B, 0xE1, 0x21, 0xE2, 0x03, 0x42, 0x1A, 0xFE, +0xC1, 0xD0, 0x47, 0xF8, 0xA1, 0x9B, 0x98, 0xF6, 0x77, 0xD3, 0xFE, 0x71, 0xA6, 0xCB, 0xBF, 0x6F, +0x46, 0x21, 0x3D, 0xF8, 0x48, 0x3C, 0xB6, 0x0E, 0x21, 0xAF, 0x54, 0x05, 0x49, 0xD9, 0x7C, 0xE4, +0x76, 0xE9, 0x55, 0x41, 0x20, 0xC4, 0xF4, 0x0F, 0xE9, 0x76, 0x4B, 0xC2, 0xAA, 0x84, 0x84, 0xBB, +0x41, 0x8E, 0x8C, 0x3C, 0xD6, 0x58, 0x66, 0xBD, 0x83, 0xE4, 0x21, 0x7D, 0x17, 0xD1, 0xFA, 0x2A, +0xE5, 0xCD, 0x84, 0x81, 0x8E, 0x63, 0xB9, 0xC8, 0x34, 0x1F, 0x2B, 0xF8, 0xD8, 0x79, 0x93, 0x58, +0xA5, 0x0D, 0xCD, 0x7C, 0x59, 0x45, 0x99, 0xC5, 0x22, 0x8D, 0x15, 0x2E, 0x93, 0x80, 0xE8, 0xAD, +0x8A, 0x16, 0x1E, 0x10, 0xB2, 0x9A, 0xE6, 0x43, 0x84, 0x04, 0x1F, 0xA1, 0xFE, 0xB0, 0xE8, 0xBB, +0xE4, 0x86, 0xF0, 0x43, 0x7D, 0x18, 0xCE, 0x7E, 0x0C, 0x82, 0x7F, 0x24, 0x21, 0xD6, 0xF2, 0x6A, +0x6C, 0x43, 0x20, 0x32, 0x15, 0x85, 0x6C, 0x6F, 0x13, 0x0F, 0x75, 0xCF, 0x3F, 0x6C, 0x42, 0x2E, +0x13, 0x0D, 0x75, 0x3C, 0xC4, 0xE3, 0xE3, 0x72, 0x9A, 0x90, 0xE4, 0x63, 0x9B, 0x87, 0xB6, 0x83, +0xAC, 0x05, 0x0E, 0x7C, 0x44, 0x63, 0xD0, 0x3A, 0xEF, 0xC5, 0x7A, 0x88, 0x26, 0x79, 0x1E, 0xB2, +0xE1, 0xDA, 0x06, 0x21, 0x93, 0x2B, 0x09, 0x99, 0xC7, 0x38, 0x75, 0x8C, 0xF4, 0x95, 0xF8, 0x48, +0x39, 0x7C, 0xC8, 0x3E, 0xD4, 0x54, 0x2A, 0xCC, 0xDA, 0x39, 0x31, 0x48, 0xBE, 0x7F, 0x11, 0x3E, +0xA2, 0x41, 0x88, 0x05, 0x48, 0x3C, 0x38, 0x5A, 0x4D, 0xFD, 0xEE, 0x37, 0xD1, 0xF2, 0x95, 0xC6, +0x61, 0xE2, 0xCE, 0x11, 0x7C, 0x48, 0x1F, 0xC6, 0x36, 0x18, 0x32, 0x29, 0xAB, 0xDA, 0xE0, 0xAB, +0x46, 0x88, 0xE2, 0xC1, 0x84, 0x85, 0x84, 0x7F, 0x1C, 0xB4, 0xA9, 0x4A, 0x88, 0xE0, 0x48, 0x44, +0xA2, 0x4D, 0xFB, 0x07, 0xB2, 0x3C, 0x04, 0x38, 0x1C, 0x42, 0x30, 0x27, 0xC3, 0x43, 0xE0, 0x23, +0x5F, 0xC3, 0x2D, 0x11, 0x08, 0x1A, 0xC8, 0xC0, 0x3F, 0x0E, 0x06, 0x07, 0x30, 0x1A, 0x06, 0x22, +0x3A, 0x10, 0x75, 0xDC, 0x56, 0xFA, 0x8A, 0x6B, 0x3B, 0x1D, 0x87, 0x28, 0xFC, 0xD0, 0x9C, 0x91, +0x81, 0x4C, 0x78, 0x48, 0x7E, 0x79, 0x22, 0x9A, 0x9C, 0xC4, 0x27, 0xA3, 0x7F, 0x40, 0x88, 0x88, +0x20, 0x06, 0x19, 0x7F, 0x00, 0x1F, 0xD1, 0xA8, 0xA7, 0xF7, 0xF8, 0x40, 0x27, 0x9F, 0x9F, 0x1C, +0x2D, 0xBA, 0x1E, 0x12, 0x8A, 0x97, 0xB7, 0x52, 0xD3, 0x49, 0x10, 0xD2, 0x71, 0x10, 0xA5, 0xAF, +0x34, 0x84, 0xB1, 0xA5, 0x87, 0x14, 0xA5, 0x73, 0x04, 0x1F, 0x20, 0xD2, 0x23, 0xE4, 0x2C, 0xFD, +0x83, 0xA6, 0x64, 0x56, 0x23, 0x0A, 0x11, 0x1F, 0x18, 0x48, 0x68, 0x82, 0x90, 0xF8, 0xFA, 0x1F, +0x64, 0x05, 0x22, 0x4F, 0x1C, 0x1C, 0x0F, 0x79, 0xFE, 0x6D, 0xA3, 0xAF, 0xA6, 0xFC, 0x03, 0x07, +0x19, 0x4E, 0xFA, 0x75, 0x90, 0x72, 0x6C, 0x26, 0xCA, 0x20, 0xBA, 0x21, 0x09, 0x12, 0x56, 0x59, +0xE7, 0x55, 0xF7, 0x20, 0xFC, 0xC8, 0x6B, 0x7B, 0x9D, 0x84, 0xF4, 0x00, 0xD1, 0xC4, 0xC1, 0x41, +0xA2, 0x77, 0xD3, 0x57, 0xF0, 0x01, 0x21, 0xDD, 0xB7, 0xBB, 0x87, 0x7D, 0xD0, 0xF2, 0xED, 0x26, +0x7C, 0x60, 0x4A, 0xA4, 0xE8, 0x07, 0x2F, 0x83, 0x8F, 0x25, 0x4F, 0x5D, 0x4E, 0x84, 0xEA, 0xBB, +0x52, 0x27, 0x41, 0x48, 0x3B, 0x0E, 0xD9, 0xDF, 0x05, 0xD8, 0x16, 0xD1, 0x21, 0xA4, 0xF6, 0x3E, +0xC5, 0x51, 0xD7, 0x03, 0x22, 0xD7, 0x95, 0x50, 0x9D, 0x20, 0x44, 0xE9, 0x2B, 0x2E, 0x91, 0xCE, +0x21, 0x04, 0x2E, 0xD8, 0xFF, 0xF8, 0xAC, 0x11, 0xAA, 0x57, 0x04, 0x1E, 0xE3, 0x34, 0xEB, 0xA5, +0x7B, 0xC3, 0x3F, 0x3E, 0x71, 0x09, 0x29, 0xD7, 0x57, 0x9C, 0x5D, 0x3A, 0xFE, 0x81, 0x5E, 0xB5, +0xF1, 0x00, 0xEB, 0xDC, 0xCB, 0x43, 0x4A, 0x8D, 0xD1, 0x39, 0x7C, 0x40, 0x88, 0x6E, 0x2A, 0x8C, +0x60, 0xCB, 0x3F, 0xD0, 0xA6, 0xED, 0x1F, 0x01, 0xC4, 0x78, 0xD7, 0xBB, 0xD6, 0x49, 0xEC, 0xF1, +0x90, 0x96, 0x7F, 0x44, 0x1B, 0x4F, 0xE2, 0xE0, 0xF0, 0x81, 0xA6, 0x2A, 0xE8, 0x4C, 0xFA, 0x3D, +0x01, 0xF9, 0xCE, 0x44, 0x62, 0x90, 0xE1, 0x34, 0xF8, 0x38, 0x24, 0x89, 0x64, 0x96, 0xC1, 0x07, +0x84, 0xB4, 0x01, 0x11, 0x17, 0xD1, 0x75, 0x26, 0x4E, 0x16, 0xFD, 0xF0, 0xFC, 0xFA, 0x43, 0x0D, +0x61, 0xEE, 0x88, 0x43, 0x10, 0x90, 0xBC, 0x53, 0x53, 0xDB, 0x3F, 0x30, 0x10, 0x5A, 0x7A, 0x48, +0x11, 0x85, 0x48, 0x43, 0x7A, 0x34, 0x04, 0x23, 0x49, 0x48, 0xBD, 0xEB, 0xD3, 0x52, 0xC8, 0xF1, +0x10, 0xD8, 0xB8, 0x54, 0xA6, 0x17, 0x42, 0x1A, 0x7C, 0xF8, 0x84, 0xA8, 0x3C, 0x98, 0xDE, 0xC1, +0x2E, 0x7E, 0xD6, 0xCC, 0x62, 0x69, 0x6C, 0xEA, 0x26, 0x02, 0x1D, 0x48, 0xF6, 0xF1, 0xFC, 0xFE, +0xB4, 0xA9, 0x46, 0x20, 0xF8, 0x47, 0xD2, 0x91, 0xEA, 0xAD, 0xAF, 0x72, 0xB6, 0xE4, 0xDA, 0x43, +0x67, 0xD6, 0xFA, 0x0A, 0x75, 0xF8, 0x10, 0x1E, 0x65, 0x3B, 0xF8, 0x44, 0xA1, 0x48, 0x09, 0x3E, +0xE2, 0x89, 0x25, 0x4A, 0x10, 0xE2, 0x00, 0xA2, 0x40, 0xA4, 0x41, 0xC8, 0x08, 0x3F, 0x7B, 0x19, +0x25, 0xC9, 0xAC, 0x7A, 0xFA, 0x8A, 0x15, 0x16, 0x1E, 0x72, 0x5E, 0xFF, 0xAC, 0x54, 0x79, 0x81, +0xF0, 0x90, 0x9A, 0x7F, 0xE4, 0x1C, 0x28, 0x5A, 0xC3, 0x43, 0x54, 0x3E, 0x28, 0x1C, 0x24, 0xBA, +0x3C, 0xA4, 0xFA, 0x69, 0x42, 0xC9, 0x24, 0xE4, 0x52, 0x34, 0xB0, 0x85, 0x38, 0xBF, 0xF4, 0xF9, +0x08, 0x26, 0xD7, 0xAF, 0xDA, 0xE1, 0x79, 0x52, 0xCD, 0xEE, 0x96, 0x1C, 0xD6, 0xE1, 0xE7, 0x41, +0x02, 0x85, 0x3A, 0x20, 0x14, 0xD5, 0x4B, 0x3E, 0xAA, 0x02, 0x8E, 0x14, 0x7C, 0xA4, 0xF2, 0xEE, +0xA7, 0x6B, 0x1B, 0x84, 0x74, 0xCA, 0x1F, 0xD0, 0xB1, 0xEA, 0x46, 0xEA, 0x2A, 0x0F, 0xEE, 0x24, +0x87, 0x90, 0x5D, 0x83, 0x8F, 0xF4, 0x90, 0x10, 0x0E, 0x82, 0x7F, 0x58, 0x1E, 0xB2, 0x43, 0x0E, +0x21, 0x07, 0xAB, 0x48, 0xF6, 0xF1, 0x93, 0x8A, 0xB5, 0x8A, 0x0F, 0x8D, 0x9B, 0xEE, 0x33, 0x3A, +0x25, 0xDD, 0xCB, 0xB0, 0x73, 0x02, 0x19, 0x65, 0x1C, 0x62, 0xC5, 0x1F, 0x34, 0x79, 0x48, 0x19, +0x85, 0x94, 0xEB, 0x2B, 0x6D, 0x79, 0xFA, 0x4D, 0xE5, 0xED, 0x57, 0xDF, 0x7C, 0x32, 0x83, 0x90, +0xCB, 0x44, 0x81, 0x2D, 0x1A, 0xA8, 0x5C, 0x7A, 0x7C, 0x48, 0x9F, 0x34, 0x3E, 0x97, 0x1E, 0x24, +0x97, 0x06, 0x92, 0x5B, 0xCD, 0x41, 0x5A, 0x43, 0x43, 0x41, 0xA4, 0xCD, 0x07, 0xD7, 0xA1, 0xEE, +0x21, 0xF8, 0xC7, 0x87, 0xC3, 0x2D, 0xEF, 0x43, 0x2E, 0x6D, 0xEC, 0xDB, 0xE5, 0x73, 0x62, 0x0F, +0x1D, 0x72, 0xAD, 0xD5, 0x2A, 0x9F, 0xEF, 0xEA, 0xB2, 0xF8, 0xA0, 0xF1, 0xAD, 0x26, 0xE3, 0xFA, +0xEA, 0xD9, 0x33, 0x97, 0xEA, 0x22, 0xC4, 0xE3, 0x83, 0x82, 0xC8, 0x73, 0x3E, 0x60, 0x7F, 0x91, +0xBB, 0x6C, 0x15, 0x0F, 0x11, 0x1F, 0x63, 0x00, 0xA7, 0x33, 0x9D, 0xE3, 0x21, 0x65, 0xFA, 0xEA, +0xCB, 0xBA, 0x81, 0x8C, 0xC9, 0xAC, 0xB3, 0xBA, 0x7F, 0xB8, 0x1E, 0x52, 0xCE, 0xAD, 0xD8, 0xE1, +0x22, 0x3F, 0x3F, 0xE7, 0x83, 0xE5, 0x95, 0xE9, 0x21, 0x4F, 0x0D, 0x07, 0xC1, 0x43, 0xFA, 0x7C, +0xA0, 0x08, 0xD5, 0x5B, 0xE5, 0x0F, 0xC0, 0x66, 0xF7, 0x7D, 0x59, 0x49, 0x8F, 0xDE, 0x1E, 0x9A, +0xBD, 0x89, 0x94, 0x52, 0x79, 0xB0, 0x21, 0x11, 0xD2, 0xF0, 0x8F, 0x6B, 0xF5, 0x0C, 0x44, 0xAE, +0xEB, 0x05, 0x91, 0x4C, 0xEF, 0x8E, 0xEB, 0xAA, 0x68, 0xCC, 0x9D, 0x98, 0x53, 0xF5, 0xF2, 0x60, +0x53, 0x55, 0x3E, 0x00, 0xA4, 0x6C, 0x38, 0x88, 0xCA, 0x1F, 0xF2, 0x8B, 0xD2, 0x40, 0xD4, 0x29, +0x19, 0x1A, 0x7C, 0xD4, 0x0B, 0x22, 0xC4, 0x1C, 0xFF, 0x64, 0x24, 0xFB, 0x71, 0xE1, 0xAD, 0x99, +0xDE, 0x25, 0x7E, 0xC3, 0x40, 0xF6, 0x71, 0x08, 0x77, 0x23, 0xE3, 0xEB, 0xAB, 0xBF, 0x7C, 0x28, +0xD6, 0xCE, 0x84, 0x1F, 0x2D, 0x44, 0xB6, 0x44, 0x21, 0x59, 0xFE, 0x78, 0x4E, 0x07, 0x0F, 0xCA, +0xAF, 0x1E, 0x25, 0x3C, 0xB7, 0x08, 0xB9, 0x04, 0x8F, 0x8A, 0x83, 0x54, 0x08, 0xB9, 0xEF, 0xEA, +0xF9, 0x77, 0x63, 0xE1, 0x1E, 0xB5, 0x5D, 0x12, 0x42, 0x01, 0xBD, 0x37, 0x34, 0x22, 0x44, 0xBD, +0x48, 0x5F, 0xA1, 0x87, 0x92, 0x90, 0x66, 0xFE, 0x0A, 0x4A, 0xB8, 0x17, 0x96, 0x33, 0x81, 0xF8, +0x63, 0x9C, 0x36, 0xF9, 0x30, 0x99, 0x29, 0x66, 0x19, 0x7C, 0xD4, 0x55, 0x29, 0x7F, 0x54, 0xF0, +0x60, 0xFE, 0x03, 0xC8, 0x92, 0xF4, 0x55, 0xA5, 0x51, 0x10, 0x31, 0xF8, 0xA8, 0x15, 0xD5, 0xF1, +0x8C, 0xD2, 0x41, 0xD4, 0x94, 0xCC, 0x2A, 0xCB, 0x1F, 0x04, 0x70, 0x18, 0x48, 0x6C, 0xCA, 0x80, +0x14, 0x01, 0x3A, 0x17, 0xA7, 0x34, 0x10, 0x59, 0xC8, 0x97, 0xEF, 0xDC, 0x51, 0xFA, 0x10, 0x1F, +0x13, 0xED, 0xD0, 0x43, 0x60, 0xA1, 0xC1, 0x09, 0x84, 0xAC, 0x29, 0x9F, 0x77, 0x54, 0x5D, 0x5F, +0x29, 0x36, 0xCF, 0x2D, 0x5A, 0x9E, 0x13, 0xAA, 0x5B, 0x7C, 0x94, 0x05, 0x11, 0xE2, 0x8F, 0xFA, +0x8B, 0x28, 0x92, 0x59, 0xA4, 0xAF, 0x3A, 0x84, 0x14, 0x7C, 0x30, 0xE8, 0x75, 0xD5, 0xCA, 0xE7, +0xC4, 0x94, 0x79, 0xA2, 0x6D, 0x8C, 0x43, 0x0E, 0xFD, 0x83, 0x9B, 0xA9, 0x8E, 0xDA, 0x31, 0x7F, +0x0E, 0x3C, 0x84, 0xF2, 0x79, 0x53, 0x8D, 0xF2, 0x79, 0xCF, 0x43, 0x04, 0x48, 0x5A, 0x45, 0x13, +0x90, 0x20, 0xE4, 0x62, 0xE7, 0xE1, 0x21, 0xA9, 0x64, 0x58, 0xA6, 0xAF, 0x4A, 0x34, 0x78, 0xB1, +0x2A, 0x19, 0x52, 0x3F, 0x27, 0xFE, 0x48, 0x2C, 0xC8, 0x64, 0xA5, 0x6E, 0x02, 0x0B, 0x34, 0x75, +0x91, 0x28, 0x19, 0x52, 0x3F, 0xEF, 0x37, 0xA2, 0x10, 0xF9, 0x47, 0x8F, 0x0E, 0x75, 0x10, 0x09, +0xFF, 0x98, 0x56, 0x25, 0xBD, 0x5B, 0x15, 0x05, 0x11, 0x83, 0x0F, 0x44, 0x41, 0x44, 0x7C, 0x34, +0xE8, 0xE0, 0x4F, 0x70, 0x10, 0xF8, 0x30, 0xE3, 0x90, 0x7C, 0xFB, 0x55, 0xC3, 0x42, 0x1E, 0xB4, +0xC3, 0x43, 0x28, 0x9F, 0xC7, 0x26, 0x71, 0x9D, 0x47, 0x52, 0x6E, 0x8E, 0x0E, 0xCB, 0xE7, 0xC7, +0xCF, 0xEF, 0xA6, 0xB1, 0x01, 0x4B, 0x99, 0xDE, 0x9D, 0x50, 0x51, 0x1E, 0x04, 0x8F, 0x96, 0x87, +0x08, 0x90, 0x25, 0x01, 0x47, 0x93, 0xA5, 0x97, 0x10, 0xB2, 0x9B, 0x96, 0x3E, 0x21, 0x82, 0x7F, +0x2C, 0xA8, 0x84, 0x96, 0xB7, 0x81, 0xFC, 0x09, 0x84, 0xDC, 0x70, 0x8F, 0xD1, 0x41, 0xBA, 0xD1, +0x40, 0x52, 0x10, 0xD9, 0x68, 0xD4, 0xF1, 0x8F, 0x86, 0x81, 0xF0, 0x80, 0xCB, 0x3A, 0xC5, 0x07, +0xE9, 0x5E, 0x89, 0xF4, 0x55, 0x7D, 0x47, 0x41, 0xA4, 0x28, 0x0F, 0xFA, 0xCB, 0x2C, 0x21, 0x52, +0x6F, 0x97, 0x14, 0x44, 0x32, 0xFC, 0x70, 0x54, 0xF8, 0xC7, 0xB6, 0xE7, 0x20, 0x5B, 0x3C, 0x04, +0x3E, 0xA6, 0x56, 0x59, 0x86, 0x7F, 0xA0, 0x4A, 0xF9, 0x43, 0xB7, 0x3D, 0xED, 0x61, 0x25, 0xB9, +0xD1, 0x47, 0xD4, 0xF1, 0x8F, 0x68, 0x64, 0x74, 0x28, 0xA4, 0xB1, 0xD4, 0x5A, 0x58, 0x7C, 0xA0, +0xB2, 0xFC, 0x31, 0xD5, 0x06, 0x40, 0x96, 0x7B, 0x58, 0xBA, 0x24, 0x91, 0xCC, 0x8A, 0x83, 0x47, +0x48, 0x7A, 0x08, 0xC5, 0x73, 0xEE, 0x04, 0x34, 0x80, 0x39, 0xA2, 0x3C, 0x38, 0x8C, 0x13, 0xDE, +0xA1, 0x93, 0x1B, 0xB1, 0x11, 0x9D, 0xC0, 0x2E, 0x05, 0x1B, 0x4D, 0x5D, 0xC7, 0x9F, 0x7B, 0xFE, +0x41, 0xC9, 0x70, 0xFB, 0xC1, 0x36, 0xE3, 0x8F, 0x0E, 0x1D, 0x9C, 0x88, 0x10, 0xF8, 0x30, 0x09, +0x21, 0xD2, 0xE8, 0x55, 0xD7, 0x21, 0xE4, 0xD2, 0xFC, 0xD7, 0x47, 0x0F, 0x11, 0xBC, 0x53, 0x0E, +0x12, 0x77, 0x80, 0x91, 0x8F, 0xE9, 0x91, 0x21, 0xDF, 0xAB, 0xF2, 0xA0, 0x92, 0x23, 0x3D, 0x0B, +0x51, 0x14, 0xB8, 0x81, 0x0F, 0x78, 0x10, 0x28, 0xB1, 0x67, 0xB1, 0xA5, 0x87, 0xE9, 0x21, 0x94, +0x3F, 0x48, 0x7A, 0x42, 0x4A, 0x80, 0xC2, 0x99, 0xC5, 0x07, 0x2A, 0xCB, 0xE7, 0x53, 0x1E, 0x92, +0x80, 0x4C, 0x37, 0x7D, 0x4C, 0xDD, 0xE1, 0x83, 0x92, 0xA1, 0x10, 0x21, 0x30, 0xE7, 0xE5, 0x16, +0xF7, 0x03, 0x92, 0x59, 0xE2, 0x43, 0x20, 0x90, 0xC2, 0xD2, 0x89, 0x4C, 0x84, 0xC1, 0x4D, 0x0F, +0x51, 0xF9, 0xBC, 0x6B, 0x20, 0x30, 0x22, 0x3C, 0xE0, 0xC3, 0xF2, 0x10, 0x66, 0x57, 0x8F, 0x11, +0x08, 0xF9, 0x86, 0xF8, 0xC3, 0x24, 0xE4, 0x69, 0x0C, 0x3F, 0xAA, 0x0D, 0x7F, 0xB1, 0xF9, 0xA0, +0x64, 0x08, 0x1F, 0x7D, 0x07, 0x51, 0xC9, 0x10, 0xFF, 0xB0, 0x00, 0x91, 0x72, 0xA0, 0x1D, 0x0F, +0xD9, 0x8C, 0x7C, 0x10, 0x4E, 0x72, 0x4D, 0xC9, 0xC3, 0x44, 0xA7, 0x20, 0x02, 0x10, 0xCF, 0xEF, +0xAD, 0xAC, 0x3E, 0x72, 0x99, 0x65, 0xF2, 0x21, 0x51, 0x1E, 0x74, 0x5A, 0x00, 0x12, 0x07, 0x8B, +0x90, 0x79, 0x1F, 0x54, 0xD7, 0x67, 0xA8, 0x06, 0x08, 0xCA, 0xE2, 0xE0, 0x82, 0x4A, 0xFA, 0x88, +0x06, 0xC9, 0xAC, 0xE4, 0x62, 0x1C, 0x30, 0x3D, 0xD0, 0x51, 0x7B, 0xCC, 0x59, 0x84, 0x10, 0x7E, +0x70, 0xAC, 0xEA, 0x41, 0x84, 0x08, 0x0F, 0x5F, 0x7A, 0xF7, 0xD5, 0x04, 0x1D, 0x10, 0x72, 0xFB, +0xEA, 0x67, 0xCA, 0x83, 0x0E, 0x21, 0xED, 0x2A, 0xF9, 0x13, 0x4D, 0x00, 0x8D, 0xD1, 0x8A, 0xCF, +0xC7, 0xA5, 0xD2, 0xBD, 0xF1, 0xC9, 0x2E, 0x43, 0x04, 0x22, 0x3F, 0xFA, 0xFA, 0xE8, 0x2C, 0xCB, +0x1F, 0x3F, 0x39, 0x80, 0xA8, 0x20, 0x02, 0x1A, 0xC4, 0xE8, 0xC4, 0xEB, 0x87, 0xA1, 0x89, 0x3E, +0x7D, 0x1E, 0x82, 0x0E, 0xE6, 0x09, 0x8F, 0x59, 0x7D, 0x44, 0x46, 0x48, 0x7C, 0x78, 0x9A, 0xC3, +0xC7, 0x52, 0x0E, 0x62, 0xEB, 0x74, 0xE7, 0x88, 0x92, 0xE1, 0x71, 0x4C, 0xFB, 0x7C, 0x95, 0x20, +0x5F, 0xF8, 0x08, 0xB1, 0xD7, 0x62, 0x9F, 0xBE, 0xBA, 0xF1, 0x5A, 0x48, 0x7C, 0x68, 0x01, 0xF5, +0xA0, 0x7D, 0xBB, 0xC5, 0x33, 0xA3, 0xDF, 0xE9, 0xDE, 0x67, 0x6B, 0xAB, 0x0F, 0x0F, 0x66, 0xAB, +0xEF, 0x68, 0xF1, 0xE8, 0x7E, 0x9E, 0x62, 0xE6, 0x3B, 0x0A, 0x4C, 0xE4, 0x32, 0xF0, 0xE1, 0xE8, +0x93, 0x7B, 0x7E, 0x3B, 0xA3, 0x85, 0x87, 0xC8, 0x18, 0x4C, 0xC5, 0x53, 0x95, 0x1E, 0xD4, 0xD8, +0x76, 0xD7, 0x58, 0xB9, 0xED, 0xD3, 0xBB, 0x6E, 0x8B, 0xE7, 0x06, 0x1F, 0x95, 0x95, 0x15, 0x8F, +0x8B, 0xAA, 0xDA, 0x8A, 0xF2, 0xA0, 0xA5, 0xD3, 0xA5, 0xAB, 0x97, 0x7F, 0xBC, 0xF6, 0x8B, 0x4B, +0xC7, 0x9B, 0xCB, 0xD3, 0x5F, 0x57, 0xAB, 0xD5, 0xD1, 0xB1, 0xD7, 0x56, 0x47, 0x47, 0xAB, 0xC7, +0xC7, 0x61, 0xE2, 0x0F, 0xD2, 0x41, 0xE2, 0xE1, 0xEB, 0xDA, 0xB4, 0x8B, 0xC7, 0xAB, 0xC7, 0xC5, +0x66, 0x8E, 0x8E, 0x36, 0xE7, 0x5F, 0xCE, 0xD2, 0x57, 0x77, 0x77, 0x1F, 0xDF, 0xCD, 0xD0, 0x76, +0x9E, 0x6E, 0x3F, 0xB9, 0xFC, 0xE4, 0xFE, 0x13, 0x4F, 0x31, 0x81, 0x2F, 0x9F, 0x7E, 0xF3, 0xF4, +0x34, 0x6C, 0xD1, 0xE3, 0x2F, 0xF9, 0xED, 0x93, 0xFB, 0xDB, 0xED, 0x2C, 0xCD, 0x1A, 0x99, 0x18, +0xC7, 0x79, 0x23, 0xFF, 0xE5, 0xF9, 0x66, 0x9E, 0x16, 0x9A, 0x38, 0x39, 0x3F, 0x98, 0x2A, 0x9A, +0x38, 0xFC, 0x38, 0x1F, 0x3E, 0x3E, 0xC6, 0xA4, 0xF4, 0x15, 0x33, 0x73, 0x98, 0xCB, 0xCB, 0x53, +0xA7, 0x2F, 0x7F, 0x79, 0xED, 0x97, 0x38, 0x98, 0xFD, 0xC5, 0x8B, 0xA3, 0xD5, 0x0C, 0xBD, 0xFE, +0xFA, 0x6A, 0xF1, 0xA8, 0x97, 0x13, 0x8D, 0xAE, 0x47, 0x87, 0x78, 0x84, 0x1E, 0xB5, 0xDF, 0xF8, +0xED, 0xF1, 0xFC, 0xFC, 0x21, 0x86, 0xDE, 0xD6, 0x59, 0xE8, 0xE3, 0x01, 0x11, 0xAB, 0x9F, 0x7D, +0xFC, 0xF1, 0xC7, 0xF3, 0xF8, 0xB8, 0x1D, 0x08, 0x71, 0x75, 0x7F, 0xF5, 0xE9, 0xD5, 0xD3, 0x6F, +0xDF, 0xFD, 0x66, 0xEB, 0x29, 0xFE, 0x82, 0xF8, 0xF3, 0x74, 0x1F, 0xBF, 0xCE, 0x2C, 0x3E, 0x06, +0x42, 0xBC, 0xAE, 0xED, 0xEC, 0x8C, 0x91, 0x37, 0xF4, 0x70, 0x7E, 0x3E, 0xE3, 0xCA, 0xE6, 0x5C, +0x60, 0x7E, 0x80, 0x87, 0xCE, 0xF8, 0x71, 0x72, 0x32, 0xCC, 0xB4, 0xE3, 0x95, 0xA7, 0x78, 0xDE, +0xD1, 0x8B, 0x8B, 0x53, 0x01, 0xE2, 0xF4, 0x3F, 0x02, 0x10, 0x0F, 0xA5, 0x37, 0x4F, 0x8E, 0x22, +0x4A, 0x7F, 0x71, 0xBC, 0xB2, 0x41, 0x8D, 0x5F, 0x7B, 0x15, 0x78, 0x2F, 0x4C, 0xCD, 0x24, 0xE4, +0x3C, 0x46, 0xFD, 0x1C, 0x42, 0x0C, 0x3E, 0xDE, 0x09, 0x42, 0xFC, 0x7B, 0xE4, 0xF7, 0x77, 0x10, +0x62, 0xF1, 0xB1, 0xBE, 0xBD, 0x17, 0x22, 0x8E, 0x81, 0x5C, 0x7D, 0xFA, 0xE9, 0xA7, 0x57, 0x57, +0x1D, 0xD7, 0xA0, 0x4B, 0xF1, 0xE4, 0x4F, 0x7D, 0x42, 0xE2, 0x5D, 0x8B, 0xB7, 0xA1, 0x39, 0x7C, +0x44, 0xF3, 0x87, 0x46, 0x43, 0x79, 0x36, 0xC3, 0x3F, 0xCE, 0xE3, 0x62, 0x3D, 0x6E, 0xFC, 0x6B, +0x3B, 0x4F, 0x2B, 0xC9, 0x9D, 0x95, 0xAB, 0xDD, 0xC5, 0xC5, 0x8B, 0x17, 0x36, 0x21, 0xBF, 0xBC, +0xF6, 0x87, 0x09, 0xC8, 0xC9, 0xEE, 0xD7, 0x17, 0x2F, 0x2E, 0x2E, 0x76, 0xAB, 0x95, 0xCB, 0xC7, +0x6A, 0xD0, 0x4C, 0x40, 0x1E, 0x63, 0x7C, 0x36, 0x8F, 0x9B, 0xD6, 0x9E, 0x93, 0x87, 0x73, 0xC9, +0xE7, 0x63, 0x4F, 0x88, 0xBB, 0xCA, 0xD2, 0x94, 0xF1, 0x11, 0xB9, 0x95, 0xD6, 0xF7, 0x73, 0xF8, +0x88, 0xD6, 0xC4, 0x43, 0x07, 0xF6, 0x57, 0xC3, 0x93, 0x5D, 0x42, 0x62, 0xA5, 0x17, 0xB0, 0xCE, +0x21, 0x24, 0xCC, 0x72, 0x68, 0xB3, 0xF8, 0x88, 0x9D, 0xCF, 0x87, 0x08, 0x39, 0xE7, 0xE2, 0x4D, +0xEC, 0x67, 0xE9, 0x71, 0x95, 0xF2, 0x66, 0xE5, 0xF1, 0xEE, 0xC5, 0xC5, 0x8B, 0x50, 0x84, 0xE9, +0xA6, 0x83, 0xFC, 0xBE, 0x34, 0x08, 0x89, 0x14, 0x56, 0xE0, 0x11, 0x0A, 0x42, 0x2C, 0x0F, 0xC1, +0xD3, 0x2C, 0x40, 0x78, 0x52, 0xDE, 0x68, 0xC6, 0x75, 0xD4, 0x4D, 0x71, 0x9E, 0x27, 0x8F, 0xE7, +0x02, 0xC4, 0xF6, 0x10, 0xD1, 0x81, 0x87, 0x18, 0x7C, 0xA8, 0x85, 0x8F, 0xD8, 0x7C, 0xE0, 0x21, +0x0E, 0x1F, 0xEA, 0x2D, 0x0F, 0x79, 0x2A, 0x20, 0x11, 0x1E, 0x3E, 0x21, 0xF2, 0x0F, 0x9F, 0x90, +0xB0, 0x4A, 0xDD, 0x0B, 0x4C, 0x13, 0x49, 0x3E, 0x7C, 0x0F, 0x39, 0x4F, 0x3D, 0xE8, 0xD2, 0x72, +0x45, 0x5B, 0xE7, 0x44, 0x18, 0x3E, 0x1F, 0x92, 0xC7, 0x47, 0xE0, 0x21, 0x9D, 0x3A, 0x84, 0x9C, +0xEE, 0xDF, 0x6A, 0x62, 0x10, 0x72, 0x21, 0x3E, 0x20, 0xC4, 0xE6, 0x63, 0xBE, 0x89, 0x88, 0x0F, +0x39, 0xC9, 0x38, 0x64, 0x1A, 0x59, 0x9D, 0xE6, 0xC9, 0xF9, 0x39, 0xF2, 0xFD, 0x43, 0x3B, 0x3C, +0xA4, 0x87, 0x87, 0x56, 0x58, 0xC3, 0xD1, 0x9A, 0x61, 0xB7, 0xA3, 0xD6, 0x04, 0x22, 0x6D, 0x3C, +0xD2, 0x3F, 0xD4, 0x21, 0xA4, 0x4D, 0xC9, 0xD3, 0x55, 0x02, 0x62, 0x11, 0x72, 0x09, 0x1F, 0xA1, +0xB5, 0xEF, 0x1F, 0x7A, 0xC9, 0xC6, 0xAD, 0x63, 0x1C, 0xC7, 0x41, 0xB6, 0x7F, 0xA4, 0x89, 0x70, +0x41, 0xCB, 0xAB, 0xCB, 0x29, 0x78, 0x98, 0x7C, 0x20, 0x9F, 0x0F, 0xCB, 0x43, 0x42, 0xE3, 0x9B, +0x15, 0x4F, 0xBB, 0x88, 0xE8, 0xAD, 0x58, 0x2F, 0x24, 0x21, 0xB2, 0x8B, 0x50, 0xDD, 0x08, 0x3F, +0x00, 0x64, 0x26, 0x21, 0x87, 0x1E, 0xC2, 0xA3, 0xC0, 0x86, 0xF0, 0x03, 0x79, 0x7C, 0x70, 0x59, +0xDD, 0xE5, 0x55, 0x9A, 0xC8, 0x76, 0x6A, 0x92, 0x0D, 0xF3, 0x11, 0xDD, 0xC7, 0x1C, 0xED, 0x03, +0x02, 0x1E, 0x1D, 0x42, 0x9E, 0x38, 0xBD, 0xD2, 0x53, 0x47, 0x46, 0x02, 0x80, 0x3E, 0x1F, 0x03, +0xA5, 0x16, 0x21, 0xF8, 0x47, 0x36, 0x0B, 0x91, 0x33, 0x14, 0xA3, 0xE9, 0xF9, 0x07, 0xD2, 0x45, +0x1C, 0x2F, 0x27, 0x57, 0x97, 0x1D, 0xB1, 0xB9, 0x8F, 0x07, 0x72, 0xF8, 0x40, 0x17, 0x93, 0x80, +0xF0, 0x76, 0xF7, 0x1E, 0x21, 0xC1, 0xC7, 0xC9, 0xAF, 0x02, 0x24, 0x75, 0x31, 0x24, 0xB3, 0xFA, +0xFE, 0x01, 0x1F, 0xBE, 0x87, 0x90, 0xB9, 0xE0, 0xDE, 0x72, 0x30, 0x96, 0xC9, 0xC8, 0xE6, 0xBC, +0xD0, 0x83, 0xC5, 0x47, 0x74, 0x9D, 0x4C, 0x7A, 0x08, 0x77, 0xD4, 0xB4, 0x11, 0x6B, 0x79, 0x85, +0x89, 0x00, 0x48, 0xD5, 0x3F, 0x3E, 0x7D, 0xBA, 0x3A, 0x20, 0xE4, 0xA9, 0x86, 0x07, 0xFB, 0xA7, +0x3D, 0x1F, 0xF4, 0xF8, 0x47, 0x0C, 0x3E, 0xD0, 0x64, 0x7E, 0x97, 0xBB, 0x81, 0xCE, 0x26, 0xE2, +0x8F, 0x77, 0x68, 0x8E, 0x87, 0x3C, 0x9E, 0x8F, 0xBA, 0x7E, 0x90, 0x87, 0xE8, 0x2A, 0xAA, 0x43, +0xCA, 0xCD, 0xE3, 0x08, 0x0E, 0x78, 0x58, 0x5A, 0x95, 0xEA, 0xCF, 0xCA, 0x23, 0xF1, 0x81, 0x48, +0x66, 0x35, 0xF8, 0x00, 0x90, 0xF6, 0x2A, 0x4B, 0x7C, 0x80, 0x87, 0x43, 0xC8, 0x0A, 0xCD, 0x22, +0x04, 0x44, 0x92, 0x0C, 0x86, 0x32, 0x86, 0xF0, 0x26, 0xF6, 0xC3, 0x60, 0x8E, 0xFE, 0x81, 0x36, +0xA6, 0x7F, 0xE4, 0x45, 0x9D, 0x20, 0x64, 0xCB, 0x1D, 0xF5, 0x6E, 0x7F, 0xB0, 0xF8, 0x40, 0x1D, +0x42, 0x22, 0x44, 0x19, 0xF9, 0xA0, 0x3F, 0x7D, 0xD7, 0x5D, 0x5F, 0xF1, 0x4C, 0x3C, 0xC4, 0xE0, +0x03, 0x4D, 0xF9, 0x87, 0x3C, 0x04, 0x50, 0xBA, 0xCB, 0xAB, 0x42, 0x53, 0x84, 0x94, 0x57, 0x4A, +0x84, 0xC0, 0x46, 0x74, 0x0C, 0x45, 0x07, 0x12, 0xFF, 0xB3, 0xFC, 0x03, 0x75, 0xF9, 0x88, 0xF4, +0xD5, 0xA1, 0x4E, 0x7A, 0x7C, 0xBC, 0x79, 0xF8, 0x91, 0xDB, 0x37, 0xDB, 0xCF, 0x2C, 0xF0, 0x50, +0x20, 0x02, 0x21, 0x06, 0x1F, 0x66, 0xA8, 0x4E, 0xEE, 0x9B, 0x68, 0x03, 0x4A, 0xC6, 0xC1, 0x84, +0x0F, 0x74, 0xDD, 0x0E, 0xD5, 0xBF, 0x12, 0x17, 0xB9, 0x93, 0xFA, 0xA1, 0xFA, 0xB0, 0xD0, 0x50, +0xE3, 0x96, 0xFA, 0xB1, 0xC7, 0x07, 0xBA, 0xEF, 0x86, 0xE7, 0x65, 0xC7, 0x43, 0x2A, 0x94, 0x5C, +0x01, 0x08, 0x81, 0xC8, 0x7D, 0x3B, 0x7D, 0x55, 0x53, 0xDF, 0x3F, 0x44, 0xC5, 0xC1, 0x2B, 0xEE, +0xFA, 0x87, 0x46, 0x92, 0x21, 0x8D, 0xBD, 0xC5, 0xC7, 0x35, 0x84, 0x70, 0x51, 0xB3, 0x25, 0x27, +0xE0, 0x61, 0x6A, 0x55, 0x93, 0xC5, 0x07, 0x6A, 0x7A, 0x88, 0xF8, 0x00, 0x90, 0x26, 0x21, 0xD1, +0x5E, 0x20, 0x87, 0x90, 0x55, 0x5D, 0x0B, 0xE4, 0x20, 0xF2, 0x28, 0xDF, 0x18, 0xF3, 0xBA, 0x8C, +0x27, 0x7C, 0x78, 0xAB, 0xAC, 0xA4, 0x02, 0x03, 0x99, 0x48, 0x66, 0x1D, 0x98, 0x07, 0xCD, 0xE5, +0x83, 0x64, 0x56, 0x9F, 0x0F, 0x73, 0x95, 0x55, 0xF2, 0xD1, 0x4F, 0x66, 0xC1, 0x87, 0x49, 0x08, +0xAF, 0x92, 0xB3, 0x68, 0x9D, 0xF4, 0xAE, 0xBA, 0xC4, 0xC9, 0x57, 0x46, 0xF8, 0x51, 0x78, 0x08, +0x58, 0x10, 0xB4, 0xFF, 0xBB, 0xF5, 0x15, 0x32, 0xF8, 0x30, 0x08, 0x11, 0x1F, 0x00, 0xD2, 0x24, +0x44, 0xEF, 0xBF, 0xAA, 0x13, 0x12, 0x6F, 0x3B, 0x69, 0x94, 0x3F, 0xEA, 0xF2, 0xF1, 0xD0, 0xA6, +0x61, 0x1C, 0x1B, 0x96, 0x0C, 0x1F, 0x85, 0x3A, 0xE9, 0x2B, 0x56, 0xCC, 0xDA, 0xF7, 0x96, 0x59, +0x98, 0xC6, 0xC7, 0x85, 0x89, 0xAC, 0x1D, 0x3E, 0x20, 0xA4, 0x53, 0xFE, 0xA0, 0x4F, 0xA6, 0x7B, +0xAF, 0xAA, 0x44, 0x41, 0x48, 0xC5, 0x3F, 0x7C, 0x42, 0x78, 0x89, 0x25, 0x25, 0x75, 0x40, 0xF6, +0x7C, 0x30, 0x9A, 0xE0, 0xD2, 0x49, 0x5F, 0xE1, 0x1F, 0x10, 0xF2, 0x77, 0xC4, 0x91, 0xB9, 0xDD, +0xF1, 0xFE, 0x37, 0xCF, 0x41, 0x56, 0x4D, 0x55, 0xF9, 0x50, 0xF9, 0xC3, 0x25, 0x04, 0x3E, 0x00, +0x24, 0x54, 0xC1, 0x63, 0x49, 0xF8, 0xE1, 0x11, 0x52, 0xF2, 0x31, 0x91, 0xCC, 0x3A, 0x9E, 0xC8, +0xF6, 0xAA, 0x93, 0xF0, 0xA0, 0xFC, 0x51, 0x21, 0xA4, 0x72, 0x9D, 0x72, 0x45, 0x00, 0x26, 0x20, +0x52, 0x25, 0x84, 0xB9, 0x52, 0xB6, 0x56, 0x7A, 0xB7, 0x85, 0x88, 0x3C, 0xC4, 0xE2, 0x03, 0x0F, +0x29, 0x75, 0x05, 0x1F, 0x86, 0x87, 0x90, 0xDE, 0x35, 0x09, 0x49, 0x9F, 0x84, 0x0E, 0xF6, 0x75, +0xFF, 0xA8, 0xBA, 0xB1, 0x76, 0x86, 0x7F, 0xA0, 0x4A, 0x51, 0x9D, 0xF8, 0x23, 0x36, 0x33, 0xFE, +0xE8, 0xA8, 0x51, 0x3E, 0x2F, 0x45, 0xBA, 0xB7, 0xCE, 0x07, 0x80, 0xE0, 0x21, 0x65, 0xFE, 0x8A, +0xF4, 0x15, 0xEA, 0x14, 0x44, 0x56, 0x5D, 0x2D, 0x1E, 0x3D, 0x0B, 0x51, 0x8B, 0xE7, 0x12, 0xC6, +0x8D, 0x89, 0x2C, 0xF0, 0xA8, 0xA8, 0x55, 0x1E, 0xC4, 0x42, 0xD0, 0x3B, 0x24, 0xB3, 0x2A, 0xFE, +0x91, 0x41, 0x88, 0x36, 0xA6, 0x8F, 0xC5, 0x07, 0x05, 0x91, 0x4B, 0x87, 0x0F, 0x10, 0xA9, 0xF0, +0xD1, 0xFD, 0x0B, 0x8D, 0xF2, 0xB9, 0x4F, 0xC8, 0x18, 0x6C, 0xF1, 0x2A, 0xF7, 0xE7, 0x71, 0x80, +0x90, 0xA2, 0xFC, 0x81, 0x7F, 0x48, 0x84, 0x77, 0x96, 0x7F, 0x40, 0x88, 0x02, 0x11, 0x6D, 0xE3, +0xF5, 0xD5, 0xD4, 0xC0, 0x41, 0x1C, 0x3E, 0x7C, 0x42, 0x56, 0xC7, 0xF0, 0x61, 0x10, 0x92, 0x7C, +0x00, 0x08, 0xFA, 0xF3, 0x00, 0x10, 0xCA, 0x83, 0x6D, 0x42, 0x56, 0x45, 0x7A, 0xB7, 0x4F, 0xC8, +0x3C, 0xED, 0xC1, 0x20, 0x4F, 0xAE, 0xA1, 0xED, 0xA8, 0x8C, 0xD4, 0xCB, 0xD5, 0x32, 0x09, 0x4A, +0x4A, 0x86, 0x25, 0x1F, 0xC4, 0x20, 0x2C, 0x39, 0x20, 0xC4, 0xE2, 0x83, 0x74, 0xAF, 0xCF, 0x47, +0x85, 0x10, 0xC2, 0x0F, 0xC3, 0x43, 0xF0, 0x0F, 0x97, 0x90, 0x8F, 0x5B, 0xE1, 0x56, 0x3D, 0x99, +0x55, 0x8C, 0x25, 0xE3, 0x98, 0xAA, 0xF9, 0xC7, 0x03, 0x64, 0x94, 0x12, 0x21, 0xB4, 0x0D, 0xEF, +0x46, 0x74, 0xFD, 0xA3, 0xAF, 0x66, 0xF9, 0x03, 0x35, 0x0B, 0x22, 0xF0, 0x01, 0x20, 0xE8, 0xD4, +0xE4, 0x43, 0xC2, 0x43, 0x28, 0x0F, 0xF6, 0xE5, 0x78, 0x08, 0xEF, 0xF8, 0x25, 0x46, 0xDF, 0x84, +0xC2, 0x3F, 0xAE, 0x21, 0x64, 0x3A, 0x54, 0xE7, 0x32, 0x72, 0x82, 0x44, 0x08, 0x0A, 0x58, 0xB6, +0x2C, 0x31, 0x48, 0xEA, 0xE4, 0x23, 0x4D, 0xA4, 0xB2, 0x3C, 0xE8, 0x13, 0x72, 0x4F, 0x79, 0xB0, +0xD5, 0x59, 0x66, 0xE1, 0x1F, 0xFD, 0x7E, 0xD9, 0x4A, 0xEF, 0xA2, 0x76, 0xC9, 0x70, 0xCF, 0x3F, +0x0E, 0x39, 0x11, 0xAA, 0x8B, 0x8C, 0x8A, 0x1B, 0xF3, 0xA0, 0xE0, 0x83, 0xEA, 0x47, 0x3B, 0x54, +0x7F, 0xCC, 0x95, 0xF3, 0x86, 0xA5, 0x83, 0xC7, 0xC8, 0x6A, 0x5A, 0x3E, 0x1F, 0x14, 0x44, 0x28, +0x7F, 0xB4, 0x01, 0x81, 0x90, 0xE5, 0x9B, 0xA7, 0xBB, 0x1E, 0x1F, 0x14, 0x44, 0xE0, 0x03, 0x40, +0x8C, 0x65, 0x96, 0xA3, 0x7F, 0xA6, 0xB0, 0xDA, 0x74, 0xA0, 0x8A, 0x7F, 0x14, 0x50, 0xD0, 0x0A, +0x0F, 0x61, 0x82, 0x08, 0x08, 0x9D, 0x66, 0x83, 0x17, 0x74, 0x3B, 0x25, 0xDE, 0x76, 0x42, 0xF9, +0xC3, 0x27, 0xE4, 0xA9, 0x6B, 0x1F, 0x14, 0x44, 0x12, 0x0F, 0xF8, 0xE8, 0xA9, 0x5A, 0x3E, 0x87, +0x8A, 0x7D, 0x86, 0x9B, 0xA5, 0x56, 0x91, 0xDE, 0xCD, 0xAD, 0x40, 0x03, 0x5B, 0x29, 0xD3, 0xBB, +0x6D, 0xFB, 0xB8, 0x16, 0x21, 0x2C, 0x0D, 0x60, 0x83, 0x93, 0xAE, 0x7D, 0x38, 0x2A, 0xCA, 0x83, +0x06, 0x21, 0xF0, 0xD1, 0x04, 0x04, 0x42, 0xC4, 0x47, 0x11, 0x7F, 0x34, 0xD3, 0xBD, 0x86, 0x7F, +0xB8, 0x25, 0x43, 0x46, 0x29, 0x3D, 0x24, 0xE3, 0x39, 0xCA, 0x1F, 0xD7, 0xA6, 0x87, 0x14, 0x3C, +0x54, 0x3D, 0xE4, 0x2B, 0x08, 0xD9, 0x4F, 0x8C, 0x71, 0x72, 0x54, 0x16, 0x1D, 0xDA, 0xF9, 0x7C, +0xE0, 0x21, 0xF2, 0x8F, 0x09, 0x3E, 0x28, 0x88, 0x90, 0xBE, 0xF2, 0x09, 0x81, 0x0F, 0x8F, 0x10, +0x59, 0x65, 0xF9, 0x02, 0x39, 0xD3, 0xC6, 0xBB, 0x7B, 0x63, 0x84, 0x62, 0xA0, 0xC8, 0x01, 0x66, +0x03, 0x13, 0x08, 0x81, 0x8F, 0x82, 0x87, 0x4E, 0xBA, 0x57, 0x80, 0x18, 0x70, 0xA0, 0x95, 0xA7, +0x22, 0xBD, 0x6B, 0x7B, 0xC8, 0x1B, 0x0D, 0x40, 0xD0, 0x72, 0x9F, 0xDE, 0x7D, 0x01, 0x1E, 0x0E, +0x21, 0x2B, 0xE4, 0x79, 0x88, 0x6F, 0x22, 0x1B, 0xF1, 0xC1, 0xB0, 0x1B, 0x84, 0x90, 0xBE, 0xEA, +0x59, 0x88, 0x3C, 0x04, 0xFF, 0x28, 0xBD, 0x83, 0x1F, 0x82, 0xC9, 0x1A, 0x3E, 0x1C, 0x29, 0x99, +0x75, 0xEF, 0xCC, 0x76, 0x92, 0x59, 0x65, 0xF9, 0xA3, 0x1F, 0x88, 0xB0, 0xBE, 0x32, 0x54, 0x4D, +0xEF, 0x96, 0x9C, 0xD0, 0x12, 0x90, 0x64, 0xA0, 0xE1, 0x20, 0xFC, 0xC1, 0x57, 0x05, 0x1F, 0xD7, +0x84, 0x21, 0x55, 0x0F, 0x21, 0x7D, 0x05, 0x1B, 0x86, 0x7F, 0xB8, 0xB2, 0xF9, 0x20, 0xDD, 0x4B, +0xF8, 0xD1, 0x02, 0x84, 0x82, 0xC8, 0x0B, 0xC9, 0x23, 0xC4, 0xE6, 0xC3, 0x0F, 0xD5, 0xF9, 0xE4, +0xA1, 0xCA, 0x20, 0x9E, 0x7F, 0x48, 0xC9, 0x87, 0xD4, 0x37, 0x10, 0x3D, 0x1C, 0x10, 0xA1, 0xFC, +0x71, 0x10, 0x7D, 0x70, 0x3F, 0xE5, 0x31, 0x7C, 0x98, 0x1E, 0x22, 0x3E, 0x1C, 0x3A, 0xF0, 0x10, +0xC3, 0x3F, 0x28, 0x88, 0x50, 0x1E, 0x74, 0x09, 0xD9, 0x67, 0xAA, 0x3A, 0x8D, 0x3F, 0x1E, 0xF8, +0x60, 0xA4, 0xAA, 0x0E, 0x92, 0x07, 0x8A, 0xEA, 0xD6, 0x8D, 0x8C, 0xA2, 0x3A, 0x4C, 0x40, 0x89, +0xE1, 0x1F, 0x26, 0x21, 0xE2, 0xC3, 0x14, 0x7C, 0x34, 0x01, 0xC1, 0x43, 0x4E, 0x5E, 0x48, 0x26, +0x21, 0x94, 0x3F, 0x2C, 0x3D, 0x3E, 0x52, 0xFE, 0x30, 0xAA, 0x86, 0x1B, 0xF8, 0x40, 0x5D, 0x42, +0xB8, 0x68, 0xA5, 0xDE, 0xA9, 0x5C, 0xE1, 0x98, 0xFF, 0x39, 0xF9, 0xBF, 0x7F, 0xEE, 0x20, 0xE0, +0x31, 0xDA, 0x0B, 0x7C, 0x58, 0x52, 0xFA, 0xCA, 0x06, 0x64, 0x48, 0x66, 0x7D, 0x0A, 0x1F, 0x96, +0x87, 0x60, 0x1F, 0x16, 0x21, 0xBC, 0x9E, 0x7A, 0xDF, 0x33, 0xC2, 0x43, 0xB2, 0x1C, 0x15, 0x07, +0xE1, 0xB0, 0x97, 0xC2, 0x73, 0x47, 0xD7, 0x63, 0x41, 0x84, 0xBB, 0xA1, 0x9B, 0xBE, 0xF2, 0x45, +0xF9, 0xC3, 0xD2, 0x09, 0x7C, 0xD4, 0x01, 0x41, 0xA7, 0x47, 0xBF, 0xCE, 0x21, 0xE4, 0x57, 0x23, +0xFC, 0x98, 0xEB, 0x21, 0xD8, 0xEE, 0xB1, 0xE7, 0x1F, 0x88, 0x32, 0x6F, 0xC5, 0x3F, 0x9E, 0x25, +0x60, 0xBE, 0xBA, 0xFB, 0xF8, 0xFB, 0x5C, 0x74, 0x94, 0xB7, 0xD6, 0x62, 0x8D, 0xB5, 0xDF, 0xC3, +0x87, 0xE9, 0x21, 0x4F, 0x4C, 0x68, 0xA3, 0x3F, 0x3D, 0x61, 0x38, 0x46, 0x7F, 0xBA, 0xBC, 0x9D, +0xF7, 0x0B, 0xA5, 0x29, 0xF2, 0x12, 0x1B, 0xF5, 0x74, 0x85, 0x64, 0x31, 0x30, 0x5F, 0x75, 0x1D, +0x04, 0xE5, 0x7A, 0x8B, 0x3B, 0x19, 0x39, 0xAC, 0x5E, 0xC9, 0xF0, 0x58, 0x78, 0x58, 0xEB, 0xAB, +0xD7, 0xC3, 0x6E, 0xE6, 0xDC, 0x88, 0x23, 0x28, 0x9E, 0xC5, 0xC7, 0xAF, 0xBF, 0xBE, 0x7C, 0xC3, +0x05, 0x64, 0x89, 0x83, 0x38, 0xDA, 0x1D, 0xCD, 0x22, 0x64, 0x61, 0x2B, 0xF9, 0xF0, 0x44, 0x39, +0x84, 0xCB, 0x87, 0x58, 0x2E, 0x17, 0x0E, 0xF2, 0xD1, 0x19, 0xCB, 0xA8, 0xAC, 0x2E, 0xC7, 0x0E, +0x23, 0x29, 0x67, 0xD1, 0xF7, 0x14, 0x40, 0x0C, 0x3E, 0xE4, 0x20, 0xB3, 0x01, 0x99, 0xD1, 0x59, +0x61, 0x59, 0xFA, 0xFE, 0xFB, 0xEF, 0xE5, 0x21, 0x69, 0x10, 0x8D, 0xF0, 0x83, 0xB4, 0xD6, 0x47, +0xCF, 0x43, 0x8D, 0x46, 0xFA, 0x23, 0x7A, 0xE9, 0x20, 0xCD, 0x62, 0x08, 0x77, 0xBB, 0xC7, 0x99, +0x29, 0xDE, 0x39, 0x7C, 0xAC, 0x8E, 0x08, 0xA3, 0x1D, 0x40, 0x4E, 0xDE, 0x34, 0x01, 0xF9, 0x73, +0xF9, 0x26, 0x31, 0x88, 0x83, 0xC7, 0xD1, 0xEE, 0x68, 0xE5, 0x22, 0x32, 0xBF, 0x5C, 0xC8, 0x88, +0x9A, 0x51, 0xFA, 0x83, 0x4A, 0xE8, 0xB5, 0x8B, 0x08, 0x24, 0x60, 0xF2, 0x51, 0xF4, 0x8F, 0xF7, +0xF9, 0xAB, 0xCA, 0x54, 0x21, 0xF1, 0x9B, 0x27, 0x21, 0x08, 0x71, 0x63, 0x10, 0x7F, 0xC9, 0x14, +0x7C, 0x44, 0xB7, 0x9F, 0xAE, 0x37, 0xF6, 0xCE, 0xE1, 0x23, 0x54, 0xA4, 0x1F, 0x7A, 0xE1, 0xFA, +0x9D, 0x86, 0xA7, 0xE2, 0x20, 0x55, 0x29, 0x06, 0x21, 0x99, 0x62, 0x5C, 0x30, 0x11, 0x62, 0x47, +0xE8, 0x7A, 0xC2, 0x2C, 0x3E, 0x8E, 0xE6, 0x20, 0x32, 0x64, 0x6E, 0xFF, 0x74, 0x00, 0x79, 0x73, +0x19, 0x80, 0xBC, 0xE9, 0x12, 0xB2, 0xFB, 0xF5, 0x28, 0x04, 0x21, 0xFF, 0x09, 0x1F, 0xBE, 0x1E, +0x86, 0x34, 0x56, 0x6C, 0x67, 0x75, 0x01, 0x07, 0x06, 0x32, 0x4C, 0x81, 0xE7, 0x5C, 0x44, 0x67, +0x69, 0x45, 0x39, 0x44, 0xF2, 0x09, 0xC9, 0x42, 0x9E, 0x1D, 0x85, 0x3C, 0x85, 0x62, 0xE7, 0xF2, +0x91, 0x69, 0xDE, 0x19, 0x7C, 0x48, 0xC5, 0xDB, 0xDB, 0x2B, 0x19, 0x09, 0x3D, 0xE1, 0x63, 0xC1, +0xF1, 0x51, 0xCD, 0x41, 0xDE, 0xA9, 0x5A, 0xC8, 0x30, 0xF0, 0x44, 0xE9, 0x26, 0x28, 0x8F, 0x38, +0x88, 0xA5, 0x59, 0x7C, 0x40, 0x88, 0xC3, 0xC7, 0xD0, 0xA6, 0x01, 0xD1, 0xD3, 0xE4, 0x21, 0xBF, +0x7A, 0xFE, 0x21, 0x89, 0x90, 0xFF, 0x01, 0x1F, 0x5F, 0x4A, 0xD7, 0x61, 0x22, 0xF5, 0x8B, 0x58, +0x5A, 0xC9, 0xDD, 0xD9, 0x7E, 0x16, 0xD4, 0xD3, 0x9C, 0xB9, 0x61, 0x24, 0x7F, 0xCB, 0xF5, 0x8F, +0x94, 0x67, 0x07, 0xA2, 0x63, 0x86, 0x87, 0x7C, 0x22, 0x89, 0x90, 0xB5, 0xCB, 0x87, 0x94, 0x35, +0x74, 0x6D, 0xAD, 0xF6, 0xFD, 0x60, 0x1F, 0xF2, 0x57, 0x8D, 0xD5, 0xB4, 0x83, 0xE8, 0xC6, 0x04, +0x21, 0x60, 0xE1, 0x78, 0x88, 0xE4, 0x31, 0x32, 0x83, 0x0F, 0x9B, 0x90, 0x5F, 0xC5, 0x87, 0x5A, +0x1B, 0x10, 0xFC, 0x43, 0xED, 0xCF, 0xE5, 0xC5, 0xAF, 0x1E, 0x1F, 0x10, 0xF2, 0x3F, 0xE1, 0x43, +0x26, 0xD2, 0x74, 0x10, 0x4E, 0x74, 0xF1, 0x73, 0x16, 0xDC, 0x7D, 0x4F, 0xC9, 0xBC, 0xD2, 0xE0, +0xC3, 0x03, 0xA4, 0xFC, 0x12, 0x20, 0x67, 0xC6, 0x27, 0x1E, 0xEA, 0x96, 0x7F, 0x20, 0x0B, 0x90, +0xEF, 0x51, 0xE5, 0x4D, 0xBC, 0x45, 0xFB, 0x8B, 0xB9, 0xF3, 0x69, 0x6D, 0xA6, 0x8A, 0xC2, 0xB8, +0x41, 0x9A, 0xB4, 0x94, 0x5A, 0x53, 0x0D, 0x2E, 0x0A, 0xAD, 0x34, 0xAB, 0x20, 0x29, 0x58, 0x17, +0x8A, 0x8A, 0x88, 0x8B, 0x52, 0x57, 0x42, 0x95, 0xBA, 0x71, 0xA5, 0x1B, 0xBB, 0x10, 0x6A, 0x71, +0x2F, 0x82, 0xD9, 0xB8, 0x28, 0x7E, 0x00, 0x57, 0x7E, 0x52, 0xCF, 0x3C, 0x39, 0xE3, 0xCF, 0xDC, +0xDE, 0xDC, 0x3C, 0xE3, 0xFF, 0xE7, 0xCC, 0x4C, 0x26, 0x31, 0x6A, 0xDE, 0x99, 0xFB, 0x9B, 0xE7, +0x9E, 0x73, 0x26, 0x79, 0xAF, 0x6F, 0xD2, 0x3F, 0xBA, 0x90, 0xDA, 0x0E, 0x02, 0x1F, 0xC3, 0x3D, +0x04, 0x07, 0xB1, 0x64, 0xE0, 0x01, 0x1F, 0x16, 0x21, 0xAB, 0x37, 0x4E, 0x7B, 0x3E, 0x5E, 0x3A, +0x6D, 0x00, 0x82, 0x7F, 0x08, 0x25, 0x83, 0x10, 0xCD, 0xAF, 0xF2, 0x73, 0x3C, 0x41, 0xC8, 0x3F, +0xC1, 0xC7, 0xA3, 0xC3, 0xC7, 0xAB, 0xBF, 0x9F, 0xA3, 0xBA, 0x87, 0xF0, 0x5A, 0x2C, 0x79, 0xF6, +0xBB, 0x25, 0x09, 0x69, 0x5D, 0x54, 0xA3, 0xD8, 0xB5, 0x21, 0x8B, 0x0F, 0xE4, 0xA6, 0x1F, 0x3D, +0x25, 0x4E, 0x0B, 0x04, 0xE9, 0x5E, 0x5E, 0x03, 0x0F, 0x08, 0xD1, 0x95, 0x00, 0x48, 0x1A, 0xFE, +0x81, 0x87, 0xB4, 0x1C, 0x04, 0x3C, 0x20, 0xC4, 0xF7, 0x10, 0xC9, 0x46, 0x64, 0x37, 0x1F, 0x13, +0xF8, 0x80, 0x90, 0x16, 0x1F, 0x5D, 0xDE, 0xAD, 0x08, 0x52, 0x6A, 0x80, 0xC0, 0x47, 0xBC, 0x81, +0x80, 0x90, 0x46, 0xFE, 0x01, 0x21, 0x13, 0x08, 0xF9, 0xEB, 0x78, 0x4C, 0x0E, 0xF9, 0x76, 0xD4, +0x30, 0xFF, 0xC0, 0x43, 0xDA, 0x0E, 0xC2, 0x25, 0x52, 0xBB, 0x41, 0x40, 0x2B, 0x63, 0x4D, 0x3E, +0xD0, 0xCE, 0xF2, 0x95, 0x7F, 0xB7, 0x3B, 0xFE, 0x91, 0x78, 0xC4, 0xB6, 0xF9, 0x76, 0xF8, 0xE0, +0x6E, 0x5E, 0x8F, 0x0F, 0x08, 0x29, 0xCB, 0x10, 0x24, 0x5F, 0x1D, 0x1F, 0xC5, 0xC1, 0x29, 0x8E, +0x5F, 0xCB, 0x3F, 0x24, 0xCB, 0x43, 0xD0, 0xE1, 0x30, 0x99, 0x7C, 0x40, 0x88, 0xC3, 0x07, 0xB1, +0x1D, 0x10, 0xE8, 0xB0, 0x08, 0x19, 0x21, 0x83, 0x90, 0x61, 0x80, 0xD0, 0x3E, 0x77, 0x55, 0x7C, +0x57, 0x4A, 0x1E, 0x52, 0xC9, 0x24, 0x15, 0x21, 0xFC, 0x23, 0x9F, 0x05, 0x21, 0xF5, 0x9B, 0x92, +0x6E, 0x34, 0x9A, 0x1E, 0x9E, 0xC9, 0xE4, 0x03, 0x0F, 0x69, 0xE6, 0x1F, 0x98, 0x47, 0x72, 0xE2, +0xF9, 0x07, 0x84, 0x58, 0x7C, 0xA0, 0x66, 0x02, 0x72, 0xC3, 0xF1, 0x59, 0x3F, 0xDE, 0x3C, 0x3F, +0x7E, 0x48, 0xE9, 0x39, 0xC2, 0x43, 0x7C, 0xD1, 0x3B, 0xB6, 0xB4, 0x83, 0x0F, 0xF0, 0x30, 0x08, +0x59, 0x1D, 0xC1, 0x07, 0x1E, 0x52, 0x03, 0x04, 0x3E, 0x88, 0xA3, 0xD5, 0x56, 0x44, 0x9E, 0xF2, +0x63, 0xA0, 0x78, 0xA5, 0xD1, 0xC9, 0x19, 0x44, 0x07, 0xED, 0xC1, 0xE1, 0x7C, 0xE0, 0x21, 0xAD, +0x86, 0xC8, 0x9B, 0x20, 0x72, 0x93, 0x3B, 0x37, 0x0D, 0x07, 0x79, 0xA8, 0xA8, 0x01, 0x08, 0x03, +0xD7, 0xF3, 0x90, 0x9E, 0x0D, 0x91, 0x91, 0xAC, 0x98, 0xFE, 0x01, 0x21, 0x16, 0x1F, 0x28, 0xFF, +0xB8, 0xDC, 0xBE, 0x9B, 0xCC, 0xC4, 0x74, 0x72, 0x33, 0x41, 0xE3, 0x3A, 0x52, 0x33, 0x10, 0xE6, +0x57, 0x6D, 0x0F, 0x71, 0xA6, 0x59, 0xBE, 0x1A, 0x7C, 0x8C, 0x46, 0x95, 0x91, 0xD9, 0xE2, 0xE3, +0xA5, 0x67, 0x51, 0x07, 0xA4, 0x7C, 0x9B, 0xE2, 0xC8, 0xE4, 0x03, 0x42, 0xFE, 0xC1, 0xF6, 0xE0, +0xA3, 0xCB, 0x07, 0x84, 0xD4, 0x5B, 0x5A, 0x9C, 0x7A, 0x6D, 0xD7, 0x9B, 0x8E, 0x90, 0x8D, 0x26, +0x7A, 0xBF, 0xBD, 0xB9, 0xB9, 0x7E, 0xA8, 0x6A, 0x67, 0xF9, 0x0A, 0xD1, 0x10, 0xA9, 0xE7, 0x1F, +0xE0, 0xC1, 0xE2, 0xF2, 0x41, 0xAA, 0xEE, 0xF3, 0x41, 0xB5, 0x97, 0xEF, 0x11, 0xE6, 0xAF, 0x2C, +0x5E, 0xEB, 0xC0, 0x14, 0x11, 0x0B, 0x47, 0xB0, 0xF4, 0x8F, 0xAA, 0xEC, 0x99, 0x31, 0x1E, 0x32, +0x44, 0xDB, 0xF9, 0x60, 0x60, 0xA2, 0xED, 0xB7, 0xA6, 0x1F, 0xD5, 0x46, 0x3D, 0x84, 0x00, 0x88, +0xBC, 0xA5, 0x8C, 0x30, 0x9F, 0xE3, 0x2D, 0xE9, 0x87, 0x3E, 0xC6, 0x8A, 0x05, 0x42, 0xC6, 0x7F, +0x7D, 0x7A, 0x45, 0x7A, 0x6E, 0x02, 0xD2, 0xFC, 0x55, 0x13, 0xC4, 0xCF, 0x2B, 0x52, 0xBF, 0xEA, +0xF6, 0xB5, 0x51, 0xCB, 0x90, 0xEF, 0xD8, 0x71, 0x0B, 0x16, 0xFE, 0xF1, 0x91, 0x56, 0x64, 0xF2, +0x01, 0x21, 0x35, 0x44, 0x04, 0xC3, 0x73, 0x3C, 0x42, 0x8D, 0xF6, 0x47, 0x55, 0x3B, 0xF8, 0xF8, +0xA8, 0xDF, 0x90, 0x87, 0xD0, 0x4F, 0x27, 0x0F, 0xD9, 0x70, 0x0E, 0x6D, 0x73, 0x83, 0xCA, 0xF6, +0x47, 0x45, 0xF1, 0xB2, 0xEB, 0x21, 0xF7, 0x82, 0x64, 0xE8, 0x8F, 0xBA, 0x37, 0xCB, 0xBB, 0xC5, +0xE0, 0xC4, 0x43, 0x2A, 0xED, 0x8F, 0x6A, 0xD4, 0x00, 0xA9, 0x47, 0x9D, 0x90, 0xC4, 0x63, 0xB2, +0x5E, 0x46, 0xB1, 0x2D, 0xCA, 0xBD, 0xFF, 0x72, 0x79, 0xB7, 0x7A, 0x15, 0x53, 0xE6, 0x58, 0xBB, +0x21, 0x4B, 0x2C, 0x64, 0x14, 0x02, 0x0D, 0xBE, 0x9C, 0xFE, 0x50, 0x8A, 0x51, 0xE6, 0xF1, 0x81, +0x2A, 0x84, 0xA4, 0x7F, 0x54, 0x11, 0x69, 0xB4, 0x3F, 0xAA, 0xF2, 0xFC, 0x03, 0xF1, 0x33, 0xC4, +0x38, 0xA6, 0x0E, 0x09, 0x1E, 0x72, 0xC3, 0x66, 0x83, 0x8B, 0xA2, 0xFD, 0x81, 0xCC, 0x44, 0xE4, +0x9E, 0xED, 0xDF, 0x36, 0xCB, 0x82, 0x8F, 0xE9, 0xF3, 0xC1, 0xF9, 0x54, 0xE5, 0x63, 0xDB, 0xA8, +0x3F, 0x2D, 0x00, 0x79, 0x09, 0x92, 0x8A, 0xA0, 0x65, 0x58, 0x96, 0xAF, 0x56, 0x93, 0x91, 0x34, +0x5D, 0x75, 0x8C, 0x4E, 0x3A, 0x54, 0x93, 0x90, 0x7F, 0x9B, 0x0F, 0xF0, 0x68, 0xE4, 0x21, 0x5C, +0xFA, 0x60, 0x23, 0xAD, 0x23, 0x57, 0x39, 0xC9, 0xCD, 0x43, 0xF9, 0x6B, 0x9C, 0x0F, 0x2D, 0x59, +0x7C, 0xA0, 0xB7, 0x82, 0x87, 0x2D, 0xFD, 0xC1, 0x92, 0x0D, 0x2D, 0x15, 0xC7, 0xC1, 0x3F, 0xBC, +0x59, 0xD6, 0x43, 0x83, 0xEF, 0xA2, 0x28, 0xF1, 0x70, 0x73, 0xFD, 0xF5, 0x89, 0x58, 0x20, 0x43, +0x47, 0x1B, 0x4F, 0x9A, 0xFE, 0x01, 0x21, 0x0E, 0x22, 0xF7, 0x9F, 0xDD, 0xC7, 0xC3, 0x5F, 0x26, +0x04, 0x3E, 0x34, 0x0E, 0x8B, 0xC1, 0x59, 0x23, 0x64, 0xF5, 0xC4, 0xA8, 0xAF, 0x04, 0x80, 0x74, +0xF6, 0xB1, 0xFD, 0x8D, 0x15, 0x42, 0xC4, 0xC2, 0x54, 0x8C, 0x44, 0x8C, 0x42, 0x6C, 0xF1, 0x90, +0x7F, 0xBB, 0x3D, 0x58, 0x35, 0xFA, 0xC2, 0x43, 0x24, 0xF2, 0x8F, 0x7C, 0xC6, 0x1A, 0x0A, 0x42, +0x18, 0x33, 0x11, 0xC5, 0xB0, 0x2A, 0x9F, 0xB5, 0xDA, 0x1F, 0xD5, 0x54, 0xFD, 0xFB, 0x67, 0xF6, +0xC1, 0x1C, 0x0B, 0x4A, 0xD8, 0x2B, 0xF9, 0xA8, 0xA8, 0xD5, 0x10, 0xE1, 0xF3, 0x56, 0xC5, 0xB7, +0x25, 0x23, 0x68, 0x7F, 0xC4, 0x8A, 0x87, 0x68, 0xA5, 0xA9, 0x9E, 0xD1, 0xF0, 0x0F, 0xF7, 0xCB, +0x85, 0xF7, 0x11, 0x3C, 0xF9, 0x2B, 0x84, 0xD0, 0x1E, 0xD4, 0x20, 0x9C, 0xC6, 0xD0, 0xDC, 0x18, +0x9C, 0x35, 0x42, 0x56, 0x6F, 0xC0, 0x47, 0x35, 0x00, 0x44, 0xE9, 0x47, 0x25, 0x68, 0xAA, 0x57, +0xDA, 0xE7, 0x42, 0x44, 0x5A, 0xE9, 0x33, 0xC5, 0x83, 0xB6, 0xF1, 0x21, 0xA3, 0xDC, 0xFB, 0xFF, +0xE0, 0xA3, 0xBC, 0x31, 0x4B, 0x27, 0x56, 0x20, 0x70, 0xF2, 0x89, 0x5C, 0xE2, 0x32, 0xDA, 0x23, +0x12, 0x95, 0x9E, 0x2D, 0x17, 0x5F, 0x54, 0xE5, 0xC3, 0x9E, 0x65, 0x41, 0x44, 0x81, 0x07, 0x2D, +0x43, 0x23, 0x3D, 0xDF, 0xDA, 0x10, 0xA9, 0x7D, 0x78, 0xF6, 0xCB, 0x54, 0x5D, 0xED, 0x73, 0x0E, +0x0E, 0xA4, 0xF0, 0x12, 0xA2, 0xFD, 0xD1, 0xBA, 0x3E, 0x55, 0xF2, 0x8D, 0x8C, 0x70, 0x8E, 0x8B, +0x8B, 0x34, 0x0F, 0x99, 0xC8, 0x5F, 0xF4, 0x10, 0xDA, 0x1F, 0x9A, 0xCC, 0x4C, 0x18, 0x9C, 0x7A, +0xD4, 0xC8, 0xDC, 0xE4, 0xA3, 0x49, 0x87, 0x9A, 0xEA, 0x09, 0x48, 0x1B, 0x0F, 0x1A, 0x22, 0xF0, +0xA1, 0x0F, 0xA0, 0x6D, 0x80, 0xBA, 0x4C, 0x5E, 0x62, 0xD5, 0x16, 0x42, 0xFE, 0x14, 0x1F, 0x3E, +0x1A, 0xCC, 0xAF, 0x4C, 0x0F, 0x21, 0xFD, 0x48, 0x4C, 0x18, 0x00, 0x45, 0x53, 0x5D, 0x13, 0xF3, +0x88, 0xAB, 0x72, 0x68, 0xF1, 0x84, 0xC7, 0xB2, 0xFD, 0xD1, 0x16, 0xE5, 0xDE, 0x10, 0xED, 0xC1, +0xAD, 0x88, 0x98, 0xFE, 0x01, 0x21, 0xBB, 0xEC, 0x83, 0x27, 0xB4, 0x0C, 0x15, 0xE9, 0x1F, 0x37, +0x1C, 0x0B, 0x48, 0xE1, 0x48, 0x35, 0xDA, 0x83, 0xDE, 0xEF, 0xF3, 0x96, 0x06, 0xC2, 0xF3, 0x3F, +0xDD, 0x32, 0xA4, 0xFD, 0x91, 0x13, 0xFD, 0x29, 0x83, 0x33, 0xF7, 0xC8, 0x43, 0x3C, 0x3E, 0x14, +0x6B, 0x40, 0xE8, 0x9E, 0x37, 0xE2, 0xE8, 0x77, 0x42, 0x12, 0x87, 0x1E, 0xCD, 0xA5, 0xF6, 0x26, +0xBD, 0x85, 0x88, 0xD4, 0x11, 0x2D, 0x43, 0x97, 0x0F, 0xCA, 0xBB, 0x7F, 0x9F, 0x7F, 0x60, 0x22, +0x45, 0xFE, 0x51, 0xF7, 0x8F, 0x13, 0x9A, 0xEA, 0xEB, 0x7A, 0x27, 0xF9, 0x79, 0x53, 0x10, 0x62, +0xF1, 0xA1, 0x86, 0x08, 0xFE, 0xD1, 0xC6, 0x43, 0xAB, 0xE7, 0x1F, 0xE8, 0x23, 0x27, 0xFD, 0x40, +0xFD, 0x54, 0xF2, 0x4A, 0xFE, 0x91, 0xDA, 0xF0, 0x90, 0x12, 0x15, 0xDA, 0x83, 0x86, 0x2E, 0x50, +0x9A, 0x05, 0x8E, 0xA1, 0x3D, 0xAD, 0x7A, 0x11, 0x13, 0xB1, 0x55, 0xFA, 0x87, 0xD8, 0x48, 0x07, +0x61, 0x70, 0x86, 0xAB, 0xE8, 0x25, 0x08, 0x59, 0x51, 0xDE, 0x6D, 0xC4, 0x69, 0x07, 0x08, 0xE9, +0x87, 0x43, 0xC8, 0xD3, 0x7A, 0x96, 0xB7, 0xFE, 0xBF, 0x2E, 0x13, 0x4D, 0xCC, 0x43, 0x78, 0xD0, +0x54, 0xFF, 0x87, 0xA6, 0x57, 0xC8, 0x38, 0x41, 0x34, 0x44, 0x42, 0x34, 0xCE, 0x8B, 0x15, 0x46, +0x3A, 0x65, 0x55, 0x07, 0x3E, 0x28, 0xF1, 0xE6, 0x93, 0x2A, 0x21, 0xEF, 0x9B, 0xEA, 0x09, 0x29, +0x80, 0xD8, 0x8A, 0xC8, 0x20, 0x3E, 0x48, 0xD5, 0xF9, 0xAC, 0x35, 0x17, 0xE1, 0xA5, 0x2B, 0xB5, +0x0C, 0xD5, 0x3E, 0x27, 0xE5, 0x28, 0xF2, 0x10, 0x8E, 0xD4, 0x0D, 0x3F, 0xEB, 0xEE, 0xE9, 0x8F, +0x78, 0xA0, 0x04, 0x43, 0x12, 0x1C, 0x7A, 0xF8, 0x53, 0x0D, 0x11, 0xDA, 0x1F, 0x59, 0x2A, 0x12, +0x24, 0xF8, 0x86, 0x9E, 0x24, 0x38, 0x4F, 0x4F, 0xF0, 0xE1, 0x44, 0xFC, 0x2D, 0xB7, 0xDE, 0x1B, +0x3B, 0x42, 0x56, 0x6A, 0x7F, 0xF0, 0x3F, 0xD5, 0x8E, 0xA0, 0x58, 0x26, 0xAC, 0x59, 0xDD, 0xA2, +0x65, 0x78, 0x88, 0xFE, 0x2B, 0xFF, 0x80, 0x90, 0x3C, 0xC3, 0xF8, 0x06, 0xD1, 0x17, 0xB4, 0x32, +0xC2, 0x43, 0xBA, 0x44, 0xA4, 0xA0, 0xA1, 0x5D, 0xEE, 0xFD, 0xC8, 0xE4, 0x83, 0x86, 0x88, 0x85, +0x87, 0x16, 0xE6, 0x57, 0x9E, 0xE0, 0xC3, 0x52, 0xC7, 0x07, 0xED, 0x73, 0x2C, 0xA3, 0xEA, 0x21, +0xB1, 0xD0, 0x3E, 0xB7, 0xA4, 0x3C, 0x43, 0x2C, 0xF4, 0x5E, 0x01, 0x2D, 0xF9, 0x0C, 0x7A, 0x86, +0x37, 0x44, 0xE0, 0x43, 0x6C, 0x68, 0x40, 0xC6, 0x70, 0x64, 0x70, 0xEA, 0x99, 0x8A, 0x59, 0xB1, +0x11, 0x21, 0x6A, 0x7F, 0x58, 0xF1, 0xA3, 0xED, 0x20, 0xA7, 0xBF, 0x1E, 0xC7, 0x2F, 0x70, 0xC5, +0xFF, 0xC0, 0x8A, 0x24, 0x64, 0xC0, 0xC5, 0x60, 0x12, 0xF1, 0x38, 0xF0, 0xEE, 0xC4, 0xF7, 0xE2, +0xE0, 0x5B, 0x11, 0xCB, 0x17, 0xF8, 0x44, 0xC3, 0x3F, 0x48, 0x46, 0xE0, 0x03, 0x35, 0x70, 0xF1, +0xFC, 0x83, 0x69, 0x56, 0xFA, 0x47, 0x42, 0xF2, 0x2C, 0x9E, 0x3D, 0x80, 0x87, 0x47, 0xC8, 0x0F, +0xDE, 0xFC, 0x8A, 0xDB, 0x4E, 0x94, 0x79, 0xBC, 0x99, 0x6B, 0x08, 0x40, 0xF2, 0x05, 0x3D, 0x6A, +0x63, 0xCE, 0xAF, 0xA8, 0x92, 0xE0, 0x20, 0x69, 0x17, 0xE0, 0xC1, 0x3F, 0x82, 0x9D, 0xC7, 0xC3, +0xC9, 0x67, 0x93, 0x43, 0x3F, 0x54, 0xDE, 0x7D, 0xA2, 0x7C, 0xA5, 0x74, 0x58, 0x60, 0x4C, 0x99, +0xDF, 0x88, 0x95, 0x6C, 0xAA, 0xD3, 0xFE, 0x30, 0x1C, 0xE4, 0x17, 0xF7, 0xBD, 0x51, 0xEC, 0xD2, +0xB7, 0x6B, 0x4D, 0xE9, 0xFE, 0xF7, 0xC7, 0x01, 0x31, 0x7E, 0x1C, 0xA8, 0x0B, 0xF0, 0x70, 0x10, +0x89, 0x9F, 0x89, 0x3B, 0x19, 0xA2, 0x98, 0x5F, 0x5D, 0x5F, 0xC7, 0x6A, 0x2D, 0xF1, 0x4E, 0x46, +0xA7, 0x45, 0xC8, 0xF7, 0x3F, 0x7F, 0xEF, 0x2B, 0xDE, 0xFC, 0x3E, 0x00, 0x5A, 0x84, 0x5C, 0x3D, +0x5C, 0xDB, 0x11, 0xB3, 0xAC, 0x93, 0x21, 0xBA, 0x09, 0xFB, 0xF0, 0x43, 0xB3, 0xAC, 0x41, 0x27, +0x36, 0xD6, 0xF1, 0x80, 0xA0, 0x7D, 0x9E, 0xC9, 0x47, 0xA0, 0xD1, 0x3F, 0xD7, 0xFE, 0x34, 0x1E, +0xE4, 0x20, 0x89, 0xC8, 0xF1, 0xC1, 0xAF, 0x2F, 0x79, 0xFA, 0x35, 0xA6, 0x58, 0x7A, 0xAF, 0xA3, +0x83, 0xD3, 0xD5, 0xE1, 0x72, 0x62, 0x6B, 0x34, 0x1A, 0x9F, 0xCF, 0xCF, 0x07, 0x68, 0x3E, 0xE4, +0x28, 0x1E, 0xC6, 0x71, 0x7C, 0x67, 0xF1, 0xCE, 0x00, 0x7D, 0x7E, 0x72, 0x7B, 0x62, 0x2B, 0xDE, +0x7B, 0x75, 0x3D, 0x40, 0x57, 0xD7, 0xDF, 0xF9, 0x83, 0xF7, 0xAE, 0x5B, 0xBF, 0xFF, 0x66, 0x90, +0xBE, 0xFF, 0x50, 0xFF, 0x9A, 0xFD, 0x3F, 0xF8, 0xEE, 0x7A, 0x90, 0xAE, 0xE2, 0xD8, 0xDC, 0x9A, +0x11, 0xCB, 0x25, 0x47, 0xDE, 0xD2, 0x7D, 0x9C, 0xAF, 0xF8, 0x91, 0x9F, 0x38, 0x67, 0x11, 0x2C, +0xEB, 0x97, 0x0E, 0x37, 0x9E, 0x5F, 0x74, 0x84, 0xC4, 0x60, 0x98, 0xD9, 0xCB, 0xF9, 0xF9, 0x72, +0x32, 0xD2, 0x90, 0x5B, 0xE6, 0xA2, 0xDD, 0xA5, 0x36, 0xDA, 0x95, 0xD8, 0xDF, 0x3F, 0xB6, 0xC7, +0x7C, 0x4C, 0xB1, 0x7E, 0x74, 0x59, 0x3A, 0x3D, 0x8E, 0x34, 0x7D, 0x6A, 0x13, 0xD2, 0xB5, 0x0B, +0xC7, 0x67, 0xF1, 0x27, 0x3D, 0x33, 0x97, 0xD0, 0x10, 0x42, 0x2E, 0x42, 0xEF, 0x7C, 0xE1, 0x9F, +0xA3, 0xCB, 0x93, 0xC5, 0xC9, 0xAD, 0x39, 0x06, 0x6E, 0xC3, 0x3F, 0x42, 0xD7, 0xBE, 0x1E, 0xBE, +0xFB, 0x2E, 0x2C, 0xE4, 0xCE, 0x8C, 0x68, 0x86, 0x7C, 0xFF, 0xE1, 0xF7, 0xC3, 0xF8, 0x08, 0x42, +0x7C, 0x40, 0xBE, 0x0B, 0x5D, 0x0F, 0xD0, 0x55, 0xC8, 0xBE, 0x7C, 0xC4, 0x1B, 0x2F, 0x2F, 0x2F, +0xFD, 0x23, 0xBF, 0x78, 0xE7, 0x22, 0xD4, 0x5B, 0x43, 0x12, 0x91, 0xDB, 0x24, 0x83, 0x97, 0xF4, +0xDA, 0xD9, 0x10, 0x9D, 0x9F, 0x8D, 0xBB, 0x16, 0xE1, 0xC4, 0xD4, 0x74, 0x12, 0x3F, 0x29, 0x7D, +0x34, 0x08, 0x10, 0x53, 0x51, 0xC6, 0x7A, 0xE3, 0x68, 0x7F, 0x34, 0xF5, 0xF0, 0xE8, 0xF8, 0x10, +0x21, 0x67, 0x83, 0xE4, 0xF3, 0x71, 0x3F, 0xEF, 0x08, 0xF9, 0x7C, 0xF1, 0xF9, 0x3B, 0x56, 0xC4, +0x29, 0xFD, 0xE2, 0xF2, 0xD2, 0xBE, 0x46, 0x5E, 0x09, 0x90, 0x2B, 0x9F, 0x8F, 0xD0, 0x83, 0x6D, +0x22, 0x77, 0x31, 0xDC, 0x43, 0x3F, 0x57, 0x59, 0xF8, 0xB9, 0x54, 0xBC, 0x14, 0x6F, 0x1F, 0x42, +0xC8, 0x77, 0xD2, 0x83, 0xFB, 0xE1, 0xAF, 0xAF, 0x24, 0xDB, 0x42, 0x74, 0x28, 0x2F, 0x75, 0x58, +0xAD, 0x58, 0xA7, 0x16, 0xC2, 0x43, 0x16, 0x91, 0x5C, 0xF0, 0x10, 0x5B, 0xF0, 0x19, 0xC6, 0xC7, +0xFC, 0xFC, 0x6C, 0x39, 0x16, 0x21, 0x26, 0x22, 0xA3, 0xFD, 0xA3, 0x37, 0xF6, 0x6D, 0x42, 0x3E, +0xEE, 0x92, 0xF4, 0x63, 0x8F, 0x8F, 0xEE, 0x27, 0xE2, 0xDE, 0x38, 0x7A, 0x63, 0xE4, 0xFB, 0x87, +0x14, 0xDE, 0x60, 0x28, 0xDF, 0x64, 0x7B, 0x88, 0x0E, 0xF9, 0x9A, 0x10, 0xE3, 0x0C, 0x25, 0x1F, +0x22, 0xC4, 0xCB, 0x3F, 0xA4, 0x68, 0x2D, 0x3F, 0xB8, 0x7C, 0x48, 0x9D, 0x87, 0x38, 0x8A, 0xFC, +0x5C, 0x5D, 0xC2, 0x9F, 0xC1, 0x01, 0x55, 0x90, 0x89, 0xF7, 0x8A, 0x90, 0x3B, 0xDF, 0x3F, 0x24, +0xDB, 0x3E, 0x06, 0x11, 0x12, 0x13, 0x2C, 0x21, 0xE2, 0xF2, 0x91, 0x59, 0xB8, 0x60, 0xC0, 0x48, +0x78, 0xD4, 0xAB, 0x5A, 0xB5, 0x37, 0xCC, 0x3E, 0xE6, 0xB3, 0xB1, 0xE4, 0x12, 0x32, 0x8A, 0x21, +0x1C, 0xF2, 0x08, 0x51, 0x92, 0xFE, 0xAE, 0x6E, 0x54, 0xDC, 0xA9, 0x37, 0x3A, 0x3E, 0xA4, 0xD1, +0xD4, 0xF2, 0x8F, 0xFC, 0xE0, 0x4B, 0x06, 0xBF, 0xA5, 0x0B, 0x9F, 0x0F, 0x6D, 0xE6, 0x41, 0xC8, +0x0E, 0x89, 0x0F, 0xC9, 0xF4, 0x10, 0xF1, 0x91, 0x88, 0x3C, 0xD8, 0x7C, 0xC8, 0x43, 0x0C, 0x42, +0xBE, 0x4B, 0xFF, 0xC0, 0x43, 0x0A, 0x1C, 0x80, 0x06, 0xFF, 0x18, 0x42, 0xC8, 0x77, 0xC8, 0xF9, +0xF0, 0x57, 0xC8, 0x9A, 0x5F, 0x05, 0x1E, 0xBA, 0xD6, 0x04, 0x21, 0x4E, 0xE6, 0x37, 0xA7, 0x9A, +0x0B, 0x16, 0x17, 0xB0, 0x52, 0x38, 0xC8, 0x50, 0xFF, 0x18, 0x87, 0x20, 0xC4, 0xE0, 0x23, 0xB5, +0xFF, 0x86, 0xC5, 0xC7, 0xC1, 0xBB, 0x2F, 0x7C, 0xF5, 0xD3, 0xC1, 0xE9, 0x4E, 0x0F, 0x39, 0x16, +0x1E, 0xA9, 0xD1, 0xCE, 0x4F, 0x31, 0x59, 0xCE, 0xF8, 0xDC, 0x63, 0x08, 0xB1, 0xE4, 0xF0, 0x91, +0x78, 0x68, 0xBB, 0x73, 0x9A, 0xF5, 0xCE, 0x17, 0xB2, 0x8F, 0x8C, 0x5D, 0x74, 0xC8, 0x3F, 0x00, +0xE4, 0xCA, 0xE5, 0xC3, 0x34, 0x11, 0xD9, 0x87, 0x46, 0xBC, 0x30, 0xE9, 0xC6, 0x7F, 0x19, 0x35, +0xFF, 0x48, 0x42, 0xBE, 0xDF, 0x49, 0xC8, 0x5D, 0xC7, 0x07, 0xB2, 0xFC, 0x03, 0x89, 0x80, 0x76, +0x24, 0x1D, 0xDA, 0x7C, 0xB1, 0xCB, 0x3D, 0x16, 0xF0, 0x21, 0x42, 0x00, 0x21, 0xC4, 0xA4, 0x2B, +0x33, 0x13, 0xA6, 0x57, 0x2E, 0x1F, 0x91, 0x7E, 0xA0, 0x48, 0xD5, 0x0D, 0x3E, 0x20, 0x64, 0x97, +0x2D, 0x04, 0x16, 0x07, 0x3F, 0x7D, 0x15, 0x80, 0xFC, 0x14, 0x1E, 0xB2, 0x8B, 0x8F, 0xD5, 0x1B, +0xE8, 0x68, 0xB5, 0xDC, 0xC5, 0xC7, 0x78, 0x43, 0x03, 0x09, 0xF1, 0xF8, 0xC0, 0x43, 0xDE, 0x69, +0x02, 0x12, 0x67, 0x49, 0xE7, 0x33, 0xA2, 0xD3, 0xE2, 0x72, 0xE7, 0x35, 0xF2, 0x0A, 0x39, 0xA9, +0xFA, 0x77, 0x9B, 0xDA, 0x39, 0x82, 0x7B, 0x3F, 0xC0, 0x43, 0x62, 0x65, 0x29, 0x89, 0x51, 0xFA, +0x01, 0x21, 0x1F, 0x5A, 0x7C, 0x20, 0xCB, 0x3F, 0xD0, 0xEE, 0xE9, 0x95, 0xC0, 0x88, 0x48, 0x42, +0x76, 0x20, 0x32, 0xCF, 0x93, 0x84, 0x87, 0x68, 0x15, 0x15, 0x82, 0x02, 0x07, 0xD1, 0xCE, 0x9F, +0xE1, 0x03, 0xED, 0x22, 0x24, 0x46, 0x31, 0x52, 0xB7, 0xB0, 0xA5, 0xE3, 0xD3, 0x83, 0x9F, 0x02, +0x90, 0xD7, 0x7E, 0xDA, 0x49, 0xC8, 0x71, 0xE0, 0xB6, 0xA1, 0xD5, 0xD4, 0xE1, 0x63, 0x96, 0xDB, +0x3F, 0x43, 0xC8, 0x45, 0x0B, 0x8F, 0x0D, 0x40, 0x62, 0x6D, 0x17, 0xB3, 0xBE, 0x38, 0xE9, 0xAF, +0x77, 0x8A, 0x6E, 0x96, 0xD5, 0xAA, 0x66, 0x85, 0x69, 0x94, 0x84, 0x3C, 0x18, 0x7C, 0x30, 0xCB, +0x52, 0x99, 0x6A, 0x57, 0xFA, 0x81, 0xBE, 0x2F, 0x09, 0x89, 0x60, 0x49, 0xFF, 0x40, 0xDF, 0x7E, +0x68, 0xCD, 0xAF, 0x90, 0xE7, 0x1F, 0x10, 0xE2, 0xCC, 0xAF, 0x92, 0x8F, 0xD0, 0xA2, 0x31, 0xCD, +0x8A, 0x7F, 0x94, 0xE7, 0x88, 0xCD, 0x46, 0x0A, 0x72, 0xC8, 0x34, 0x2B, 0x11, 0x19, 0xCE, 0xC7, +0x4C, 0x11, 0x8F, 0x10, 0x62, 0xF1, 0x21, 0x42, 0x4E, 0xDB, 0xFE, 0xD1, 0x91, 0x11, 0x0E, 0x72, +0xF0, 0x53, 0x28, 0x70, 0xF1, 0xE6, 0x57, 0xD2, 0xD1, 0x7E, 0x8B, 0x0F, 0xF0, 0xC8, 0xCF, 0x3E, +0x98, 0x90, 0x0B, 0x2B, 0xFD, 0xE0, 0x76, 0x85, 0x86, 0x87, 0x7C, 0xDE, 0x93, 0xA1, 0xB4, 0x72, +0xBD, 0xB3, 0xAB, 0x7E, 0x55, 0xCA, 0xE2, 0x03, 0x44, 0x5A, 0x80, 0xE0, 0x06, 0x05, 0x21, 0x11, +0x35, 0x44, 0xD2, 0x3F, 0xD0, 0xF7, 0x10, 0xD2, 0xF4, 0x0F, 0x64, 0xF1, 0x81, 0x6E, 0x5A, 0xC5, +0xEF, 0xE0, 0x43, 0x68, 0x88, 0x90, 0x5D, 0xB3, 0xAC, 0x85, 0xF8, 0x28, 0xCF, 0x57, 0x8F, 0x44, +0xEF, 0x19, 0xD4, 0x77, 0xFF, 0xAC, 0x7F, 0x30, 0xD8, 0x44, 0x88, 0xC1, 0x07, 0x1E, 0xD2, 0x70, +0x05, 0x71, 0xA1, 0x29, 0x96, 0xF4, 0xEB, 0xB1, 0xC1, 0x07, 0xDA, 0x9F, 0x4C, 0x5B, 0x7C, 0x88, +0x67, 0xB4, 0x8C, 0x72, 0xEF, 0x5F, 0x4F, 0xD5, 0xE1, 0xA3, 0x44, 0xE4, 0xFE, 0xF3, 0x45, 0x23, +0xFF, 0xC0, 0x3F, 0x62, 0xC9, 0x59, 0xD6, 0xED, 0xB6, 0xEE, 0x60, 0x55, 0x06, 0x1F, 0x1E, 0x21, +0x31, 0xBE, 0x4B, 0x3C, 0xE2, 0x96, 0xAC, 0x20, 0xA1, 0xC4, 0x23, 0x73, 0x11, 0xD8, 0xF0, 0x3C, +0x44, 0xE9, 0x50, 0x29, 0x8F, 0x0F, 0xB4, 0x3D, 0x0F, 0xD1, 0x45, 0x46, 0x87, 0x32, 0x37, 0x99, +0xAA, 0x6F, 0x39, 0xF6, 0x17, 0x52, 0x79, 0xB6, 0x64, 0x1D, 0x21, 0x10, 0x49, 0x66, 0x86, 0xB7, +0x3F, 0x74, 0xED, 0x5D, 0x76, 0x11, 0x0F, 0xBB, 0x66, 0x59, 0x4F, 0x6F, 0x48, 0x1E, 0x21, 0xA7, +0x1D, 0x1F, 0x38, 0x88, 0x76, 0x8F, 0x0D, 0x3E, 0xD0, 0xFE, 0x68, 0x3B, 0x1F, 0xC2, 0x23, 0x3E, +0x76, 0xAC, 0x11, 0xDD, 0xD3, 0xE5, 0x63, 0x14, 0x1C, 0xFE, 0x16, 0x42, 0x38, 0xD2, 0x6C, 0x54, +0xEE, 0xDD, 0x5A, 0xBE, 0xDA, 0x38, 0x9B, 0x3B, 0x52, 0xF5, 0x9B, 0xAB, 0xBA, 0x8C, 0xF4, 0x1C, +0xA9, 0x65, 0x58, 0xE7, 0xE3, 0xDB, 0xCA, 0x88, 0x57, 0xB9, 0x37, 0x03, 0x44, 0x04, 0x4D, 0xDC, +0x82, 0x85, 0x0C, 0x0F, 0xB9, 0xDE, 0xF2, 0x79, 0x1A, 0xED, 0x8F, 0x9A, 0xB6, 0xB5, 0x07, 0x55, +0xDD, 0xE5, 0x70, 0xEE, 0x28, 0x66, 0x7D, 0x5E, 0xA3, 0xE3, 0x3E, 0x53, 0x75, 0x72, 0x0F, 0x18, +0x19, 0xDA, 0xFE, 0xE0, 0x32, 0xBC, 0x3C, 0xCB, 0x01, 0xD7, 0xF0, 0x90, 0x68, 0x7F, 0xD4, 0x08, +0x39, 0x6A, 0xFA, 0x07, 0x0E, 0x22, 0x42, 0x8E, 0xB7, 0xB4, 0x3F, 0x6A, 0x3A, 0xC2, 0x43, 0x8A, +0xF6, 0x60, 0xD2, 0xD1, 0xED, 0xA1, 0xC7, 0xE5, 0x9F, 0xF0, 0x90, 0x0B, 0xC7, 0x3F, 0x12, 0x91, +0xFA, 0x2C, 0x2B, 0x4F, 0x22, 0xF3, 0x2B, 0x85, 0x3C, 0xA4, 0x55, 0xDE, 0x45, 0x34, 0x44, 0x4C, +0x3E, 0xA4, 0x6B, 0xC3, 0x3F, 0x90, 0x3C, 0x04, 0x13, 0x61, 0x03, 0x4D, 0xA5, 0xEB, 0x34, 0xDA, +0x1F, 0x26, 0x21, 0xA4, 0xE7, 0xA8, 0xDD, 0x10, 0xC1, 0x84, 0xD7, 0x74, 0x70, 0x38, 0xEB, 0x0E, +0xC2, 0xF9, 0x29, 0x37, 0x54, 0xB1, 0x78, 0x1C, 0xEE, 0x1F, 0xA1, 0xBC, 0x02, 0xCB, 0x3E, 0xDA, +0xE5, 0xDE, 0x91, 0xF8, 0x30, 0x08, 0x21, 0x3D, 0x2F, 0x1D, 0x44, 0x84, 0x9C, 0x96, 0xB7, 0x97, +0xD4, 0xF9, 0xA0, 0x21, 0x52, 0xF2, 0x91, 0x24, 0x4B, 0xDA, 0x99, 0x2D, 0xEF, 0x7B, 0x4B, 0x39, +0xDB, 0x1B, 0x44, 0x88, 0x91, 0x9F, 0xB3, 0xA9, 0x37, 0xD5, 0xB9, 0xCC, 0x69, 0xC3, 0x6E, 0xBD, +0x65, 0x78, 0xB5, 0x55, 0xB7, 0xA4, 0xEA, 0xCD, 0xE9, 0x55, 0xAB, 0x21, 0x72, 0x97, 0xF9, 0x79, +0x55, 0xCF, 0x1C, 0xA4, 0xCE, 0x47, 0xAB, 0x21, 0xF2, 0x5D, 0x4B, 0x35, 0xFF, 0xB8, 0x19, 0x44, +0x08, 0x44, 0x40, 0x4A, 0x48, 0x8F, 0x8D, 0xF6, 0x60, 0x75, 0x03, 0x1C, 0x74, 0x0B, 0x5B, 0x76, +0x51, 0x6B, 0x7F, 0x30, 0x8F, 0x07, 0x15, 0x79, 0x08, 0x84, 0x34, 0xF8, 0x40, 0x10, 0x52, 0xF2, +0x81, 0x83, 0x6C, 0xF7, 0x10, 0xCA, 0x57, 0x15, 0x0F, 0xE9, 0x09, 0x81, 0x0F, 0xB5, 0x3F, 0xB0, +0x10, 0x3D, 0xEA, 0x25, 0x7D, 0xEE, 0xF1, 0x39, 0x84, 0x38, 0xAA, 0xF1, 0xB1, 0x1D, 0x90, 0xC7, +0x20, 0xA4, 0xF0, 0xF8, 0x62, 0x2E, 0x10, 0xAB, 0x7C, 0x24, 0xF7, 0x4A, 0x13, 0x81, 0x8F, 0xBA, +0x1E, 0x1C, 0x3E, 0x50, 0x85, 0x8F, 0xC6, 0x80, 0xFF, 0xF0, 0x79, 0x8A, 0x5E, 0x7D, 0x27, 0x0D, +0x91, 0x7A, 0x7A, 0xEE, 0x13, 0x02, 0x1E, 0x35, 0xD5, 0xCA, 0x57, 0xBD, 0xC0, 0x64, 0x1D, 0xA1, +0xE2, 0xC8, 0xAB, 0xBC, 0xDB, 0x00, 0x04, 0xE7, 0xC8, 0xAE, 0xE1, 0x9F, 0x6C, 0x0F, 0xA6, 0x7D, +0x74, 0x01, 0x2A, 0x33, 0x08, 0xA1, 0xFD, 0x51, 0x17, 0x2D, 0xC3, 0xB2, 0xFD, 0x21, 0xE1, 0x20, +0xBD, 0xD6, 0x4D, 0x75, 0xFC, 0x83, 0xF6, 0x47, 0xD3, 0x43, 0xE0, 0x83, 0x8F, 0x8D, 0x93, 0x08, +0xEC, 0xBF, 0xA3, 0x65, 0xC8, 0x11, 0xAE, 0x6E, 0xCA, 0x86, 0x48, 0xE5, 0x5C, 0x26, 0x27, 0x8A, +0xC5, 0xA5, 0x37, 0xBF, 0x62, 0x9A, 0xE5, 0xF0, 0x81, 0x85, 0x14, 0x1E, 0x72, 0x87, 0x7D, 0xD4, +0x95, 0x6C, 0x30, 0xBF, 0x12, 0x37, 0x0D, 0xA4, 0x2C, 0x3E, 0x50, 0x99, 0x9E, 0x03, 0x88, 0x91, +0xA9, 0x9F, 0x14, 0x73, 0x54, 0x32, 0x3B, 0x45, 0x99, 0xA9, 0x53, 0xDE, 0x6D, 0x78, 0x08, 0x0E, +0x32, 0xB8, 0x3D, 0xC8, 0xF0, 0x82, 0x8A, 0x1E, 0x15, 0x5A, 0x86, 0x06, 0x1F, 0xB4, 0x0C, 0x6B, +0xFE, 0x81, 0x83, 0x20, 0x1A, 0x22, 0xFA, 0xB5, 0x9F, 0x2D, 0x06, 0x42, 0xCB, 0x70, 0x32, 0x25, +0x3D, 0xCF, 0x62, 0x5B, 0x42, 0x31, 0xEB, 0x70, 0xB9, 0x5F, 0xCE, 0x48, 0xD9, 0x87, 0x13, 0xE2, +0xF9, 0x07, 0x1B, 0x4E, 0x11, 0xFE, 0x91, 0x8E, 0xA1, 0x15, 0x1F, 0x89, 0x55, 0x84, 0xA0, 0xAB, +0xDD, 0x2A, 0xF9, 0xF0, 0x09, 0xF9, 0xEE, 0xC3, 0x36, 0x1F, 0xDF, 0xD3, 0x10, 0xA1, 0x7C, 0xD5, +0x16, 0x1E, 0xC2, 0xFC, 0xAA, 0x29, 0x27, 0x3D, 0x47, 0x1B, 0xF7, 0xBF, 0xE7, 0xDD, 0x57, 0x44, +0x39, 0xC7, 0x52, 0xCB, 0x70, 0xA3, 0x7D, 0xBE, 0x0B, 0x91, 0x74, 0x8E, 0x3F, 0xDF, 0xFE, 0x08, +0x69, 0x7C, 0xE1, 0x20, 0xC0, 0x32, 0x83, 0x10, 0xCA, 0xBB, 0x15, 0xD1, 0x10, 0xF9, 0x95, 0x61, +0x8F, 0x7F, 0xE0, 0x20, 0x15, 0x42, 0x28, 0x5F, 0x35, 0xB5, 0xEA, 0xF1, 0xF8, 0xBD, 0xBC, 0xDB, +0xCF, 0x04, 0x11, 0xA8, 0x0F, 0x26, 0xC4, 0x48, 0xCF, 0xD9, 0xA4, 0x87, 0x48, 0x9F, 0x2F, 0x4E, +0x0A, 0xFF, 0x10, 0x15, 0xDA, 0x03, 0x9B, 0x13, 0x3A, 0x86, 0x57, 0x8E, 0x6C, 0x3E, 0xCA, 0x9B, +0x7B, 0xA3, 0x38, 0x5B, 0x35, 0x84, 0x4A, 0x53, 0x5D, 0xDB, 0x9F, 0x05, 0x4D, 0x43, 0x34, 0xD5, +0xE1, 0xC3, 0x27, 0xE4, 0xCA, 0x52, 0x5E, 0x3F, 0xE4, 0x1F, 0xE0, 0x50, 0xF3, 0xE5, 0xCC, 0x43, +0xB8, 0xFD, 0xAA, 0x4D, 0x87, 0x56, 0x12, 0x90, 0xE1, 0xFE, 0x31, 0xD3, 0x28, 0xD3, 0x84, 0x45, +0x68, 0x74, 0x4F, 0x15, 0x4A, 0x79, 0x29, 0xF7, 0x7A, 0x7C, 0xD0, 0x54, 0x97, 0x7F, 0xC0, 0x42, +0xE9, 0x20, 0x34, 0x44, 0x3C, 0x3E, 0xA4, 0x27, 0xCA, 0xBB, 0xD2, 0xDA, 0xE2, 0xFA, 0x1A, 0xAF, +0xF8, 0x4E, 0xD2, 0x45, 0xCF, 0x9F, 0x6E, 0xAA, 0x5F, 0xCC, 0x77, 0xDA, 0x76, 0x36, 0xD5, 0x75, +0xA2, 0xBE, 0xC0, 0x3F, 0x78, 0xE0, 0xA5, 0xBE, 0x98, 0xC5, 0xED, 0x57, 0x8E, 0xC8, 0xD4, 0xAD, +0x01, 0x29, 0x0F, 0x31, 0xFC, 0x03, 0x0F, 0xE9, 0xF3, 0x8F, 0xF6, 0xBB, 0x69, 0x88, 0xC0, 0x87, +0x25, 0xF8, 0xB0, 0x74, 0xB3, 0x71, 0xF7, 0x2E, 0x51, 0x96, 0xCC, 0x7B, 0x78, 0x7A, 0x0B, 0xE1, +0xEB, 0xB4, 0xED, 0x4D, 0x22, 0xF2, 0x27, 0xCB, 0x57, 0x6B, 0xB3, 0x58, 0x8E, 0xFB, 0x21, 0x56, +0x74, 0x0D, 0x45, 0x88, 0xC3, 0x07, 0x0D, 0x11, 0xDA, 0x1F, 0x75, 0x07, 0x21, 0x55, 0x87, 0x0F, +0x8B, 0x90, 0x69, 0xC7, 0x07, 0xF3, 0x28, 0x6D, 0x4B, 0xCD, 0xC8, 0x43, 0x06, 0x36, 0x44, 0xF0, +0x0F, 0x6B, 0x23, 0x0F, 0x51, 0xF9, 0x0A, 0xE3, 0xA0, 0xF2, 0x52, 0xF1, 0x10, 0xEE, 0xBE, 0xF2, +0x3C, 0xE4, 0xC1, 0xE5, 0x83, 0x4C, 0x1D, 0x33, 0xD8, 0x45, 0x89, 0xF0, 0xE0, 0xF6, 0xAB, 0xA6, +0x68, 0x88, 0x84, 0x59, 0x79, 0x2A, 0xE6, 0x57, 0xE6, 0x2C, 0x8B, 0x8B, 0x4C, 0x85, 0x12, 0x5E, +0xEE, 0x6F, 0xCC, 0xBA, 0x37, 0xF0, 0xE0, 0x1B, 0x22, 0x83, 0xBF, 0xFD, 0xD1, 0x8F, 0xA5, 0x9C, +0x5B, 0x31, 0xBC, 0xE8, 0xBA, 0xC5, 0x56, 0x1E, 0x42, 0x7B, 0xD0, 0x25, 0x04, 0x3E, 0xEA, 0x0E, +0x02, 0x21, 0x47, 0x1E, 0x1F, 0x6A, 0x88, 0x4C, 0xF5, 0xED, 0x8F, 0x9C, 0x56, 0xF5, 0x80, 0x2B, +0x64, 0x1D, 0x5A, 0x3B, 0xDD, 0xCB, 0x1B, 0x1F, 0x07, 0x37, 0x44, 0x28, 0xEF, 0x3A, 0x26, 0xD2, +0xF9, 0x47, 0x6F, 0x11, 0x50, 0x01, 0x1D, 0x9C, 0x6A, 0xA5, 0xEA, 0xDC, 0x5E, 0xE2, 0x09, 0xFF, +0xB0, 0x74, 0x47, 0x79, 0xD7, 0x22, 0x24, 0xD3, 0x73, 0x47, 0xA2, 0x88, 0xF6, 0x87, 0xA5, 0x07, +0xDB, 0x3F, 0x48, 0xD5, 0xBF, 0xF8, 0xDD, 0x3F, 0x50, 0xA5, 0xF2, 0xA1, 0xD4, 0x2E, 0xBF, 0x3D, +0x68, 0x5E, 0xCF, 0x06, 0xF3, 0x11, 0x23, 0x67, 0x5C, 0x4A, 0xA3, 0x0B, 0x25, 0x34, 0xD9, 0x32, +0xA4, 0x3D, 0xE8, 0x10, 0x82, 0x7F, 0xD4, 0x1D, 0x84, 0x57, 0xE1, 0xC3, 0xD2, 0x68, 0xCD, 0x84, +0x30, 0xAE, 0x39, 0xC8, 0x8C, 0xD7, 0xF8, 0x96, 0xE1, 0x00, 0x42, 0x22, 0xB9, 0xB8, 0xF0, 0x3D, +0x24, 0xA6, 0x57, 0x25, 0x0C, 0xD4, 0xEE, 0x2B, 0xE8, 0x30, 0xBD, 0xF2, 0xC4, 0x70, 0xB3, 0x12, +0x91, 0xB7, 0x31, 0x03, 0x8F, 0x10, 0xDE, 0xEE, 0xCC, 0xB2, 0xEE, 0x3E, 0xFD, 0x6E, 0x90, 0x28, +0x5F, 0x59, 0xE2, 0xEE, 0x2B, 0x70, 0xC0, 0x80, 0x73, 0x97, 0x17, 0x17, 0x73, 0x9B, 0x0E, 0xAD, +0x43, 0xF3, 0x8F, 0x19, 0x77, 0x97, 0x44, 0x50, 0x2E, 0x25, 0x72, 0xC0, 0xDD, 0x0B, 0x96, 0xD1, +0x1B, 0xBE, 0x62, 0xC4, 0xC3, 0x47, 0xDD, 0x41, 0xD0, 0x4B, 0x16, 0x1F, 0xD4, 0xB2, 0x36, 0x79, +0x16, 0x24, 0x84, 0x00, 0x07, 0x13, 0xFD, 0x09, 0x07, 0x89, 0x9C, 0xCF, 0xD9, 0x3C, 0xCE, 0x7B, +0x1A, 0x54, 0xAB, 0x4A, 0x0C, 0xE0, 0xA4, 0xCF, 0xD5, 0x73, 0x77, 0xF1, 0x4F, 0x03, 0x42, 0x7D, +0xD7, 0x24, 0x64, 0xC0, 0x7B, 0xBB, 0x7E, 0x08, 0xF3, 0x2B, 0x4B, 0x18, 0x88, 0x07, 0x48, 0xA5, +0x40, 0x1E, 0x87, 0x0D, 0x53, 0x2E, 0x3C, 0xE4, 0x42, 0xB2, 0x11, 0x39, 0x1B, 0xA6, 0x71, 0x6D, +0xEE, 0x3E, 0x5B, 0x96, 0x8E, 0xD2, 0x4F, 0xC1, 0xC6, 0xAB, 0xA3, 0x21, 0x84, 0xAC, 0xE2, 0xF6, +0x5D, 0xCB, 0x41, 0xE2, 0x27, 0x7B, 0x07, 0x11, 0xF2, 0xA4, 0x1B, 0xDC, 0x67, 0x9A, 0x43, 0x65, +0x81, 0x61, 0x23, 0xF7, 0xE8, 0x1B, 0xEA, 0x9D, 0x3A, 0x5C, 0x1E, 0x0F, 0x07, 0x11, 0x32, 0x9F, +0xFB, 0x84, 0x64, 0xAD, 0x97, 0x49, 0x14, 0x9D, 0xC1, 0x8D, 0x73, 0x4A, 0x5C, 0x92, 0xA1, 0x7B, +0x62, 0x86, 0x65, 0xE6, 0xE9, 0x31, 0xC5, 0xF2, 0x93, 0x90, 0x90, 0x05, 0x14, 0x1D, 0x75, 0x08, +0xF9, 0x47, 0xA6, 0x58, 0x1B, 0xD3, 0xA9, 0x10, 0xDD, 0x73, 0x2E, 0x43, 0x1C, 0xEE, 0x7B, 0x2F, +0x03, 0xA1, 0x73, 0x35, 0x68, 0xB6, 0x3D, 0x7E, 0x7C, 0xC4, 0x2E, 0x62, 0xB8, 0xF5, 0xA3, 0xAA, +0x7F, 0xA6, 0x75, 0xCC, 0x05, 0x79, 0x34, 0x72, 0x32, 0x74, 0x6A, 0xBD, 0x07, 0x6D, 0x07, 0x81, +0x8F, 0x5F, 0x3B, 0x42, 0xEC, 0xFF, 0xF6, 0xAA, 0xFB, 0xB5, 0xA1, 0xBE, 0x61, 0xBE, 0xCC, 0xE6, +0x39, 0xB5, 0xDE, 0x6E, 0x5F, 0xAF, 0xF5, 0xF5, 0x86, 0xEE, 0x27, 0x7B, 0x06, 0x10, 0x32, 0xEF, +0xE4, 0x1D, 0x76, 0x6D, 0x23, 0x4B, 0x54, 0x92, 0x0E, 0x14, 0x5A, 0xCA, 0xDE, 0x6F, 0xBF, 0x0D, +0x3E, 0x4C, 0x0F, 0xA1, 0x9F, 0xFE, 0x60, 0x8F, 0xC7, 0xC0, 0xE3, 0x8E, 0x1E, 0xBA, 0xE3, 0x1F, +0x10, 0x62, 0xF2, 0xF1, 0xF6, 0xDD, 0xFB, 0x0F, 0x3E, 0x1F, 0xC3, 0x00, 0x39, 0xE9, 0x2E, 0x1F, +0xFD, 0xC1, 0xA2, 0x55, 0xA8, 0x28, 0x77, 0x94, 0x82, 0xCC, 0xE3, 0xE8, 0xFB, 0x66, 0xAF, 0x53, +0x3B, 0x80, 0x8F, 0xC3, 0xC3, 0x20, 0xA4, 0x14, 0x4D, 0x90, 0xCE, 0x4B, 0x98, 0xC6, 0x9C, 0x05, +0x1F, 0x0E, 0x21, 0xF4, 0xD3, 0x0F, 0x0E, 0x62, 0xD9, 0xED, 0x20, 0x07, 0xBF, 0xC6, 0xDB, 0x02, +0x92, 0xF8, 0x3D, 0x77, 0xCF, 0x98, 0x46, 0x92, 0x20, 0x50, 0x92, 0x8E, 0x12, 0x75, 0x3A, 0xEA, +0xBA, 0x6D, 0xB1, 0x23, 0xC4, 0xF7, 0x90, 0xF9, 0x5A, 0x2E, 0x1F, 0xEA, 0x15, 0xCE, 0x83, 0x10, +0xCE, 0x5E, 0x79, 0x07, 0x2A, 0xE5, 0xAD, 0x88, 0x93, 0x10, 0x84, 0xD8, 0x8D, 0x10, 0x9B, 0x0F, +0x85, 0xEB, 0x21, 0xDF, 0xF7, 0xFA, 0xD6, 0x4F, 0xD1, 0x15, 0x0F, 0x43, 0xCB, 0xBC, 0x3E, 0x1F, +0x21, 0xAE, 0x2F, 0xB5, 0x6C, 0x9D, 0x63, 0x1A, 0x07, 0x9E, 0x2E, 0xBA, 0xB1, 0x99, 0x4B, 0x36, +0x21, 0x71, 0x5D, 0xED, 0x34, 0xD3, 0xA5, 0xB7, 0x9F, 0xBD, 0xF7, 0x95, 0xA1, 0x19, 0x85, 0x2C, +0xBD, 0x24, 0xFF, 0xF0, 0x09, 0xD9, 0x17, 0x1F, 0xB2, 0x86, 0x86, 0x83, 0xE0, 0x1F, 0xB1, 0x9A, +0x84, 0xF0, 0x57, 0xA5, 0xE7, 0xDD, 0xC7, 0x1B, 0x09, 0x13, 0xBA, 0xCF, 0x52, 0xDC, 0xEC, 0xB0, +0xF3, 0x8F, 0x20, 0xE4, 0xD1, 0xE7, 0x03, 0x0F, 0xD9, 0xC9, 0x47, 0xA0, 0xA1, 0x98, 0xA7, 0x87, +0xB0, 0x64, 0xD2, 0x51, 0x5C, 0xF8, 0x4E, 0x52, 0x97, 0x37, 0x3E, 0x1F, 0x92, 0x3B, 0xBD, 0x82, +0x10, 0x43, 0xDF, 0x23, 0x8B, 0x8F, 0xFE, 0xBF, 0x2E, 0x42, 0x4C, 0xFF, 0xF0, 0x09, 0xB9, 0x49, +0x3E, 0x98, 0x66, 0x41, 0x05, 0xC1, 0xCE, 0xE7, 0xF7, 0xEF, 0xCC, 0xB3, 0xCE, 0x6B, 0xF3, 0x21, +0x0D, 0xE0, 0x23, 0x2E, 0xAF, 0x87, 0x79, 0xA3, 0x06, 0xD7, 0xE0, 0x32, 0x0B, 0x11, 0x3F, 0xC1, +0x87, 0x41, 0x08, 0xF7, 0xF4, 0x76, 0xB3, 0xA6, 0x08, 0x08, 0xA9, 0x38, 0x08, 0x7C, 0x04, 0x4D, +0xA1, 0xA3, 0x24, 0xA4, 0x79, 0xBF, 0x62, 0xAF, 0xD5, 0xD3, 0x54, 0x00, 0x3F, 0xF3, 0xBF, 0x9C, +0x73, 0xA5, 0x09, 0x76, 0x74, 0x48, 0x1E, 0x21, 0x73, 0x74, 0x61, 0xCD, 0xAF, 0xE2, 0x32, 0x16, +0xA7, 0xA9, 0x9B, 0x65, 0x7D, 0x51, 0x12, 0x92, 0xC1, 0x0C, 0x6B, 0xC1, 0x7D, 0x26, 0xD1, 0x0F, +0xB1, 0xF8, 0x40, 0x1E, 0x1F, 0xEF, 0xF7, 0x01, 0x21, 0x06, 0x1E, 0x0E, 0x21, 0xF1, 0x8E, 0xA4, +0x43, 0x18, 0x92, 0x88, 0x58, 0x37, 0x63, 0x39, 0x7C, 0x5C, 0x72, 0x78, 0x28, 0x74, 0xE4, 0x45, +0x86, 0x60, 0xFA, 0x35, 0xCF, 0x4B, 0x93, 0x3A, 0xE9, 0x06, 0x1F, 0xC8, 0xE7, 0x43, 0xDB, 0xBE, +0x58, 0xAA, 0x60, 0x9E, 0xA5, 0xE8, 0x76, 0xEF, 0xD5, 0x04, 0x41, 0xFB, 0x06, 0x1F, 0x07, 0x52, +0x47, 0xC8, 0xAF, 0x1B, 0x3C, 0xE4, 0x77, 0xD2, 0xE1, 0xE3, 0xB4, 0x23, 0x29, 0x16, 0x31, 0x72, +0x2C, 0x42, 0x9A, 0x7C, 0xF0, 0x41, 0x22, 0x11, 0x19, 0xCF, 0x60, 0x22, 0xFD, 0xEE, 0x8F, 0xC9, +0x7A, 0x44, 0xF0, 0x91, 0x11, 0x26, 0xE2, 0xF0, 0x81, 0xF6, 0xE6, 0x3B, 0xF9, 0xD0, 0xC9, 0xE9, +0xDB, 0xB9, 0xEF, 0x54, 0x72, 0x10, 0xCE, 0x73, 0xCF, 0x07, 0x84, 0x9C, 0x18, 0x7C, 0x78, 0x84, +0x70, 0xC3, 0xFB, 0x1D, 0x61, 0xDC, 0x3A, 0x82, 0xBA, 0x54, 0x64, 0x87, 0x7B, 0x7C, 0x1B, 0x7C, +0x10, 0x10, 0xD2, 0xE4, 0x03, 0x39, 0x7C, 0x88, 0x90, 0x54, 0x59, 0xE1, 0x2D, 0xF3, 0xF5, 0x45, +0x77, 0xC4, 0xB9, 0x61, 0x71, 0xF7, 0xA9, 0xDA, 0x90, 0xC5, 0x87, 0x2E, 0xAD, 0xDA, 0x6C, 0xCC, +0xE4, 0xAB, 0x7D, 0xE9, 0xE5, 0x6A, 0x64, 0x10, 0x42, 0x0B, 0x44, 0x6C, 0x28, 0x20, 0xA4, 0x7E, +0x37, 0x6F, 0x70, 0xA1, 0xC5, 0x21, 0xE4, 0x68, 0x5F, 0x7C, 0xE0, 0x21, 0xBA, 0x5D, 0x11, 0xC1, +0x76, 0x96, 0xA5, 0xC7, 0x9A, 0x5D, 0x75, 0xEE, 0xB1, 0xDE, 0x71, 0xF1, 0x80, 0x90, 0xF6, 0xAD, +0x8A, 0x9D, 0x7D, 0xC4, 0x22, 0x0F, 0x09, 0xC3, 0xDF, 0x74, 0x90, 0x62, 0x72, 0xA5, 0x5F, 0x7B, +0x47, 0x86, 0x87, 0x5C, 0x17, 0x6A, 0xF3, 0x91, 0xFE, 0x41, 0xEC, 0x20, 0x24, 0xA0, 0x28, 0x10, +0x69, 0xF7, 0x3F, 0x3E, 0x84, 0x0D, 0x05, 0x84, 0x34, 0xF8, 0xF0, 0x09, 0x39, 0x11, 0x1F, 0x68, +0x03, 0x88, 0x8A, 0x83, 0x74, 0x9E, 0x1D, 0xD1, 0x49, 0x88, 0xB4, 0xCF, 0x14, 0x7C, 0x98, 0x84, +0x74, 0xE9, 0xB9, 0x06, 0x8D, 0xE2, 0x30, 0xF2, 0xDA, 0x4C, 0x39, 0x36, 0xCD, 0x24, 0xF3, 0x12, +0xFD, 0x5D, 0x53, 0x2E, 0x21, 0xF0, 0x01, 0x21, 0xB5, 0x1C, 0x04, 0x3E, 0x3C, 0x42, 0xE0, 0xA3, +0xF4, 0x90, 0x19, 0xF7, 0x58, 0x62, 0x21, 0x2A, 0x4B, 0x8B, 0x8A, 0xB1, 0x22, 0xF7, 0x2D, 0x3E, +0x50, 0xBB, 0x85, 0x2E, 0xFB, 0x60, 0xA3, 0x62, 0x16, 0x88, 0x64, 0x70, 0x01, 0x3C, 0x91, 0x4C, +0x0F, 0x81, 0x0F, 0xD4, 0x6E, 0x7F, 0x68, 0x04, 0xDB, 0x84, 0x40, 0x06, 0x6A, 0xBD, 0x7B, 0xC3, +0x3D, 0xB4, 0x40, 0x48, 0x8B, 0x0F, 0xB4, 0x8B, 0x0F, 0x84, 0x87, 0x54, 0x42, 0x4B, 0xDC, 0xBF, +0x0B, 0x1C, 0xEF, 0x28, 0x15, 0xB9, 0xB7, 0xFC, 0x03, 0xED, 0x2E, 0x5F, 0x69, 0x86, 0xA5, 0x78, +0x3C, 0xE4, 0x4A, 0x8C, 0x99, 0x20, 0xF8, 0x30, 0x08, 0xD9, 0x7F, 0x5A, 0xF3, 0x71, 0x70, 0x9A, +0xCB, 0x4B, 0xBF, 0x96, 0xDF, 0x07, 0x81, 0x8F, 0x98, 0x60, 0x9D, 0xC6, 0x9B, 0xF3, 0xBD, 0x22, +0x64, 0x5B, 0x43, 0xE4, 0x28, 0xDA, 0x1F, 0xCF, 0x14, 0x1E, 0x82, 0x70, 0xC0, 0x75, 0xB1, 0xE1, +0x30, 0xFE, 0x7C, 0xE2, 0x22, 0x63, 0x4C, 0x31, 0xAB, 0xC1, 0x87, 0xE5, 0x21, 0xE2, 0x43, 0xE7, +0xA7, 0x3F, 0x49, 0xCC, 0xB2, 0xBE, 0x00, 0x12, 0x9E, 0x65, 0xF9, 0xCA, 0x26, 0xE4, 0x16, 0x3E, +0x0C, 0x42, 0x62, 0xA4, 0xF6, 0x43, 0x97, 0xD0, 0x3D, 0x27, 0x0E, 0x1F, 0xA8, 0x55, 0xDE, 0x2D, +0x02, 0x0F, 0xB1, 0xF8, 0x90, 0x1C, 0x3E, 0x50, 0xD1, 0x12, 0xC4, 0x4F, 0x54, 0xBF, 0xC2, 0xBB, +0xFB, 0xFD, 0xD6, 0x4D, 0xD7, 0x35, 0x6D, 0xEF, 0xA9, 0xEB, 0x52, 0xAA, 0x95, 0x38, 0x3C, 0xC3, +0x37, 0x70, 0x0F, 0xD5, 0xB7, 0xF4, 0x77, 0xE9, 0x38, 0x84, 0xD0, 0xFE, 0x10, 0x17, 0xE4, 0x16, +0x49, 0x08, 0x0E, 0x42, 0xFE, 0x21, 0x96, 0xC4, 0x86, 0x1E, 0x7F, 0xA5, 0x65, 0x58, 0x6B, 0x7F, +0x54, 0x08, 0x19, 0x6D, 0xDC, 0x38, 0x06, 0xE8, 0x51, 0xC6, 0x7A, 0xC4, 0x26, 0x0D, 0x0F, 0x99, +0xD7, 0xB5, 0xA3, 0xBC, 0xAB, 0x93, 0x33, 0xEF, 0x37, 0xF2, 0x90, 0xD0, 0xF3, 0xBA, 0x3D, 0xF5, +0xAB, 0x2A, 0x21, 0xEE, 0x4F, 0x63, 0xB5, 0xFC, 0x03, 0x3C, 0x88, 0x00, 0xC1, 0xE0, 0x03, 0x99, +0x7C, 0xF4, 0x3B, 0x42, 0xD3, 0xE2, 0x43, 0xF2, 0xF8, 0x40, 0x97, 0x12, 0x39, 0x3A, 0x37, 0xBA, +0xDF, 0x73, 0xCC, 0x71, 0xF1, 0x7B, 0xCB, 0x3F, 0x50, 0xD3, 0x3F, 0x72, 0xB8, 0x64, 0x74, 0xFB, +0xD4, 0xAC, 0x36, 0x1A, 0x0B, 0xBF, 0x97, 0x77, 0x37, 0x96, 0x58, 0xB7, 0x7E, 0x59, 0xEA, 0xA0, +0x1F, 0xEE, 0x0A, 0x21, 0x02, 0x21, 0x38, 0x88, 0xDE, 0x15, 0x6B, 0xA2, 0xA4, 0xF7, 0xD2, 0x10, +0xA9, 0xF1, 0x31, 0x29, 0x3E, 0x49, 0x3E, 0x8D, 0xE9, 0x15, 0xA2, 0x8B, 0x2E, 0xF7, 0xE0, 0x8F, +0x89, 0x87, 0xB8, 0x7C, 0x40, 0x48, 0x9D, 0x8F, 0x08, 0xAE, 0x60, 0xF3, 0xF5, 0xD3, 0xF9, 0xBD, +0x5A, 0x5B, 0x5C, 0xEA, 0xB4, 0xB3, 0xC0, 0x3F, 0x5C, 0x42, 0x06, 0xFD, 0xEA, 0x4F, 0xF0, 0x91, +0x83, 0xB6, 0x42, 0x48, 0xA3, 0x3D, 0x58, 0x93, 0xC9, 0x87, 0x1E, 0x3F, 0xA4, 0xA9, 0xDE, 0xE4, +0x03, 0x59, 0x7C, 0x20, 0xDC, 0x18, 0x3A, 0xC4, 0x47, 0x1E, 0x73, 0x4E, 0x82, 0x76, 0x2B, 0xDD, +0x5D, 0xCA, 0x57, 0x36, 0x21, 0xBA, 0xB0, 0xC6, 0xA6, 0x9C, 0x9D, 0xAB, 0x98, 0xF5, 0xBB, 0x83, +0xF4, 0x4F, 0xC4, 0xC7, 0x34, 0x86, 0xE3, 0xE4, 0xF7, 0x65, 0x14, 0x5B, 0x08, 0x29, 0xF9, 0xC8, +0x64, 0xA2, 0x37, 0x05, 0x0D, 0x7C, 0x5A, 0x86, 0x38, 0x48, 0xEF, 0x2F, 0x30, 0xB2, 0xDE, 0x09, +0x0F, 0xE1, 0x77, 0xAB, 0xD1, 0xFE, 0x68, 0x9A, 0x74, 0x84, 0xA6, 0x5A, 0xD4, 0x50, 0x1F, 0xA9, +0xA9, 0x8E, 0x8B, 0x40, 0xCA, 0xE3, 0x63, 0x4F, 0x05, 0x01, 0x21, 0x1E, 0x1F, 0x52, 0xBD, 0x7C, +0xF5, 0x85, 0x66, 0x58, 0x0A, 0x26, 0x59, 0x3A, 0x6B, 0x38, 0x08, 0x3B, 0x27, 0xA8, 0x44, 0xC4, +0xF2, 0x0F, 0xF4, 0x50, 0xFD, 0x2A, 0xE1, 0x87, 0x0C, 0x5C, 0xC3, 0x43, 0xC0, 0xC1, 0x21, 0x44, +0xE5, 0xDD, 0x32, 0x68, 0x88, 0x38, 0x3F, 0x69, 0x82, 0x2C, 0x3E, 0x10, 0x3F, 0xFC, 0x93, 0x92, +0x7F, 0xCC, 0x39, 0xE6, 0x89, 0x46, 0x22, 0xD2, 0x28, 0xEF, 0x5A, 0x84, 0x50, 0xDE, 0x3D, 0x4C, +0x2C, 0x18, 0x39, 0xF1, 0x6A, 0x25, 0x07, 0x39, 0x4B, 0xFF, 0x60, 0x76, 0x33, 0x5D, 0x8D, 0x56, +0x42, 0x04, 0x42, 0x8A, 0xF6, 0x20, 0xC3, 0x3E, 0x77, 0xFA, 0x3D, 0x1C, 0x44, 0xED, 0x73, 0xBD, +0x47, 0xAB, 0x96, 0x84, 0x4A, 0x1E, 0xC2, 0xBD, 0xBD, 0xB4, 0xCF, 0xC5, 0xC2, 0x34, 0xFF, 0xD7, +0xC2, 0x43, 0xBC, 0x86, 0x44, 0x48, 0x91, 0x83, 0xE0, 0x1F, 0x38, 0x08, 0x2D, 0x43, 0x87, 0x0F, +0x54, 0x1E, 0x71, 0xD5, 0xAF, 0x74, 0x8A, 0x58, 0xD3, 0x4C, 0xE2, 0x01, 0x42, 0xF2, 0xC6, 0xA1, +0x05, 0xE9, 0xB9, 0x4B, 0x88, 0xF7, 0xCB, 0xD5, 0xB4, 0xCF, 0x6B, 0x68, 0xD0, 0x10, 0x71, 0xF0, +0x40, 0xDF, 0xB6, 0xFD, 0x83, 0xA0, 0xDC, 0xFB, 0x97, 0x7E, 0x7A, 0xF4, 0xA6, 0x7D, 0x74, 0x9E, +0xDD, 0xE8, 0x2E, 0x26, 0xFA, 0x14, 0x1D, 0x0F, 0xD7, 0xB3, 0x4A, 0x43, 0x04, 0x3E, 0x6A, 0xAA, +0xF3, 0x21, 0x30, 0xF0, 0x11, 0xAE, 0xB3, 0xEB, 0xFB, 0x97, 0x96, 0xB1, 0xE9, 0x97, 0xA5, 0x46, +0x65, 0xAC, 0x11, 0x13, 0xC5, 0x28, 0xA4, 0x6D, 0x85, 0x90, 0x68, 0x0F, 0xA6, 0x11, 0x64, 0x5E, +0xC1, 0x24, 0x4B, 0x84, 0xA4, 0x83, 0xC0, 0x47, 0xDA, 0x48, 0x06, 0x50, 0xFD, 0x5A, 0xA4, 0xEA, +0xF9, 0x57, 0xA5, 0x4F, 0x62, 0x15, 0x16, 0x01, 0x47, 0x52, 0x3B, 0x5D, 0xC3, 0xA2, 0x0F, 0x4B, +0x15, 0x4B, 0xC0, 0xF3, 0x27, 0x23, 0xF2, 0x1F, 0x58, 0x7C, 0xA0, 0xD2, 0xBA, 0xD3, 0xDB, 0xC1, +0x83, 0x76, 0xC8, 0x7C, 0x5D, 0xEE, 0x65, 0xF2, 0x2C, 0xFF, 0x68, 0xEA, 0xB2, 0x92, 0x9E, 0x37, +0xF5, 0xAC, 0xBC, 0x4B, 0x07, 0xAF, 0x16, 0x41, 0x84, 0x03, 0x08, 0xB2, 0xFC, 0x03, 0x42, 0x1E, +0x1C, 0x3E, 0x50, 0xAD, 0x7D, 0x5E, 0x17, 0x2D, 0xC3, 0x0C, 0xDA, 0x1F, 0x22, 0xA3, 0xEA, 0xE1, +0x17, 0x8E, 0x7F, 0xA0, 0x7A, 0xFB, 0x23, 0xE2, 0xF9, 0xB8, 0xD1, 0x2B, 0x38, 0x08, 0xED, 0x0F, +0x0D, 0x45, 0x3C, 0x44, 0x90, 0xE8, 0x02, 0x5E, 0xA6, 0xEA, 0x5D, 0x7B, 0x90, 0x61, 0x0F, 0x1C, +0xA7, 0xE9, 0x21, 0x51, 0xEE, 0x95, 0x83, 0xA8, 0x7D, 0xDE, 0xBF, 0x43, 0x1B, 0x16, 0xF1, 0x41, +0x31, 0x0B, 0x3E, 0xE4, 0x1E, 0x89, 0x85, 0x94, 0xD8, 0x0A, 0xD7, 0x68, 0xAA, 0xA7, 0xB2, 0x80, +0xB5, 0xC5, 0x40, 0x68, 0x88, 0x78, 0x7C, 0xD4, 0xBB, 0xEA, 0x3A, 0x11, 0x85, 0x83, 0x6C, 0xBC, +0xF6, 0x39, 0xE5, 0x97, 0x88, 0x5D, 0x7C, 0x70, 0xDB, 0x09, 0xF3, 0xAB, 0xB6, 0xEA, 0xED, 0xF3, +0x6D, 0x88, 0x04, 0x21, 0x26, 0x1E, 0x34, 0x44, 0xC0, 0x43, 0xFE, 0xD1, 0x0A, 0x3C, 0x04, 0x3E, +0x9A, 0xB2, 0xFC, 0x03, 0x6D, 0xD6, 0xB0, 0xF2, 0x42, 0x94, 0xCE, 0x51, 0x78, 0x78, 0xE9, 0x21, +0xB1, 0xEC, 0xCD, 0x4D, 0x42, 0xE0, 0x23, 0x2B, 0xBB, 0xB5, 0x71, 0xA3, 0x5A, 0x96, 0x5A, 0x22, +0x9A, 0xD1, 0x8F, 0xA7, 0x4F, 0x1A, 0x88, 0x72, 0x8F, 0x7E, 0xBB, 0x1C, 0xF5, 0x78, 0x94, 0xC5, +0x2C, 0xB5, 0x3F, 0x34, 0xEC, 0x15, 0x9B, 0xA5, 0xDE, 0xBE, 0xA9, 0x2E, 0x07, 0xE9, 0xF6, 0x48, +0x3B, 0xE2, 0x91, 0x05, 0x0F, 0x59, 0xED, 0xC3, 0x47, 0x8F, 0xE6, 0xEF, 0x1F, 0x66, 0x2A, 0x32, +0x22, 0xD2, 0xCD, 0x36, 0x7E, 0xE1, 0x44, 0xB0, 0x57, 0xCD, 0x83, 0x44, 0x64, 0x18, 0x1F, 0x10, +0x92, 0xE9, 0x39, 0x0E, 0x42, 0x29, 0x0B, 0x1F, 0xC9, 0x96, 0xA1, 0xD6, 0xF6, 0x00, 0x20, 0x55, +0x87, 0x0F, 0x43, 0x45, 0x7B, 0xB0, 0x1D, 0x6A, 0xAA, 0x1B, 0xE9, 0x79, 0xBD, 0xA9, 0xBE, 0x0B, +0x8F, 0x62, 0x96, 0x75, 0x6D, 0xA8, 0x68, 0x0F, 0x1A, 0x84, 0xF4, 0x41, 0xFB, 0x03, 0x4E, 0x72, +0x8D, 0x20, 0x11, 0x29, 0xCA, 0x57, 0x36, 0x21, 0x6A, 0x7F, 0x34, 0xE3, 0x90, 0x51, 0x96, 0x7C, +0x68, 0x20, 0x86, 0x02, 0x0C, 0x6D, 0x35, 0xD5, 0xD2, 0x85, 0x5C, 0x94, 0x40, 0x48, 0xB6, 0x07, +0x9F, 0x0F, 0x76, 0x12, 0x92, 0xE0, 0xA2, 0x03, 0x24, 0xF8, 0x48, 0x36, 0x4E, 0xC9, 0x43, 0x32, +0x92, 0x9B, 0xF4, 0x10, 0xF8, 0xC8, 0xC9, 0x5D, 0x6C, 0xD6, 0x84, 0xEA, 0x93, 0x28, 0xE2, 0x51, +0x1E, 0x42, 0xF5, 0x2D, 0x53, 0x2A, 0xDC, 0xA3, 0x76, 0x2D, 0xB8, 0x18, 0xC4, 0x07, 0x84, 0x64, +0x01, 0x05, 0x07, 0xE1, 0xF2, 0xA5, 0x13, 0x94, 0x79, 0xC8, 0xE7, 0x7D, 0x43, 0xEB, 0xC4, 0xD1, +0xE5, 0x2D, 0x7C, 0x58, 0x32, 0xF9, 0x50, 0xE4, 0x6F, 0x64, 0x7D, 0x2F, 0x3E, 0x4C, 0xF9, 0xFE, +0x11, 0xCB, 0xDB, 0x14, 0xB3, 0xAE, 0x2D, 0x59, 0xE9, 0x39, 0xD2, 0x97, 0x0C, 0x55, 0x1D, 0xA4, +0x37, 0xA8, 0xCD, 0xC6, 0x4A, 0x35, 0x91, 0x6F, 0x7F, 0x78, 0xBA, 0x28, 0xDA, 0x1F, 0x44, 0x6D, +0xE8, 0x68, 0x98, 0xCD, 0x62, 0x51, 0xFB, 0x43, 0x2C, 0xA4, 0x7F, 0x2C, 0xF5, 0x28, 0x4E, 0xB4, +0xA3, 0x7D, 0x11, 0x42, 0xFB, 0x1C, 0xCB, 0xD0, 0xAA, 0xE7, 0xB9, 0xC9, 0x86, 0xC8, 0x57, 0x2F, +0xFC, 0x12, 0x7C, 0x40, 0x11, 0xEF, 0xD2, 0x82, 0xE3, 0xF4, 0x84, 0x3C, 0x09, 0x08, 0x59, 0x59, +0x9F, 0x84, 0x2C, 0x57, 0x7A, 0x5C, 0x8A, 0x96, 0xA9, 0x3E, 0x50, 0x7C, 0xD8, 0x24, 0x44, 0x7F, +0xC6, 0x4A, 0xA7, 0xA7, 0x52, 0xCC, 0xF2, 0xF1, 0xA0, 0xDC, 0x4B, 0x51, 0x51, 0x24, 0xAC, 0x1F, +0xCA, 0x6D, 0xB6, 0x0C, 0x17, 0x97, 0xE6, 0x00, 0x88, 0x80, 0x0F, 0x4B, 0xFC, 0x8A, 0x89, 0x15, +0x1F, 0xC2, 0x87, 0x4D, 0x48, 0x30, 0x15, 0xC3, 0x7F, 0x07, 0x1E, 0xCC, 0xB2, 0xE0, 0xC3, 0x26, +0xE4, 0xC4, 0x95, 0xBC, 0xB8, 0xF3, 0x0F, 0xDA, 0x4E, 0xA0, 0x51, 0x1C, 0xFC, 0x10, 0xED, 0x41, +0x4F, 0x45, 0xFB, 0xA3, 0x15, 0x82, 0x84, 0xF6, 0x79, 0xD2, 0xD1, 0xFB, 0x07, 0x53, 0x7F, 0x8D, +0xCC, 0x35, 0x3F, 0xFB, 0xF0, 0x81, 0x57, 0x90, 0x52, 0x68, 0x37, 0x9F, 0x77, 0x1E, 0xF2, 0x4B, +0x07, 0x08, 0x8A, 0x57, 0xAA, 0xD2, 0x24, 0xEC, 0x69, 0x15, 0xED, 0x0F, 0xE1, 0xA1, 0xC9, 0x55, +0xEE, 0xC5, 0x26, 0x6B, 0xBE, 0xC2, 0x24, 0xAB, 0x08, 0x59, 0xEE, 0x5D, 0x1E, 0xDA, 0x1A, 0xFB, +0x7C, 0x50, 0xEE, 0xD5, 0xD5, 0x4B, 0x7C, 0x28, 0xD8, 0x2D, 0x62, 0x7D, 0xDB, 0xC9, 0xC9, 0x00, +0xF5, 0xDF, 0x8E, 0x72, 0x96, 0xD0, 0x83, 0xDA, 0x83, 0x77, 0x6F, 0x5B, 0x7C, 0x64, 0x53, 0xDD, +0xE7, 0x63, 0xFD, 0x33, 0x8B, 0x89, 0x47, 0x33, 0x72, 0x11, 0x21, 0x16, 0x1C, 0xFC, 0x4E, 0xAF, +0x2E, 0x0C, 0x96, 0xB2, 0xBC, 0xCB, 0xD5, 0x69, 0x5E, 0x71, 0x10, 0x7C, 0x44, 0x1E, 0x02, 0x1F, +0x06, 0x21, 0x17, 0x9E, 0x7F, 0xE4, 0x0C, 0x8C, 0x6F, 0x7F, 0x28, 0x33, 0xD6, 0x6C, 0x86, 0xA1, +0xC8, 0x0B, 0x42, 0x24, 0x96, 0x6C, 0x9F, 0xE3, 0x15, 0xDA, 0x92, 0x9F, 0x6F, 0x4C, 0xB6, 0x04, +0x48, 0x5B, 0x10, 0x92, 0xDF, 0xFE, 0xC8, 0x8C, 0x67, 0x19, 0x0C, 0xF4, 0x93, 0xAB, 0xCE, 0xD0, +0xC4, 0xE7, 0xA4, 0xF7, 0x97, 0xF0, 0x90, 0x25, 0x7C, 0x38, 0x7A, 0x1C, 0x0F, 0xE1, 0xE3, 0x9D, +0xB9, 0xBE, 0x3D, 0xE8, 0xC6, 0xFD, 0xFD, 0xE7, 0xF8, 0x87, 0x25, 0xD2, 0x73, 0x43, 0x22, 0x04, +0x3A, 0x8C, 0x00, 0x0F, 0xD7, 0x43, 0x36, 0xF1, 0xD8, 0xA6, 0x3B, 0x2D, 0x41, 0x88, 0xFD, 0xE1, +0xC5, 0x38, 0xFE, 0x61, 0x29, 0xF8, 0xB8, 0x9F, 0x47, 0x81, 0x30, 0xCE, 0x40, 0xF7, 0x10, 0xCB, +0x7C, 0x63, 0x65, 0xBB, 0xFE, 0xC7, 0xF0, 0x61, 0xA9, 0xC3, 0x63, 0x80, 0x62, 0xA0, 0x8D, 0x9E, +0xA8, 0xAB, 0x66, 0x42, 0x9C, 0x23, 0x73, 0xA9, 0xE7, 0x5C, 0xC9, 0xE3, 0xE9, 0xFE, 0x51, 0xCF, +0x03, 0x53, 0x2B, 0x1A, 0x1B, 0xC2, 0xA4, 0x67, 0x25, 0x1C, 0xE4, 0xE5, 0x03, 0x57, 0x3F, 0x1D, +0xAC, 0x96, 0x82, 0xC1, 0x8A, 0xE9, 0xFE, 0xFE, 0x78, 0x6F, 0xEF, 0xFC, 0x6C, 0x40, 0xCC, 0xF7, +0x02, 0x91, 0x73, 0x2F, 0xF6, 0x62, 0x13, 0x17, 0xA8, 0xBD, 0x7E, 0x2D, 0xB7, 0x5A, 0x73, 0x5F, +0x3B, 0xF3, 0x77, 0x2E, 0x6F, 0x2F, 0x7D, 0x2D, 0x2E, 0xAF, 0xAE, 0x3F, 0xB9, 0xFA, 0xE4, 0xDA, +0x8C, 0xAB, 0xAB, 0x2F, 0xEF, 0x86, 0xE8, 0xBB, 0x3B, 0xFD, 0x10, 0xAF, 0xAB, 0xF8, 0x31, 0xA0, +0xBB, 0x61, 0xFA, 0x2E, 0x3E, 0xBB, 0xBD, 0x04, 0x20, 0x97, 0xC3, 0xB4, 0x88, 0x4B, 0xD4, 0x00, +0x75, 0xA7, 0xD5, 0x57, 0x8C, 0x83, 0x18, 0x0E, 0xB6, 0xF6, 0xCE, 0xC7, 0x2B, 0x0D, 0x4B, 0x33, +0xA6, 0xAB, 0x18, 0xCA, 0xAE, 0xC2, 0x41, 0x7C, 0x3E, 0x0E, 0x8E, 0xA7, 0xE3, 0xA9, 0xAB, 0x51, +0xE4, 0xE9, 0xE7, 0x2F, 0xBC, 0xF0, 0xC2, 0xB9, 0x19, 0x7B, 0x2F, 0xBC, 0xB0, 0xD7, 0xFD, 0x69, +0xFD, 0x88, 0x53, 0xF4, 0xBA, 0x7D, 0x8A, 0xF6, 0x16, 0x8B, 0x17, 0x43, 0x97, 0x6E, 0x5C, 0xBE, +0x72, 0xFB, 0xC9, 0x20, 0x01, 0x88, 0xA5, 0x6F, 0xBF, 0xFD, 0x66, 0x90, 0xBE, 0xFD, 0xF6, 0x6E, +0x90, 0xBE, 0x1C, 0xF6, 0xE9, 0x6F, 0x6F, 0x75, 0x70, 0x2C, 0x5D, 0xC6, 0xB2, 0x58, 0x74, 0x07, +0xDF, 0xDD, 0xBC, 0xB3, 0x3E, 0x5F, 0xEE, 0x7A, 0xB6, 0xF7, 0xC2, 0x80, 0x88, 0x21, 0x16, 0x19, +0xFA, 0xD4, 0xD6, 0x78, 0x7A, 0x74, 0xE0, 0xEB, 0x63, 0xDF, 0x41, 0xBA, 0xBF, 0x1C, 0xE1, 0x78, +0x35, 0x76, 0xF9, 0x58, 0x8D, 0x67, 0xB3, 0x71, 0xFC, 0x51, 0xCF, 0xF7, 0xDC, 0x78, 0x61, 0x6F, +0xCF, 0x3F, 0x88, 0x11, 0x17, 0x61, 0x0E, 0x0B, 0x13, 0x8F, 0x78, 0x67, 0x9C, 0xD4, 0xF0, 0x10, +0x97, 0x8F, 0xDB, 0xD0, 0x10, 0x3C, 0x3A, 0x0D, 0xE2, 0x63, 0x10, 0x21, 0x3F, 0x77, 0xEF, 0x1F, +0x82, 0x47, 0xA7, 0x41, 0x7C, 0xDC, 0xEA, 0xD0, 0x58, 0x7A, 0xE5, 0x72, 0xD1, 0x69, 0x88, 0x81, +0xD8, 0x74, 0x68, 0x95, 0xEC, 0x51, 0x73, 0x7E, 0xDE, 0x8D, 0xB4, 0x98, 0x3D, 0x99, 0x7C, 0x8C, +0x62, 0x18, 0x1F, 0xFF, 0x13, 0x0E, 0x72, 0xAC, 0xBF, 0x5F, 0xC7, 0x24, 0x64, 0x35, 0xEA, 0x3E, +0x75, 0x44, 0x0C, 0xFB, 0x73, 0x2B, 0x42, 0x1D, 0x22, 0xEE, 0xB1, 0xCC, 0x58, 0x98, 0x7C, 0x2C, +0xD6, 0x32, 0xC7, 0x40, 0xF0, 0x21, 0x5D, 0xF9, 0x7C, 0x48, 0x3E, 0x1F, 0xD2, 0xCF, 0x3E, 0x1F, +0xD2, 0x00, 0x3E, 0x24, 0x1B, 0x0F, 0xC9, 0xBF, 0x78, 0x2C, 0x24, 0x9F, 0x90, 0x33, 0x9D, 0x2B, +0xD7, 0x3E, 0x34, 0x0C, 0x6C, 0x40, 0x5E, 0xD8, 0x8B, 0x41, 0x16, 0x1A, 0x7B, 0x80, 0x4C, 0xC6, +0xAB, 0xE0, 0x23, 0xE4, 0x3B, 0xC8, 0x57, 0x36, 0x1F, 0x49, 0xC8, 0xD2, 0x9C, 0x5F, 0x75, 0x92, +0x87, 0x78, 0x7C, 0x0C, 0x23, 0x24, 0x01, 0x39, 0x93, 0x87, 0x98, 0x7C, 0x88, 0x10, 0x63, 0x14, +0xC4, 0x5B, 0x6E, 0x7B, 0xF9, 0x7C, 0x48, 0x3E, 0x1F, 0x92, 0xCD, 0x47, 0xEA, 0xC3, 0x0F, 0x7C, +0x3E, 0x7C, 0x42, 0xAE, 0x6E, 0x53, 0xAF, 0xB8, 0xFE, 0x31, 0x8C, 0x90, 0xBC, 0x9C, 0x59, 0x7C, +0x9C, 0xCD, 0x93, 0x8F, 0x90, 0xCF, 0x87, 0x4F, 0xC8, 0x78, 0x75, 0x2A, 0x3E, 0x4C, 0x42, 0x7E, +0x3D, 0x78, 0xF7, 0x85, 0x77, 0x7F, 0xF2, 0xF9, 0x10, 0x22, 0xFB, 0x87, 0xBB, 0xE8, 0x88, 0x98, +0xA5, 0xE4, 0x21, 0x0E, 0x1E, 0x03, 0x09, 0x21, 0x9C, 0x53, 0xB4, 0x40, 0x71, 0x82, 0x3D, 0xFB, +0xB0, 0x3D, 0xE4, 0x4A, 0x7C, 0xA4, 0x06, 0xE0, 0x81, 0x87, 0xC4, 0xB6, 0xBE, 0xC2, 0x47, 0xCA, +0xE3, 0x03, 0x79, 0xFE, 0x81, 0x6C, 0xFF, 0xF0, 0x09, 0x89, 0x99, 0xF0, 0xDC, 0x25, 0x04, 0x3E, +0x24, 0x9F, 0x0F, 0x69, 0x37, 0x21, 0x93, 0xE9, 0xFE, 0x4B, 0xE2, 0xC3, 0x26, 0xE4, 0xA7, 0x00, +0xA4, 0xFB, 0x2A, 0xE1, 0x4E, 0x92, 0x8E, 0x7B, 0xC5, 0x0F, 0x5B, 0xEF, 0xEF, 0x04, 0xA4, 0xE3, +0x03, 0x9D, 0xEF, 0x39, 0x80, 0xA0, 0xB9, 0xE9, 0x1F, 0x69, 0xDC, 0x98, 0x48, 0xC3, 0x3F, 0xD0, +0x2E, 0x0B, 0xE9, 0xD2, 0x73, 0x29, 0x65, 0xF9, 0x07, 0xF2, 0x00, 0x81, 0x10, 0xCF, 0x3F, 0x90, +0xC5, 0x07, 0x32, 0xF9, 0xC0, 0x43, 0x1C, 0xFF, 0x40, 0x06, 0x1F, 0x73, 0xC2, 0xF4, 0x0F, 0xB4, +0x93, 0x8F, 0x73, 0xF8, 0xB0, 0x08, 0x79, 0xE3, 0xA5, 0x53, 0x46, 0xB2, 0x6A, 0x59, 0x1A, 0xDD, +0x3F, 0x69, 0xAD, 0xF8, 0xC7, 0x4F, 0x6B, 0x40, 0x7E, 0xB2, 0xFC, 0x03, 0x0F, 0x79, 0x63, 0x07, +0x20, 0x13, 0x7D, 0x5C, 0x3C, 0x24, 0x32, 0x29, 0x03, 0x0F, 0x9F, 0x90, 0x22, 0x00, 0xA4, 0xE1, +0x1F, 0x28, 0xCE, 0xB2, 0xE1, 0x1F, 0x78, 0x88, 0xC5, 0x07, 0xF2, 0xF0, 0x40, 0x1E, 0x1F, 0xC8, +0xE2, 0x03, 0xD9, 0x7C, 0x18, 0x89, 0x08, 0xFE, 0x61, 0x13, 0xC2, 0xC5, 0xCC, 0xCA, 0x43, 0xE0, +0xC3, 0x01, 0x24, 0xF8, 0x90, 0x3C, 0x42, 0x26, 0xC9, 0x07, 0xFA, 0x75, 0x6D, 0x12, 0xEB, 0x87, +0xDC, 0xE7, 0x69, 0x3C, 0xFE, 0x94, 0x80, 0xEC, 0xF2, 0x90, 0x74, 0x25, 0x08, 0x39, 0x9E, 0x2C, +0x5B, 0x06, 0x32, 0x2B, 0xD5, 0x9E, 0x65, 0x21, 0x6F, 0x96, 0x55, 0x00, 0x22, 0x42, 0x0C, 0x3E, +0xAC, 0x3C, 0x04, 0x3E, 0x90, 0xC5, 0x07, 0xB2, 0xF8, 0x40, 0xDF, 0x37, 0x66, 0x59, 0xA1, 0xEF, +0x79, 0xA7, 0x45, 0xC8, 0xB3, 0xCF, 0x63, 0xF2, 0x01, 0x21, 0xDB, 0x25, 0x3E, 0x4A, 0x19, 0xFE, +0x41, 0x98, 0xFE, 0x81, 0x9A, 0x45, 0x4F, 0xF8, 0xF0, 0x08, 0x39, 0x5A, 0xF3, 0x81, 0x9E, 0x8D, +0x7A, 0xC1, 0x01, 0x1F, 0x09, 0x88, 0xE4, 0xF1, 0x01, 0x21, 0xE3, 0xAD, 0xF5, 0xAB, 0xE5, 0x0C, +0x39, 0x1E, 0x82, 0x40, 0x64, 0x6E, 0xFB, 0x87, 0x88, 0x81, 0x90, 0x06, 0x1E, 0x9E, 0x87, 0xDC, +0x56, 0x74, 0xED, 0xE0, 0xC1, 0x88, 0x34, 0xF9, 0x80, 0x90, 0x86, 0xE0, 0x03, 0x59, 0xF6, 0x81, +0x3C, 0x3E, 0x50, 0xC3, 0x40, 0xE0, 0x03, 0x19, 0xF9, 0x87, 0x49, 0xC8, 0x1C, 0x3C, 0x2C, 0x40, +0xA2, 0xBC, 0x5B, 0xAA, 0xD1, 0x10, 0x39, 0x9C, 0xC2, 0x47, 0x85, 0x90, 0xDA, 0xFC, 0xCA, 0x00, +0x04, 0x3E, 0x4A, 0x42, 0xA6, 0xE3, 0x66, 0xF9, 0xAA, 0x24, 0x24, 0xD2, 0x29, 0x87, 0x0F, 0x3C, +0xC4, 0xF3, 0x0F, 0xF2, 0x90, 0xD7, 0x1D, 0x40, 0x40, 0xC4, 0xF1, 0x0F, 0xE4, 0xF1, 0x81, 0x2C, +0x3E, 0x50, 0xA3, 0x3D, 0x58, 0x95, 0xC7, 0x07, 0x72, 0xF9, 0x80, 0x90, 0x9A, 0xC2, 0x5B, 0xAA, +0x87, 0x72, 0xB1, 0xD7, 0x6A, 0x7F, 0xB8, 0x84, 0xC0, 0x47, 0xA1, 0x86, 0x7F, 0x54, 0x87, 0x1A, +0x0D, 0x91, 0xB2, 0xFD, 0x01, 0x1F, 0x4D, 0x42, 0xC0, 0x03, 0x40, 0x24, 0x87, 0x0F, 0x32, 0x75, +0x08, 0x29, 0xDB, 0x1F, 0x75, 0x9D, 0x07, 0x22, 0x06, 0x1F, 0xC8, 0xF0, 0x0F, 0x82, 0x86, 0x48, +0xD1, 0x3E, 0xE7, 0x9C, 0x5A, 0x1E, 0x72, 0xBB, 0x45, 0x1E, 0x1F, 0x68, 0x08, 0x1F, 0x14, 0xB3, +0x72, 0x61, 0x95, 0x7F, 0x54, 0xE4, 0xF1, 0x81, 0x0C, 0x3E, 0x8C, 0x3C, 0x64, 0xB1, 0x4D, 0x86, +0x7F, 0x10, 0xA6, 0x7F, 0xA0, 0x46, 0x7B, 0xB0, 0xA2, 0xB3, 0x7A, 0xB9, 0xF7, 0x70, 0x25, 0x3E, +0x2C, 0x42, 0xE0, 0x03, 0x40, 0xA4, 0x66, 0x7A, 0x5E, 0x4A, 0x2D, 0x43, 0xCF, 0x3F, 0xB2, 0x21, +0xE2, 0x01, 0x82, 0x89, 0x9C, 0x79, 0xF6, 0x91, 0x4D, 0xF5, 0x9C, 0x66, 0x15, 0x7C, 0x20, 0xC7, +0x43, 0x54, 0xBE, 0xAA, 0xCB, 0xE3, 0x03, 0x99, 0x7C, 0x40, 0x48, 0x3B, 0x3D, 0x2F, 0xE5, 0xF1, +0x81, 0x1A, 0xED, 0x8F, 0x9A, 0x1A, 0xE5, 0xAB, 0xAA, 0x9C, 0xF4, 0x83, 0xA8, 0xE3, 0xD1, 0x50, +0xCD, 0x3F, 0x66, 0xF8, 0x87, 0xE1, 0x21, 0xD9, 0x1E, 0xAC, 0xAA, 0x7A, 0x63, 0x96, 0x80, 0x00, +0x90, 0x94, 0xCD, 0x07, 0x84, 0x94, 0x7C, 0x9C, 0x6D, 0x05, 0xA4, 0x76, 0xDB, 0x09, 0xAA, 0x4F, +0xB3, 0x3C, 0xFF, 0x50, 0xCC, 0xE7, 0xCF, 0x67, 0x59, 0x8B, 0x96, 0x2A, 0x1E, 0x72, 0xDB, 0x90, +0xC7, 0x07, 0xF2, 0xF0, 0x80, 0x10, 0x8B, 0x0F, 0xE4, 0xF1, 0x81, 0x2C, 0x3E, 0xD0, 0x2B, 0x95, +0xF6, 0x47, 0x4B, 0x8D, 0xF2, 0x95, 0x89, 0x48, 0xFA, 0x47, 0x55, 0x15, 0x3E, 0xCE, 0xEA, 0x78, +0xD4, 0x5B, 0x86, 0x13, 0xDA, 0x83, 0x35, 0x6D, 0xF1, 0x0F, 0x00, 0x41, 0x95, 0xF6, 0x47, 0x8B, +0x90, 0xFD, 0xF1, 0x72, 0xE3, 0xEE, 0xAB, 0xE9, 0xAC, 0xCE, 0x07, 0x2D, 0x43, 0x0B, 0x10, 0x08, +0x71, 0xF0, 0xC0, 0x44, 0x3C, 0x3E, 0x20, 0xC4, 0xF2, 0x0F, 0x64, 0xF1, 0x81, 0x3C, 0x40, 0x20, +0xC4, 0xE3, 0x03, 0x59, 0x7C, 0x20, 0x97, 0x0F, 0x66, 0x59, 0x9B, 0xF9, 0xC7, 0xA2, 0x2D, 0xC7, +0x3F, 0x88, 0x6A, 0x7B, 0xB0, 0xA5, 0x4A, 0x7B, 0xB0, 0xA5, 0x92, 0x90, 0x7D, 0xA6, 0x57, 0x35, +0x85, 0x61, 0xD4, 0xFC, 0x03, 0x40, 0x90, 0xC5, 0x07, 0x84, 0xBC, 0xB1, 0x1C, 0x57, 0xDA, 0xE7, +0x2D, 0x42, 0x3C, 0x3C, 0x20, 0xC4, 0xE1, 0x03, 0x42, 0x16, 0xE5, 0xDD, 0x89, 0x03, 0x3C, 0xE4, +0x76, 0x97, 0xAE, 0x2C, 0x3E, 0x90, 0x8D, 0x07, 0x84, 0x90, 0x7E, 0x88, 0x8F, 0xB6, 0x2C, 0x3E, +0x90, 0x95, 0x7E, 0xD4, 0x8B, 0x59, 0xA1, 0x05, 0x72, 0x08, 0x09, 0xF3, 0xF7, 0x10, 0xC1, 0x3F, +0x7C, 0x40, 0x68, 0x0F, 0x5A, 0x84, 0x4C, 0xE0, 0xC3, 0xF1, 0x10, 0x95, 0x77, 0x4B, 0x40, 0x90, +0xC7, 0x07, 0x84, 0x8C, 0xC7, 0x93, 0xDE, 0x3F, 0x68, 0x0F, 0xA2, 0x56, 0x43, 0x04, 0x39, 0x79, +0x88, 0x11, 0xDC, 0xDD, 0x6B, 0xF0, 0x51, 0x34, 0x44, 0xE0, 0xA3, 0xA1, 0xCA, 0xED, 0x25, 0x2D, +0x79, 0x7C, 0x20, 0xCF, 0x3F, 0x90, 0xC5, 0x07, 0xF2, 0xF8, 0x40, 0xA4, 0x1F, 0xF0, 0x61, 0x22, +0x32, 0x37, 0x4E, 0x97, 0xE7, 0x1F, 0xA8, 0x2C, 0x5F, 0xB5, 0x35, 0x19, 0x01, 0x88, 0xDA, 0x83, +0x6D, 0xFD, 0x5A, 0xE7, 0x03, 0x40, 0x50, 0xA3, 0x7C, 0xD5, 0x2A, 0x66, 0x8D, 0xF0, 0x8F, 0x86, +0xF4, 0x0D, 0x11, 0xF8, 0x30, 0x10, 0xC1, 0x43, 0x9C, 0x50, 0xA6, 0x9E, 0x7C, 0x38, 0xA2, 0x98, +0x75, 0x6B, 0xC9, 0xF2, 0x0F, 0xE4, 0xF2, 0x81, 0x87, 0xD0, 0xFE, 0x70, 0x64, 0xF1, 0x81, 0x86, +0xF1, 0x41, 0x31, 0x0B, 0x3E, 0x4C, 0x40, 0xAC, 0x73, 0xE5, 0xF9, 0x07, 0x2A, 0xDB, 0xE7, 0x9E, +0x87, 0x4C, 0xA6, 0x95, 0xF6, 0x47, 0xBB, 0x98, 0xF5, 0x53, 0x03, 0x10, 0x9A, 0xEA, 0xE2, 0xC3, +0x23, 0xE4, 0x37, 0xDA, 0xCE, 0xD8, 0xB7, 0x7D, 0x22, 0x0C, 0xC3, 0x45, 0x86, 0x10, 0x84, 0xDA, +0x28, 0x54, 0xCD, 0x52, 0x48, 0x2B, 0x98, 0x2A, 0xAB, 0x1D, 0x98, 0x10, 0x43, 0xC5, 0x84, 0xC4, +0x80, 0x2A, 0x31, 0x30, 0x14, 0x11, 0x28, 0xCC, 0x0C, 0x48, 0x48, 0x1D, 0x59, 0x88, 0x04, 0x0C, +0x15, 0x33, 0x02, 0x06, 0xFE, 0x52, 0x3E, 0xBF, 0x39, 0xF3, 0xD0, 0xEB, 0xF5, 0xF2, 0x1E, 0x4D, +0xDE, 0xB3, 0x2F, 0xB6, 0x29, 0xF9, 0xC5, 0xCE, 0x3D, 0x7E, 0xEF, 0xBB, 0xCF, 0x76, 0x2E, 0xE5, +0x1F, 0x84, 0xE7, 0x55, 0x42, 0x26, 0xB1, 0x87, 0x2D, 0x80, 0x8C, 0x26, 0x62, 0x14, 0x2E, 0xCC, +0x82, 0x0F, 0xCF, 0x43, 0xC4, 0x87, 0x25, 0xF8, 0xF0, 0x04, 0x1F, 0x96, 0x48, 0x7F, 0x78, 0x22, +0x7D, 0xEE, 0x09, 0x3E, 0x2C, 0xE1, 0x1F, 0x9E, 0x48, 0x7F, 0x98, 0x80, 0xE0, 0x1F, 0x8E, 0xF0, +0x0F, 0x47, 0x97, 0xEB, 0x4D, 0x7A, 0x50, 0xC3, 0xBB, 0x0E, 0x21, 0xC4, 0xE7, 0x65, 0x40, 0x90, +0xC5, 0x07, 0x29, 0xC3, 0x57, 0xA2, 0x97, 0x45, 0xFA, 0xA3, 0x2A, 0x92, 0xEA, 0xC8, 0xF3, 0x10, +0xAB, 0xE8, 0x96, 0xDD, 0xF3, 0x94, 0xFE, 0xB0, 0x74, 0x3E, 0x34, 0x80, 0xCE, 0xE3, 0x83, 0xA4, +0xFA, 0x37, 0x3F, 0x7C, 0xE3, 0x0A, 0x3E, 0x1C, 0xFD, 0x08, 0x1F, 0x9E, 0xB0, 0x0F, 0x4B, 0x2D, +0x7C, 0x10, 0xAA, 0x5F, 0xD8, 0xDA, 0xF0, 0x41, 0xFA, 0xC3, 0x20, 0x64, 0x09, 0x1E, 0x06, 0x21, +0x4A, 0x9F, 0x9B, 0x9A, 0xAC, 0x5F, 0x21, 0x3D, 0x68, 0x10, 0x42, 0xFF, 0xCA, 0x00, 0x04, 0x3E, +0x0C, 0x42, 0xD6, 0xAF, 0x8B, 0x0F, 0x53, 0x93, 0x81, 0x10, 0x5B, 0xBA, 0xCB, 0x90, 0x62, 0xC5, +0x21, 0xF8, 0x87, 0xE9, 0x21, 0x9F, 0x35, 0x08, 0xFB, 0xF0, 0x04, 0x1F, 0x96, 0xE0, 0xC3, 0x13, +0x7C, 0x78, 0x62, 0xF8, 0xCA, 0x12, 0xF1, 0xB9, 0x4B, 0x08, 0x5F, 0x97, 0x47, 0x48, 0x8B, 0x02, +0x0F, 0xC7, 0x3F, 0x18, 0xEE, 0x7D, 0x9D, 0xF4, 0xA0, 0x45, 0x08, 0x78, 0x94, 0x01, 0x01, 0x91, +0x59, 0x83, 0x82, 0x10, 0xFA, 0x57, 0x3E, 0x21, 0xBE, 0xC2, 0x85, 0x1B, 0xCA, 0x12, 0xFF, 0xF0, +0x84, 0x7F, 0x58, 0x82, 0x0F, 0x93, 0x10, 0xC5, 0xDB, 0xA6, 0x3E, 0xFA, 0x1E, 0x3E, 0x2C, 0xFD, +0x06, 0x1F, 0x9E, 0xF0, 0x0F, 0x4B, 0xDD, 0x45, 0x9B, 0xC8, 0x9E, 0x3B, 0x85, 0xEE, 0x95, 0x25, +0x86, 0x77, 0x4D, 0x91, 0xFE, 0xB0, 0x04, 0x1F, 0xBB, 0x05, 0xE4, 0xB4, 0x07, 0x10, 0x4B, 0xD8, +0xAA, 0x69, 0x22, 0x8C, 0x8A, 0x58, 0x81, 0x3A, 0xDA, 0x03, 0x20, 0xEF, 0xB7, 0x02, 0xF2, 0x7D, +0x5B, 0x8B, 0x87, 0x27, 0x4B, 0x04, 0x20, 0x9E, 0x30, 0x10, 0x47, 0xE4, 0x3F, 0x4C, 0xF1, 0x4D, +0x79, 0x80, 0xB4, 0x35, 0x84, 0xB3, 0x26, 0x3E, 0x96, 0x93, 0xFE, 0xA8, 0x09, 0x90, 0xBF, 0x5D, +0x40, 0x18, 0xE1, 0xB5, 0x0C, 0xA4, 0x9F, 0x4E, 0x2F, 0x1B, 0x08, 0x59, 0x36, 0x13, 0x12, 0x57, +0xF5, 0xD8, 0x9E, 0x1D, 0x7C, 0x34, 0x11, 0xE2, 0x86, 0xE8, 0x64, 0x43, 0x9A, 0x08, 0x21, 0x04, +0x71, 0xF9, 0x68, 0x23, 0x84, 0x18, 0xC4, 0xD2, 0xF0, 0x24, 0xA3, 0xBD, 0x76, 0xB1, 0x2E, 0x48, +0xA1, 0x1B, 0xA5, 0x91, 0x8F, 0xE5, 0xC9, 0xB2, 0xE5, 0x4C, 0x7C, 0x39, 0x9D, 0xF6, 0xB3, 0xA3, +0x06, 0x3E, 0xDC, 0x2E, 0x96, 0xA2, 0x79, 0x3F, 0x04, 0x99, 0x0E, 0xCF, 0xB5, 0x7E, 0xDD, 0xE7, +0x63, 0x29, 0x42, 0x90, 0xEB, 0x21, 0x7E, 0x08, 0xD2, 0x40, 0x48, 0xC7, 0x20, 0xAF, 0x25, 0xE5, +0x40, 0x6E, 0x1A, 0xF8, 0x80, 0x10, 0x97, 0x0F, 0x72, 0x20, 0x66, 0x90, 0x7E, 0xED, 0x7E, 0x9A, +0x1F, 0xE2, 0xB3, 0xC7, 0xA7, 0x6F, 0xE2, 0xE3, 0xB8, 0x2D, 0x48, 0x0F, 0x42, 0xF6, 0xE0, 0x1F, +0xF0, 0xD1, 0x40, 0xC8, 0x9B, 0x7D, 0x1F, 0x4D, 0xD3, 0x26, 0xE4, 0x54, 0x63, 0x53, 0x0E, 0x20, +0x29, 0x69, 0x72, 0x6A, 0xF2, 0xF1, 0xB0, 0x9E, 0x4E, 0x21, 0xC4, 0xE1, 0x43, 0x7B, 0x19, 0x7B, +0xBC, 0x73, 0x42, 0xB8, 0xBB, 0x30, 0x5A, 0xFE, 0x45, 0x4B, 0x22, 0xC4, 0xF7, 0x8F, 0xA1, 0x8D, +0x91, 0x26, 0x34, 0x13, 0x21, 0x3E, 0x1E, 0x52, 0xF3, 0x30, 0xAF, 0x1B, 0x7F, 0xBC, 0xAF, 0xB2, +0xEF, 0x61, 0xDE, 0xFD, 0xF9, 0x87, 0x64, 0x76, 0x53, 0x5E, 0xEF, 0xA7, 0x21, 0x08, 0x31, 0x13, +0x21, 0xDB, 0x01, 0x89, 0x87, 0x8C, 0xFA, 0x89, 0x90, 0x81, 0x8F, 0x87, 0xA9, 0x08, 0x79, 0xC5, +0xE6, 0x23, 0x11, 0x72, 0xB1, 0x5B, 0x0F, 0xC1, 0x3F, 0x7C, 0x13, 0x11, 0x1E, 0x2D, 0x89, 0xC2, +0xE8, 0xA2, 0xA8, 0xEC, 0x3A, 0x51, 0x08, 0x20, 0xD2, 0x7E, 0x12, 0x85, 0xE3, 0x87, 0xFF, 0xD8, +0x24, 0x84, 0x0B, 0xB1, 0x1A, 0xF8, 0x90, 0x87, 0xF8, 0xF1, 0xB9, 0xFF, 0xFD, 0xAB, 0xED, 0xF8, +0x84, 0xCC, 0xC5, 0x87, 0x4D, 0xC8, 0x11, 0x99, 0xF4, 0x0A, 0x20, 0xF8, 0x87, 0x47, 0xC8, 0xE9, +0xE9, 0x6C, 0xBD, 0x9E, 0x26, 0x1D, 0xAE, 0x2D, 0x3E, 0xD8, 0xCB, 0xB3, 0xC6, 0x33, 0xC8, 0xBB, +0x46, 0x7C, 0xFE, 0x1F, 0xD9, 0xFE, 0xE1, 0x23, 0x22, 0xFB, 0x48, 0xC5, 0xE1, 0x03, 0x5D, 0x7F, +0xE4, 0x24, 0x41, 0x04, 0x47, 0x92, 0x85, 0x07, 0xF2, 0xFD, 0x43, 0x7C, 0x7B, 0x7C, 0x20, 0x0B, +0x0F, 0xF4, 0xDA, 0xCE, 0xFD, 0xE3, 0x8C, 0xB6, 0x63, 0x11, 0xF2, 0x8A, 0xF8, 0x10, 0x21, 0xEB, +0xC3, 0x23, 0x87, 0x0F, 0x08, 0xA9, 0x01, 0xC2, 0x4D, 0xB9, 0x06, 0x21, 0xA7, 0x47, 0x87, 0xE2, +0x23, 0x69, 0xB6, 0x3E, 0x39, 0xB3, 0xF8, 0x80, 0x10, 0x43, 0x7E, 0x42, 0xE4, 0x5D, 0xFF, 0x62, +0x5E, 0xFC, 0x03, 0xB5, 0xF1, 0xF1, 0x99, 0x79, 0xB1, 0x22, 0xF2, 0xEC, 0x03, 0x79, 0x7C, 0xF8, +0x84, 0xC4, 0x23, 0x78, 0x29, 0x46, 0x36, 0x24, 0xBB, 0x19, 0xC4, 0xE6, 0x43, 0x1E, 0x62, 0xF8, +0x47, 0xD3, 0x77, 0x2F, 0x3E, 0xD0, 0xD6, 0xFE, 0xD5, 0xFA, 0x70, 0x1A, 0x82, 0x90, 0x53, 0x97, +0x0F, 0x08, 0x01, 0x90, 0xCC, 0x3F, 0x50, 0xE0, 0xB2, 0xE5, 0x52, 0x45, 0xF8, 0x90, 0x87, 0x3C, +0x4C, 0xCE, 0x3C, 0x3E, 0xA4, 0x93, 0x65, 0xAB, 0x87, 0xBC, 0xB7, 0x85, 0x8F, 0x8B, 0xB6, 0xCB, +0xDD, 0x73, 0x6D, 0xEB, 0x5E, 0x09, 0x10, 0xCA, 0x8E, 0x2F, 0x77, 0xCF, 0xB5, 0xE3, 0xCB, 0xDD, +0x03, 0x69, 0x9F, 0x10, 0x6E, 0xBB, 0x85, 0x10, 0x9F, 0x0F, 0x7D, 0x11, 0xEF, 0xDA, 0xE1, 0xB9, +0xCF, 0x07, 0xDA, 0x32, 0xBC, 0xBB, 0x96, 0x7F, 0xD8, 0x84, 0xD0, 0xEA, 0x21, 0xA4, 0x04, 0x08, +0xFE, 0xC1, 0xDF, 0x56, 0xD3, 0x1F, 0xAF, 0x88, 0x0F, 0x74, 0x38, 0x85, 0x90, 0x1A, 0x1F, 0x78, +0xC8, 0x8E, 0x12, 0x22, 0x5C, 0xC9, 0xEB, 0x13, 0x72, 0xFC, 0x56, 0xE7, 0x11, 0xC2, 0xF0, 0x55, +0x56, 0xDA, 0xF8, 0xB8, 0xFE, 0xBC, 0x8D, 0x0F, 0xFF, 0x86, 0x29, 0xE7, 0x8A, 0xAC, 0xF8, 0xBC, +0x79, 0xB1, 0xEC, 0x03, 0x39, 0x7C, 0xA0, 0x8B, 0x20, 0xC4, 0xB5, 0x0F, 0x9F, 0x0F, 0x54, 0xE5, +0xE3, 0x21, 0xF1, 0x01, 0x22, 0xFD, 0x4B, 0x6F, 0x98, 0xCA, 0xF9, 0xC0, 0x44, 0x3C, 0x3E, 0x20, +0x64, 0xE9, 0xE1, 0x21, 0xB5, 0x26, 0xD5, 0x0F, 0xC2, 0xBA, 0x8B, 0x88, 0x44, 0x7C, 0xF2, 0x1E, +0x5F, 0x92, 0x45, 0x48, 0xF1, 0xB7, 0x10, 0x1C, 0x3E, 0x28, 0x78, 0x88, 0xF9, 0x60, 0x93, 0x0A, +0x1F, 0xC4, 0x1F, 0x68, 0x77, 0xB7, 0xDC, 0xF2, 0xE1, 0x3D, 0x0F, 0x29, 0x3F, 0xF3, 0xC7, 0xE2, +0x03, 0xBD, 0xBB, 0xB3, 0xE1, 0xAB, 0x62, 0xE3, 0x79, 0x9E, 0x8F, 0x29, 0x7C, 0x40, 0x48, 0xE5, +0x96, 0xDB, 0x92, 0x72, 0x40, 0xCA, 0x7C, 0x48, 0x65, 0x3C, 0x94, 0xFE, 0x78, 0xAA, 0xBE, 0x9F, +0x2F, 0x3D, 0x3E, 0xA4, 0x1D, 0x25, 0xD5, 0x83, 0x0F, 0xF3, 0x99, 0x26, 0x74, 0xAF, 0xCA, 0x8D, +0xE0, 0x79, 0x3E, 0x62, 0x08, 0xA8, 0x50, 0x2C, 0xFB, 0x40, 0x1E, 0x1F, 0xC8, 0xE2, 0x03, 0x5D, +0x5B, 0xFE, 0x01, 0x22, 0x0D, 0x7C, 0xE8, 0x80, 0x79, 0x7C, 0x10, 0x88, 0x94, 0x4C, 0x64, 0x78, +0x8C, 0xD9, 0x4B, 0xF8, 0x40, 0xCF, 0xA6, 0xCF, 0x33, 0x3E, 0x18, 0xCC, 0x32, 0xF9, 0x90, 0x32, +0x40, 0xE0, 0xC3, 0x7D, 0xEC, 0xCF, 0x94, 0xF8, 0x03, 0x29, 0x21, 0xB2, 0x34, 0xF9, 0x90, 0xFE, +0x0F, 0x21, 0x05, 0xFF, 0xA0, 0x7B, 0x65, 0x11, 0xD2, 0x11, 0x9F, 0x67, 0xB2, 0xFC, 0x83, 0xF2, +0xB1, 0xC5, 0x07, 0xF2, 0xF8, 0x40, 0x1E, 0x1F, 0xA8, 0x32, 0x7C, 0xE5, 0x13, 0xD2, 0x95, 0x0D, +0x24, 0x26, 0x93, 0x0F, 0x08, 0x31, 0x86, 0x77, 0xAD, 0xF4, 0x87, 0x4D, 0xC8, 0x72, 0x0E, 0x1F, +0x0E, 0x21, 0x84, 0xE7, 0xB9, 0x00, 0x84, 0xF4, 0x87, 0x43, 0x08, 0x7C, 0x3C, 0x4C, 0x9F, 0x21, +0xC4, 0xE0, 0xE3, 0x25, 0x84, 0x14, 0xC2, 0xF3, 0x8A, 0x3C, 0xFF, 0x40, 0x1E, 0x1F, 0xB4, 0x31, +0x8B, 0x0F, 0x64, 0xF1, 0x81, 0xCC, 0x07, 0xC7, 0xA1, 0x4A, 0xFA, 0xC3, 0xED, 0x65, 0x5D, 0xA1, +0x82, 0x87, 0x38, 0x7C, 0x90, 0x10, 0x79, 0x71, 0xFA, 0x03, 0x3E, 0x0A, 0x2A, 0xF1, 0x01, 0x1E, +0x0E, 0x21, 0xA7, 0x95, 0x07, 0xC7, 0x01, 0x08, 0x7C, 0x98, 0x84, 0x28, 0x7D, 0xFE, 0xAC, 0xFA, +0xB9, 0xC5, 0x07, 0x7B, 0xC9, 0x21, 0x73, 0x54, 0xF0, 0x90, 0x2D, 0x8F, 0x1E, 0x5D, 0xE4, 0x7C, +0x30, 0x46, 0x53, 0x50, 0x25, 0x3D, 0xE8, 0x79, 0xC8, 0xE7, 0x55, 0x79, 0x78, 0x40, 0x88, 0xC7, +0x07, 0xB2, 0xBA, 0x57, 0x94, 0x06, 0x3E, 0xCA, 0x49, 0x75, 0xEB, 0xD1, 0xEE, 0x94, 0x56, 0xFF, +0xA8, 0xB7, 0x9D, 0x72, 0x7A, 0xD0, 0x27, 0xE4, 0xA8, 0xFE, 0xD3, 0x07, 0x00, 0xC2, 0x56, 0x87, +0x90, 0xF0, 0x0F, 0xEC, 0xA3, 0x44, 0xC8, 0xDA, 0xE3, 0x03, 0x42, 0x5A, 0x87, 0x7B, 0x1D, 0xFF, +0x40, 0x39, 0x1F, 0x5B, 0xE4, 0xF2, 0x81, 0x87, 0xF8, 0x7C, 0x30, 0x96, 0x05, 0x20, 0x35, 0x31, +0x98, 0x65, 0xFF, 0x44, 0x88, 0xD5, 0xBF, 0xA2, 0x78, 0x7C, 0x60, 0x22, 0x1E, 0x1F, 0xE5, 0x84, +0x48, 0xC4, 0x24, 0x1F, 0xBC, 0x86, 0xBC, 0xE1, 0xAB, 0xAA, 0x0A, 0xE9, 0xC1, 0x0A, 0x21, 0x6B, +0x11, 0xE2, 0xF0, 0x01, 0x21, 0x02, 0x24, 0x16, 0x5D, 0x42, 0x48, 0x0F, 0xD6, 0x09, 0x59, 0x1A, +0x7C, 0xB0, 0x97, 0xAD, 0x83, 0x59, 0xEF, 0x16, 0xD3, 0xE7, 0x75, 0x0F, 0xC1, 0x3F, 0xDA, 0x08, +0x21, 0xFD, 0x51, 0x2E, 0xEF, 0xB7, 0xFE, 0xFC, 0x81, 0xE3, 0x1F, 0x28, 0xFE, 0xBB, 0x65, 0x1F, +0xC8, 0xF4, 0x8F, 0xF2, 0x65, 0x27, 0xBB, 0xFF, 0xF9, 0x03, 0xA3, 0x7B, 0x65, 0xA5, 0xCF, 0xCB, +0x7A, 0x9C, 0x1E, 0xAC, 0xF0, 0x41, 0x42, 0xC4, 0xE5, 0x83, 0x9F, 0x3F, 0xC8, 0xFB, 0x5E, 0x9A, +0x63, 0x2A, 0x12, 0x72, 0x3A, 0x83, 0x8F, 0x0A, 0x21, 0x93, 0xA5, 0xC1, 0x07, 0x7B, 0xF9, 0x5E, +0xBB, 0x87, 0x90, 0x1E, 0xDC, 0xF5, 0x0F, 0xE8, 0x74, 0xD9, 0xD5, 0x89, 0x5B, 0x8B, 0xC7, 0x07, +0xF2, 0xEC, 0x03, 0x59, 0x7C, 0x20, 0x8B, 0x0F, 0x8A, 0xC7, 0x07, 0x32, 0xF9, 0xC0, 0x43, 0x48, +0x55, 0xBD, 0xB6, 0x2B, 0xFF, 0x40, 0x79, 0xFA, 0xDC, 0x27, 0x04, 0x57, 0xA8, 0x10, 0x12, 0x80, +0x7C, 0x5B, 0xF6, 0x8F, 0x27, 0x5B, 0x49, 0x9F, 0x4F, 0xB7, 0xAB, 0x7F, 0xF0, 0xF9, 0xC0, 0x43, +0x7C, 0x29, 0x21, 0x42, 0xF8, 0x61, 0x7B, 0xC8, 0x95, 0xA3, 0x08, 0x50, 0xE0, 0x03, 0x40, 0x2A, +0x85, 0xF4, 0x87, 0x27, 0xCF, 0x3F, 0x10, 0x7C, 0x58, 0x6A, 0xE2, 0xE3, 0x63, 0xBA, 0x59, 0xDD, +0x5E, 0x7E, 0x82, 0xED, 0x35, 0xDF, 0x3F, 0x7C, 0x3E, 0x50, 0x2D, 0xFD, 0x81, 0x48, 0x88, 0x34, +0xFE, 0x04, 0xDB, 0xB7, 0x07, 0x7F, 0x40, 0x02, 0xB6, 0x51, 0x5A, 0x4F, 0x77, 0x47, 0x31, 0x7C, +0x55, 0x25, 0x24, 0x52, 0x86, 0x06, 0x1E, 0x2F, 0x49, 0x88, 0xE8, 0x9C, 0xE4, 0x88, 0xEB, 0xDF, +0xA3, 0xED, 0x9B, 0xC2, 0x3F, 0x9C, 0xD2, 0xFC, 0x2B, 0xB7, 0x2D, 0xFE, 0x41, 0x1C, 0x62, 0xBF, +0x3B, 0x7C, 0x78, 0x05, 0xFB, 0xF0, 0x10, 0x69, 0xFD, 0x11, 0x4F, 0x9D, 0xCE, 0x5A, 0xFD, 0x63, +0x62, 0x37, 0x1E, 0x9F, 0x0F, 0x52, 0x86, 0xAD, 0xBF, 0x72, 0x0B, 0x12, 0x7F, 0xB3, 0x92, 0x96, +0x21, 0xE4, 0x54, 0xE9, 0x41, 0x4B, 0x7D, 0x1F, 0x84, 0xF8, 0x53, 0xCC, 0x4D, 0x84, 0x0C, 0xE7, +0x25, 0xD2, 0x83, 0x8E, 0x18, 0xDE, 0xB5, 0x24, 0x3E, 0x2A, 0xE1, 0x79, 0x9E, 0x54, 0xFF, 0x01, +0x3E, 0x1C, 0xC1, 0x87, 0x27, 0xF8, 0xF0, 0x44, 0x78, 0x6E, 0x7B, 0xC8, 0x55, 0x83, 0xE0, 0xC3, +0xD2, 0x6B, 0x2D, 0x7C, 0x90, 0x1E, 0x74, 0x25, 0x3E, 0x94, 0x98, 0x33, 0x00, 0x79, 0x65, 0x3A, +0x3B, 0xDD, 0xED, 0xCF, 0x40, 0x23, 0xDD, 0x5D, 0xDB, 0x9B, 0x80, 0x1C, 0x1E, 0x0E, 0xA1, 0xFA, +0x72, 0xE2, 0x4D, 0x7A, 0x30, 0x29, 0xB7, 0x88, 0x38, 0x91, 0x7A, 0x50, 0xD2, 0x24, 0xFC, 0xC3, +0xD2, 0xB1, 0xAE, 0xEE, 0x33, 0xCB, 0x67, 0xE1, 0x21, 0x31, 0x42, 0x65, 0x2B, 0xFE, 0xF6, 0xB7, +0x36, 0x99, 0x7C, 0x90, 0x54, 0x6F, 0xF9, 0xF0, 0x31, 0x07, 0x1F, 0x9D, 0x59, 0x94, 0x32, 0x6C, +0x3B, 0xF6, 0xF1, 0x5D, 0x35, 0xDE, 0xFD, 0x41, 0xE3, 0x30, 0xA6, 0x18, 0xBE, 0xEA, 0xA7, 0xB6, +0x7A, 0xC2, 0x73, 0x1B, 0x10, 0x0C, 0x83, 0x95, 0x7C, 0x29, 0xBA, 0x5B, 0xFD, 0x5C, 0x7C, 0x98, +0x1F, 0x63, 0x36, 0x89, 0x81, 0x08, 0x5F, 0x11, 0x86, 0x2C, 0xCE, 0x7D, 0x6D, 0xFE, 0xF8, 0xC2, +0x2B, 0xF1, 0x97, 0x1F, 0x9C, 0x77, 0xC7, 0x9D, 0xAF, 0xD5, 0xEA, 0xAB, 0x9B, 0xAF, 0x5A, 0x74, +0x7B, 0xDD, 0xA2, 0xDB, 0xEB, 0xEF, 0x1A, 0x75, 0xDD, 0xF8, 0x0F, 0x7C, 0xD5, 0xA6, 0x6E, 0xD5, +0xB5, 0x28, 0x0E, 0xE7, 0x3E, 0x75, 0xF6, 0x5E, 0x53, 0xC3, 0xB9, 0x9C, 0x1D, 0xFA, 0x78, 0x44, +0x2F, 0xEB, 0x8D, 0x76, 0x40, 0xE8, 0x5B, 0xB1, 0xC2, 0x52, 0x5A, 0xFE, 0x5B, 0x17, 0xB8, 0x5B, +0x5A, 0xC7, 0x34, 0x9F, 0x2C, 0xF5, 0xA0, 0x51, 0xB3, 0x1C, 0x5C, 0x1C, 0x9C, 0x2F, 0x6C, 0x05, +0x1E, 0x31, 0xB5, 0x68, 0x31, 0x34, 0x81, 0x63, 0xBF, 0x1C, 0xB7, 0xF1, 0x71, 0x7B, 0x7B, 0x7D, +0x7F, 0xED, 0xEB, 0xEE, 0xAE, 0x8D, 0x8F, 0xBB, 0xBB, 0xBB, 0x6B, 0x53, 0x9F, 0x0F, 0x7C, 0xDC, +0xB6, 0x11, 0x72, 0x7C, 0xDC, 0x70, 0x64, 0xAE, 0x8E, 0x57, 0xE7, 0xAD, 0x5A, 0x2C, 0xFC, 0x3F, +0x3D, 0x8F, 0x66, 0xD3, 0xD0, 0x6E, 0xC2, 0x6E, 0xE6, 0x43, 0x7B, 0xB3, 0x34, 0x8D, 0xE9, 0xE8, +0xE8, 0xEF, 0x76, 0x40, 0x4A, 0xE6, 0x81, 0x64, 0x20, 0x47, 0x47, 0x71, 0xF9, 0xBB, 0x08, 0xB1, +0x40, 0xBD, 0x8C, 0xCF, 0x1D, 0x1E, 0x62, 0xEE, 0x66, 0x18, 0x6B, 0xE8, 0x7C, 0x7F, 0x5A, 0x2D, +0xCE, 0x17, 0x5D, 0x77, 0xB5, 0xBA, 0x3A, 0x1E, 0xE6, 0x85, 0x5E, 0xB4, 0x5A, 0x78, 0x8D, 0x7A, +0x50, 0x0B, 0x1F, 0xDF, 0x0C, 0x84, 0x44, 0xDB, 0xF4, 0xCA, 0x5D, 0x48, 0x84, 0xFC, 0xEE, 0xCD, +0xFA, 0xFB, 0x7B, 0xBD, 0xFF, 0xF6, 0x2A, 0xE6, 0xDB, 0x41, 0x4D, 0x7C, 0x84, 0x38, 0x0A, 0xD5, +0xD7, 0xC0, 0x63, 0x41, 0x7B, 0xDF, 0x87, 0x0E, 0x42, 0x3E, 0x21, 0xAF, 0x45, 0x33, 0x9B, 0x98, +0x31, 0xBA, 0xB2, 0x85, 0x71, 0xA2, 0x3F, 0x6A, 0x05, 0xA4, 0x64, 0x1E, 0xF9, 0xE6, 0xA3, 0xD0, +0xDF, 0x22, 0xC4, 0x1B, 0xC5, 0x3A, 0x99, 0x4C, 0x20, 0xC4, 0xE0, 0x43, 0xDA, 0xD7, 0x91, 0x5F, +0xAC, 0x06, 0xD3, 0x59, 0x0C, 0xE7, 0xBF, 0x55, 0xCC, 0xDD, 0xE6, 0x25, 0xAA, 0xE3, 0x6E, 0x35, +0xBC, 0xB0, 0xBE, 0x8A, 0xC5, 0x58, 0x3A, 0xFE, 0x6C, 0x98, 0x7D, 0xFF, 0x90, 0x7C, 0xFB, 0x08, +0x45, 0x6D, 0xDB, 0x87, 0x24, 0x0F, 0xF9, 0xFA, 0xF3, 0xAD, 0xD5, 0x7D, 0xF8, 0x47, 0x13, 0x21, +0x9F, 0x89, 0x8F, 0xA8, 0xBB, 0xFC, 0x68, 0x94, 0xD6, 0xBB, 0x6E, 0xE0, 0x63, 0x8F, 0x84, 0x1C, +0x48, 0xAF, 0xB5, 0xF0, 0x11, 0x5A, 0xF7, 0x0D, 0x7C, 0xE0, 0x21, 0x3E, 0x20, 0xF5, 0x30, 0x44, +0x7C, 0xF8, 0x84, 0xF4, 0xEB, 0x81, 0x0F, 0x11, 0xF2, 0x9E, 0xD3, 0xCB, 0x4A, 0x7C, 0xEC, 0xCF, +0x43, 0x56, 0xA9, 0x5B, 0xD6, 0x75, 0xE1, 0x1E, 0x71, 0x1A, 0x4C, 0x36, 0x12, 0x93, 0x96, 0x74, +0x6A, 0x8C, 0x15, 0xFD, 0x97, 0x01, 0x8F, 0xB1, 0xC9, 0x98, 0x7C, 0xC8, 0x40, 0xD4, 0xCB, 0xDA, +0x58, 0xC4, 0xD7, 0xCF, 0xD7, 0xE2, 0x63, 0x94, 0xFC, 0x61, 0xAB, 0x7E, 0xBF, 0x83, 0x90, 0xE4, +0x11, 0x51, 0xE5, 0x4B, 0x54, 0xB7, 0xA3, 0x6E, 0x6C, 0xFB, 0x10, 0x23, 0x9B, 0xBD, 0x8F, 0x59, +0x53, 0xE1, 0xE8, 0xC4, 0xD4, 0x5D, 0xC9, 0x3F, 0xF6, 0x48, 0xC8, 0xC1, 0x28, 0x07, 0x8F, 0x83, +0x33, 0xF1, 0x01, 0x21, 0x1E, 0x1F, 0x10, 0xE2, 0x03, 0x52, 0x0F, 0x43, 0xF4, 0xAE, 0x89, 0x90, +0xA9, 0x93, 0x49, 0x97, 0x44, 0xC8, 0xD9, 0x6B, 0x9E, 0x7D, 0x48, 0xAF, 0xED, 0x85, 0x90, 0x05, +0x91, 0x4B, 0x37, 0x7C, 0xE1, 0xC9, 0x46, 0x86, 0x5A, 0xF3, 0x55, 0xD4, 0x22, 0x43, 0xFF, 0xE5, +0x2A, 0xDA, 0x8B, 0x8A, 0xD9, 0xCD, 0xBA, 0x11, 0x1E, 0xBE, 0x87, 0xC0, 0xC7, 0xFD, 0x76, 0x0F, +0x51, 0xFF, 0x0A, 0x11, 0x66, 0x14, 0x96, 0x54, 0x7D, 0x0D, 0x1F, 0x1E, 0x21, 0x9F, 0x25, 0xB7, +0x8C, 0x12, 0xBB, 0x2E, 0x36, 0xF4, 0xA2, 0x03, 0x14, 0x45, 0x4B, 0xDA, 0xB6, 0xD9, 0xA0, 0xA3, +0x09, 0x21, 0xFB, 0xE0, 0xC3, 0xF6, 0x10, 0xF8, 0x80, 0x10, 0x83, 0x0F, 0x08, 0x71, 0x01, 0xC1, +0x2E, 0x10, 0x9B, 0xE1, 0xC3, 0x23, 0xA4, 0x9F, 0x4F, 0xD0, 0x10, 0xAA, 0x3B, 0x80, 0x20, 0x37, +0xFA, 0xF6, 0xB5, 0x82, 0x90, 0xF3, 0xD5, 0x60, 0x22, 0x57, 0x1B, 0x23, 0x49, 0xE7, 0xCA, 0x55, +0x27, 0x38, 0xD2, 0x99, 0x72, 0xB5, 0x41, 0x23, 0xA4, 0xA6, 0xF3, 0xD5, 0xCD, 0x56, 0x3E, 0xD0, +0x4D, 0x10, 0xB2, 0xC5, 0x44, 0xC4, 0x07, 0x7A, 0xF4, 0xBB, 0x52, 0x4C, 0x5A, 0xDF, 0x68, 0xE8, +0x8B, 0x21, 0xBD, 0x45, 0x48, 0xEF, 0x26, 0x43, 0x1A, 0xDF, 0x3D, 0x55, 0xF0, 0x61, 0x10, 0x12, +0x3B, 0x37, 0xEE, 0xAA, 0x6A, 0x9D, 0x2C, 0x3A, 0x99, 0x88, 0x8E, 0xC6, 0x50, 0x69, 0x49, 0xDB, +0xBA, 0xAB, 0xA8, 0x0E, 0x16, 0xD2, 0x1E, 0x08, 0x01, 0x0F, 0xD7, 0x43, 0x5E, 0x13, 0x1F, 0x34, +0xB5, 0xDE, 0xE2, 0x03, 0x42, 0x3C, 0x40, 0xAA, 0x81, 0xC7, 0x1B, 0xF0, 0xC1, 0x1B, 0xCF, 0xFA, +0x3A, 0x21, 0xE9, 0x43, 0x43, 0xC8, 0x96, 0x73, 0x01, 0x87, 0x65, 0xF7, 0x84, 0xE0, 0x1F, 0x10, +0xA2, 0x13, 0xA3, 0x9C, 0x64, 0xA5, 0x73, 0xE3, 0xD8, 0x1C, 0xE4, 0x20, 0xDD, 0x67, 0x23, 0x1B, +0xA9, 0xD9, 0x78, 0x7C, 0x98, 0x1E, 0xF2, 0x75, 0xC6, 0xC7, 0xF5, 0x9D, 0xE7, 0x1F, 0xE8, 0x5E, +0x08, 0x8E, 0xA6, 0x11, 0x70, 0x48, 0x69, 0x21, 0x2A, 0x3E, 0x8F, 0x15, 0x88, 0xB0, 0xAB, 0x1B, +0x1F, 0xE9, 0xE4, 0xA5, 0x69, 0x8E, 0xC0, 0x3C, 0x39, 0xEB, 0x55, 0x72, 0x10, 0x75, 0xAF, 0xD0, +0x7E, 0xF8, 0x40, 0x5B, 0xFC, 0x63, 0x29, 0x3E, 0xD0, 0xBC, 0xCE, 0xC7, 0xF4, 0x28, 0x6B, 0xC8, +0x26, 0x20, 0xF5, 0x61, 0x2C, 0xF8, 0xE0, 0x8D, 0x8F, 0xA6, 0x6B, 0x8F, 0x0F, 0xE9, 0xCD, 0xBA, +0x87, 0x60, 0x1F, 0xFB, 0x20, 0xE4, 0x42, 0xF1, 0xF9, 0x28, 0x3C, 0x44, 0xDF, 0xBC, 0x8A, 0x80, +0xD1, 0xCB, 0x10, 0x96, 0x88, 0x8E, 0xB1, 0x52, 0x5D, 0xF7, 0x90, 0xD4, 0xBD, 0x42, 0x37, 0x43, +0x33, 0xBD, 0x2F, 0xB9, 0x87, 0x5E, 0xEF, 0x9E, 0xC8, 0x8B, 0xCF, 0xD1, 0x68, 0x1A, 0x09, 0x91, +0xF1, 0xDD, 0xB5, 0xF5, 0xEB, 0x5B, 0x64, 0x79, 0x48, 0xDA, 0x49, 0xEA, 0xF1, 0x74, 0x21, 0x30, +0x54, 0x75, 0xC9, 0x46, 0xBA, 0xA8, 0xE1, 0x63, 0x2F, 0x88, 0x3C, 0x6D, 0x08, 0x55, 0xFF, 0x58, +0x5E, 0xBE, 0x39, 0x41, 0x10, 0x62, 0xF2, 0x01, 0x21, 0x3E, 0x20, 0x45, 0x37, 0x39, 0x7A, 0x22, +0x12, 0x22, 0x35, 0x3E, 0xD0, 0x65, 0xDC, 0x14, 0x65, 0xF1, 0xB1, 0x87, 0x50, 0x7D, 0x81, 0x20, +0x24, 0x42, 0x4E, 0x85, 0xA3, 0xE9, 0x7B, 0x1F, 0xF0, 0xD8, 0x44, 0x22, 0x5D, 0x86, 0x87, 0x66, +0xC7, 0x3F, 0xD0, 0x8D, 0x86, 0x7B, 0xCB, 0x82, 0x8F, 0xCC, 0x43, 0xE8, 0x54, 0x51, 0xC3, 0x47, +0xEE, 0x21, 0x92, 0xA8, 0xC8, 0x74, 0x0B, 0xAF, 0xA8, 0xEE, 0x1F, 0x8F, 0x76, 0x55, 0x6B, 0x3A, +0x24, 0xC2, 0x44, 0x55, 0x02, 0x45, 0x6B, 0x85, 0xA3, 0xB9, 0x17, 0x3E, 0x50, 0xA5, 0x5B, 0x7E, +0x32, 0xBF, 0x9C, 0x48, 0x0E, 0x21, 0xEB, 0x75, 0x0F, 0x1F, 0xA8, 0x1D, 0x10, 0x44, 0x7A, 0xB0, +0x81, 0x90, 0x3E, 0xF8, 0x28, 0x29, 0x08, 0x31, 0xC2, 0x0F, 0xB4, 0x07, 0x3E, 0x90, 0x12, 0x22, +0xFA, 0xE6, 0x93, 0x95, 0xC4, 0x6B, 0x3A, 0x6F, 0x12, 0xAF, 0xAA, 0x4A, 0xF3, 0xF3, 0xFE, 0x51, +0x96, 0x1A, 0x6F, 0xC1, 0x44, 0xEE, 0xEF, 0x50, 0xD1, 0x43, 0xA0, 0xE3, 0x79, 0x3E, 0xBE, 0x97, +0x87, 0x44, 0x09, 0xF1, 0xEE, 0x2A, 0xB7, 0x65, 0xD5, 0xE3, 0x0F, 0x76, 0x35, 0xAD, 0xC9, 0x33, +0x92, 0x79, 0x74, 0x29, 0x06, 0x91, 0xEB, 0x26, 0xFF, 0xC8, 0xB4, 0x1F, 0x3E, 0x20, 0xE4, 0xD9, +0xF4, 0x60, 0xB1, 0xA5, 0xCD, 0x2D, 0x3E, 0x90, 0x07, 0xC8, 0x87, 0x4F, 0x2E, 0xDE, 0x65, 0xF1, +0xA8, 0xA4, 0xBF, 0x19, 0xEE, 0xCD, 0xF8, 0x00, 0x6A, 0x54, 0x49, 0x88, 0x1C, 0x94, 0xF5, 0xDA, +0xAE, 0x7A, 0x59, 0xAB, 0xF3, 0x72, 0x12, 0x7E, 0xFC, 0xEA, 0x15, 0xA6, 0x8F, 0x8B, 0xC4, 0xAB, +0x52, 0xC2, 0x43, 0x0B, 0x16, 0x1F, 0x28, 0xA2, 0xE5, 0x82, 0x8A, 0x74, 0x30, 0x98, 0x55, 0x19, +0xDE, 0xCD, 0x75, 0xAD, 0xF7, 0x0F, 0xE2, 0x32, 0xFF, 0x68, 0x23, 0x04, 0x38, 0xB4, 0x9B, 0xAC, +0xA5, 0x0E, 0x16, 0x0E, 0xA2, 0xD8, 0x1D, 0x3E, 0x76, 0x4C, 0x08, 0x7C, 0xF8, 0x84, 0xC0, 0x47, +0xAE, 0x69, 0x5F, 0xE4, 0x43, 0x27, 0xFA, 0x82, 0x7C, 0x07, 0xA1, 0x7F, 0xC5, 0x22, 0xE1, 0x47, +0x2E, 0x08, 0x29, 0x0C, 0xEF, 0xDA, 0x84, 0x14, 0x01, 0xD9, 0x61, 0xCA, 0x90, 0xF0, 0x03, 0x8D, +0x09, 0x91, 0x34, 0x68, 0x15, 0x0B, 0xE3, 0x38, 0x4D, 0xEA, 0x62, 0xC4, 0x3C, 0x2E, 0xE1, 0x22, +0x37, 0x36, 0x1F, 0x24, 0x44, 0x70, 0x11, 0x8D, 0x2F, 0xDD, 0x55, 0xE4, 0xC5, 0x1F, 0x28, 0x39, +0x48, 0x54, 0x63, 0xF8, 0xA1, 0xF4, 0x60, 0x0B, 0x21, 0xF0, 0xC0, 0x5E, 0x8F, 0x6B, 0x5D, 0x72, +0x91, 0xD1, 0x41, 0x86, 0x19, 0x3E, 0x76, 0x4A, 0x08, 0x7C, 0xB8, 0x84, 0x90, 0x1E, 0x2C, 0x6B, +0xDD, 0xD7, 0x87, 0xAF, 0xDC, 0x40, 0x04, 0x40, 0xF0, 0x10, 0x44, 0x78, 0xEE, 0x10, 0x02, 0x1F, +0x15, 0x42, 0xC2, 0x16, 0x3D, 0xFF, 0x90, 0x2E, 0x0E, 0x5E, 0x7C, 0xE4, 0x17, 0xF8, 0x47, 0x81, +0x90, 0x2B, 0x25, 0xD4, 0x93, 0x87, 0xA8, 0x7B, 0x55, 0x70, 0x10, 0x66, 0x8B, 0x0F, 0xA4, 0x18, +0xC1, 0xF2, 0x0F, 0x29, 0xEF, 0x60, 0xC9, 0x3F, 0x6A, 0x1A, 0xF1, 0x50, 0x30, 0x92, 0xFB, 0x87, +0x13, 0xAA, 0x6F, 0xF6, 0x0A, 0xEF, 0x50, 0xC5, 0x9A, 0x4E, 0x19, 0x9B, 0x13, 0x48, 0x2C, 0x05, +0x28, 0xB5, 0x0B, 0xE5, 0xF6, 0xC9, 0x07, 0x84, 0xE4, 0xE9, 0x0F, 0x93, 0x10, 0xF8, 0x68, 0x27, +0x04, 0x40, 0x2A, 0x7C, 0x18, 0x84, 0x90, 0x3E, 0xAF, 0x11, 0xF2, 0x26, 0x84, 0xC0, 0x47, 0x85, +0x90, 0xF3, 0x97, 0xE9, 0x02, 0xFF, 0x28, 0x7E, 0xA7, 0xBA, 0x76, 0x51, 0xFD, 0x6C, 0xE1, 0xD1, +0x61, 0x1B, 0x05, 0x07, 0x89, 0xD5, 0x4A, 0x7A, 0xB0, 0x18, 0xA9, 0x87, 0x46, 0x13, 0xA9, 0xF3, +0x51, 0x4E, 0xAA, 0x7F, 0x7F, 0x57, 0x17, 0x43, 0xBD, 0xA4, 0xCF, 0x2B, 0x2A, 0x86, 0x1F, 0xEC, +0x64, 0x8E, 0x48, 0x0A, 0xCA, 0x93, 0x83, 0x10, 0x7E, 0xEC, 0x8B, 0x90, 0x83, 0xBA, 0x4A, 0xE9, +0x73, 0x8F, 0x10, 0xF8, 0xA8, 0x11, 0x62, 0x01, 0xF2, 0xA1, 0xCB, 0x07, 0xEF, 0x7B, 0xB4, 0x5E, +0x83, 0x47, 0xCD, 0x3F, 0x48, 0xAA, 0x1B, 0x7C, 0xEC, 0x64, 0xB8, 0xF7, 0xA2, 0xFE, 0x8D, 0xCA, +0x43, 0x36, 0x03, 0x59, 0x69, 0x14, 0x0B, 0xDB, 0x60, 0x01, 0x3C, 0x42, 0x0C, 0xF7, 0xE2, 0x1F, +0x75, 0x0F, 0xB9, 0xC7, 0x44, 0xB6, 0xF2, 0x41, 0x42, 0x04, 0xFF, 0xA8, 0x4B, 0xCE, 0x91, 0xA5, +0xCF, 0x0D, 0x0F, 0xC1, 0x3F, 0x70, 0x10, 0x48, 0x61, 0xC7, 0x75, 0xEE, 0x48, 0x31, 0x08, 0x7C, +0xEC, 0x87, 0x90, 0x83, 0xAD, 0xAA, 0xA6, 0x3F, 0x10, 0x29, 0x43, 0x8F, 0x0F, 0x08, 0x69, 0x77, +0x90, 0x5F, 0xE1, 0xA3, 0x42, 0xC8, 0x74, 0x44, 0xA4, 0x57, 0xFA, 0xBC, 0xAE, 0xF9, 0x7C, 0x89, +0x87, 0x10, 0x7F, 0xEC, 0x85, 0x10, 0xA5, 0x3F, 0xEA, 0x1A, 0xE2, 0x90, 0x34, 0x8A, 0xB5, 0x18, +0xF8, 0xC0, 0x36, 0x38, 0x91, 0x82, 0x08, 0x49, 0x75, 0xAE, 0xBE, 0xAA, 0xEA, 0x86, 0x44, 0x05, +0xC3, 0xBB, 0x6E, 0x1C, 0x12, 0xC0, 0xD4, 0x44, 0x42, 0xE4, 0x9A, 0xFE, 0x95, 0x4F, 0x08, 0xC3, +0x57, 0xEC, 0x6A, 0x5A, 0x04, 0x12, 0x85, 0x67, 0x43, 0xFF, 0x0A, 0x3E, 0x2A, 0xDA, 0x1F, 0x1F, +0x79, 0x42, 0x04, 0x3E, 0x2A, 0x9A, 0xE7, 0xE9, 0x0F, 0x83, 0x10, 0x0F, 0x10, 0x46, 0xB1, 0x8E, +0xB6, 0x8B, 0x3B, 0x44, 0x82, 0x8F, 0x93, 0xC9, 0x56, 0xBD, 0x3E, 0x8F, 0x1B, 0x6B, 0x6D, 0x3C, +0x7C, 0x42, 0xFC, 0xF8, 0x23, 0x4F, 0x88, 0x48, 0x57, 0xAB, 0x2E, 0x3B, 0x7B, 0x96, 0xF0, 0x08, +0x15, 0xD3, 0x1F, 0xA8, 0x90, 0x32, 0x2C, 0xF8, 0xC7, 0xF7, 0xAA, 0xEA, 0x1E, 0x72, 0x57, 0x16, +0xFF, 0x1F, 0xD7, 0xBF, 0x93, 0x3E, 0xAF, 0x49, 0x40, 0xD3, 0xBF, 0xE2, 0x64, 0x20, 0xB1, 0xF2, +0xE8, 0x18, 0x2C, 0x74, 0xA5, 0x81, 0x86, 0xAF, 0x0C, 0xED, 0x85, 0x0F, 0x84, 0x7F, 0x44, 0xE6, +0x79, 0xBB, 0xE6, 0x16, 0x1F, 0xA8, 0x0E, 0xC8, 0xB7, 0x9A, 0x3E, 0xCC, 0xEE, 0xFE, 0x68, 0x20, +0xA4, 0x9F, 0xC2, 0x47, 0x55, 0xE1, 0x21, 0xF0, 0xE1, 0x68, 0x4F, 0xFE, 0x41, 0x42, 0x44, 0x16, +0x22, 0x71, 0xF6, 0x64, 0x4D, 0x33, 0x5B, 0x2D, 0xFF, 0x40, 0xC9, 0x42, 0xEE, 0xEB, 0xAD, 0x1D, +0x95, 0xF8, 0xF8, 0xBE, 0x02, 0xD5, 0x38, 0xBC, 0x0B, 0x1F, 0x56, 0x20, 0x02, 0x09, 0x80, 0xC2, +0x0A, 0xE7, 0x06, 0xDD, 0x82, 0xA9, 0xF4, 0xA0, 0xA5, 0xFD, 0xF1, 0x81, 0x87, 0xC4, 0xCD, 0xEA, +0xF3, 0x89, 0xA5, 0x39, 0xE9, 0x0F, 0x4B, 0x96, 0x83, 0xC0, 0x88, 0xC1, 0x07, 0x29, 0x43, 0x8F, +0x0F, 0xE9, 0x52, 0x29, 0x43, 0x83, 0x8F, 0x97, 0x5D, 0xDD, 0xBB, 0x90, 0x3C, 0x42, 0xBA, 0xF0, +0x8F, 0xCF, 0xEA, 0x0E, 0xC2, 0x56, 0xCB, 0x3F, 0xF2, 0x84, 0x48, 0xC9, 0x2F, 0x6A, 0xF9, 0x90, +0x3B, 0x5F, 0xE2, 0xC3, 0x17, 0xF1, 0xC7, 0x36, 0x07, 0x51, 0x15, 0x1E, 0xA2, 0xBB, 0x3F, 0x4C, +0xED, 0x85, 0x0F, 0xF4, 0x1A, 0xE9, 0x0F, 0x8F, 0x90, 0x7E, 0xAA, 0xF4, 0x87, 0x29, 0x03, 0x10, +0xC4, 0xBB, 0x1A, 0x84, 0x1C, 0x0E, 0x77, 0xD7, 0xDA, 0x9A, 0x4F, 0x0C, 0x3E, 0x5E, 0x92, 0x10, +0xB9, 0xC0, 0x3F, 0x3C, 0x42, 0xB8, 0x72, 0x17, 0x48, 0x70, 0x90, 0x0C, 0x1D, 0xD7, 0x3F, 0x30, +0x11, 0xBC, 0xC0, 0xB0, 0x91, 0xDF, 0xC1, 0xC3, 0xEB, 0x66, 0xC1, 0x87, 0x25, 0xF1, 0x51, 0x77, +0x90, 0x98, 0x10, 0x7C, 0xEC, 0x83, 0x90, 0xC5, 0x02, 0x3E, 0x1C, 0x42, 0x48, 0x7F, 0x58, 0x5A, +0xAF, 0x0F, 0xC5, 0x87, 0x29, 0x1B, 0x10, 0xF8, 0x30, 0xBB, 0x59, 0xFD, 0xC4, 0xF2, 0x0F, 0x52, +0x86, 0x8B, 0x83, 0x16, 0x35, 0x1F, 0xF6, 0x16, 0x9D, 0x5F, 0x74, 0x30, 0x90, 0xF7, 0xCD, 0x71, +0x10, 0xAE, 0x07, 0x0F, 0x3E, 0x0C, 0x31, 0xDC, 0x7B, 0xE7, 0x89, 0x38, 0x24, 0x47, 0xA1, 0x0E, +0x09, 0x7C, 0x98, 0x84, 0x74, 0x39, 0x18, 0x21, 0xD6, 0xD8, 0x5F, 0x95, 0xAF, 0xBA, 0xD6, 0xC3, +0xD9, 0xA8, 0xB6, 0x86, 0xD0, 0xC6, 0xC7, 0xC9, 0xA4, 0x6F, 0x6C, 0xC9, 0x5B, 0x62, 0x10, 0x22, +0x91, 0x23, 0xE4, 0x58, 0x08, 0x03, 0x58, 0x56, 0x27, 0x2B, 0x2E, 0xEE, 0x3D, 0xDF, 0x1F, 0x21, +0xD8, 0x87, 0xEF, 0x20, 0xC9, 0x30, 0x72, 0x4C, 0xF2, 0x31, 0x50, 0xD5, 0x9F, 0xDD, 0x22, 0xDF, +0x41, 0xEA, 0x6D, 0x1E, 0x01, 0x88, 0xA7, 0xEF, 0x1B, 0x1D, 0x44, 0x09, 0x10, 0x58, 0xC8, 0xF7, +0xFA, 0x49, 0xA6, 0x74, 0x85, 0x83, 0x78, 0xDA, 0x27, 0x1F, 0x11, 0x9F, 0x37, 0xE9, 0x95, 0x08, +0x40, 0x9A, 0x08, 0xF1, 0x1C, 0xC4, 0xA5, 0x8E, 0xBB, 0x43, 0xFA, 0xC3, 0xF5, 0xE5, 0xC4, 0xD6, +0xC9, 0x32, 0x6E, 0x10, 0xD9, 0x03, 0x21, 0xF0, 0xB1, 0x6A, 0x8B, 0x41, 0x82, 0x90, 0xF2, 0xB9, +0x14, 0x07, 0x81, 0xA1, 0xAF, 0x6E, 0x08, 0x41, 0xCC, 0x30, 0xBD, 0xE6, 0x01, 0xF9, 0x4A, 0x53, +0x08, 0xD2, 0x1E, 0x83, 0xDC, 0xC4, 0xC7, 0x67, 0x50, 0xB7, 0xB0, 0xD7, 0x59, 0xAA, 0xB4, 0x0B, +0x35, 0x10, 0xB2, 0x8A, 0xB2, 0x47, 0xFF, 0x58, 0x4E, 0x9A, 0x08, 0x59, 0x1F, 0x3E, 0xB4, 0x12, +0xF2, 0xB7, 0x01, 0x48, 0x6B, 0xFF, 0x6A, 0xF6, 0xB0, 0x1E, 0x08, 0xF1, 0xF9, 0x88, 0xE7, 0x7C, +0x41, 0x88, 0xAB, 0x06, 0x3E, 0x54, 0x5A, 0xF8, 0xB8, 0xEA, 0xD4, 0x1A, 0x72, 0x34, 0xB4, 0x82, +0x83, 0x48, 0x1A, 0x24, 0xFD, 0xEC, 0x2B, 0x9F, 0x0F, 0xA9, 0x06, 0x07, 0xE2, 0x39, 0x27, 0xFC, +0x0D, 0x23, 0x58, 0x2C, 0x16, 0x46, 0xB1, 0x5C, 0xC5, 0x47, 0xDF, 0x10, 0xF2, 0x59, 0xD9, 0x41, +0xA0, 0x63, 0xA3, 0x2B, 0x1D, 0x1E, 0x9F, 0x10, 0x1D, 0xF9, 0x9D, 0xE2, 0x81, 0x16, 0x03, 0x1F, +0xD1, 0x76, 0x7C, 0x3E, 0xFA, 0xC3, 0x7E, 0xDD, 0xCF, 0x9A, 0x08, 0x39, 0xFD, 0x7B, 0x3B, 0x20, +0x47, 0x8D, 0x7C, 0x4C, 0x1F, 0xFA, 0x41, 0x0F, 0x97, 0x27, 0x56, 0xFC, 0xB1, 0x5C, 0x6E, 0x9E, +0xB7, 0xB8, 0x27, 0x42, 0x56, 0xE2, 0x43, 0x1E, 0xE2, 0xF1, 0xA1, 0x2B, 0x55, 0x17, 0xB4, 0x11, +0xCE, 0xA1, 0xAA, 0xB2, 0xB6, 0x74, 0x93, 0xB2, 0x6D, 0x66, 0xFC, 0x91, 0xD2, 0x84, 0x20, 0xB2, +0x85, 0x94, 0xDF, 0x82, 0x0E, 0xC9, 0xF7, 0x0F, 0x5D, 0xC8, 0x62, 0xFB, 0xC7, 0x57, 0x9B, 0xA9, +0xE0, 0x20, 0xE0, 0xC1, 0x81, 0xD0, 0x75, 0x38, 0x7E, 0x9C, 0x9E, 0x0E, 0xFD, 0x6E, 0xF9, 0xC0, +0x3F, 0x4E, 0x82, 0x8F, 0xA1, 0xD8, 0xFE, 0xA1, 0x66, 0x39, 0x85, 0x10, 0x4F, 0x35, 0x40, 0xE0, +0xA3, 0xC9, 0x3F, 0xA4, 0x43, 0x23, 0x52, 0x7F, 0x53, 0x7C, 0xEC, 0x93, 0x90, 0xD5, 0x08, 0x88, +0xC5, 0xC7, 0x4A, 0xA9, 0xE2, 0xD1, 0x43, 0xE0, 0x21, 0x47, 0x24, 0x0A, 0xD7, 0x9A, 0xC4, 0x6C, +0xF6, 0xB2, 0xBE, 0xE1, 0x69, 0x0A, 0x19, 0x21, 0x15, 0xFF, 0x08, 0x46, 0x06, 0x4A, 0x5C, 0x3C, +0x5A, 0x3C, 0x64, 0xF3, 0xF1, 0x55, 0xE0, 0x22, 0x8F, 0xD6, 0x41, 0x64, 0xB5, 0x48, 0x97, 0x63, +0x45, 0x75, 0xEE, 0xF2, 0xA1, 0xB2, 0x17, 0x3E, 0x86, 0xBE, 0xF9, 0xA6, 0x58, 0x91, 0xEE, 0x43, +0xBF, 0xD1, 0xC3, 0x43, 0x2B, 0x21, 0x15, 0x40, 0xDA, 0xC3, 0x73, 0xF1, 0x21, 0x1D, 0xCE, 0x0E, +0xB7, 0x7A, 0xC8, 0x9B, 0xB1, 0x8F, 0xEC, 0xE5, 0x59, 0x5B, 0xA8, 0xEE, 0x74, 0xAF, 0x84, 0x87, +0xE7, 0x21, 0xE2, 0x23, 0xF0, 0x48, 0x8F, 0x36, 0x89, 0x86, 0x90, 0xE3, 0x91, 0xDF, 0x47, 0x24, +0x3E, 0x62, 0xD2, 0xEC, 0x20, 0xF2, 0x75, 0x3A, 0xC1, 0xEB, 0x45, 0x7E, 0x61, 0xF0, 0x11, 0xE5, +0xFB, 0x58, 0xF8, 0x6D, 0xFB, 0x30, 0x6F, 0xC2, 0x23, 0x99, 0xD4, 0x8D, 0x97, 0x03, 0xB9, 0x49, +0x35, 0x58, 0xE4, 0x26, 0xC2, 0x13, 0x4E, 0x82, 0x8C, 0xF1, 0x0C, 0xB2, 0x3A, 0x37, 0xF0, 0xA0, +0xEC, 0x3E, 0x3C, 0x3F, 0xA3, 0xE9, 0x38, 0x1E, 0x32, 0x17, 0x1F, 0xD2, 0x94, 0xB1, 0x5E, 0x53, +0x15, 0x40, 0x5A, 0xFD, 0xE3, 0x70, 0xCD, 0x07, 0x09, 0x0F, 0xD9, 0x4A, 0x48, 0xEC, 0x1C, 0x65, +0xA7, 0x84, 0x10, 0x7F, 0x50, 0xEA, 0x78, 0xA4, 0xF8, 0x5C, 0x37, 0x85, 0xE8, 0xB9, 0x81, 0xB9, +0x83, 0x64, 0x77, 0xA2, 0x06, 0x1F, 0xA2, 0x43, 0xF3, 0xCD, 0x67, 0x5B, 0x09, 0xD9, 0x34, 0x5D, +0x41, 0xA2, 0x76, 0x7C, 0xB7, 0x45, 0x81, 0xC6, 0x60, 0x1F, 0x2A, 0x43, 0x57, 0xCB, 0xF0, 0x0F, +0x10, 0xD9, 0x4E, 0x48, 0x84, 0x1E, 0xE3, 0x67, 0x57, 0x0D, 0x14, 0x9B, 0x82, 0xB4, 0x92, 0x2E, +0xE0, 0x4C, 0x16, 0x02, 0x21, 0x1E, 0x20, 0x8B, 0xDD, 0xF3, 0x41, 0xBB, 0x31, 0x3C, 0x64, 0xDE, +0xA3, 0x87, 0x7E, 0x7D, 0x78, 0xD4, 0x48, 0x48, 0x19, 0x90, 0x76, 0x3E, 0xFA, 0x81, 0x0F, 0x34, +0x3B, 0xAC, 0x0F, 0xF7, 0x6A, 0x27, 0x29, 0xE1, 0x21, 0xE7, 0xBB, 0x24, 0x24, 0x7D, 0x49, 0x94, +0x3A, 0x1F, 0xBA, 0x8A, 0x42, 0xD7, 0xE3, 0xAD, 0x36, 0xF5, 0x55, 0xD6, 0xAD, 0xCA, 0x1C, 0x04, +0xF3, 0x50, 0xB5, 0xCD, 0x43, 0x78, 0xD0, 0x88, 0xD7, 0xCB, 0xFA, 0x6E, 0x03, 0xC7, 0xF7, 0x09, +0x93, 0xA8, 0xEF, 0xAA, 0x1A, 0xCD, 0x89, 0xAA, 0xCE, 0x07, 0xEE, 0x97, 0x28, 0x01, 0x8A, 0x27, +0xFD, 0x2D, 0xF9, 0x47, 0xBA, 0xEB, 0x36, 0x66, 0xDD, 0x0C, 0x50, 0x4F, 0x88, 0xAC, 0xF2, 0xB2, +0xEB, 0xE1, 0x5D, 0xB5, 0x18, 0x8A, 0xC1, 0x07, 0x6A, 0x27, 0xA4, 0x0C, 0x48, 0x7B, 0xFA, 0xE3, +0x95, 0x7E, 0x10, 0x0E, 0xC2, 0x15, 0x8B, 0x35, 0xFF, 0xA0, 0xEC, 0x34, 0x21, 0xB2, 0x20, 0xFE, +0xA0, 0xD4, 0xF9, 0x58, 0x05, 0x15, 0xC9, 0x42, 0x54, 0xA5, 0x76, 0x52, 0x74, 0x10, 0x35, 0x2A, +0x10, 0xC1, 0x43, 0xCA, 0xE1, 0xB9, 0x1A, 0xAD, 0x66, 0xAA, 0xAA, 0x7F, 0x44, 0xB7, 0x4A, 0x90, +0x04, 0x1B, 0x23, 0x23, 0xC6, 0xDD, 0x20, 0xAA, 0x9D, 0x3B, 0x42, 0x86, 0xBB, 0x59, 0x08, 0xA1, +0xB8, 0x62, 0x11, 0x30, 0x50, 0x2C, 0x2F, 0x02, 0x89, 0x63, 0x21, 0x22, 0x23, 0xD1, 0x3D, 0xFB, +0x35, 0x42, 0x0A, 0x47, 0x7E, 0x87, 0xC3, 0xBB, 0x67, 0x4F, 0xDB, 0x4E, 0x9D, 0x8F, 0xC3, 0x9C, +0x90, 0xBE, 0x9D, 0x90, 0x1C, 0x90, 0x76, 0x3E, 0xA6, 0xEB, 0x3E, 0xD7, 0xE1, 0xEC, 0x95, 0x67, +0xA3, 0x26, 0xFC, 0x03, 0x40, 0x4E, 0x76, 0x47, 0xC8, 0xA2, 0xE3, 0xDB, 0xA9, 0x07, 0x22, 0xFA, +0xEE, 0x36, 0x57, 0x72, 0x87, 0x69, 0x8C, 0xF7, 0x15, 0xAE, 0xBA, 0xA1, 0x55, 0x10, 0x70, 0x64, +0x0E, 0x72, 0x73, 0x93, 0x39, 0x48, 0xDD, 0x43, 0x0A, 0x78, 0xD4, 0x3C, 0xE4, 0x7B, 0x0D, 0xEF, +0xAA, 0x73, 0xF5, 0x67, 0xB0, 0x31, 0xCC, 0x77, 0xD5, 0x48, 0x9D, 0xE8, 0x9F, 0xAA, 0x42, 0xC8, +0x13, 0xF3, 0x93, 0x89, 0x6C, 0x76, 0x14, 0x81, 0xCA, 0xC6, 0x39, 0x74, 0x88, 0x56, 0x09, 0x94, +0x55, 0xC5, 0x43, 0x56, 0xA5, 0xB2, 0x4B, 0xFF, 0x28, 0xB4, 0x9D, 0x5A, 0x7A, 0x10, 0xE1, 0x21, +0xED, 0x29, 0xC3, 0x1C, 0x90, 0xF6, 0xF4, 0xC7, 0x43, 0xEF, 0x13, 0x42, 0x7C, 0x4E, 0x21, 0x21, +0xE2, 0xCB, 0x0B, 0x3F, 0x28, 0xCF, 0x0F, 0xEF, 0xEA, 0xBB, 0x8F, 0x29, 0x99, 0x48, 0x17, 0xB4, +0x2C, 0x8E, 0x73, 0x2E, 0xC6, 0xC5, 0x1B, 0x9A, 0x98, 0xE6, 0x9A, 0x87, 0x88, 0x8F, 0x82, 0x83, +0x94, 0x3D, 0x84, 0xF4, 0xE0, 0xC6, 0x42, 0x52, 0x91, 0x95, 0x7C, 0x57, 0xF1, 0x8F, 0x9C, 0x0E, +0x6D, 0x79, 0x36, 0xFD, 0xF1, 0xD8, 0xFC, 0x46, 0xBE, 0xB1, 0x4C, 0x55, 0xA4, 0xCF, 0x15, 0x95, +0x8D, 0x0E, 0xA2, 0x5A, 0x87, 0x67, 0x71, 0xEE, 0x00, 0x82, 0x87, 0xEC, 0x2A, 0x3D, 0x58, 0x6A, +0x39, 0x67, 0x95, 0xF4, 0x47, 0x89, 0x90, 0x87, 0xF6, 0x94, 0x21, 0x80, 0x88, 0x8F, 0xD3, 0x36, +0x3E, 0x88, 0x3F, 0x32, 0xAD, 0x8D, 0xF0, 0xA3, 0x9D, 0x10, 0x54, 0x09, 0x3F, 0x1C, 0x0F, 0xE1, +0x22, 0x77, 0xBA, 0x57, 0x72, 0x90, 0xB4, 0x7E, 0x0C, 0x17, 0xBC, 0xD0, 0x31, 0xD9, 0x54, 0x2C, +0x96, 0xF9, 0xD0, 0x8D, 0x1A, 0xC4, 0x20, 0xF7, 0x43, 0x25, 0xD5, 0xC7, 0x77, 0x63, 0x8E, 0x2A, +0x2D, 0x56, 0x22, 0x75, 0xA0, 0x88, 0x7F, 0x23, 0xDE, 0x9D, 0x47, 0x2C, 0x96, 0xF9, 0xE0, 0xE3, +0xF2, 0xD9, 0x35, 0x15, 0x6E, 0x24, 0x8C, 0x6A, 0xA1, 0x3B, 0x00, 0xC6, 0x43, 0x24, 0x2F, 0x91, +0x83, 0x90, 0x10, 0xA9, 0xE1, 0x41, 0x71, 0xF0, 0x68, 0xE7, 0x83, 0x52, 0x49, 0x7F, 0x94, 0x08, +0x99, 0x35, 0x12, 0x02, 0x20, 0xED, 0xDD, 0xAB, 0x37, 0x66, 0xE0, 0xE1, 0x10, 0x52, 0xB2, 0x8F, +0x5D, 0x26, 0x44, 0x88, 0x3E, 0x0A, 0xA5, 0x18, 0x7F, 0x68, 0x70, 0x26, 0xE6, 0x98, 0x74, 0x82, +0xD4, 0x89, 0x32, 0xEA, 0x45, 0x34, 0x90, 0x1C, 0x91, 0x3C, 0xFC, 0x00, 0x97, 0x72, 0xCA, 0x10, +0xF7, 0xD0, 0xC3, 0x0E, 0x1F, 0x8D, 0xC6, 0x96, 0xF9, 0x88, 0xE0, 0x7C, 0xA0, 0x61, 0xC0, 0xE2, +0xFB, 0xF4, 0xB2, 0xE1, 0xA4, 0x84, 0xC8, 0x98, 0x5D, 0x11, 0x86, 0xE9, 0xD1, 0x58, 0xFF, 0xBE, +0x7F, 0xD1, 0x3F, 0x32, 0xAE, 0xFF, 0xBB, 0x90, 0x25, 0xCF, 0xF5, 0xB4, 0x06, 0x45, 0x1C, 0xE1, +0x22, 0x3A, 0x24, 0x32, 0x90, 0xA8, 0x55, 0x4A, 0x84, 0xD4, 0x8E, 0xFC, 0x2E, 0xD2, 0x83, 0xB5, +0xB6, 0xF3, 0x44, 0x97, 0x74, 0xFB, 0xD1, 0xFF, 0x4E, 0x88, 0x00, 0x48, 0x7B, 0xFA, 0x03, 0x3E, +0x0A, 0x84, 0x5C, 0x1A, 0xFE, 0x41, 0x89, 0xE7, 0x01, 0xB5, 0xA9, 0x94, 0xFE, 0xF0, 0x09, 0xD9, +0x3C, 0xAC, 0x21, 0x8D, 0xEF, 0xF2, 0x7C, 0xE6, 0xF4, 0x3C, 0xC1, 0x20, 0x27, 0x4F, 0x80, 0x88, +0x8F, 0xA2, 0x83, 0x68, 0x2E, 0x3F, 0x57, 0xF1, 0xEB, 0xAC, 0x83, 0xA5, 0x0D, 0x52, 0x01, 0x8F, +0xB1, 0x53, 0xC5, 0x8B, 0x16, 0xB5, 0xF2, 0xDB, 0xB3, 0xE9, 0x73, 0x30, 0x4C, 0x75, 0x39, 0x52, +0xE7, 0x33, 0x67, 0x70, 0xC8, 0x50, 0x9E, 0x38, 0x88, 0xFA, 0x56, 0x62, 0xE2, 0xB8, 0x1B, 0x87, +0xB0, 0x16, 0x69, 0x23, 0x09, 0x11, 0xE8, 0xA8, 0x97, 0x9D, 0xA5, 0xCF, 0xCB, 0xC5, 0xF0, 0x8F, +0x97, 0x10, 0x02, 0x20, 0x6C, 0xB3, 0x00, 0x91, 0x7F, 0xD4, 0x34, 0x39, 0x31, 0xFD, 0x83, 0x84, +0x48, 0x8B, 0x0A, 0xE9, 0xF3, 0x6A, 0xC9, 0xF9, 0x18, 0x9F, 0xF0, 0x2F, 0x07, 0x19, 0x63, 0x10, +0x86, 0x6D, 0xF2, 0xE1, 0xAB, 0x9C, 0x0E, 0x1C, 0x45, 0x27, 0xE7, 0x42, 0xF8, 0x91, 0xDC, 0x03, +0x44, 0xB4, 0x96, 0x7E, 0xC8, 0xE3, 0xE9, 0xF0, 0xD5, 0xC0, 0x83, 0xC2, 0x73, 0x96, 0x14, 0xAA, +0x97, 0x06, 0xB3, 0x1E, 0x31, 0x91, 0xFE, 0x8D, 0xD1, 0x47, 0xA2, 0x70, 0x7B, 0x61, 0xD6, 0xBF, +0xCA, 0xD8, 0x60, 0x23, 0x39, 0xD1, 0x50, 0x7A, 0x90, 0x49, 0x98, 0x88, 0x86, 0x79, 0xB5, 0xCA, +0x63, 0x16, 0xF5, 0xEB, 0x20, 0xE7, 0x06, 0x20, 0x94, 0x17, 0xA6, 0x3F, 0xB6, 0xB5, 0x9D, 0xCC, +0x3F, 0xFA, 0xAA, 0x1E, 0xDA, 0x53, 0x86, 0x09, 0x90, 0xA3, 0x36, 0x29, 0xFC, 0xA8, 0x6B, 0x9E, +0x0D, 0x5F, 0xD5, 0x0B, 0x09, 0x11, 0x53, 0x56, 0x7C, 0x4E, 0xC9, 0xD3, 0xE7, 0xC2, 0xA3, 0x53, +0x43, 0xE0, 0x67, 0x30, 0x16, 0xC3, 0xA2, 0x68, 0x59, 0xE1, 0x20, 0x4F, 0xFB, 0x57, 0xB4, 0x2F, +0xAA, 0x6C, 0xF8, 0x8A, 0x0E, 0xD6, 0xBD, 0x16, 0xF2, 0x27, 0x58, 0x65, 0xFE, 0xA1, 0x68, 0x7C, +0x44, 0x43, 0x8B, 0xC9, 0x41, 0x52, 0x5A, 0xE4, 0x51, 0x2F, 0x6B, 0x64, 0xEF, 0x91, 0x83, 0x60, +0x4F, 0x79, 0xCA, 0xF0, 0x46, 0xF1, 0x39, 0x88, 0x43, 0x09, 0x96, 0xF2, 0xE8, 0x6A, 0xF7, 0xC5, +0x70, 0x68, 0x54, 0xC0, 0x23, 0x8E, 0x90, 0x10, 0xD1, 0x84, 0x87, 0x80, 0x47, 0xAD, 0xBC, 0x8C, +0x8F, 0xAD, 0x6D, 0xA7, 0x38, 0xBC, 0x8B, 0x5E, 0x9A, 0x10, 0x11, 0x20, 0xAD, 0xFD, 0xAB, 0x43, +0xF5, 0xF3, 0x4C, 0x42, 0x2E, 0xB7, 0xFA, 0x47, 0x94, 0x17, 0x0D, 0xF7, 0xAE, 0x16, 0x46, 0x21, +0xFC, 0x08, 0xA9, 0x09, 0xA8, 0x4A, 0x40, 0x08, 0x94, 0xCD, 0x9A, 0xEC, 0xA5, 0x3B, 0x7E, 0x3B, +0x35, 0x99, 0x82, 0x81, 0xA8, 0x62, 0x45, 0x0D, 0x10, 0x3E, 0x46, 0xB3, 0xF8, 0x9A, 0xE6, 0xCB, +0x8F, 0x15, 0x10, 0x88, 0x64, 0xE1, 0x87, 0x02, 0x90, 0x31, 0x4A, 0x4F, 0x21, 0x88, 0x40, 0x11, +0x3D, 0x10, 0x72, 0x97, 0xDE, 0x5F, 0x35, 0x88, 0x8C, 0xCC, 0xA8, 0x28, 0x10, 0xA1, 0x7B, 0x55, +0x71, 0x10, 0x08, 0x49, 0xC1, 0x96, 0x2E, 0x2B, 0x49, 0x47, 0x43, 0x26, 0x2B, 0x1F, 0xD9, 0x0C, +0x82, 0x27, 0xC7, 0x8D, 0x55, 0x12, 0x22, 0xDE, 0x91, 0xDF, 0x8F, 0x7F, 0xE0, 0x21, 0xF0, 0xB1, +0x55, 0x0F, 0xED, 0x09, 0x91, 0x00, 0x84, 0x35, 0xEF, 0x21, 0x0D, 0x06, 0x1F, 0x81, 0xF2, 0xDC, +0x89, 0x3F, 0x48, 0x88, 0xB4, 0xF6, 0xB2, 0xB0, 0x0F, 0xAF, 0x9C, 0x93, 0x1E, 0x54, 0x54, 0xAE, +0x2A, 0x25, 0x41, 0xD4, 0xC3, 0xEE, 0x78, 0x1A, 0x6D, 0x34, 0x93, 0x47, 0xBF, 0x7C, 0x50, 0x75, +0x90, 0x47, 0xC3, 0xBD, 0x98, 0x05, 0xB3, 0xDA, 0xAE, 0x5A, 0x2F, 0xBA, 0x83, 0x8F, 0x3B, 0x42, +0x0F, 0x75, 0xAD, 0xBE, 0x8B, 0x5A, 0xC4, 0x68, 0xB3, 0x38, 0x81, 0x90, 0x11, 0x32, 0x3A, 0x54, +0x03, 0x7F, 0x21, 0xF1, 0x81, 0xFE, 0xF5, 0x8F, 0x50, 0xDD, 0x41, 0x34, 0x33, 0xBC, 0xAB, 0xA3, +0x32, 0xFE, 0x72, 0x4A, 0x37, 0x1A, 0x09, 0xBF, 0x16, 0x11, 0x5B, 0x48, 0xAA, 0xAF, 0xBC, 0xF2, +0xE2, 0xF4, 0x47, 0xBD, 0x64, 0x7C, 0xEC, 0xDA, 0x43, 0xFE, 0x38, 0xF8, 0xA9, 0x8D, 0x8F, 0x80, +0xD0, 0x28, 0x81, 0xC8, 0x2B, 0xF1, 0xD1, 0x83, 0x92, 0xA5, 0xB3, 0x93, 0x4A, 0xAA, 0xB7, 0x21, +0x42, 0x7C, 0xEE, 0x95, 0xC4, 0x87, 0x02, 0xF3, 0x34, 0xC6, 0x9F, 0x02, 0x10, 0x21, 0x31, 0x3A, +0xC8, 0xB0, 0x1C, 0xAF, 0x4A, 0x19, 0x8A, 0x0F, 0x4D, 0x59, 0x55, 0xD8, 0x40, 0xFA, 0xFC, 0xBF, +0x31, 0x08, 0x71, 0x88, 0x5A, 0x32, 0xE7, 0x78, 0xFA, 0x57, 0x23, 0x18, 0x51, 0x6B, 0x51, 0x5C, +0xA4, 0x4D, 0x1B, 0x44, 0x06, 0x6A, 0xF0, 0x0F, 0x94, 0x4C, 0x23, 0xC1, 0x92, 0xC2, 0x90, 0x04, +0x22, 0x97, 0x5F, 0xD5, 0x1D, 0x84, 0x38, 0x44, 0xFE, 0xC1, 0x15, 0x58, 0x63, 0xC1, 0x69, 0x37, +0x70, 0xE8, 0x35, 0x79, 0x88, 0x7D, 0xE8, 0xFF, 0x2F, 0x1F, 0x27, 0x4B, 0xA7, 0x90, 0x1E, 0x74, +0xD4, 0x7A, 0x0F, 0xD5, 0x4F, 0x38, 0x88, 0xC5, 0xC7, 0x5A, 0x79, 0x18, 0x47, 0x9B, 0x94, 0x61, +0xB4, 0x7C, 0x73, 0x9E, 0xC4, 0x70, 0xEF, 0x07, 0x4D, 0x45, 0x5F, 0x93, 0x0F, 0x48, 0xF0, 0x31, +0xF4, 0x19, 0x54, 0x3A, 0xCD, 0x7A, 0xD1, 0x8A, 0x8A, 0x16, 0x36, 0xCB, 0xF2, 0x10, 0x5D, 0x5E, +0xB2, 0x75, 0xE2, 0xD2, 0xC5, 0x6B, 0xCC, 0x42, 0x51, 0x01, 0x31, 0xC2, 0x08, 0x06, 0xFA, 0x5C, +0xE9, 0xF3, 0x84, 0x82, 0x16, 0x46, 0xC7, 0x18, 0x7F, 0x84, 0x8D, 0xE9, 0xF7, 0xF4, 0x20, 0xD2, +0xE4, 0x46, 0x80, 0x40, 0xF4, 0xC1, 0xDB, 0x27, 0x3C, 0xBF, 0x49, 0x77, 0x7F, 0xF0, 0x19, 0x37, +0xD5, 0x67, 0xAC, 0x8D, 0x45, 0x9B, 0xC5, 0xC7, 0x78, 0x28, 0x62, 0x52, 0x89, 0x89, 0x0D, 0xBC, +0x74, 0xF2, 0x10, 0x5B, 0xC9, 0x43, 0x5A, 0xBE, 0xD9, 0xD7, 0x86, 0xF4, 0x47, 0x34, 0x7D, 0xAB, +0x9C, 0xC0, 0x87, 0xE7, 0x21, 0x4D, 0x83, 0x59, 0x7F, 0x34, 0x01, 0x32, 0xD3, 0x25, 0x89, 0x56, +0xE9, 0x67, 0xB3, 0xD9, 0x64, 0x19, 0x57, 0x29, 0x7B, 0x5A, 0x8A, 0x90, 0xB6, 0xB3, 0x8C, 0xAE, +0xBE, 0x6A, 0x50, 0x1A, 0xDF, 0xD5, 0x18, 0xA6, 0xE6, 0x28, 0xF1, 0xA2, 0x95, 0xB4, 0x3A, 0x2E, +0x0F, 0xB7, 0x88, 0xBC, 0xFD, 0x55, 0x28, 0xAA, 0xFA, 0x34, 0xEA, 0xED, 0x5B, 0x7E, 0x25, 0x27, +0xD5, 0x31, 0xB1, 0x32, 0xBE, 0x26, 0xDD, 0x5E, 0xA7, 0x6E, 0x94, 0xC2, 0x8F, 0xD1, 0x44, 0xB4, +0xFA, 0x74, 0x92, 0x78, 0x7B, 0xDE, 0x57, 0x62, 0x63, 0x92, 0x16, 0x6F, 0xBF, 0x3A, 0x4E, 0x1F, +0x8C, 0x17, 0x2D, 0xB2, 0x91, 0xC5, 0xA8, 0xBB, 0x55, 0xA7, 0x9D, 0x57, 0x61, 0xE9, 0x8A, 0x35, +0x95, 0xB1, 0x87, 0xBA, 0x68, 0x51, 0x7C, 0x4B, 0xAD, 0x77, 0x0F, 0x46, 0xAF, 0xDB, 0xD6, 0x72, +0x39, 0x19, 0x5A, 0x5B, 0x6F, 0x6B, 0xD6, 0xE2, 0x20, 0x2D, 0x5D, 0xAC, 0x19, 0xF1, 0x87, 0xA1, +0x00, 0x24, 0x1E, 0xC3, 0xED, 0xEB, 0x44, 0x2D, 0xBE, 0x41, 0xEF, 0x74, 0xAB, 0xA6, 0x72, 0xDC, +0xA2, 0x77, 0x8E, 0x7F, 0xFE, 0xF9, 0x8B, 0x9F, 0x37, 0xFA, 0xAA, 0x52, 0xBF, 0xAD, 0x29, 0xF4, +0xE9, 0xD7, 0x2D, 0xFA, 0xF4, 0xFE, 0xCF, 0xEF, 0xFE, 0xFA, 0xDD, 0xD4, 0x9F, 0x43, 0x35, 0x30, +0xD0, 0xA0, 0x4F, 0x7F, 0x6E, 0xD3, 0x71, 0x9B, 0xBA, 0x36, 0xBD, 0xB3, 0x6A, 0xD3, 0xC1, 0xC9, +0x59, 0x8B, 0x2E, 0xC1, 0xC3, 0xD0, 0x74, 0xE6, 0x13, 0xF2, 0x49, 0x0B, 0x20, 0xB3, 0xD0, 0x7A, +0x3D, 0xF5, 0x14, 0x5E, 0x36, 0x9F, 0x37, 0x11, 0x22, 0x4F, 0xF0, 0xE9, 0x18, 0xD4, 0x35, 0xA9, +0x89, 0x90, 0xB7, 0x43, 0x02, 0xC4, 0xD4, 0xA7, 0x9F, 0xFA, 0x84, 0x44, 0x53, 0xBF, 0xBF, 0xBF, +0xFF, 0x33, 0x7A, 0x55, 0xA6, 0xE2, 0x51, 0xD6, 0xF1, 0x3F, 0x98, 0x84, 0x5C, 0x8B, 0x8F, 0x4F, +0x9B, 0x08, 0x89, 0x9D, 0x3D, 0x2E, 0xEA, 0xD5, 0xF2, 0xD6, 0x77, 0x1A, 0xF9, 0x08, 0xAD, 0x7C, +0x0D, 0x7E, 0x73, 0xD6, 0xA0, 0xCB, 0xF9, 0x7C, 0xED, 0xE3, 0x31, 0x9D, 0x85, 0xF6, 0xE1, 0x20, +0x7A, 0xDF, 0xD9, 0x74, 0x6A, 0xFA, 0x47, 0xE4, 0xD3, 0xE7, 0xEB, 0xF9, 0x99, 0xAD, 0x8D, 0xB7, +0xB6, 0x01, 0xD2, 0xFA, 0x3D, 0xBD, 0x7A, 0x4C, 0x89, 0xA9, 0x56, 0x86, 0x26, 0xF3, 0x76, 0x0B, +0x1F, 0xA1, 0x6B, 0x13, 0x8F, 0x81, 0x8F, 0xBB, 0x98, 0xD4, 0xF6, 0xF3, 0xA9, 0xEC, 0x21, 0xF7, +0x83, 0x6C, 0xFE, 0xAE, 0xF5, 0x71, 0xBE, 0xF0, 0xF9, 0x90, 0x8E, 0xBB, 0x27, 0x07, 0x45, 0x34, +0x3C, 0xDD, 0xB8, 0x6A, 0xE6, 0x23, 0xD4, 0xC2, 0x47, 0xA8, 0x81, 0x8F, 0xE1, 0xD2, 0x8D, 0xB5, +0xCF, 0x87, 0xB4, 0x7B, 0x07, 0x49, 0xEF, 0x3B, 0xEB, 0x3D, 0x42, 0xD6, 0x31, 0x86, 0x35, 0xE8, +0xC4, 0xE5, 0x63, 0x01, 0x21, 0x26, 0x1F, 0x10, 0xE2, 0xAB, 0x76, 0x6E, 0x44, 0xAB, 0x4D, 0x83, +0x79, 0xDB, 0x25, 0xE4, 0x0B, 0x35, 0x48, 0x93, 0x90, 0xF8, 0xA3, 0x01, 0x8F, 0xFB, 0x2F, 0xEF, +0xEF, 0x0A, 0x3C, 0xB0, 0x89, 0x2D, 0xDF, 0x09, 0x0F, 0xDF, 0x43, 0xC4, 0x07, 0x84, 0x18, 0x7C, +0x48, 0xAE, 0x83, 0xAC, 0xDA, 0xFD, 0x43, 0xF2, 0xF9, 0x68, 0x21, 0xE4, 0x44, 0xCD, 0xCC, 0x25, +0x64, 0xDA, 0xCF, 0x92, 0x7C, 0x07, 0xF1, 0xF9, 0xC0, 0x43, 0x4C, 0x3E, 0x7C, 0x42, 0x88, 0xCF, +0x7C, 0x3E, 0xA4, 0xD6, 0xCE, 0xF0, 0xF1, 0xE0, 0x0E, 0x9A, 0x87, 0x25, 0x2D, 0xE4, 0x73, 0x17, +0x64, 0x8C, 0xFA, 0xCA, 0xE5, 0x03, 0x44, 0x0C, 0xFF, 0x48, 0x82, 0x90, 0x9A, 0xBE, 0xFB, 0xE5, +0x6E, 0xFC, 0xF3, 0x7B, 0xD7, 0x3F, 0x9A, 0x08, 0x61, 0x6F, 0xB3, 0x23, 0x52, 0x3E, 0x40, 0xCD, +0x87, 0xFC, 0x5F, 0xF9, 0x7C, 0x48, 0x2E, 0x1F, 0x10, 0xE2, 0xF2, 0x21, 0xD9, 0x0E, 0x72, 0xEA, +0xF1, 0x81, 0xFA, 0xA9, 0xC7, 0x07, 0x84, 0x18, 0x7C, 0x20, 0x8B, 0x8F, 0x17, 0x10, 0x22, 0x30, +0x54, 0x25, 0x4A, 0xF2, 0x19, 0x3E, 0x86, 0x5E, 0xD6, 0x17, 0x4E, 0xF7, 0xEA, 0xD6, 0x27, 0x24, +0xF9, 0x47, 0xD2, 0x2F, 0x03, 0x21, 0x31, 0x8F, 0x35, 0x0B, 0xAC, 0xDD, 0x23, 0xC3, 0x43, 0x84, +0x07, 0x84, 0x38, 0x7C, 0xA0, 0x74, 0x6C, 0x38, 0x1A, 0xDA, 0xF2, 0x68, 0x6E, 0xEE, 0xD7, 0x22, +0x87, 0x90, 0x83, 0x03, 0xE4, 0xF1, 0x01, 0x21, 0x36, 0x1F, 0x3E, 0x21, 0xA7, 0x03, 0x20, 0xA7, +0x2E, 0x1E, 0x10, 0xE2, 0xF0, 0x01, 0x21, 0x16, 0x1F, 0xC8, 0xE2, 0x03, 0xB5, 0x8E, 0xA7, 0x24, +0x3C, 0x54, 0x95, 0xF0, 0x10, 0x1F, 0xC8, 0x0A, 0x3F, 0xD0, 0xAD, 0x3A, 0x51, 0x55, 0xFF, 0x08, +0x3E, 0x10, 0x74, 0xA8, 0x2E, 0xF8, 0xC7, 0x3D, 0x8A, 0xFF, 0x95, 0xC1, 0xAC, 0x1A, 0x1F, 0xC8, +0xE2, 0x03, 0xA5, 0xA0, 0x83, 0x23, 0xA4, 0x9A, 0xF9, 0x7F, 0xF9, 0x07, 0xB2, 0xF8, 0x40, 0x06, +0x1F, 0x68, 0x48, 0xA6, 0xCF, 0x2C, 0x3E, 0xE8, 0x0D, 0x6D, 0xE5, 0x43, 0x80, 0x84, 0x4C, 0x3E, +0x20, 0xA4, 0x8A, 0xC8, 0x1C, 0x3E, 0x0C, 0x42, 0x96, 0x85, 0x04, 0x87, 0xC1, 0xC7, 0xCB, 0x7A, +0x59, 0xC3, 0xFC, 0xE8, 0x7C, 0xC9, 0xFC, 0x76, 0xD6, 0x64, 0xF0, 0x90, 0x1A, 0x1F, 0xA8, 0xDE, +0x82, 0xBF, 0xBC, 0x47, 0x78, 0x08, 0xCA, 0xCD, 0x44, 0xFE, 0x81, 0xEE, 0xBE, 0x84, 0x90, 0xE2, +0xF8, 0x55, 0xF2, 0x32, 0x64, 0xF1, 0x81, 0x60, 0xA2, 0x88, 0xC8, 0xEA, 0x7F, 0xF1, 0x81, 0x1C, +0x3E, 0x7C, 0x44, 0x52, 0x33, 0x83, 0x90, 0x2A, 0x1E, 0xF0, 0xE1, 0x9A, 0xC8, 0x69, 0x02, 0x24, +0xE4, 0xF1, 0x71, 0xE4, 0x10, 0x32, 0x4D, 0x7C, 0xA0, 0xF5, 0xC4, 0xF2, 0x0F, 0xE4, 0xF1, 0x81, +0x1A, 0xBF, 0x33, 0x7D, 0xDB, 0x54, 0x72, 0x8D, 0x34, 0xE3, 0x1F, 0xC8, 0xE2, 0x03, 0xDD, 0xD6, +0xE2, 0xF3, 0xEB, 0xE4, 0x1F, 0x28, 0x12, 0x22, 0x95, 0xF8, 0x43, 0xC3, 0x57, 0x19, 0x22, 0xFF, +0x30, 0x77, 0xF6, 0xBA, 0xAD, 0x54, 0x51, 0x14, 0x4E, 0x84, 0x19, 0x6E, 0x13, 0xAE, 0x22, 0x64, +0x57, 0xBE, 0x31, 0x5D, 0x8A, 0x91, 0x5F, 0x21, 0x2D, 0xA2, 0xB0, 0x04, 0x12, 0x69, 0xB0, 0x62, +0x9C, 0x07, 0xA0, 0xA2, 0x48, 0xFA, 0x60, 0x64, 0x1A, 0x8A, 0x5B, 0x22, 0x85, 0x82, 0x27, 0x65, +0xCF, 0xF6, 0x31, 0x1F, 0x3E, 0x39, 0xDE, 0x5E, 0x87, 0xCC, 0x04, 0xD6, 0x99, 0x19, 0x4F, 0x12, +0x5F, 0xDF, 0xB1, 0x73, 0x3E, 0xAF, 0xFD, 0x33, 0x9E, 0x44, 0x8F, 0xBF, 0x40, 0x12, 0x21, 0x3C, +0x5D, 0x3C, 0x64, 0x07, 0xC9, 0x14, 0x30, 0xD2, 0x97, 0xF8, 0x47, 0x35, 0x1E, 0x48, 0xE3, 0x03, +0x8D, 0x23, 0x3E, 0x36, 0x97, 0x87, 0x82, 0x90, 0x88, 0x8F, 0xCF, 0x7D, 0xDD, 0x29, 0xC4, 0xC3, +0xE4, 0x39, 0xC8, 0x09, 0x42, 0x78, 0xD4, 0xD0, 0x43, 0xE0, 0x03, 0x3C, 0x38, 0xF2, 0xD9, 0xA7, +0x02, 0x1E, 0x68, 0x22, 0xF1, 0x81, 0xEA, 0xF3, 0x90, 0x29, 0x36, 0x62, 0x37, 0x2C, 0xD3, 0x5C, +0x71, 0x31, 0x6B, 0x51, 0x92, 0x71, 0x10, 0xA7, 0x1F, 0x39, 0x21, 0x3F, 0x52, 0xEF, 0xDD, 0x93, +0x41, 0xFB, 0x23, 0xD7, 0xB1, 0x28, 0xEB, 0xC6, 0x96, 0xC5, 0xB2, 0x8A, 0x90, 0x69, 0x49, 0xE9, +0x85, 0x21, 0xD2, 0xE2, 0xCB, 0xEA, 0xB7, 0xA2, 0x2A, 0x42, 0xCA, 0xED, 0x76, 0x89, 0x0F, 0x08, +0x79, 0x17, 0x94, 0x77, 0x4B, 0x0A, 0xF9, 0xC0, 0x41, 0x4C, 0x5A, 0x7C, 0x05, 0x28, 0xEF, 0x36, +0xE5, 0xF4, 0x23, 0xF1, 0x91, 0x69, 0x0E, 0x21, 0x31, 0x1F, 0x10, 0xA2, 0xE3, 0x51, 0xEF, 0x21, +0x38, 0xC8, 0x41, 0x14, 0x41, 0xFD, 0xEA, 0x40, 0x34, 0xD5, 0x63, 0x3E, 0x20, 0xE4, 0xC8, 0x0C, +0x7E, 0x28, 0xEA, 0xA6, 0xD4, 0x32, 0x74, 0x3E, 0x32, 0xFF, 0xA0, 0x98, 0xA5, 0xF8, 0x07, 0x92, +0xFC, 0x03, 0xF1, 0xA2, 0xA4, 0x24, 0xDD, 0x37, 0xAF, 0xF5, 0x0F, 0x24, 0xF1, 0x81, 0x82, 0xF6, +0xC7, 0x65, 0x81, 0x90, 0x8D, 0xC4, 0x07, 0x33, 0x39, 0xE0, 0x03, 0x07, 0x71, 0x05, 0x7C, 0xB0, +0x45, 0x10, 0x92, 0xB7, 0x07, 0x4B, 0xB2, 0x96, 0xE1, 0x99, 0xC8, 0x07, 0x84, 0xE8, 0x7C, 0xD4, +0x97, 0x56, 0x0E, 0xC2, 0x07, 0xDB, 0x9A, 0x56, 0x85, 0xF9, 0x12, 0x16, 0xB3, 0x96, 0x8B, 0xEF, +0x63, 0x42, 0x62, 0x3E, 0x10, 0x84, 0xE0, 0x21, 0x45, 0xFF, 0xA0, 0x98, 0x25, 0xE4, 0xE7, 0x48, +0xF6, 0x0F, 0x3C, 0xC4, 0xC1, 0x18, 0xF1, 0x0E, 0xF2, 0x7A, 0xFF, 0x40, 0x01, 0x1F, 0x3A, 0x21, +0xF3, 0xCC, 0x3F, 0x28, 0x66, 0x05, 0x7C, 0x94, 0x66, 0x72, 0xC0, 0x07, 0x0E, 0xE2, 0x92, 0xF2, +0x73, 0xC8, 0x83, 0x10, 0xF8, 0xC0, 0x3F, 0x72, 0x6D, 0xE6, 0x63, 0x4C, 0x24, 0xE3, 0x43, 0x26, +0xE4, 0x43, 0x4F, 0x80, 0xF8, 0x99, 0x79, 0x59, 0x8A, 0x8E, 0x7D, 0x14, 0x09, 0x29, 0xF2, 0x11, +0xE8, 0x46, 0xE0, 0x03, 0x0F, 0xB9, 0xA7, 0x8C, 0x15, 0xF9, 0x07, 0x1E, 0x22, 0xF1, 0x81, 0x96, +0x35, 0x7C, 0x50, 0xEE, 0xA5, 0xA4, 0xD5, 0x87, 0x7F, 0xA0, 0x80, 0x0F, 0x95, 0x90, 0x4B, 0x93, +0x4C, 0x08, 0xE9, 0x39, 0xF3, 0x97, 0xDD, 0x80, 0x0F, 0x1C, 0xC4, 0x25, 0xE4, 0xE7, 0x07, 0x6A, +0x37, 0x61, 0x79, 0x37, 0xF7, 0x90, 0xF1, 0x99, 0xC8, 0x07, 0x84, 0xE4, 0x7C, 0xF4, 0x4C, 0x08, +0x67, 0x53, 0x98, 0x7D, 0xC0, 0x87, 0x96, 0x87, 0x2C, 0x50, 0xE8, 0x21, 0xF0, 0x71, 0xDC, 0x11, +0xEE, 0xEE, 0x7F, 0xB5, 0x44, 0x24, 0xC8, 0x3F, 0x02, 0x0F, 0x81, 0x8F, 0x90, 0x10, 0x9D, 0x0F, +0xAA, 0xBD, 0x44, 0x9F, 0xF5, 0xED, 0xF3, 0x50, 0x12, 0x1F, 0x28, 0x2C, 0xEF, 0xC6, 0x84, 0xC0, +0x07, 0x73, 0x38, 0xDF, 0x2F, 0xF3, 0x81, 0x83, 0x1C, 0x27, 0xE4, 0x28, 0x73, 0x34, 0xD5, 0x45, +0x3E, 0x5C, 0xE3, 0x4F, 0x15, 0x3E, 0x90, 0x84, 0x07, 0x84, 0xD4, 0x22, 0x82, 0x83, 0x50, 0xBE, +0xD2, 0x3D, 0x64, 0x11, 0x6B, 0x8B, 0x87, 0xD0, 0xFE, 0x08, 0x3C, 0xE4, 0xE1, 0xF7, 0x3F, 0xB0, +0x0F, 0xCA, 0xBB, 0x82, 0x87, 0x80, 0x47, 0x28, 0x89, 0x0F, 0xB4, 0x77, 0x10, 0xD2, 0x8F, 0x7A, +0x3E, 0x74, 0x42, 0xCE, 0x4E, 0x48, 0xE4, 0x03, 0x42, 0x72, 0x3E, 0x62, 0x95, 0xF9, 0xC0, 0x41, +0x50, 0x54, 0xBE, 0xF2, 0x3D, 0x94, 0x9F, 0x98, 0xF5, 0xDE, 0xF9, 0x08, 0xB5, 0x81, 0x10, 0xF8, +0x88, 0x24, 0xF1, 0x81, 0xAA, 0x09, 0x21, 0x82, 0x20, 0xFF, 0x10, 0xF3, 0x10, 0xBA, 0xE7, 0x42, +0x94, 0x65, 0x7B, 0xF0, 0x11, 0x44, 0x59, 0x28, 0xE6, 0x83, 0x62, 0x16, 0xED, 0x8F, 0x93, 0x92, +0xF8, 0x40, 0x07, 0x95, 0xAC, 0xEA, 0x1C, 0xEF, 0xA4, 0x24, 0x3E, 0x90, 0xC6, 0x07, 0x0D, 0x91, +0x30, 0xBE, 0xFA, 0x3C, 0x2C, 0xF7, 0xC2, 0x07, 0x0E, 0x82, 0xA2, 0xF4, 0xA3, 0xE0, 0x27, 0x94, +0x7B, 0xDF, 0x7B, 0x7B, 0x30, 0x16, 0xE7, 0xBF, 0x73, 0x7A, 0x62, 0x2C, 0x0D, 0x10, 0x08, 0xA9, +0x54, 0x7A, 0x9B, 0x24, 0xFF, 0x88, 0xA7, 0x8C, 0xE8, 0x1F, 0x34, 0x44, 0x6E, 0x04, 0x3E, 0x90, +0x19, 0xC7, 0xFE, 0xEC, 0x44, 0x81, 0x0F, 0x7B, 0xC0, 0xBC, 0x7C, 0xA5, 0x13, 0x62, 0xB8, 0x0B, +0x84, 0xB8, 0xFA, 0xF5, 0x0F, 0xA4, 0xF1, 0x81, 0xC6, 0x12, 0x1F, 0x10, 0x42, 0xFB, 0x83, 0xD9, +0x1A, 0xA8, 0xCC, 0x07, 0x0E, 0x82, 0xE0, 0xE3, 0x80, 0xB5, 0xCF, 0xCB, 0x90, 0x7C, 0x9E, 0x08, +0xA1, 0x3D, 0x18, 0x8A, 0x96, 0xE1, 0x99, 0xA6, 0x8C, 0x8F, 0xBE, 0x11, 0xD9, 0xBD, 0x4D, 0xDA, +0xCD, 0x14, 0x45, 0x1E, 0x02, 0x1F, 0x32, 0x21, 0xDE, 0x1E, 0xBC, 0x0F, 0xF9, 0xA0, 0x21, 0x42, +0x7B, 0x50, 0xD1, 0xCD, 0x4D, 0x7A, 0x7C, 0xFC, 0x23, 0x14, 0x7C, 0x48, 0x1A, 0xED, 0x3D, 0xA4, +0x4F, 0xFB, 0x40, 0xF0, 0xA1, 0x89, 0xF6, 0xB9, 0x20, 0x27, 0x24, 0x2B, 0x5F, 0x25, 0xFD, 0xD9, +0xDA, 0x78, 0x39, 0x95, 0x73, 0x3C, 0x72, 0x07, 0x41, 0xC7, 0xFC, 0xA3, 0xCD, 0x1F, 0x19, 0x0F, +0xE9, 0xF8, 0x98, 0xCF, 0x2F, 0x15, 0x35, 0xF0, 0x21, 0x69, 0x12, 0xF0, 0xD1, 0x47, 0x43, 0xC4, +0xFD, 0x63, 0x2A, 0x4B, 0xE5, 0x83, 0x28, 0xCB, 0x96, 0xBB, 0x07, 0x51, 0xF7, 0x3F, 0xFE, 0x41, +0xF9, 0x4A, 0x31, 0x11, 0x27, 0xF0, 0x66, 0xA1, 0x2A, 0x6B, 0x7F, 0x68, 0x1E, 0xD2, 0x33, 0x1F, +0x88, 0xF4, 0x5C, 0x13, 0xED, 0x41, 0x89, 0x90, 0x77, 0xEF, 0xE1, 0x23, 0xA7, 0x84, 0xD9, 0xCC, +0xB7, 0xE1, 0xA3, 0xEC, 0x20, 0x08, 0xFF, 0xF0, 0x0D, 0xE4, 0x81, 0x60, 0xFB, 0x4F, 0x80, 0xDE, +0xB9, 0x7F, 0xC0, 0x87, 0x40, 0xC8, 0x99, 0xAE, 0x49, 0x80, 0x47, 0x2F, 0x4D, 0x75, 0xD3, 0x54, +0x17, 0x7C, 0xC8, 0x84, 0x10, 0x5E, 0x69, 0x1E, 0xC2, 0xDD, 0x05, 0x13, 0x81, 0x0F, 0x95, 0x90, +0xA9, 0xAE, 0x1E, 0xCA, 0xBB, 0xA1, 0xE0, 0x43, 0x92, 0xEA, 0x1F, 0xB4, 0x0C, 0xE1, 0x43, 0x10, +0x7C, 0x94, 0x1D, 0x04, 0xE1, 0x1F, 0xA0, 0x16, 0x89, 0xF6, 0xB9, 0xA2, 0x66, 0x7C, 0x56, 0xA5, +0x09, 0x7C, 0x48, 0x5A, 0xD5, 0x9A, 0xC8, 0xB4, 0x4A, 0xB4, 0x3F, 0x44, 0x42, 0x1E, 0x6A, 0x74, +0x4F, 0x7C, 0xA5, 0x7A, 0xC8, 0xA2, 0x4A, 0xF0, 0xA1, 0x21, 0xF2, 0xC9, 0x00, 0x7C, 0x20, 0xF8, +0x10, 0x09, 0xB9, 0x54, 0x44, 0x31, 0x0B, 0x87, 0xF8, 0xB3, 0x4D, 0x23, 0xC8, 0xAB, 0xE1, 0xA3, +0xEC, 0x20, 0x28, 0xF3, 0x8F, 0xB2, 0x88, 0xDE, 0xDA, 0x46, 0xE1, 0x83, 0x96, 0xE1, 0x6C, 0x52, +0x47, 0xC8, 0x87, 0x3A, 0xD5, 0xD6, 0xB2, 0xEA, 0x66, 0x8C, 0xE6, 0x1F, 0x54, 0x7B, 0xF1, 0x0F, +0x41, 0x77, 0x37, 0xBF, 0xFF, 0x58, 0x07, 0xD4, 0xC3, 0xA2, 0x0E, 0x58, 0xE2, 0x2B, 0x11, 0x90, +0x21, 0xF9, 0xF8, 0xA4, 0x72, 0x22, 0x9C, 0xD1, 0x3E, 0x17, 0xD4, 0xCC, 0xDB, 0xF2, 0xF4, 0x75, +0x4C, 0xD8, 0x45, 0x10, 0x10, 0x3B, 0x48, 0x99, 0x07, 0xF2, 0x9B, 0x1C, 0x92, 0x0D, 0x09, 0xBA, +0x44, 0xF6, 0xF8, 0xFF, 0x44, 0x48, 0x5D, 0x84, 0x65, 0x17, 0xC9, 0xA9, 0x23, 0x64, 0x4D, 0x83, +0x50, 0x74, 0x10, 0xEE, 0xAD, 0x88, 0x0A, 0x96, 0xA4, 0x1F, 0xA8, 0x60, 0x89, 0x59, 0x48, 0xFF, +0x7C, 0xA0, 0xCA, 0x69, 0x30, 0x1B, 0x13, 0xC8, 0x2B, 0x31, 0x96, 0x05, 0x59, 0x47, 0xDF, 0xE1, +0xB3, 0x99, 0x9C, 0xEE, 0xA7, 0x38, 0x88, 0xF3, 0xF1, 0x75, 0x91, 0x8D, 0x43, 0x04, 0x09, 0xB0, +0x4C, 0x7A, 0x8C, 0x35, 0x1F, 0x9B, 0x66, 0x5F, 0x4E, 0xFE, 0x27, 0x84, 0x90, 0x83, 0x88, 0x29, +0x88, 0x5D, 0x44, 0x6A, 0x21, 0xCB, 0xEB, 0x4C, 0x37, 0x55, 0x7C, 0xD8, 0xA2, 0xDF, 0xDD, 0xAF, +0x81, 0x55, 0xE1, 0x21, 0xDD, 0xD1, 0x6F, 0x6B, 0xF8, 0x30, 0xFD, 0x7F, 0xF8, 0x68, 0x9A, 0xF1, +0xB8, 0x26, 0x07, 0x31, 0xB5, 0xEF, 0x65, 0xF9, 0xAC, 0x17, 0x1C, 0x04, 0x3C, 0x88, 0xDC, 0xA2, +0x30, 0xCB, 0xF9, 0xD0, 0x09, 0x69, 0xC6, 0xA6, 0xCE, 0x43, 0x26, 0x43, 0xE6, 0x21, 0x15, 0x7C, +0xB8, 0x64, 0xFF, 0xB0, 0x19, 0x66, 0x8B, 0xCC, 0xC7, 0xAE, 0x4D, 0xF1, 0x51, 0x35, 0x85, 0xF4, +0x87, 0x0A, 0xEF, 0x65, 0x3E, 0xFC, 0xE1, 0x0D, 0x11, 0x51, 0x76, 0xF0, 0xDD, 0xD0, 0xF9, 0x70, +0xFD, 0x3F, 0xF2, 0x0F, 0xE7, 0xC3, 0x34, 0xD7, 0xF9, 0x48, 0x84, 0x90, 0x83, 0x64, 0xB3, 0xB9, +0xE5, 0x5B, 0xCC, 0xFA, 0xC8, 0x41, 0x08, 0xAF, 0x2E, 0x80, 0xA4, 0x20, 0x6C, 0xC4, 0xAE, 0xB5, +0x78, 0xBE, 0xD9, 0x13, 0xD2, 0x68, 0x7C, 0xB8, 0x1A, 0x08, 0xD1, 0xD4, 0x37, 0x21, 0xF0, 0x31, +0xD2, 0x09, 0x31, 0x36, 0x76, 0x88, 0x2C, 0x45, 0x3E, 0xBC, 0xCC, 0x6B, 0xAB, 0xCA, 0xC7, 0xEF, +0xF7, 0x36, 0x8C, 0x11, 0xB9, 0xC8, 0x9B, 0xFA, 0x2C, 0x3A, 0x1F, 0x3E, 0x74, 0x3E, 0x5C, 0xFF, +0x03, 0x3E, 0x26, 0x67, 0xE9, 0x22, 0x9D, 0xA2, 0x87, 0xCC, 0x8D, 0x0F, 0x08, 0x89, 0x72, 0x05, +0x94, 0x18, 0x89, 0x1D, 0x84, 0x3B, 0xBE, 0x14, 0x86, 0x82, 0x7F, 0x6C, 0x9C, 0x0F, 0xD7, 0xE5, +0xBC, 0x91, 0xF9, 0xB0, 0x60, 0x92, 0x4E, 0xBA, 0xA4, 0x2F, 0x57, 0x55, 0xBF, 0x80, 0x1A, 0x3C, +0x5C, 0x1A, 0x1F, 0x5B, 0x5B, 0x7C, 0x68, 0xF1, 0xD5, 0xDA, 0x25, 0x12, 0x72, 0xEF, 0x3D, 0x74, +0x8F, 0xB1, 0xB4, 0x44, 0xC4, 0x1F, 0x1F, 0x0F, 0x11, 0xF9, 0xF0, 0xA1, 0xF3, 0xE1, 0xAF, 0xCF, +0x00, 0xE1, 0xD5, 0xEA, 0xCB, 0x7A, 0x3E, 0x64, 0x42, 0x1A, 0xF7, 0x8F, 0xA4, 0x77, 0x6A, 0x7C, +0x75, 0x91, 0xF6, 0x22, 0x07, 0xE1, 0xEE, 0x50, 0x02, 0x19, 0x2F, 0x78, 0x79, 0xBF, 0x41, 0x2D, +0x1E, 0x12, 0xF1, 0x01, 0x21, 0xE3, 0xB3, 0xFF, 0xD6, 0x43, 0x56, 0x9C, 0xE9, 0xAE, 0x10, 0xF2, +0x45, 0x37, 0xB3, 0x98, 0x62, 0xA7, 0x9A, 0xD7, 0xCB, 0xC5, 0x9A, 0x93, 0xA5, 0x6C, 0x51, 0xF8, +0xF8, 0xB1, 0x33, 0x10, 0xDB, 0xC4, 0x84, 0x70, 0xF9, 0x06, 0x24, 0x10, 0xC2, 0xC1, 0xDB, 0x10, +0x32, 0x75, 0xA7, 0x03, 0x44, 0xFA, 0xE6, 0xA3, 0xB2, 0x7C, 0xC5, 0xB5, 0x7A, 0x05, 0x42, 0x1A, +0xF7, 0x0F, 0xA4, 0xA7, 0x20, 0x78, 0x48, 0xD9, 0x41, 0xDE, 0x73, 0xCF, 0x8B, 0xA0, 0x07, 0xE2, +0xDF, 0xC4, 0x3F, 0x04, 0x0F, 0x81, 0x0F, 0x04, 0x21, 0xBD, 0xA6, 0xEA, 0x3A, 0x21, 0xE0, 0xE1, +0x9B, 0x93, 0x7C, 0xF8, 0x0C, 0x63, 0x9C, 0xE0, 0xC3, 0xF1, 0x48, 0x12, 0xDA, 0x85, 0x06, 0x86, +0xA3, 0xE1, 0x9B, 0xFB, 0x6E, 0x5F, 0x8A, 0xAF, 0xF8, 0x0F, 0x4E, 0x01, 0x9B, 0x1F, 0xFE, 0x17, +0x8A, 0x7F, 0xF0, 0x16, 0xF2, 0x3F, 0xE2, 0x03, 0x42, 0x62, 0xFF, 0x40, 0x04, 0x3F, 0x2F, 0x47, +0x9A, 0xF2, 0xE0, 0x61, 0x3A, 0xE6, 0x20, 0x46, 0x45, 0xC1, 0x41, 0x10, 0x0F, 0x8B, 0x7F, 0x1C, +0xAA, 0x69, 0x34, 0x3E, 0x5C, 0xCD, 0x30, 0x84, 0xA0, 0xB8, 0xFD, 0x61, 0x02, 0x91, 0x93, 0x26, +0x92, 0xDE, 0x80, 0x19, 0x21, 0x21, 0x5B, 0xF3, 0x8F, 0x1B, 0xF1, 0xF3, 0x52, 0xAE, 0x1D, 0x1A, +0xC9, 0x42, 0x3A, 0x58, 0x4E, 0x11, 0x92, 0x3D, 0x3A, 0x1E, 0x12, 0xFB, 0x07, 0x23, 0x24, 0x84, +0xCB, 0xFF, 0x70, 0x3D, 0xAC, 0xC1, 0xCA, 0x57, 0x3A, 0x1F, 0x28, 0xF4, 0x8F, 0xF3, 0x4D, 0xAE, +0x93, 0xDE, 0xD1, 0x26, 0x4F, 0x48, 0x2A, 0x3B, 0xC8, 0x7B, 0x74, 0x81, 0x95, 0x1C, 0xAF, 0x5F, +0x9D, 0xBF, 0x38, 0x90, 0x36, 0xF0, 0x90, 0xF9, 0xF8, 0x85, 0xE6, 0x4D, 0x2D, 0x21, 0xB5, 0x8D, +0xA8, 0x98, 0x0F, 0x2E, 0xDE, 0x91, 0x28, 0x09, 0xFC, 0xC3, 0xB3, 0x8F, 0x0C, 0x91, 0xC0, 0x3F, +0xC0, 0x03, 0xB9, 0x87, 0x44, 0x7C, 0xD8, 0x06, 0x0B, 0xB1, 0x5B, 0x25, 0xBE, 0x82, 0x90, 0xC8, +0x43, 0x88, 0x0E, 0x05, 0x0F, 0x21, 0xBC, 0x02, 0x0F, 0xD3, 0x70, 0xED, 0x41, 0x9D, 0x0F, 0x14, +0xF0, 0xB1, 0x29, 0x88, 0x86, 0x48, 0x09, 0x8F, 0xFD, 0x16, 0x95, 0x1C, 0x24, 0xFF, 0x57, 0x54, +0xB2, 0xF0, 0x0D, 0xCC, 0xE4, 0x7D, 0x4B, 0x7C, 0x75, 0x98, 0x88, 0x28, 0x7C, 0x40, 0x08, 0x7A, +0x13, 0x42, 0xE0, 0xE3, 0xF0, 0xE2, 0x1D, 0x49, 0xC7, 0x4E, 0xE3, 0x65, 0x7A, 0x49, 0x84, 0xE0, +0x1F, 0x9A, 0x87, 0xDC, 0x13, 0x5E, 0xD9, 0x48, 0xFB, 0x01, 0x21, 0x1F, 0x0B, 0xF8, 0x45, 0x84, +0x6C, 0x13, 0x1F, 0xD9, 0x88, 0xC3, 0xAB, 0xFD, 0xC5, 0x47, 0xA7, 0xBE, 0x8B, 0x87, 0xBC, 0x35, +0x1F, 0x33, 0xE3, 0xA3, 0xA0, 0x46, 0xE1, 0x03, 0x5D, 0x84, 0x0E, 0x62, 0xC3, 0x4D, 0x01, 0xBD, +0x74, 0x90, 0xF7, 0x08, 0x0B, 0x69, 0xE1, 0x2A, 0xF3, 0x0F, 0x43, 0x61, 0x53, 0xD0, 0xBB, 0x44, +0x48, 0x18, 0x5E, 0xA1, 0xA6, 0x99, 0xFD, 0x27, 0x1E, 0xE2, 0x68, 0x98, 0xB8, 0x49, 0x7B, 0x8A, +0x7F, 0x10, 0x64, 0x6D, 0xCB, 0xFE, 0xF1, 0x3D, 0x78, 0x1C, 0xE8, 0xE6, 0xEE, 0x18, 0x1F, 0x0E, +0xC7, 0xA1, 0x85, 0x38, 0x34, 0xC7, 0xDB, 0x1F, 0x37, 0x15, 0x84, 0x90, 0x7E, 0x64, 0x23, 0x2E, +0x5F, 0xA5, 0x95, 0x3C, 0xED, 0xFF, 0xC4, 0x07, 0x0D, 0x91, 0x42, 0xFB, 0xA3, 0xA4, 0x96, 0xF7, +0x7A, 0x06, 0x19, 0xF7, 0x0B, 0xE1, 0x20, 0xE0, 0x51, 0xB6, 0x10, 0xC4, 0xA3, 0x9A, 0x7F, 0x1C, +0x95, 0x13, 0x12, 0xFB, 0x07, 0xAA, 0x3E, 0xED, 0xE4, 0xCB, 0x3E, 0x8A, 0x59, 0x5C, 0x8E, 0x20, +0xBD, 0x4F, 0x02, 0x4B, 0xF1, 0x63, 0x20, 0xDF, 0x97, 0x27, 0x98, 0x4D, 0xBC, 0x28, 0x3D, 0x47, +0x71, 0x2D, 0xCB, 0xA0, 0xC0, 0x40, 0xE0, 0xC4, 0x17, 0xCD, 0x3F, 0xE2, 0x5A, 0xD6, 0x31, 0x3C, +0x8E, 0x10, 0x02, 0x1E, 0xE4, 0xE9, 0x29, 0xE8, 0xFA, 0xEF, 0xDA, 0x83, 0x82, 0x87, 0xD0, 0xFE, +0x08, 0x08, 0x29, 0xE9, 0x22, 0x6D, 0x72, 0x33, 0xC0, 0x41, 0x0A, 0x7C, 0x5C, 0xE4, 0xB1, 0x19, +0x6A, 0x2D, 0xBE, 0x7A, 0xB7, 0x09, 0x44, 0xB9, 0x17, 0xFF, 0x38, 0xAE, 0x86, 0x86, 0xC8, 0x5B, +0x11, 0x92, 0x2E, 0xF4, 0xC4, 0xD5, 0xE3, 0x0E, 0xF6, 0x0A, 0xF9, 0x79, 0x30, 0x94, 0xCB, 0xC6, +0xA1, 0x9B, 0x42, 0x31, 0x6B, 0x5F, 0xBE, 0x02, 0x0C, 0x48, 0x29, 0x7D, 0xB4, 0x30, 0x7E, 0x7C, +0x89, 0x0F, 0x46, 0x99, 0x0F, 0xF0, 0x18, 0x1D, 0xDE, 0xBE, 0x3D, 0x1F, 0xD1, 0xD4, 0x99, 0x2B, +0xFE, 0x11, 0x34, 0x44, 0x28, 0x47, 0xF9, 0xE6, 0x85, 0x70, 0x90, 0x32, 0x57, 0xB6, 0x52, 0xFC, +0x22, 0x07, 0xB1, 0x6C, 0x87, 0xF4, 0x43, 0x20, 0x04, 0x3E, 0x66, 0xD9, 0x0A, 0x21, 0x03, 0x34, +0x44, 0x50, 0xDE, 0xFE, 0x70, 0xE5, 0x59, 0x28, 0x7B, 0x1A, 0x1F, 0xE4, 0x21, 0x8A, 0x7F, 0xA0, +0x9B, 0x02, 0x1F, 0x09, 0x09, 0xB8, 0xB8, 0xDF, 0x83, 0x82, 0x87, 0x90, 0x9E, 0xF3, 0xF0, 0x0A, +0x21, 0x4B, 0xF8, 0x90, 0x08, 0xF9, 0x87, 0x6B, 0x70, 0xDD, 0x49, 0x5E, 0x9F, 0xFF, 0xA0, 0x3D, +0x18, 0x4C, 0x9E, 0xA6, 0xD0, 0xFE, 0x08, 0xF4, 0x5B, 0x01, 0x0F, 0x66, 0x7B, 0x41, 0x7B, 0x07, +0x39, 0xC2, 0xD5, 0xD1, 0xF0, 0x6C, 0x13, 0x8A, 0x86, 0x48, 0xEC, 0x1F, 0x3C, 0xCD, 0xF1, 0x9B, +0x12, 0xB2, 0xCB, 0x3A, 0xC9, 0x3D, 0xD3, 0x0A, 0x28, 0x2F, 0x4E, 0xDF, 0x8D, 0xC7, 0x56, 0xF3, +0x0F, 0x08, 0xC9, 0xD3, 0x8F, 0x3C, 0xAC, 0xB2, 0x85, 0x58, 0xCB, 0xF6, 0xF3, 0xF2, 0x55, 0xF0, +0x3F, 0xD0, 0x10, 0x81, 0x8F, 0x13, 0x47, 0xDF, 0xC5, 0x90, 0x88, 0xA4, 0xC3, 0x56, 0x13, 0x90, +0xA4, 0x1F, 0xBD, 0x75, 0xFB, 0x23, 0x56, 0x53, 0x68, 0x7F, 0x44, 0x22, 0x55, 0x20, 0xFD, 0xA0, +0x87, 0xFE, 0x52, 0x3B, 0x40, 0xDE, 0x07, 0xBA, 0x70, 0x4E, 0xC8, 0x41, 0x68, 0x7F, 0xC8, 0x1E, +0xD2, 0x80, 0xC3, 0x11, 0x35, 0x57, 0x6F, 0x47, 0x48, 0x6E, 0x1B, 0x94, 0x34, 0xB9, 0x4A, 0xAF, +0x64, 0x1F, 0xE4, 0x21, 0xCB, 0x05, 0x5A, 0x9F, 0xF0, 0x0F, 0xCA, 0xBD, 0xB4, 0x07, 0x89, 0xAA, +0x18, 0x7C, 0xEF, 0x30, 0x55, 0x8F, 0x1E, 0x9D, 0x13, 0xB3, 0xE0, 0xA3, 0x50, 0xBE, 0x8A, 0xCA, +0xBD, 0xD8, 0x07, 0xCE, 0x01, 0x30, 0xFE, 0xE3, 0xB7, 0xE5, 0xA3, 0x3C, 0x77, 0xF8, 0x56, 0xA3, +0xFB, 0x07, 0x84, 0xA0, 0x96, 0x34, 0xA2, 0xAC, 0x0E, 0x90, 0xE3, 0x74, 0xEC, 0xD9, 0x68, 0xBB, +0x1B, 0x4E, 0xBF, 0x52, 0x74, 0x3E, 0x6F, 0xE0, 0x23, 0xD0, 0xEC, 0x8D, 0x5B, 0x86, 0x87, 0xBF, +0xEF, 0x51, 0x02, 0x22, 0x2F, 0xF8, 0x16, 0x4E, 0x2F, 0x89, 0x10, 0xD9, 0x0A, 0xFE, 0x81, 0x6E, +0x20, 0xE4, 0x3E, 0x33, 0x0B, 0x16, 0xBE, 0x05, 0x21, 0xB4, 0xCF, 0xE3, 0x20, 0x0B, 0x0F, 0xA1, +0xFB, 0x1F, 0x79, 0xC8, 0xB6, 0x98, 0x9F, 0xE7, 0x65, 0x3E, 0xBE, 0xBB, 0x7A, 0xBB, 0xF6, 0xA0, +0x20, 0xCA, 0xBB, 0x92, 0x0A, 0x27, 0x97, 0x5C, 0x44, 0x06, 0x11, 0x01, 0x92, 0x72, 0x7B, 0x1B, +0xD4, 0xB1, 0x3E, 0xBF, 0xD8, 0x08, 0xA2, 0x98, 0x35, 0xCF, 0x79, 0xF0, 0x35, 0x6D, 0xD0, 0xFC, +0x8D, 0x08, 0xE1, 0x97, 0xCD, 0x0D, 0xBB, 0x7B, 0x66, 0x4C, 0xA9, 0xFD, 0xB1, 0x15, 0x47, 0xD6, +0xFE, 0x88, 0x74, 0x83, 0x87, 0x18, 0x02, 0x07, 0x44, 0xE4, 0x1E, 0xC2, 0x0E, 0xFE, 0xA1, 0xE8, +0x86, 0xF2, 0xAE, 0xE2, 0x80, 0xFB, 0xA6, 0x3A, 0xBD, 0x53, 0xDE, 0x30, 0xA6, 0xDC, 0x80, 0xC8, +0x80, 0xE5, 0x5D, 0x94, 0xF1, 0xC1, 0xB4, 0xC9, 0xED, 0x04, 0x3E, 0x24, 0xB5, 0xD0, 0x41, 0xF5, +0xEA, 0xB8, 0x22, 0x40, 0xF8, 0xA7, 0x54, 0x7C, 0xBD, 0xFD, 0xA1, 0x69, 0xDE, 0xB8, 0x7D, 0x68, +0x6A, 0x9A, 0x4F, 0xEB, 0x1B, 0x22, 0x2B, 0xAC, 0x41, 0x13, 0x45, 0x7D, 0xDF, 0xA3, 0x76, 0x85, +0x9B, 0xEC, 0xB5, 0xF3, 0x0F, 0x45, 0x78, 0xC8, 0x8D, 0xF1, 0xA1, 0x0C, 0x6B, 0x88, 0xDC, 0x93, +0x9E, 0x1F, 0x5B, 0x88, 0xB3, 0x9C, 0x10, 0xDA, 0xE7, 0xAA, 0x87, 0xE0, 0x7E, 0x52, 0x94, 0x95, +0xF7, 0x4E, 0xA7, 0x05, 0x07, 0x49, 0x7A, 0x9B, 0xF6, 0x07, 0x64, 0xC4, 0x39, 0xEC, 0x5C, 0xE6, +0x83, 0xA6, 0x3A, 0x8D, 0x8C, 0x70, 0xFA, 0xC7, 0x0E, 0xC2, 0x83, 0xD8, 0x92, 0x92, 0x10, 0x01, +0x0F, 0x5A, 0x86, 0x96, 0xAB, 0x7B, 0xFC, 0xA4, 0x2C, 0x73, 0x2B, 0x66, 0x55, 0xE9, 0xCB, 0xAE, +0x21, 0x5E, 0x03, 0xC8, 0x6A, 0x45, 0x79, 0x86, 0x5A, 0x0D, 0xF1, 0x95, 0xDF, 0x42, 0x49, 0x8A, +0xAF, 0x54, 0x19, 0x1E, 0xEE, 0x1F, 0xC2, 0xD2, 0xDD, 0xF1, 0x66, 0x77, 0x7A, 0xC9, 0xFD, 0x8F, +0xF7, 0x3B, 0x75, 0x7B, 0x0C, 0x5B, 0x9E, 0xD3, 0xAD, 0x7F, 0x6D, 0x77, 0x4C, 0x57, 0xC1, 0x92, +0x16, 0xAF, 0x65, 0x95, 0xE8, 0x48, 0x96, 0xE2, 0xFA, 0xFB, 0x6B, 0xDF, 0x24, 0x1C, 0x60, 0x80, +0x97, 0x82, 0x34, 0x9D, 0xF7, 0x94, 0xCA, 0x2B, 0x63, 0xAC, 0x28, 0x5F, 0x89, 0x9A, 0x35, 0x73, +0x75, 0xE6, 0x78, 0x1E, 0xB2, 0x41, 0x92, 0x87, 0x40, 0xC6, 0x09, 0x44, 0x0C, 0x90, 0xF6, 0x42, +0x94, 0x5F, 0x67, 0xA8, 0x95, 0xF5, 0xBE, 0x9D, 0x03, 0x7F, 0x20, 0x3E, 0x21, 0x62, 0xAF, 0xA3, +0xAE, 0xC9, 0x6A, 0x54, 0xA9, 0x2F, 0xA6, 0xD7, 0xCE, 0x83, 0xB0, 0xD8, 0x34, 0xB8, 0xDE, 0x2E, +0x96, 0xDF, 0x2E, 0x45, 0x6D, 0xBF, 0xDD, 0x5A, 0x7E, 0xBE, 0x7E, 0x5C, 0x3F, 0x49, 0xAB, 0x95, +0x9A, 0x1E, 0x9F, 0x7F, 0x7F, 0xD6, 0x65, 0x77, 0x5E, 0x3F, 0x75, 0x8F, 0x2F, 0xC9, 0xEE, 0xF7, +0xE8, 0x07, 0xBF, 0xB5, 0x8D, 0xB2, 0xDA, 0x3D, 0xA7, 0x5F, 0xF0, 0xE2, 0x08, 0xAF, 0xCF, 0xA8, +0x52, 0xF6, 0xEB, 0xAA, 0x11, 0xED, 0x41, 0x45, 0x57, 0xF3, 0x56, 0x12, 0xD7, 0x5A, 0xBC, 0x50, +0xF5, 0xD5, 0xCF, 0x67, 0xDF, 0xBD, 0x13, 0xD5, 0x6E, 0xDA, 0x8D, 0xCE, 0x47, 0x77, 0x14, 0x97, +0x33, 0xD3, 0xF8, 0x6A, 0x36, 0x16, 0xB6, 0xB3, 0xAB, 0xAB, 0xB3, 0x9A, 0x29, 0xFF, 0xE1, 0xC3, +0xA8, 0x52, 0xD7, 0xD7, 0x53, 0x5D, 0xD7, 0x53, 0xE0, 0xD0, 0xF4, 0xF4, 0x58, 0xA1, 0xA7, 0xC7, +0xBB, 0xE7, 0x5F, 0xAB, 0xF4, 0x7C, 0xF7, 0x58, 0xA5, 0xA7, 0x65, 0x85, 0x6E, 0x97, 0xDF, 0x7E, +0x3B, 0xAD, 0xD0, 0xB7, 0xD7, 0xD7, 0xD7, 0xA3, 0x01, 0xB5, 0x3A, 0x9B, 0x5D, 0xCD, 0x2A, 0x34, +0xDF, 0xB4, 0xEF, 0x06, 0xD2, 0x77, 0x67, 0x3F, 0xFF, 0x36, 0xC8, 0x83, 0xB7, 0x5D, 0xB6, 0xE2, +0xD7, 0x73, 0xBF, 0x52, 0xC6, 0x95, 0x7F, 0x4A, 0x7D, 0x32, 0x1A, 0x29, 0xD5, 0x42, 0x5B, 0xC1, +0xA3, 0x06, 0x91, 0x1A, 0x3E, 0x4C, 0x36, 0x73, 0xA4, 0xC5, 0xB4, 0x78, 0xBA, 0x5D, 0x3C, 0x56, +0xE8, 0xCE, 0xF4, 0xFB, 0x1F, 0xBF, 0xFF, 0x6A, 0xFA, 0xBD, 0x5B, 0x0C, 0x97, 0xB4, 0xDA, 0x57, +0x85, 0x61, 0x77, 0xAF, 0x22, 0x64, 0x71, 0xFB, 0xB4, 0x58, 0xCA, 0xC7, 0x6F, 0x7C, 0x54, 0x11, +0x02, 0x1D, 0xBA, 0x3E, 0xC8, 0x1A, 0x4D, 0xBA, 0x18, 0xCB, 0x66, 0xC4, 0x95, 0x34, 0x66, 0xE3, +0xF3, 0xCD, 0x65, 0x0D, 0x21, 0x35, 0xF3, 0xFD, 0x37, 0x1C, 0xA4, 0x77, 0x3E, 0x3C, 0x32, 0x1C, +0x6B, 0x80, 0x98, 0x85, 0x9C, 0x79, 0x95, 0xFC, 0xC3, 0x48, 0x7D, 0x15, 0x87, 0x25, 0xE4, 0x5B, +0xD7, 0x6E, 0x8A, 0x9D, 0xDA, 0x3A, 0x1F, 0x4F, 0x4F, 0xB7, 0xCB, 0x75, 0x0D, 0x1F, 0x0F, 0x46, +0xC8, 0xAF, 0x45, 0x1C, 0x32, 0x25, 0x3E, 0x1E, 0x6A, 0x10, 0x59, 0x3C, 0xD9, 0x11, 0x19, 0x21, +0xC2, 0xC1, 0x3B, 0x1F, 0xAE, 0x21, 0xF8, 0x40, 0xEA, 0x6F, 0x76, 0xE4, 0x7C, 0x4C, 0xCE, 0x6C, +0x4E, 0x48, 0x78, 0xCC, 0xC6, 0x1B, 0x9F, 0x6A, 0x16, 0xB4, 0xF4, 0xAF, 0x76, 0x28, 0x07, 0x69, +0xBB, 0x14, 0x7D, 0x4F, 0x88, 0xE0, 0x1F, 0x57, 0x9D, 0x7F, 0xB8, 0x46, 0xA3, 0x01, 0xF0, 0x40, +0x9A, 0x7D, 0x74, 0x7C, 0xB8, 0x76, 0x33, 0xE8, 0x36, 0xD8, 0xFA, 0xC6, 0xE6, 0xE3, 0x6D, 0xB7, +0x8A, 0x61, 0x56, 0x37, 0xD9, 0x5D, 0x39, 0x0F, 0xAE, 0x1C, 0x17, 0xE7, 0xC3, 0xA5, 0x12, 0xE2, +0x47, 0x63, 0xCB, 0x82, 0x43, 0x0D, 0xB6, 0xCE, 0x87, 0x6B, 0x30, 0x3E, 0x74, 0x13, 0x31, 0x8C, +0x52, 0x19, 0x4B, 0xF4, 0x90, 0x59, 0xB3, 0x49, 0x53, 0x4D, 0x73, 0x06, 0xEE, 0xA5, 0x3A, 0xC8, +0xCF, 0x17, 0xEF, 0x7A, 0x57, 0xDB, 0x1D, 0x74, 0x22, 0xA4, 0x51, 0x00, 0x99, 0x51, 0x04, 0xB4, +0xC9, 0xDF, 0x3F, 0x1F, 0xE8, 0x5A, 0xE6, 0xC3, 0xA5, 0xBC, 0x09, 0x1B, 0x1F, 0x26, 0x9B, 0x92, +0xB6, 0x4A, 0x7C, 0xA0, 0x1D, 0x00, 0xD9, 0xC8, 0x61, 0x79, 0xBE, 0x43, 0x12, 0x1F, 0xC6, 0x86, +0x1D, 0x8A, 0x49, 0xB0, 0x3F, 0xCF, 0x3F, 0xAA, 0x08, 0x19, 0xFD, 0x6B, 0xE9, 0x7C, 0x38, 0x22, +0x82, 0x87, 0xC0, 0x07, 0x84, 0xF4, 0xAA, 0x8B, 0x0E, 0x90, 0x8B, 0xB6, 0x77, 0xFF, 0x38, 0xBF, +0xDC, 0xEB, 0xBC, 0x23, 0xE4, 0x94, 0x7F, 0x9C, 0xFD, 0x53, 0x96, 0xAA, 0xF7, 0x0F, 0x08, 0xD2, +0xD2, 0x0F, 0x08, 0xB9, 0x3D, 0x19, 0x60, 0x75, 0x60, 0xF8, 0x3B, 0x76, 0x37, 0xD6, 0x77, 0x02, +0x1F, 0xE8, 0xB9, 0x60, 0x22, 0x45, 0xFF, 0xD0, 0x09, 0x49, 0xA8, 0xDE, 0x2E, 0x16, 0x76, 0x23, +0x04, 0x58, 0x07, 0xCF, 0x77, 0x10, 0x3E, 0x90, 0xC6, 0x07, 0xBD, 0xF4, 0x93, 0x80, 0x58, 0xFF, +0xE3, 0xB3, 0xBF, 0xA7, 0x5A, 0xFF, 0x84, 0x5C, 0x38, 0x20, 0x7D, 0x13, 0xD2, 0x3A, 0xD3, 0x10, +0x32, 0x3F, 0x01, 0x08, 0x5D, 0x74, 0x91, 0x90, 0xD1, 0x6B, 0x74, 0xAD, 0xA5, 0x1F, 0x10, 0x12, +0x87, 0x59, 0xCB, 0x85, 0xBF, 0x5D, 0xA7, 0x71, 0xBB, 0xB8, 0xD5, 0xF8, 0x80, 0x10, 0x83, 0x20, +0x72, 0x90, 0xE4, 0x1F, 0x48, 0xE0, 0x63, 0x37, 0x6E, 0xDD, 0xD5, 0xFC, 0xE8, 0xA3, 0xA7, 0x90, +0x3D, 0x5D, 0x81, 0x8F, 0xE1, 0x00, 0xB1, 0xF2, 0x15, 0xEA, 0x66, 0x45, 0xEC, 0x21, 0x1D, 0x1F, +0xBC, 0x15, 0x7B, 0x22, 0xD2, 0x37, 0x1F, 0x0E, 0x88, 0x69, 0x20, 0x3E, 0x20, 0x24, 0x62, 0x84, +0xF8, 0x0A, 0x42, 0x06, 0x00, 0x04, 0x44, 0x24, 0x3E, 0x50, 0xFC, 0x26, 0xFC, 0xB4, 0xF7, 0x8E, +0x5B, 0x5B, 0x9E, 0x6E, 0x6F, 0x9F, 0x34, 0x3E, 0x20, 0x24, 0x70, 0x10, 0x13, 0x7C, 0x68, 0x84, +0xF8, 0x51, 0x24, 0x46, 0x3C, 0x55, 0x8F, 0x62, 0x44, 0xF0, 0x40, 0x83, 0xA4, 0x1F, 0x48, 0xE0, +0x43, 0xF4, 0x10, 0xD3, 0x25, 0x7C, 0x0C, 0x41, 0xC8, 0x05, 0x80, 0x5C, 0xB4, 0x03, 0xF0, 0x01, +0x21, 0x97, 0xE3, 0x59, 0x10, 0x5F, 0xC1, 0x87, 0x42, 0xC8, 0xE8, 0xF5, 0xBA, 0xD6, 0xF9, 0x20, +0xCC, 0x3A, 0x5A, 0xBF, 0xB2, 0x91, 0x82, 0xAC, 0xE4, 0x22, 0x0A, 0x1F, 0xE8, 0xA7, 0xE7, 0x97, +0x61, 0x15, 0xA4, 0xC0, 0x87, 0x46, 0x48, 0x47, 0xA8, 0x1F, 0x0E, 0x87, 0x94, 0x0E, 0xB6, 0x88, +0x48, 0xE9, 0xD9, 0x0E, 0xC1, 0x07, 0xD2, 0xF8, 0xC0, 0x43, 0xA2, 0xF2, 0x15, 0x7C, 0x0C, 0x41, +0x48, 0x7B, 0x01, 0x20, 0x10, 0xD2, 0x27, 0x1F, 0xC8, 0x09, 0x29, 0xE3, 0x51, 0xFE, 0xB4, 0xD4, +0x84, 0x97, 0x52, 0x07, 0x44, 0x97, 0x98, 0x7F, 0x40, 0x88, 0xA9, 0x10, 0xA1, 0x78, 0x7A, 0x7E, +0xEB, 0xB1, 0x8C, 0x6D, 0x7D, 0x3E, 0x42, 0x88, 0xC8, 0x07, 0x0D, 0x11, 0xB8, 0x20, 0xFF, 0x28, +0xDF, 0x3F, 0xF4, 0x0F, 0x1B, 0xF0, 0xB1, 0x2F, 0xF7, 0x0A, 0xE1, 0x15, 0x1A, 0x92, 0x8F, 0xE0, +0xF7, 0x0A, 0x1F, 0x07, 0x88, 0x44, 0x7C, 0x5C, 0x22, 0x08, 0xE9, 0x8F, 0x0F, 0x00, 0x71, 0x55, +0xFE, 0x7B, 0x85, 0x0F, 0x3C, 0x64, 0x33, 0xFE, 0xF4, 0x48, 0xFB, 0x63, 0x72, 0xE4, 0x6C, 0xDD, +0x51, 0xFF, 0x78, 0xA0, 0x6B, 0xC9, 0x3F, 0x10, 0x15, 0x5D, 0xB6, 0xCE, 0x07, 0x83, 0xD0, 0xE6, +0x76, 0xB1, 0x3E, 0xCA, 0xC7, 0x37, 0x77, 0x05, 0x3D, 0x14, 0x73, 0x10, 0xDB, 0x35, 0x7F, 0x51, +0x09, 0x81, 0x8F, 0x5B, 0xDC, 0x63, 0x67, 0x26, 0x4F, 0xC7, 0x82, 0xAC, 0x63, 0xCF, 0x56, 0xE7, +0xA3, 0x9F, 0x86, 0x08, 0xED, 0x8F, 0x32, 0x21, 0x57, 0x45, 0x3E, 0xCE, 0x99, 0x6A, 0xFD, 0x12, +0x02, 0x1F, 0x00, 0xE2, 0xEA, 0xA9, 0x3D, 0x98, 0x8B, 0x86, 0x48, 0xA1, 0x7D, 0x5E, 0xE6, 0xE3, +0x58, 0xCB, 0xD0, 0x5E, 0xDC, 0x81, 0x08, 0xA1, 0xBC, 0x5B, 0xD6, 0xB1, 0xF2, 0xEE, 0x2D, 0xF5, +0xAB, 0x83, 0x69, 0x29, 0xDB, 0x87, 0xB7, 0x00, 0x1F, 0xBA, 0x54, 0x1D, 0x32, 0xD2, 0xC0, 0x3F, +0x34, 0x44, 0xD6, 0xB7, 0x07, 0x98, 0xB2, 0xBE, 0x68, 0x19, 0x12, 0x5F, 0x6D, 0x4B, 0xCB, 0xB7, +0xC3, 0xF0, 0x01, 0x21, 0x12, 0x1F, 0x10, 0x52, 0x00, 0xC4, 0xDB, 0x83, 0x65, 0x95, 0x5B, 0x86, +0x6D, 0x2D, 0x1F, 0x05, 0x40, 0xDA, 0xD7, 0x7A, 0x48, 0xFB, 0x5B, 0xE9, 0xA0, 0x69, 0x88, 0x7C, +0x1A, 0xF8, 0x87, 0x44, 0xC8, 0xA8, 0x3F, 0x5D, 0x8B, 0x7C, 0x94, 0x5B, 0x86, 0x2E, 0xCA, 0x57, +0x4C, 0xCA, 0xFD, 0x37, 0x1E, 0xD7, 0x1A, 0x1F, 0x34, 0x44, 0x40, 0x83, 0xF4, 0x23, 0x50, 0xB9, +0xBC, 0x9B, 0x90, 0xF0, 0x5B, 0x56, 0xE3, 0x38, 0xAF, 0x65, 0x99, 0xA2, 0x67, 0xFB, 0xCB, 0x00, +0x7C, 0xA0, 0xD2, 0x2F, 0x36, 0x38, 0xF3, 0x7D, 0x82, 0x87, 0x64, 0xED, 0x8F, 0x4C, 0x4A, 0x43, +0x44, 0xE7, 0x03, 0x40, 0xD0, 0x40, 0xFE, 0x41, 0xCB, 0x30, 0xF3, 0x8F, 0x00, 0x0F, 0x5A, 0x86, +0xFD, 0xFA, 0x07, 0xAA, 0xE2, 0x63, 0xFA, 0xB2, 0x96, 0xE5, 0x73, 0x8F, 0x7A, 0xEA, 0x41, 0x8C, +0x65, 0xDF, 0x97, 0xF8, 0x40, 0xCF, 0x7F, 0x18, 0x13, 0x38, 0x88, 0x2D, 0x77, 0xB1, 0x8A, 0xED, +0xF3, 0x63, 0xC3, 0x7E, 0x96, 0x39, 0x48, 0xF2, 0x8F, 0x82, 0xF0, 0x90, 0x9C, 0x8F, 0xA1, 0x10, +0xB1, 0x2F, 0x4F, 0x7C, 0x38, 0xA4, 0xD0, 0x3E, 0x0F, 0xA7, 0x5A, 0xDB, 0x17, 0x1F, 0x5F, 0x39, +0x20, 0xA8, 0x7D, 0x0D, 0x1E, 0xAD, 0xD7, 0x14, 0x42, 0x42, 0x0E, 0xFD, 0x23, 0xE7, 0x23, 0x2E, +0x66, 0x8D, 0xFA, 0x96, 0x92, 0x9E, 0xA3, 0x69, 0x9A, 0x5A, 0xF8, 0x07, 0x7E, 0x91, 0x47, 0x58, +0x5E, 0xFA, 0xAD, 0xE2, 0xC3, 0xA2, 0x2C, 0xE0, 0xA0, 0xFD, 0xA1, 0x13, 0xB2, 0xAB, 0x32, 0xDB, +0x92, 0xA5, 0x21, 0x69, 0x2F, 0x35, 0xD5, 0x41, 0xC4, 0x90, 0x8F, 0x95, 0xB5, 0x3F, 0x7A, 0x56, +0x21, 0x3D, 0x0F, 0xE5, 0x1E, 0x42, 0xFB, 0x23, 0xE0, 0xA3, 0x87, 0x96, 0x21, 0x3C, 0xE0, 0x20, +0xAF, 0x25, 0xC4, 0xFF, 0x14, 0xF4, 0x09, 0x6D, 0x0E, 0x1A, 0x22, 0x63, 0xAF, 0xE2, 0x55, 0x10, +0x32, 0xEA, 0x5D, 0x35, 0x7C, 0x50, 0xCB, 0xA2, 0x7D, 0xCE, 0x38, 0x8C, 0xB1, 0x0C, 0x91, 0x6E, +0x91, 0xF8, 0x40, 0xCF, 0xD0, 0x01, 0x1F, 0x2A, 0x21, 0x1C, 0xC3, 0x81, 0x93, 0xB1, 0x73, 0x50, +0xCB, 0xC2, 0x3F, 0xB6, 0x85, 0x25, 0x39, 0xCB, 0x20, 0x7C, 0xA0, 0x98, 0x8F, 0xA0, 0x21, 0x92, +0xB7, 0x07, 0x7B, 0x4F, 0xD5, 0xA1, 0x01, 0x07, 0x41, 0xFD, 0xF3, 0x81, 0x8C, 0xFB, 0x3D, 0x20, +0xB4, 0xCF, 0x55, 0x42, 0x46, 0x03, 0x48, 0xE3, 0x03, 0x11, 0xC0, 0xBF, 0x78, 0xA3, 0x26, 0x01, +0xC0, 0x56, 0xAA, 0xF8, 0xF8, 0xC9, 0x09, 0x31, 0x3C, 0xF0, 0x0F, 0x9D, 0x90, 0x9D, 0x89, 0xED, +0x0F, 0x82, 0x5B, 0xDF, 0x38, 0x1E, 0xB6, 0x26, 0xB4, 0x1D, 0x0F, 0xE5, 0x09, 0x0F, 0x11, 0x5E, +0xA1, 0x0A, 0x3E, 0x68, 0x88, 0xD0, 0x1E, 0x1C, 0x8C, 0x10, 0xF8, 0xC0, 0x41, 0x2A, 0x3D, 0x44, +0x2F, 0xEF, 0x96, 0x5B, 0x86, 0xA9, 0x7C, 0x05, 0x20, 0x02, 0x21, 0xA3, 0x92, 0x56, 0xA3, 0x50, +0xFA, 0x67, 0xA8, 0xAE, 0xBF, 0x15, 0xB5, 0x4C, 0x7A, 0x02, 0x04, 0xE6, 0x63, 0x1A, 0x8E, 0x89, +0xDB, 0xC8, 0x02, 0x3E, 0x24, 0x3D, 0xC3, 0x87, 0x26, 0xCA, 0xBB, 0x1C, 0x01, 0xC8, 0x1E, 0x00, +0xEB, 0x99, 0x92, 0xD1, 0x4D, 0x7B, 0x30, 0x4C, 0x42, 0x7C, 0xED, 0x93, 0x8F, 0x55, 0x01, 0x11, +0xCA, 0x57, 0x0A, 0x22, 0x59, 0x7B, 0x70, 0x20, 0x42, 0x48, 0x3F, 0x70, 0x90, 0x4C, 0xED, 0x40, +0x7C, 0xD0, 0x32, 0x8C, 0xCA, 0xBB, 0xE5, 0x86, 0xC8, 0x68, 0x28, 0x5D, 0xD3, 0xFE, 0xD0, 0x3D, +0x24, 0x03, 0xA3, 0x8C, 0x89, 0x23, 0xB2, 0x96, 0xF8, 0xA0, 0xA9, 0x4E, 0x7A, 0xAE, 0xE9, 0xB0, +0x3D, 0x48, 0x09, 0x2B, 0x1D, 0x0B, 0x7B, 0xE9, 0xC7, 0xC9, 0x3F, 0x28, 0xF0, 0x96, 0x22, 0x2C, +0x74, 0x0D, 0x1F, 0x03, 0xC8, 0xF9, 0x50, 0x2E, 0x06, 0x44, 0xB9, 0x97, 0xF6, 0xE0, 0x00, 0x84, +0xC0, 0x47, 0xD9, 0x41, 0xD0, 0x10, 0x7C, 0x40, 0x48, 0x33, 0xA3, 0xBC, 0x2B, 0x12, 0x32, 0x1A, +0x4E, 0xD7, 0xC4, 0x57, 0x92, 0x9C, 0x0F, 0x3A, 0x1F, 0x80, 0xC1, 0x57, 0xDD, 0xAE, 0xE3, 0x61, +0xBB, 0xF0, 0xA1, 0xC9, 0x00, 0x81, 0x0F, 0x91, 0x10, 0x6F, 0xE3, 0xC3, 0x66, 0x71, 0xDC, 0xA6, +0x63, 0x0A, 0xCA, 0x57, 0xF8, 0x07, 0x2B, 0x7C, 0x0C, 0x22, 0xF8, 0x10, 0x09, 0xA1, 0x3D, 0x28, +0x12, 0x52, 0xDF, 0xFE, 0x08, 0x1C, 0x04, 0xD5, 0x7F, 0x3A, 0x4A, 0x11, 0xC5, 0x2C, 0xC2, 0x2B, +0x89, 0x90, 0xC0, 0xAF, 0x7B, 0x10, 0x7C, 0x48, 0x32, 0x3E, 0xB2, 0xFE, 0x07, 0xD5, 0x2B, 0x82, +0x1B, 0x42, 0xAD, 0xBB, 0x2A, 0x3D, 0xD0, 0x1E, 0x14, 0xE5, 0xB4, 0xA6, 0x51, 0xB2, 0x90, 0xEC, +0xA7, 0xCB, 0x9C, 0x85, 0x58, 0xAF, 0xE7, 0x63, 0x15, 0x12, 0x52, 0x35, 0x11, 0x26, 0x94, 0x77, +0x25, 0x6D, 0x5E, 0xE9, 0x1F, 0x38, 0xC8, 0xEB, 0xA2, 0x2C, 0x95, 0x0F, 0x4E, 0xEE, 0xE5, 0x1A, +0xDF, 0x5A, 0x1E, 0x32, 0xA8, 0x44, 0x30, 0xE8, 0x87, 0x50, 0x1F, 0x62, 0xE4, 0xA5, 0x2C, 0xF6, +0x38, 0xBD, 0x44, 0xD2, 0x73, 0x85, 0x81, 0xF8, 0x43, 0x2F, 0x28, 0x0A, 0x1C, 0x35, 0x11, 0xC2, +0xAC, 0xC5, 0x32, 0xA3, 0xA3, 0x5C, 0xC4, 0x62, 0x1D, 0x0D, 0x28, 0xF2, 0x73, 0x11, 0x10, 0xEA, +0x57, 0x22, 0x21, 0xBF, 0xD5, 0xF2, 0x11, 0x3B, 0x08, 0x6A, 0x87, 0xE3, 0xE3, 0x72, 0xDE, 0x90, +0x82, 0x68, 0xAF, 0xCB, 0x90, 0x84, 0x10, 0x60, 0x69, 0xA2, 0x83, 0x7E, 0xD8, 0x3A, 0x2F, 0xE5, +0xC7, 0x7E, 0x56, 0xD6, 0xFA, 0xAE, 0x46, 0xCF, 0xA6, 0x9A, 0xFB, 0xAF, 0x3F, 0xA6, 0x14, 0xDD, +0xD7, 0xD8, 0x42, 0xD2, 0xC7, 0x43, 0x12, 0x07, 0x9A, 0x85, 0x0C, 0x1A, 0x62, 0x7D, 0x58, 0x4D, +0x26, 0x95, 0xD7, 0x7A, 0x6F, 0x2A, 0x09, 0xA9, 0xE7, 0x23, 0x76, 0x10, 0x34, 0x10, 0x1F, 0x9B, +0xF3, 0xF9, 0x6C, 0xDC, 0x34, 0x15, 0x84, 0xAC, 0xEC, 0x55, 0x24, 0xCA, 0xEA, 0xBB, 0x9A, 0x75, +0xDD, 0xCD, 0x81, 0x1A, 0x3E, 0xBA, 0x28, 0xDE, 0x70, 0xA0, 0x37, 0xC8, 0x28, 0x60, 0x63, 0x78, +0xAC, 0x1F, 0x6B, 0xF8, 0xF8, 0xBD, 0x8E, 0x90, 0x8E, 0xBF, 0xB5, 0x11, 0xE2, 0x30, 0x9C, 0xF4, +0x0F, 0x92, 0xF4, 0x48, 0x74, 0x42, 0x76, 0xAF, 0x0D, 0x84, 0xF4, 0x5D, 0xCC, 0xB2, 0x5F, 0xEC, +0x6A, 0x52, 0xC3, 0x47, 0x33, 0xBE, 0x6A, 0x98, 0x6E, 0x2A, 0x21, 0x3A, 0x1F, 0x82, 0x83, 0xD4, +0x13, 0x72, 0x29, 0x89, 0x0F, 0xE0, 0x8E, 0x4D, 0xF6, 0x4C, 0xCF, 0x56, 0x15, 0x7C, 0x90, 0x87, +0xC8, 0xD2, 0xF9, 0xA8, 0x21, 0x64, 0xE9, 0xDA, 0x92, 0x86, 0x1C, 0xE4, 0xE9, 0x39, 0x21, 0x8B, +0xC7, 0xBB, 0x8F, 0x8F, 0x6B, 0x1B, 0x35, 0xFE, 0x51, 0x45, 0xC8, 0xE3, 0x8E, 0x10, 0xFF, 0xEF, +0x42, 0x0B, 0xF1, 0x3D, 0xE3, 0xC3, 0x45, 0x68, 0x15, 0x15, 0xB1, 0xB6, 0xCE, 0x47, 0x9F, 0x84, +0xE4, 0xF9, 0x87, 0x6B, 0xA5, 0xC6, 0x11, 0xDD, 0xAC, 0x31, 0x55, 0x7A, 0xC8, 0x79, 0x05, 0x1F, +0xB2, 0x83, 0xE8, 0x51, 0x56, 0x2B, 0xF2, 0xC1, 0x59, 0xEF, 0x2E, 0x27, 0x44, 0xB1, 0xD7, 0xC9, +0xC4, 0xF8, 0x18, 0x8E, 0x90, 0xA9, 0xF3, 0xE1, 0x43, 0xE6, 0xC3, 0x09, 0x59, 0x32, 0xEF, 0xF2, +0xC1, 0x4F, 0x6E, 0x1F, 0xEF, 0x7C, 0xFA, 0xDA, 0x10, 0xF1, 0x70, 0xFF, 0xE8, 0x6E, 0x64, 0xFF, +0x78, 0xFC, 0xE8, 0x88, 0x74, 0x86, 0x16, 0x79, 0x08, 0xFE, 0xE1, 0x12, 0x0D, 0x64, 0x9A, 0x5E, +0x1A, 0x1A, 0xE9, 0x7D, 0xF3, 0xE1, 0xD2, 0xFC, 0xC3, 0xF9, 0xE8, 0xD4, 0x58, 0x98, 0x5E, 0x23, +0x99, 0x0F, 0xD5, 0x41, 0xF0, 0x90, 0x4D, 0xDF, 0xE9, 0x79, 0x77, 0x31, 0x6B, 0x08, 0x11, 0xEC, +0xD5, 0xF8, 0x70, 0xAD, 0x20, 0xA4, 0x57, 0x3E, 0xEA, 0x00, 0x59, 0xA2, 0xC5, 0x22, 0xB6, 0x10, +0x3F, 0x19, 0xEB, 0x6E, 0xCD, 0x1C, 0xD6, 0xF9, 0x70, 0x44, 0x34, 0xFB, 0x70, 0xF6, 0x7C, 0x2C, +0xC2, 0x2C, 0x24, 0xF5, 0x40, 0x90, 0x52, 0xC5, 0xEA, 0xFA, 0x43, 0x10, 0xD2, 0x77, 0xFD, 0xCA, +0x7E, 0xB1, 0x48, 0xE6, 0x23, 0x11, 0x52, 0x17, 0x66, 0x89, 0x7C, 0xC8, 0x0E, 0x82, 0xF4, 0xF6, +0x87, 0xDA, 0x46, 0x47, 0x4D, 0xD3, 0xB8, 0x87, 0xC4, 0x78, 0xF0, 0x32, 0xDA, 0x17, 0xFD, 0xF3, +0x31, 0x65, 0x88, 0x7C, 0xA0, 0xA7, 0x82, 0x81, 0x40, 0x8A, 0x01, 0xB4, 0x76, 0x3C, 0x6C, 0x7D, +0x94, 0x3C, 0xE4, 0x19, 0x39, 0x2A, 0x8A, 0x7F, 0x24, 0x02, 0xBB, 0xAD, 0x31, 0x20, 0xD8, 0x07, +0x84, 0x4C, 0xA3, 0x2A, 0x16, 0x7C, 0xF4, 0xEE, 0x21, 0xF0, 0xA1, 0x03, 0x32, 0xC9, 0xFF, 0x56, +0xC8, 0x25, 0x97, 0x32, 0x51, 0xB4, 0x51, 0xF8, 0x90, 0x1D, 0x44, 0x0F, 0xB3, 0x7E, 0xAB, 0xE6, +0xE3, 0x6A, 0x3C, 0x46, 0x73, 0x08, 0x89, 0xF8, 0x40, 0xAB, 0x9E, 0x92, 0x73, 0xCA, 0x57, 0x53, +0xC6, 0xA9, 0x44, 0x64, 0x9A, 0xF1, 0xB1, 0xF5, 0x7E, 0x48, 0xD9, 0x43, 0xEC, 0x76, 0xF9, 0xB4, +0xC3, 0xC3, 0x57, 0x4F, 0x44, 0x44, 0x3E, 0xD0, 0x49, 0x3E, 0x7C, 0x7C, 0xDC, 0xFF, 0x27, 0x4F, +0xB7, 0xC7, 0x2D, 0xC4, 0xC6, 0x32, 0x57, 0x60, 0x21, 0x84, 0x57, 0x8C, 0x9E, 0xF9, 0x38, 0x9B, +0x1C, 0xEA, 0x84, 0x7F, 0x24, 0xFB, 0x80, 0x90, 0xF3, 0xBA, 0xD2, 0x90, 0x84, 0x87, 0xEE, 0x20, +0x48, 0x68, 0x0F, 0x8A, 0xDA, 0xC0, 0x07, 0x26, 0x42, 0x43, 0x44, 0xE0, 0x63, 0x72, 0xB6, 0x1A, +0xC2, 0x3F, 0x40, 0x44, 0xC3, 0x03, 0x39, 0x0F, 0xE5, 0xAE, 0xBA, 0x5D, 0xCA, 0x1A, 0x3E, 0x52, +0x22, 0x72, 0xF7, 0x8D, 0xC8, 0x87, 0x94, 0x88, 0xAC, 0x77, 0x0F, 0xBB, 0xE7, 0xC3, 0x46, 0xE4, +0x21, 0x9E, 0x9F, 0x67, 0x9A, 0x0A, 0xF1, 0x55, 0x7F, 0x1E, 0xB2, 0xCA, 0xFD, 0x43, 0x26, 0x64, +0x52, 0xFA, 0x53, 0xE9, 0xB5, 0x0D, 0x11, 0x89, 0x0F, 0xDD, 0x41, 0x50, 0xDB, 0x1B, 0x1F, 0xF3, +0xC2, 0x1F, 0xCD, 0xA1, 0xA7, 0x1E, 0xF0, 0x31, 0x0C, 0x21, 0xF8, 0x87, 0xE4, 0x21, 0xCB, 0x82, +0x16, 0x8B, 0xC3, 0x49, 0xC8, 0x6C, 0xEC, 0xDA, 0x83, 0xEB, 0x9C, 0x90, 0x75, 0x58, 0xDE, 0x25, +0xFF, 0x40, 0xA1, 0x7F, 0x40, 0x5E, 0x72, 0xA8, 0x75, 0x39, 0x0B, 0x21, 0xBE, 0xCA, 0x14, 0x7C, +0xE4, 0xD6, 0xFD, 0x23, 0x1F, 0xD7, 0x43, 0xF8, 0x07, 0x0A, 0xF8, 0x48, 0xFE, 0x91, 0x11, 0xD2, +0x83, 0x87, 0xC0, 0x87, 0xEA, 0x20, 0x3A, 0x21, 0xF5, 0x7C, 0xCC, 0x64, 0x42, 0xE0, 0x23, 0xD7, +0xAA, 0xBF, 0xF6, 0x60, 0x61, 0x88, 0x7C, 0xA0, 0x83, 0x53, 0xA0, 0xB8, 0x62, 0x82, 0x9D, 0x81, +0x45, 0x76, 0xDE, 0xAD, 0x69, 0x12, 0x07, 0xED, 0x73, 0xA8, 0x50, 0x3C, 0x64, 0x9D, 0xF2, 0x73, +0x5C, 0x24, 0x35, 0x44, 0x00, 0x95, 0x41, 0x7E, 0x9E, 0x4B, 0x8A, 0xAF, 0x78, 0x71, 0xFA, 0x6B, +0x0F, 0x16, 0x15, 0xB5, 0x3F, 0x10, 0x84, 0xF4, 0xD0, 0x10, 0x81, 0x8F, 0x7A, 0x07, 0x41, 0xFD, +0xB4, 0x07, 0xAF, 0xC6, 0x05, 0xD1, 0x32, 0x2C, 0x94, 0xAF, 0xCA, 0xFA, 0x30, 0x04, 0x1F, 0x0C, +0x9D, 0x0F, 0xAE, 0xEA, 0x9E, 0xD7, 0xB3, 0xAC, 0xBC, 0x9B, 0xE6, 0x6C, 0xB6, 0x3E, 0x8A, 0xF1, +0x15, 0x84, 0x44, 0xF1, 0x15, 0x2B, 0x0C, 0xEE, 0xE8, 0x38, 0xF4, 0x10, 0xF8, 0x50, 0x09, 0x99, +0x16, 0x06, 0x2D, 0xC3, 0x9E, 0xF9, 0x40, 0x55, 0x7C, 0x5C, 0x8D, 0xE7, 0x3D, 0x14, 0xB3, 0xE0, +0xA3, 0xDE, 0x41, 0x50, 0xD0, 0xFE, 0x50, 0xFD, 0x83, 0xE7, 0x98, 0xC9, 0x7E, 0x30, 0x99, 0x08, +0x7C, 0xE0, 0x21, 0x3D, 0x85, 0x57, 0x01, 0x20, 0x3A, 0x1F, 0x94, 0x7B, 0x49, 0x45, 0x96, 0x8B, +0x5D, 0xFA, 0x71, 0x60, 0x20, 0x69, 0xAC, 0x3F, 0x1E, 0x6F, 0x9F, 0x97, 0x15, 0xF3, 0xC1, 0xFF, +0x63, 0x1B, 0x0F, 0xEA, 0x76, 0x36, 0x66, 0x0B, 0xD4, 0xC2, 0xC7, 0x4B, 0x15, 0x02, 0xAC, 0xE0, +0xB5, 0x91, 0x09, 0xF9, 0x22, 0xF8, 0xD9, 0xE4, 0xB8, 0x24, 0x3E, 0x10, 0x4D, 0x75, 0x4D, 0x1A, +0x1F, 0xBA, 0x83, 0xA0, 0xA0, 0xBC, 0xAB, 0xE8, 0x9C, 0xF6, 0x47, 0x89, 0x90, 0x42, 0xCB, 0x70, +0x82, 0x2A, 0x3C, 0xE4, 0x8B, 0x0A, 0x3E, 0x82, 0xA1, 0xF3, 0x01, 0x21, 0x36, 0x25, 0xFF, 0x6E, +0x57, 0xAF, 0x69, 0x0F, 0x1E, 0x86, 0x58, 0xFE, 0xCD, 0xA8, 0xFD, 0x81, 0xA2, 0x86, 0xC8, 0x63, +0xC1, 0x3E, 0x08, 0xBA, 0x76, 0x67, 0xBE, 0xA7, 0x56, 0x8C, 0x5F, 0x14, 0x2B, 0xD4, 0xA9, 0xF4, +0xBC, 0xAF, 0x54, 0x9D, 0xF4, 0x3C, 0x54, 0xD4, 0xFE, 0xC8, 0x55, 0xDF, 0x10, 0xD9, 0xC8, 0x7C, +0x20, 0x09, 0x90, 0xF6, 0x75, 0xFE, 0x91, 0xF1, 0x31, 0xFB, 0x7B, 0x0B, 0x21, 0x01, 0x1E, 0xBD, +0x9B, 0xC8, 0x75, 0x1F, 0x7C, 0x20, 0xD0, 0x70, 0x3C, 0xAC, 0xBC, 0x9B, 0x68, 0x28, 0xC4, 0x58, +0x36, 0x5E, 0x78, 0x48, 0x01, 0x8F, 0xB0, 0x21, 0xB2, 0x3E, 0xB4, 0xA6, 0x7D, 0x33, 0x32, 0x59, +0x49, 0xD7, 0x54, 0x5F, 0x90, 0x87, 0xE0, 0x1F, 0xCB, 0x6D, 0xB6, 0x49, 0xAB, 0x96, 0x7F, 0x40, +0xC8, 0x10, 0x7C, 0xA0, 0x90, 0x8F, 0x19, 0x6B, 0x3F, 0x84, 0xB4, 0xF0, 0x21, 0x38, 0x88, 0x8E, +0x48, 0xE5, 0x41, 0xCD, 0x1B, 0x9E, 0xA1, 0x2B, 0xFF, 0x92, 0xD3, 0x4E, 0x88, 0xAF, 0x86, 0x20, +0x04, 0xFF, 0x88, 0xC6, 0x54, 0xE6, 0x03, 0x0F, 0x79, 0x22, 0x0B, 0x79, 0xFC, 0x48, 0x44, 0x95, +0x39, 0x88, 0xEF, 0xD8, 0xA6, 0x10, 0x5E, 0xE9, 0x84, 0xE4, 0x8F, 0x8A, 0x39, 0x51, 0xEE, 0x25, +0x3F, 0x0F, 0xFC, 0x83, 0x96, 0xA1, 0x82, 0x07, 0x63, 0x10, 0x3E, 0x50, 0xC6, 0x07, 0x53, 0xA5, +0x4F, 0x0F, 0x81, 0x0F, 0xD9, 0x41, 0x74, 0x42, 0x5E, 0x53, 0xDE, 0x2D, 0x92, 0x02, 0x21, 0x94, +0xAF, 0x62, 0x9D, 0xAD, 0x06, 0x48, 0xCF, 0x19, 0x32, 0x1E, 0x14, 0xB3, 0xE0, 0x63, 0x1F, 0x01, +0x7D, 0xCC, 0x11, 0x29, 0x9E, 0x76, 0xF2, 0x2C, 0x29, 0xAF, 0x5F, 0xDD, 0x85, 0xEB, 0x3A, 0xC5, +0x7C, 0xF8, 0x47, 0xD1, 0x43, 0x90, 0x14, 0x5F, 0xE1, 0x21, 0x43, 0xF0, 0x81, 0x98, 0x07, 0x59, +0x7B, 0xB0, 0x3C, 0x87, 0x9A, 0xAE, 0xDC, 0x7B, 0x5E, 0x49, 0x08, 0xE1, 0x95, 0xEA, 0x20, 0x3A, +0x21, 0xF5, 0x9F, 0x8E, 0xE2, 0xF9, 0x1C, 0x33, 0x91, 0xCE, 0x47, 0x53, 0xB9, 0x17, 0x3E, 0x62, +0xAD, 0x86, 0xC8, 0x3F, 0x68, 0x88, 0xD4, 0xF1, 0xB1, 0x5D, 0xFC, 0xDD, 0x32, 0xB4, 0x77, 0xF3, +0x83, 0xC4, 0xA0, 0x98, 0x86, 0xAC, 0x73, 0xFF, 0xD0, 0x09, 0x89, 0xF1, 0xA0, 0xA9, 0x9E, 0xAE, +0xA7, 0x0D, 0x19, 0xB6, 0x64, 0xDA, 0x02, 0x8A, 0xE4, 0x1F, 0x8C, 0xFA, 0x44, 0x9D, 0xF6, 0x87, +0x4E, 0x08, 0xED, 0xC1, 0x02, 0x1C, 0x3D, 0x34, 0x44, 0xE0, 0x43, 0x70, 0x10, 0x45, 0x6D, 0x4F, +0xED, 0x41, 0x94, 0x37, 0xD5, 0x05, 0x3E, 0xF0, 0x90, 0x21, 0xFC, 0x03, 0x44, 0x2A, 0xF8, 0x20, +0x11, 0xF1, 0xF6, 0x47, 0x4A, 0x10, 0xA2, 0xB7, 0x7A, 0xCB, 0x14, 0x1E, 0x32, 0xFF, 0x10, 0xA3, +0xAC, 0xB5, 0xC4, 0x87, 0x6D, 0x77, 0x55, 0x83, 0xA5, 0x2A, 0xFC, 0x43, 0xF2, 0xD7, 0x41, 0xFC, +0x03, 0xD1, 0x3E, 0x87, 0x87, 0x2C, 0x03, 0xE1, 0xFB, 0xF5, 0x84, 0xC0, 0x87, 0xEA, 0x20, 0xAA, +0x2C, 0x68, 0x6B, 0xEB, 0x8E, 0xE5, 0x72, 0x1E, 0xBF, 0x07, 0xA0, 0xD4, 0x32, 0x9C, 0xA8, 0xF2, +0x3F, 0x90, 0x50, 0x4D, 0x89, 0xDB, 0x83, 0xA4, 0xBF, 0xF9, 0xD8, 0xC6, 0x6B, 0x9A, 0x60, 0x7E, +0x21, 0x07, 0xAB, 0xE2, 0xAE, 0x45, 0xDD, 0x19, 0x22, 0x9A, 0x7F, 0xD0, 0x10, 0x79, 0xB8, 0xEB, +0xBA, 0xF1, 0x27, 0x87, 0xFB, 0xD4, 0x53, 0xA9, 0x3D, 0xB8, 0xCD, 0x8F, 0x3C, 0xED, 0xD8, 0x1D, +0x23, 0xFF, 0xE8, 0xA1, 0xA9, 0xBE, 0xF2, 0xF6, 0x87, 0xA8, 0xD5, 0x04, 0x3E, 0x24, 0x35, 0x95, +0x27, 0x66, 0xC1, 0x87, 0xE8, 0x20, 0xB2, 0x7E, 0xFB, 0xED, 0xDC, 0xA2, 0xA6, 0x3A, 0xFF, 0x68, +0xC4, 0x31, 0x9F, 0x77, 0xC5, 0xAC, 0x55, 0x05, 0x21, 0x1F, 0xEA, 0xFD, 0x43, 0x9F, 0x03, 0xD7, +0xA2, 0x7F, 0x30, 0xD1, 0xBA, 0x4B, 0xFC, 0xF8, 0xA2, 0x0D, 0xFC, 0x43, 0x93, 0x87, 0x57, 0xEA, +0x30, 0x44, 0xC0, 0x63, 0x7B, 0xFC, 0x98, 0x91, 0xE3, 0xF1, 0x8B, 0xB8, 0xFC, 0x45, 0xDB, 0xD9, +0xEB, 0xA8, 0x0D, 0x44, 0x51, 0x98, 0x48, 0x28, 0x29, 0x52, 0xA5, 0x08, 0x05, 0x52, 0x16, 0x51, +0x51, 0xF1, 0x04, 0x79, 0x09, 0xB6, 0xA0, 0x22, 0xA6, 0x8F, 0x84, 0x94, 0x62, 0x1B, 0x7A, 0x2B, +0x48, 0xA9, 0xD2, 0x47, 0xDA, 0x3C, 0x6B, 0xAE, 0x2F, 0x63, 0xBE, 0xCC, 0x30, 0x1E, 0xCE, 0xC4, +0xCE, 0x99, 0xC1, 0x18, 0xF2, 0x67, 0x0F, 0xF3, 0xF9, 0xCC, 0xBD, 0xD7, 0x4B, 0x6A, 0x08, 0xE1, +0xDB, 0x19, 0x16, 0xB2, 0x8C, 0x10, 0x0B, 0x2E, 0xC2, 0xBC, 0x78, 0xD8, 0xEC, 0xF7, 0x18, 0x21, +0xF9, 0x9E, 0x6D, 0xDF, 0xE1, 0x43, 0x71, 0x90, 0xAF, 0xEF, 0x44, 0xBD, 0x79, 0xF3, 0xEE, 0xFD, +0x76, 0xFB, 0xAE, 0x42, 0x6F, 0x75, 0x3E, 0x6C, 0x40, 0x3E, 0xAC, 0x8E, 0xF3, 0x63, 0x8D, 0x36, +0xEB, 0xF5, 0xE5, 0x82, 0x78, 0x91, 0xD7, 0xBA, 0x52, 0xFB, 0x3A, 0x9D, 0x5F, 0x6A, 0x74, 0x7E, +0xE9, 0xFE, 0x7B, 0xB5, 0x1F, 0x9A, 0xFC, 0x37, 0xDA, 0x1F, 0xA9, 0x51, 0x1B, 0x1D, 0xDC, 0x61, +0xFF, 0x48, 0xEB, 0xE7, 0x75, 0x95, 0x8A, 0x23, 0x7D, 0xF7, 0xC6, 0xE6, 0x58, 0xA3, 0xF9, 0x71, +0xD5, 0xE1, 0xA1, 0x76, 0x9B, 0x3C, 0xEF, 0x2A, 0xB4, 0x7D, 0x6F, 0x73, 0x59, 0xD6, 0x17, 0x00, +0x11, 0xF4, 0xFE, 0xFD, 0xFB, 0xAD, 0xDE, 0x48, 0x42, 0x68, 0x5A, 0xCD, 0xEA, 0x5C, 0x7B, 0x53, +0x37, 0xE7, 0x9F, 0xAD, 0x2D, 0xE5, 0xBE, 0x5E, 0xDA, 0xAC, 0x69, 0x55, 0x3A, 0xBE, 0xED, 0x4F, +0xCC, 0x5F, 0x49, 0xBB, 0xDD, 0x8F, 0x2A, 0xED, 0x76, 0xBB, 0x97, 0x1A, 0x9D, 0x5A, 0x9D, 0xED, +0xF6, 0xDB, 0xFE, 0xB0, 0x5C, 0x56, 0x0D, 0x4F, 0x25, 0x4D, 0x1B, 0xF3, 0x90, 0x0A, 0xBB, 0x99, +0xB1, 0x02, 0x17, 0x43, 0xD8, 0x8A, 0x79, 0x69, 0x80, 0xE8, 0x7A, 0xF3, 0x15, 0x40, 0x34, 0xE9, +0x87, 0xF1, 0xB6, 0x93, 0x7E, 0x8E, 0xAB, 0xD5, 0xEC, 0xA3, 0x7F, 0xD3, 0xA8, 0xA2, 0xA3, 0xFD, +0xC6, 0x4B, 0x87, 0x88, 0x2C, 0x30, 0x51, 0xFA, 0xF3, 0xB2, 0x93, 0x03, 0xD2, 0x3E, 0xEE, 0xA6, +0xD3, 0x4B, 0xDB, 0x56, 0xE1, 0xB1, 0x6B, 0x76, 0x55, 0x7C, 0x34, 0x75, 0x84, 0xB4, 0x67, 0x23, +0x84, 0xA3, 0x2F, 0x1E, 0xBF, 0xB5, 0xE5, 0xD2, 0x08, 0xD1, 0x87, 0xC7, 0x75, 0x51, 0xD5, 0xF1, +0x61, 0x84, 0x1C, 0x3F, 0x49, 0xEA, 0xB2, 0x5D, 0x36, 0x17, 0xAA, 0xF0, 0x30, 0x4D, 0x8B, 0x07, +0xFA, 0x0C, 0x20, 0xA2, 0x74, 0xFF, 0x70, 0xC9, 0x7C, 0xCC, 0xAC, 0xAD, 0x54, 0x42, 0x8E, 0xF3, +0x4D, 0xA7, 0x39, 0x6E, 0xAE, 0xF1, 0xF1, 0x6C, 0xB3, 0x40, 0xEA, 0x57, 0xE9, 0xD7, 0xE0, 0x97, +0xF6, 0x74, 0x6E, 0x4F, 0x35, 0x7C, 0x54, 0x11, 0xD2, 0xE1, 0x51, 0x41, 0xC8, 0xD9, 0x8E, 0xC6, +0x10, 0xD9, 0xAB, 0xF2, 0x93, 0x3D, 0xC8, 0x06, 0x12, 0x06, 0x53, 0x1D, 0xF9, 0x4D, 0xF8, 0xB0, +0x8E, 0x22, 0x1F, 0xAB, 0x55, 0x37, 0x19, 0xEA, 0xF8, 0xD0, 0x3D, 0xA4, 0xD2, 0x0F, 0x70, 0x90, +0x49, 0x3D, 0xC4, 0xF8, 0xE8, 0x25, 0xF3, 0xE1, 0x84, 0xAC, 0x8C, 0x10, 0x8D, 0x0F, 0x57, 0xB7, +0xCC, 0x92, 0xF9, 0x08, 0x88, 0x98, 0x3F, 0x94, 0xB7, 0x76, 0x85, 0x3C, 0xDC, 0x08, 0x69, 0x05, +0xFF, 0xB0, 0xE9, 0x78, 0x6A, 0xCF, 0xDD, 0x9C, 0x94, 0xF9, 0x70, 0x44, 0x64, 0x42, 0x76, 0x2E, +0x99, 0x90, 0xEE, 0x60, 0xBC, 0x49, 0x16, 0x12, 0xF8, 0x70, 0x0F, 0x11, 0x44, 0xB0, 0x22, 0x8E, +0xFC, 0xE5, 0xF6, 0x61, 0x1D, 0x65, 0x3E, 0xBC, 0xE9, 0x80, 0xB8, 0xA6, 0xF6, 0x0F, 0x1C, 0xA4, +0x56, 0xBA, 0x7F, 0x40, 0xC8, 0xAA, 0xF0, 0xB0, 0x18, 0xBD, 0xE7, 0x63, 0x06, 0x21, 0x02, 0x1F, +0x2A, 0x21, 0xEB, 0x44, 0xCB, 0xD2, 0xD6, 0x36, 0x3E, 0x59, 0x22, 0x0F, 0x69, 0x33, 0x5B, 0xEC, +0xC3, 0x00, 0x71, 0x3E, 0x4E, 0x9A, 0x87, 0x74, 0x6C, 0x04, 0xBD, 0xCA, 0xFE, 0x11, 0x24, 0xF3, +0xE1, 0x8C, 0xB4, 0x1C, 0x65, 0xE1, 0x2C, 0x96, 0xBD, 0x0E, 0x52, 0x1C, 0xF2, 0xB7, 0x74, 0xFF, +0x80, 0x90, 0x32, 0x1F, 0x0B, 0xC7, 0xC3, 0x1B, 0x37, 0xED, 0x0D, 0x3E, 0x1C, 0x0F, 0x08, 0x99, +0xD2, 0x3F, 0x70, 0x10, 0xA0, 0x52, 0x25, 0xF8, 0x07, 0xDA, 0x0A, 0x1E, 0x62, 0x83, 0xC2, 0xB0, +0x2C, 0x1E, 0x10, 0x72, 0x0C, 0x7C, 0x40, 0x88, 0x9E, 0xBF, 0x22, 0x58, 0x77, 0xBB, 0xC8, 0xEF, +0x83, 0x87, 0xE9, 0xE0, 0xB3, 0x28, 0x3B, 0xB9, 0x42, 0xF7, 0xA9, 0xD8, 0x33, 0x72, 0x56, 0xF8, +0x40, 0x8D, 0x80, 0x07, 0x3C, 0x69, 0x84, 0x9C, 0x03, 0x1F, 0xD7, 0xE3, 0xDA, 0x63, 0x1F, 0xF9, +0xB3, 0x80, 0x0F, 0x29, 0x0E, 0x49, 0xA4, 0x84, 0x1F, 0x08, 0x42, 0x0A, 0x7C, 0x30, 0x17, 0x04, +0x0F, 0xB1, 0x99, 0x86, 0x26, 0xF7, 0x8F, 0x37, 0xEF, 0xDF, 0x75, 0x4B, 0xAC, 0xF7, 0x6F, 0xDE, +0x55, 0x4A, 0xF3, 0x0F, 0x79, 0x95, 0x05, 0x1C, 0xF6, 0x80, 0x10, 0x81, 0x0F, 0xC9, 0x43, 0xEE, +0xFC, 0xA3, 0x83, 0xC1, 0x36, 0xE9, 0xBE, 0xE3, 0x71, 0xF3, 0x0F, 0x08, 0x69, 0x7B, 0x44, 0xDA, +0x64, 0xEB, 0x32, 0x34, 0x02, 0x1C, 0xEE, 0x21, 0x67, 0x91, 0x0F, 0x10, 0xF9, 0xFD, 0x20, 0xC5, +0x0B, 0x1E, 0x12, 0x21, 0x9D, 0x9F, 0x59, 0x0F, 0xC4, 0x9E, 0xF1, 0x10, 0x3B, 0xE6, 0xCC, 0x96, +0x73, 0x95, 0x3C, 0x64, 0x9D, 0x4A, 0xE1, 0x03, 0x59, 0xBD, 0xB0, 0xC8, 0xC7, 0xEC, 0xC6, 0x87, +0xEF, 0x3C, 0x24, 0xC4, 0x2E, 0xBF, 0x31, 0x21, 0xD3, 0xFA, 0x87, 0xA1, 0x61, 0x80, 0x74, 0x9C, +0xD4, 0x4A, 0xE2, 0x03, 0x15, 0xCF, 0xF1, 0xE6, 0x1F, 0x50, 0x52, 0x20, 0xE4, 0xF8, 0x89, 0x21, +0xD7, 0x3C, 0xE4, 0xEE, 0x23, 0xBD, 0x39, 0x85, 0xD1, 0xC0, 0xFE, 0x8D, 0x9E, 0x3B, 0x71, 0x01, +0xF6, 0xA7, 0xF8, 0x45, 0xB8, 0x5C, 0xD3, 0xCB, 0xC9, 0xAC, 0x26, 0xE5, 0x63, 0xD7, 0x68, 0xFE, +0x81, 0x1E, 0xAD, 0xAF, 0xC0, 0xC3, 0x7A, 0x94, 0xCC, 0x2A, 0x2C, 0xAF, 0x10, 0x46, 0xBB, 0x4C, +0xB6, 0xF9, 0xFC, 0xAE, 0xC8, 0x07, 0x84, 0x14, 0xF9, 0xC0, 0x3E, 0x14, 0x0F, 0x79, 0x9B, 0xAA, +0xCE, 0x3F, 0x74, 0x07, 0xA9, 0x37, 0x11, 0x89, 0x0F, 0x00, 0xD9, 0x66, 0xD7, 0x8F, 0x51, 0xFC, +0x01, 0x24, 0x4E, 0xC8, 0x7C, 0x28, 0xFC, 0x60, 0xC8, 0x15, 0x42, 0xC0, 0x03, 0x05, 0xD7, 0xF0, +0x47, 0xBC, 0x6F, 0xA8, 0xF8, 0x65, 0xD4, 0x37, 0xA1, 0x41, 0x08, 0xF3, 0xAA, 0xF5, 0x8E, 0x7F, +0xFC, 0xDD, 0xDB, 0x93, 0xE8, 0x1F, 0x84, 0xEA, 0xBF, 0x15, 0x3E, 0x50, 0x53, 0xF2, 0x0F, 0x48, +0xED, 0x8F, 0x08, 0x32, 0xEE, 0x19, 0xE9, 0x7D, 0x83, 0xB6, 0x74, 0x23, 0x0D, 0x03, 0x93, 0x6E, +0xB3, 0x12, 0xF8, 0x10, 0x08, 0x81, 0x0F, 0x2C, 0x84, 0x64, 0xD6, 0xA3, 0xF0, 0x03, 0x4D, 0xC8, +0x87, 0x83, 0x61, 0x80, 0x18, 0x26, 0xD6, 0x6B, 0xB5, 0x2D, 0x94, 0x3F, 0x32, 0x1A, 0xF6, 0x8F, +0xBF, 0x07, 0x04, 0x0F, 0xB1, 0xE1, 0x92, 0xF8, 0x70, 0xCD, 0xE7, 0x83, 0x84, 0xE4, 0x3F, 0xD2, +0x2B, 0x12, 0xD6, 0x43, 0xF4, 0xD1, 0xEF, 0x87, 0xF0, 0x23, 0x6C, 0x11, 0x9E, 0xE1, 0x7B, 0x28, +0xB1, 0x0F, 0x7F, 0xD1, 0xB6, 0x9A, 0x7F, 0xE0, 0x21, 0x1A, 0x1F, 0x10, 0x55, 0xE0, 0x23, 0x3E, +0x96, 0xF3, 0xCD, 0x43, 0x20, 0x3B, 0x4E, 0x5F, 0x39, 0x13, 0xE9, 0x2A, 0xAB, 0xAF, 0x05, 0x19, +0x12, 0xD1, 0x76, 0x40, 0x02, 0x1F, 0x88, 0x82, 0x48, 0xB6, 0xFC, 0x61, 0x4D, 0xF5, 0x90, 0x6D, +0x96, 0x90, 0xE9, 0xF8, 0x70, 0x2E, 0xEA, 0x1D, 0x04, 0x29, 0xF6, 0x81, 0xB6, 0xA5, 0xF0, 0x83, +0x01, 0x31, 0x15, 0x0A, 0x22, 0x84, 0x1F, 0xF7, 0x84, 0x48, 0x7C, 0x20, 0x5F, 0x30, 0x2C, 0x7B, +0x37, 0x09, 0x06, 0xD2, 0x4D, 0x0F, 0x18, 0xC1, 0x4C, 0x58, 0x65, 0xC1, 0x09, 0xE5, 0x0F, 0x62, +0x90, 0x36, 0x20, 0x72, 0x6A, 0x14, 0xFB, 0x40, 0x83, 0x7C, 0xE4, 0xF5, 0x5A, 0xF0, 0x0F, 0x8E, +0x85, 0x38, 0xE4, 0x04, 0x1E, 0x51, 0xF6, 0x0D, 0x26, 0x38, 0xE1, 0x5B, 0x41, 0x24, 0xE4, 0x33, +0xC2, 0xD6, 0x9F, 0xAA, 0x08, 0x21, 0xBD, 0x2B, 0x10, 0x02, 0x1F, 0x19, 0x0F, 0x91, 0xD6, 0x57, +0x68, 0xB2, 0xF0, 0x23, 0x76, 0x10, 0xEB, 0xB5, 0x52, 0xFC, 0x03, 0x65, 0xCF, 0x91, 0x31, 0x61, +0x60, 0x28, 0x88, 0xA8, 0x7C, 0xE0, 0x21, 0x3A, 0x1F, 0x61, 0x06, 0xF4, 0x6B, 0x09, 0x7B, 0x36, +0x1D, 0x98, 0x32, 0x31, 0x28, 0x4E, 0x08, 0x15, 0x85, 0x20, 0x2F, 0x36, 0xA4, 0x0E, 0xE2, 0x84, +0x9C, 0x15, 0x3E, 0x50, 0xA3, 0xF3, 0x11, 0x3C, 0x25, 0x67, 0x4F, 0x27, 0xD6, 0x57, 0xE9, 0x42, +0x2B, 0xEB, 0x20, 0x9C, 0x26, 0x1B, 0x3C, 0xE4, 0x79, 0xE9, 0xBE, 0x81, 0x85, 0x14, 0x54, 0x28, +0x7F, 0xE4, 0x04, 0x21, 0x51, 0xF9, 0x63, 0x96, 0xB6, 0xF0, 0x54, 0x48, 0x5F, 0x65, 0x35, 0x99, +0x7D, 0xE0, 0x20, 0xA1, 0xD7, 0x4A, 0xF6, 0x8F, 0xD4, 0x43, 0xB2, 0xE1, 0x87, 0x89, 0x17, 0x10, +0x22, 0xF0, 0x01, 0x21, 0x1A, 0x1F, 0x58, 0x08, 0xAC, 0x04, 0xFF, 0x00, 0x0A, 0xE6, 0xCD, 0xB5, +0x7F, 0x03, 0x8C, 0x7E, 0xA2, 0xBD, 0x38, 0x13, 0x71, 0xF7, 0xB7, 0xF0, 0x90, 0x4C, 0xF9, 0x43, +0x26, 0xA4, 0xD9, 0x15, 0x94, 0x4F, 0xEF, 0x62, 0x68, 0x99, 0x50, 0x3D, 0x71, 0x90, 0x65, 0xDE, +0x40, 0x1C, 0x1A, 0x1F, 0x12, 0x7C, 0x03, 0x3C, 0x06, 0x94, 0x2F, 0x7F, 0xC8, 0x84, 0x50, 0x1E, +0x4C, 0xDB, 0x75, 0x23, 0xFA, 0x07, 0x84, 0x4C, 0xE2, 0x1F, 0xDE, 0xBD, 0x0E, 0x32, 0x91, 0x87, +0xC0, 0x47, 0x5E, 0x85, 0xF2, 0x07, 0xD1, 0x07, 0xBB, 0xA4, 0x7B, 0x49, 0xEF, 0x16, 0x34, 0xDF, +0x24, 0x9F, 0x93, 0x52, 0x12, 0xFE, 0xBB, 0xFE, 0xC1, 0x44, 0xC1, 0x42, 0xD0, 0x7A, 0x9F, 0x5A, +0x08, 0xD1, 0x47, 0xD4, 0xFB, 0x55, 0x56, 0xC1, 0x3F, 0x34, 0x42, 0x32, 0x3C, 0x95, 0x02, 0x11, +0xFB, 0x97, 0xDB, 0x5C, 0x48, 0x44, 0x51, 0x3D, 0x76, 0x90, 0x40, 0x03, 0x8A, 0x2F, 0x0C, 0x0E, +0x45, 0x6F, 0x21, 0xC2, 0xAD, 0xBE, 0x1A, 0x1F, 0x10, 0x52, 0xF6, 0x8F, 0xF4, 0x8A, 0x49, 0xA8, +0x8E, 0x7F, 0x14, 0x34, 0xBA, 0xFC, 0x91, 0x3A, 0x08, 0xBD, 0x52, 0x8A, 0x7F, 0xA0, 0xED, 0xB0, +0x7F, 0xE0, 0xAA, 0x34, 0x08, 0x11, 0xF8, 0xA0, 0x20, 0xA2, 0xF2, 0xE1, 0x9F, 0x7D, 0x5F, 0xFF, +0xA0, 0xFC, 0x71, 0x7D, 0x86, 0x14, 0x2E, 0xAB, 0xFB, 0x34, 0x3E, 0xC7, 0x38, 0xE8, 0x81, 0x11, +0x56, 0x59, 0x45, 0xFF, 0x40, 0xCD, 0xCF, 0xD4, 0x3F, 0x9A, 0x5D, 0x59, 0xF9, 0xF0, 0x23, 0x3D, +0x1C, 0x8A, 0xEA, 0x37, 0x3A, 0x5C, 0xB0, 0x70, 0xF0, 0x4D, 0xEA, 0x21, 0xFD, 0xB2, 0x8A, 0xF5, +0xE7, 0x03, 0xD5, 0xF0, 0x01, 0x21, 0x94, 0xCF, 0x07, 0x1A, 0x1E, 0x92, 0x96, 0x3F, 0xCA, 0x84, +0x4C, 0xE2, 0x1F, 0xD4, 0x41, 0x46, 0x78, 0x88, 0xE0, 0x1F, 0xF9, 0xA2, 0x3A, 0x34, 0xF8, 0x28, +0x04, 0xA5, 0x05, 0x11, 0x85, 0x0F, 0x08, 0xA9, 0x02, 0xE4, 0x42, 0x01, 0xE4, 0x39, 0x5A, 0x4E, +0x01, 0x47, 0x52, 0x32, 0x64, 0x7E, 0xB5, 0x44, 0x1F, 0x49, 0x27, 0x10, 0x91, 0xFC, 0x03, 0x4F, +0x78, 0xCD, 0xA4, 0xAF, 0x64, 0x42, 0xCE, 0x2D, 0xFF, 0x38, 0x0E, 0x12, 0xEF, 0xED, 0x71, 0x90, +0x03, 0xE7, 0x8A, 0xC2, 0x6B, 0x8A, 0xEA, 0x21, 0x0E, 0x11, 0x55, 0x4C, 0x5F, 0x15, 0xD2, 0xBD, +0x94, 0xCF, 0x4B, 0x4D, 0x5A, 0x5E, 0x21, 0xC1, 0x3F, 0xEA, 0x1D, 0x64, 0x54, 0x41, 0x04, 0x3C, +0x8A, 0xCA, 0xFB, 0x47, 0xBF, 0x71, 0x2C, 0x58, 0x71, 0x41, 0x08, 0x7C, 0xA8, 0x1E, 0xB2, 0x56, +0xE4, 0x78, 0xF8, 0x66, 0x89, 0x00, 0x25, 0xEC, 0xF3, 0x72, 0x1F, 0x97, 0xCF, 0x0B, 0x0E, 0x42, +0x41, 0x44, 0xE2, 0x23, 0xBD, 0x77, 0xF1, 0x67, 0xA3, 0xFC, 0x89, 0xA4, 0x7C, 0x9E, 0x77, 0x10, +0xF6, 0x70, 0x90, 0x18, 0x09, 0xAE, 0x0A, 0x9C, 0xAC, 0x8B, 0xF4, 0xB7, 0x24, 0x9D, 0x0F, 0x08, +0xA1, 0x7C, 0x9E, 0xB6, 0xAB, 0xC8, 0x6B, 0x46, 0xF1, 0xB9, 0x42, 0xC8, 0x14, 0xFE, 0x41, 0x16, +0x8B, 0x5E, 0x2B, 0xD2, 0x57, 0x9A, 0x28, 0x7F, 0x84, 0xD6, 0x0B, 0xEB, 0xA0, 0x75, 0x05, 0x11, +0xCA, 0xE7, 0x12, 0x21, 0x6B, 0xF0, 0x10, 0x14, 0x56, 0x59, 0xAC, 0x33, 0xBC, 0x27, 0x9C, 0xF0, +0x12, 0x3E, 0xDA, 0x92, 0x83, 0x84, 0x47, 0x1B, 0x95, 0x3F, 0x04, 0x44, 0x34, 0xFF, 0x40, 0xC4, +0x1F, 0xB1, 0x7D, 0x51, 0x07, 0x61, 0xD7, 0x1A, 0xCB, 0x2B, 0xCE, 0x94, 0x2D, 0xC2, 0x43, 0xBA, +0xAE, 0x7B, 0x88, 0xCE, 0x07, 0x84, 0x50, 0x1E, 0x4C, 0xDB, 0xB5, 0xB3, 0xCE, 0xC0, 0x3F, 0x24, +0x8D, 0xCB, 0x5F, 0x8D, 0x77, 0x10, 0x44, 0xF8, 0x21, 0x29, 0xF0, 0x71, 0x37, 0x12, 0xD1, 0xB2, +0x33, 0x2A, 0x19, 0x76, 0xE5, 0xC1, 0xCB, 0xA6, 0x86, 0x90, 0x75, 0x9D, 0x42, 0x7C, 0x8E, 0x0E, +0x45, 0x0F, 0xF1, 0xF2, 0x47, 0xFB, 0xD0, 0x41, 0x20, 0x64, 0x87, 0x24, 0x42, 0xC0, 0x43, 0x33, +0x91, 0x16, 0x1E, 0x32, 0xC7, 0x05, 0xB5, 0xC1, 0x43, 0xD2, 0x35, 0x15, 0x4F, 0xD6, 0xE8, 0xB6, +0xB9, 0x86, 0x1F, 0xFA, 0x70, 0xC2, 0x87, 0xA2, 0xEB, 0x97, 0x39, 0x0C, 0xF1, 0xC1, 0xB2, 0xBB, +0x37, 0x18, 0xF0, 0xD0, 0xF4, 0x4F, 0x7C, 0xA4, 0x34, 0xE0, 0x20, 0x23, 0x4C, 0x04, 0xFF, 0x10, +0x11, 0x89, 0xFD, 0x83, 0xC1, 0x88, 0x0B, 0x22, 0x94, 0x0C, 0xD5, 0x21, 0x0F, 0x3F, 0x43, 0x55, +0x89, 0xC7, 0xBA, 0x5F, 0x5C, 0x0C, 0x5B, 0x08, 0x0A, 0xEB, 0xAB, 0xB2, 0x83, 0x50, 0x55, 0xC7, +0x3F, 0x24, 0x35, 0x22, 0x1F, 0x54, 0x44, 0xD2, 0xDB, 0x4B, 0xD8, 0xA7, 0xC7, 0xD9, 0xDE, 0x65, +0x0C, 0x41, 0xE6, 0x4C, 0x79, 0x87, 0x05, 0x96, 0x26, 0xF8, 0x50, 0x34, 0x8F, 0xCA, 0x83, 0x65, +0x1F, 0xF1, 0x06, 0x1F, 0x92, 0xC6, 0xDA, 0x07, 0x0E, 0x32, 0xD2, 0x44, 0x34, 0x3E, 0x08, 0xD5, +0xEF, 0x86, 0x80, 0x1D, 0x60, 0x01, 0x91, 0x4F, 0x17, 0xFC, 0x43, 0x22, 0xA4, 0x52, 0x5C, 0x40, +0x53, 0x13, 0xE1, 0x05, 0xDD, 0x6F, 0x2F, 0x61, 0x21, 0x55, 0x72, 0x10, 0xDF, 0x6F, 0x7E, 0xEE, +0x90, 0x10, 0xAA, 0xFF, 0x86, 0x0F, 0x45, 0x0D, 0xE1, 0x47, 0x72, 0x38, 0xF9, 0x74, 0x96, 0xF1, +0x81, 0x30, 0x0E, 0x04, 0x3C, 0xEE, 0x21, 0x95, 0xDA, 0xD4, 0x5C, 0xCC, 0x2E, 0x97, 0x4F, 0xAB, +0x87, 0xF9, 0xAB, 0xBE, 0xFB, 0x0B, 0xD2, 0x57, 0x92, 0xEA, 0x23, 0xEA, 0x14, 0x05, 0x07, 0x64, +0xB4, 0x85, 0x6C, 0xEB, 0xF8, 0xF8, 0x98, 0xF1, 0x51, 0x3C, 0x24, 0x4D, 0xF7, 0xDA, 0x3E, 0x0B, +0x2C, 0x49, 0x95, 0x84, 0xDC, 0x5D, 0x47, 0x99, 0x31, 0xBC, 0x40, 0xDD, 0xFD, 0xBB, 0xA4, 0xB0, +0x86, 0xAE, 0xD7, 0xA4, 0xB2, 0x9A, 0xBA, 0xF9, 0x4E, 0x7D, 0x50, 0x53, 0x83, 0x45, 0x14, 0x8E, +0x08, 0x83, 0xD9, 0x47, 0xB8, 0x83, 0x82, 0xEF, 0xA5, 0xA8, 0x98, 0xD6, 0x55, 0xAA, 0xFC, 0xA0, +0xC8, 0xEF, 0x66, 0x5B, 0x12, 0x98, 0x5A, 0x7F, 0x22, 0x19, 0xA4, 0x48, 0x0A, 0xD0, 0xFF, 0xBF, +0x83, 0x6C, 0x4D, 0x15, 0x7C, 0x3C, 0xAD, 0x4C, 0x85, 0x70, 0x8C, 0x14, 0xD6, 0xB5, 0x2D, 0x66, +0x8B, 0xFF, 0x47, 0x48, 0x7C, 0xFB, 0x2E, 0x82, 0x9A, 0xC4, 0x42, 0xAE, 0x4B, 0xAC, 0xF3, 0xE3, +0xAB, 0x36, 0xE5, 0xC2, 0x66, 0x57, 0x13, 0xA5, 0xBF, 0xFE, 0x78, 0xAD, 0x8C, 0x41, 0x5A, 0x5C, +0xAB, 0xD0, 0x6F, 0xE5, 0xC2, 0xBB, 0x70, 0x7C, 0x30, 0x02, 0xF3, 0xC7, 0xFF, 0xE4, 0x63, 0xB6, +0x58, 0x14, 0xF8, 0x48, 0x13, 0x5A, 0xDD, 0xCE, 0x53, 0x8D, 0x87, 0x6C, 0xB7, 0xD5, 0x84, 0x40, +0x01, 0x75, 0x90, 0xD1, 0xFE, 0xE1, 0xAA, 0xE2, 0xE3, 0x89, 0x33, 0x4F, 0x17, 0x55, 0xFD, 0xFB, +0x84, 0x20, 0xC7, 0x45, 0xE7, 0x21, 0x97, 0x69, 0x09, 0xE1, 0xB6, 0xDE, 0xA4, 0x80, 0x4E, 0x2C, +0x42, 0x60, 0x82, 0x0E, 0x3E, 0xC3, 0x6C, 0xDE, 0x73, 0x59, 0x2E, 0x06, 0x23, 0x2F, 0x8D, 0x9C, +0xC5, 0xE2, 0x27, 0x70, 0x21, 0x44, 0xE1, 0xC3, 0x1E, 0xA7, 0x96, 0x63, 0x29, 0x1C, 0x4E, 0xB8, +0x27, 0x8B, 0x22, 0x48, 0xF4, 0x18, 0x2C, 0x8D, 0xFC, 0x27, 0x3E, 0x2C, 0x58, 0x99, 0xCD, 0x9C, +0x90, 0x41, 0x2C, 0xB8, 0x5E, 0x7A, 0x5F, 0x3D, 0x41, 0x88, 0xC6, 0x47, 0x3D, 0x21, 0x8A, 0x83, +0xD4, 0xF3, 0xE1, 0x52, 0xE3, 0x8F, 0x5E, 0x78, 0x06, 0xBB, 0x38, 0xEA, 0x0D, 0x93, 0xC5, 0xC2, +0x2C, 0xC4, 0x08, 0xB1, 0x01, 0xAD, 0xD1, 0x5A, 0x54, 0xFE, 0x46, 0x0B, 0x17, 0xE4, 0xE0, 0x1F, +0x7C, 0x8B, 0xC9, 0xE3, 0xAB, 0xB6, 0x6D, 0x9C, 0x0F, 0x3D, 0x8D, 0xE5, 0x70, 0x54, 0x10, 0xD2, +0x34, 0xB7, 0x32, 0xA1, 0xE4, 0x20, 0xE9, 0x6D, 0x58, 0xE0, 0x9F, 0xB9, 0x77, 0x00, 0x4F, 0x9D, +0x96, 0x0F, 0xE2, 0x8F, 0x59, 0xB7, 0x38, 0x80, 0x90, 0x6C, 0xE3, 0xE9, 0x26, 0x08, 0x11, 0xF8, +0x18, 0xED, 0x21, 0xA3, 0xEB, 0x20, 0xDB, 0x5E, 0x3A, 0x1F, 0x58, 0x26, 0x7E, 0x11, 0x0D, 0x05, +0x11, 0x9A, 0x0F, 0xA0, 0x23, 0x72, 0x14, 0x3C, 0x64, 0x5E, 0x4B, 0x08, 0x31, 0x2A, 0x20, 0x30, +0x49, 0xEE, 0xB4, 0x47, 0x83, 0x89, 0x2C, 0x96, 0x5D, 0xBD, 0x7F, 0x68, 0x1E, 0xD2, 0x04, 0xFF, +0x08, 0x90, 0x28, 0x84, 0x34, 0xD1, 0x9D, 0x26, 0x8F, 0x1D, 0x84, 0xA3, 0x87, 0x8C, 0xE8, 0x64, +0x79, 0x46, 0xFA, 0x32, 0x6B, 0x83, 0x14, 0xFF, 0x38, 0xCE, 0x1C, 0x90, 0xAB, 0x87, 0xE4, 0xD1, +0x88, 0xD0, 0x79, 0x52, 0x09, 0x81, 0x0F, 0x9D, 0x10, 0xBD, 0x0E, 0x52, 0xAB, 0x2D, 0x12, 0x0E, +0xB9, 0xE3, 0x03, 0x31, 0x10, 0xC9, 0xC0, 0xB0, 0x6B, 0xCB, 0xAB, 0x6B, 0x33, 0x42, 0x36, 0x17, +0x01, 0x0F, 0xF4, 0x30, 0x3D, 0x79, 0x21, 0x3C, 0xCF, 0xCC, 0x16, 0xD8, 0x49, 0xFC, 0x03, 0x0F, +0x29, 0xA6, 0x8D, 0x3C, 0xC3, 0x8B, 0x1A, 0xB5, 0x06, 0x82, 0x87, 0xE8, 0x7C, 0x50, 0x0B, 0x19, +0xEC, 0xE9, 0x37, 0x9C, 0xDC, 0x9D, 0x2C, 0xD7, 0x09, 0x3A, 0x03, 0xF3, 0x1F, 0xF8, 0x70, 0x3C, +0x82, 0x87, 0x64, 0x4D, 0xC4, 0xC4, 0x62, 0x1B, 0x89, 0x84, 0x30, 0x2F, 0x47, 0x94, 0xD2, 0xC7, +0xDF, 0xCD, 0x1B, 0x4B, 0xE7, 0x23, 0x1F, 0x73, 0xC4, 0x6F, 0x3A, 0x1F, 0x3D, 0x20, 0x0B, 0x08, +0x51, 0xA5, 0xF0, 0x01, 0x1E, 0xF9, 0xBC, 0x2E, 0xF2, 0xAF, 0x22, 0x45, 0x07, 0x23, 0xA4, 0x94, +0x36, 0x82, 0x0F, 0x8D, 0x90, 0xA6, 0x71, 0x34, 0x7E, 0xFD, 0xE8, 0xBA, 0x33, 0xB2, 0x6B, 0x14, +0x3E, 0x50, 0x5B, 0x3C, 0x9C, 0x97, 0x76, 0x1F, 0x2B, 0xAD, 0x83, 0x66, 0x45, 0x78, 0xB6, 0xBE, +0x68, 0xCB, 0x2B, 0x9D, 0x0F, 0x3E, 0x59, 0x27, 0x24, 0xD3, 0x6E, 0x9B, 0x9B, 0x7F, 0x40, 0xC8, +0x56, 0xC1, 0x63, 0x94, 0x89, 0xE0, 0x20, 0xE3, 0xED, 0x03, 0x15, 0x8F, 0xF9, 0x63, 0xC2, 0xC7, +0xD3, 0x8A, 0x58, 0x0C, 0x2F, 0xA1, 0x6A, 0xE8, 0xFE, 0x01, 0x20, 0x13, 0x26, 0xB3, 0xBC, 0xDA, +0x5E, 0x48, 0x56, 0xA1, 0xC4, 0x3F, 0x10, 0xF5, 0xC2, 0xBC, 0x8F, 0xBC, 0x20, 0x81, 0x90, 0x86, +0xF8, 0xC3, 0x64, 0x8C, 0x38, 0x21, 0x4A, 0xF8, 0x81, 0xDA, 0x81, 0x63, 0x21, 0x3C, 0x8F, 0x94, +0xA2, 0x91, 0x35, 0x10, 0x7E, 0x69, 0xDA, 0xF4, 0x15, 0xFE, 0x31, 0xE4, 0x21, 0x37, 0x11, 0x9F, +0xAF, 0x90, 0x4D, 0x27, 0x8D, 0x8F, 0xD1, 0x81, 0x48, 0x54, 0x07, 0xA9, 0xD2, 0x1B, 0xF8, 0xD0, +0x00, 0xB9, 0x9D, 0x23, 0x84, 0x30, 0x2A, 0x78, 0x08, 0xE5, 0x0F, 0xBF, 0xCA, 0xD0, 0x26, 0x21, +0x04, 0x45, 0xC9, 0x2A, 0x76, 0xD3, 0x6C, 0x16, 0xE5, 0x8F, 0x7D, 0xAA, 0x42, 0x00, 0x82, 0x7F, +0x68, 0x84, 0x34, 0x3F, 0x60, 0xE3, 0xB5, 0x47, 0xA5, 0x11, 0xEF, 0xE4, 0x4D, 0xEE, 0xC8, 0x2A, +0xFC, 0x58, 0x3A, 0xB2, 0xD3, 0x89, 0x4F, 0x96, 0xD3, 0x45, 0x8C, 0x8B, 0x6D, 0x26, 0x2D, 0x7F, +0xCC, 0x92, 0x76, 0x9C, 0x15, 0x8A, 0xE8, 0xE0, 0x81, 0x28, 0x88, 0x08, 0x7C, 0xD4, 0x13, 0x32, +0x85, 0x83, 0xC0, 0x87, 0x42, 0xC8, 0x16, 0x3E, 0xEE, 0x09, 0xC1, 0x3B, 0x08, 0xD4, 0xBB, 0x41, +0x5B, 0xC8, 0x84, 0xCC, 0x6B, 0x09, 0x79, 0xCE, 0xDE, 0xE3, 0x9D, 0x46, 0xAC, 0xB0, 0xB2, 0x47, +0x11, 0x21, 0x59, 0x13, 0x31, 0x3E, 0x1A, 0x95, 0x10, 0xFC, 0xC3, 0x97, 0x57, 0xD1, 0xA3, 0xD1, +0xFD, 0xC3, 0xF3, 0xBD, 0xC3, 0xB9, 0xAC, 0x7D, 0x4E, 0x9C, 0x6C, 0xDE, 0x32, 0x93, 0x11, 0x9A, +0x8E, 0x0F, 0xEC, 0x23, 0xBF, 0xCA, 0x62, 0xA1, 0xED, 0xCF, 0x00, 0x22, 0x10, 0x02, 0x1F, 0xA3, +0x08, 0xC9, 0xD5, 0x41, 0x46, 0xF1, 0x81, 0x0A, 0xE5, 0x8F, 0x8C, 0xF0, 0x10, 0x76, 0x03, 0x1F, +0x0C, 0x1F, 0x6D, 0xA0, 0xA8, 0x3E, 0xAF, 0xF6, 0x90, 0x68, 0x16, 0xB0, 0x17, 0xB3, 0xC1, 0x2F, +0xEF, 0xF3, 0xCA, 0x57, 0x43, 0xE0, 0x23, 0xD6, 0x50, 0x51, 0xBD, 0x79, 0x0D, 0x4C, 0xE0, 0x22, +0xE5, 0xBB, 0x7A, 0x07, 0xFE, 0xF6, 0x2E, 0xDD, 0x7B, 0x6F, 0x1F, 0xF0, 0x71, 0x27, 0x4E, 0x3E, +0x4A, 0xEC, 0xA2, 0x78, 0x84, 0x26, 0xF3, 0x0F, 0x00, 0x89, 0x10, 0xC9, 0x17, 0xD1, 0xC1, 0x43, +0x20, 0x04, 0x3E, 0xC6, 0x12, 0x72, 0xE7, 0x20, 0x63, 0xF9, 0x40, 0x92, 0x7F, 0xA0, 0xB8, 0x7A, +0xEE, 0x22, 0x7D, 0x95, 0xF1, 0x90, 0xCD, 0xE8, 0x92, 0xA1, 0xBD, 0x97, 0xCE, 0x01, 0x84, 0x73, +0x80, 0x0C, 0x7C, 0xA4, 0x6A, 0xF9, 0xD6, 0x51, 0xE9, 0xCB, 0x15, 0x9B, 0x81, 0x9F, 0x94, 0x7A, +0x65, 0x7D, 0x65, 0x1B, 0x3C, 0x84, 0x64, 0x56, 0x89, 0x0F, 0x74, 0xBA, 0x8B, 0x41, 0x88, 0x3F, +0x32, 0xE2, 0xBA, 0x20, 0x7A, 0xC8, 0xF8, 0xF2, 0x47, 0xD6, 0x3F, 0x72, 0x05, 0x11, 0x48, 0xC9, +0x89, 0x92, 0xA1, 0xC6, 0x47, 0x3D, 0x21, 0x49, 0x16, 0x6B, 0x3C, 0x1F, 0x28, 0x57, 0xFE, 0x28, +0x28, 0x1D, 0x16, 0xCA, 0x1F, 0x59, 0x44, 0x3E, 0x8D, 0x28, 0xAA, 0xC3, 0x47, 0xEE, 0x8E, 0x76, +0x6B, 0x60, 0x81, 0x32, 0x78, 0x94, 0x0A, 0x22, 0xF0, 0xA1, 0x11, 0xD2, 0xF4, 0xB6, 0x81, 0x8F, +0xFC, 0x2A, 0xA5, 0x7B, 0x9B, 0x12, 0x20, 0x4D, 0xA1, 0xFC, 0x51, 0xF0, 0x90, 0xC1, 0x5A, 0x7A, +0x32, 0x24, 0x53, 0x95, 0xCF, 0xB3, 0x8D, 0x82, 0x08, 0x62, 0x3F, 0x27, 0x08, 0x11, 0xF8, 0xA8, +0x25, 0x24, 0x76, 0x90, 0x5A, 0x42, 0xB6, 0x55, 0x80, 0xC0, 0x47, 0xC9, 0x43, 0x18, 0x12, 0x96, +0x57, 0xF7, 0xCD, 0x08, 0x19, 0x9B, 0xEE, 0x5D, 0xA2, 0x34, 0x16, 0x4F, 0x7F, 0x81, 0xF0, 0x63, +0x50, 0xE7, 0xC8, 0x44, 0x08, 0xCF, 0x55, 0x42, 0x5E, 0x93, 0xB5, 0x95, 0xC7, 0xE8, 0x61, 0x1F, +0x42, 0xCA, 0xFE, 0x81, 0x9A, 0x73, 0x5C, 0x10, 0x81, 0x8F, 0xAC, 0xDA, 0x70, 0x96, 0x99, 0x9B, +0x09, 0xF2, 0xCE, 0x3A, 0x8E, 0x0F, 0xCA, 0x1F, 0x65, 0x0F, 0x21, 0x42, 0x47, 0x02, 0x21, 0xF0, +0x31, 0x9D, 0x87, 0x18, 0x20, 0x53, 0xF9, 0x07, 0xD2, 0xFD, 0x03, 0x42, 0x18, 0x92, 0x59, 0xC1, +0x3F, 0x32, 0x05, 0x91, 0x79, 0x2D, 0x21, 0x77, 0xB7, 0x74, 0x83, 0x03, 0x54, 0xC0, 0xCD, 0xFE, +0x81, 0xDA, 0x24, 0x10, 0x79, 0x04, 0x48, 0x13, 0xDB, 0x81, 0xFB, 0x46, 0x08, 0xD0, 0x7D, 0x13, +0x76, 0xC9, 0x66, 0x35, 0x22, 0x1F, 0xF9, 0x82, 0xC8, 0xFE, 0x91, 0x22, 0x36, 0x12, 0x2E, 0x32, +0xAE, 0xB2, 0xBE, 0x8C, 0x2B, 0x0F, 0x2E, 0xF2, 0x8D, 0x64, 0x96, 0x6B, 0x16, 0xFA, 0x93, 0x48, +0x08, 0x78, 0x4C, 0x49, 0x48, 0x70, 0x90, 0xE9, 0xEC, 0x03, 0x25, 0xE5, 0x41, 0x89, 0x90, 0xBE, +0x77, 0x5E, 0x5B, 0x6C, 0x10, 0x02, 0x1F, 0x45, 0xC5, 0xE5, 0x41, 0x14, 0x05, 0xA5, 0xE0, 0x82, +0x02, 0x1F, 0x8A, 0x87, 0x38, 0x25, 0xF8, 0x87, 0xE0, 0x21, 0xDC, 0xBE, 0x9B, 0x46, 0xE7, 0xFE, +0x26, 0xA0, 0x10, 0xAA, 0x2B, 0x7C, 0x50, 0x10, 0x21, 0xFC, 0x28, 0x8A, 0x53, 0xCF, 0x39, 0x08, +0xE4, 0x84, 0x77, 0xC6, 0x97, 0xCF, 0x8B, 0x1E, 0x42, 0x6E, 0xD7, 0x9E, 0xCB, 0xA2, 0x64, 0x08, +0x1F, 0x53, 0x23, 0xE2, 0x75, 0x90, 0x09, 0xF9, 0x40, 0x51, 0x79, 0x50, 0x46, 0x84, 0xF2, 0x47, +0xD9, 0x43, 0xAA, 0x0B, 0x22, 0xF0, 0xC1, 0xA7, 0x9F, 0x52, 0xC2, 0x33, 0x7D, 0xAF, 0xC8, 0x26, +0x23, 0xE9, 0x2B, 0x85, 0x90, 0x26, 0x8D, 0x3F, 0xBC, 0xE3, 0x25, 0x90, 0xE2, 0xF8, 0x68, 0x7C, +0xA0, 0x10, 0x7C, 0x58, 0xDB, 0x2B, 0x2A, 0xDC, 0x85, 0x96, 0x7B, 0xEF, 0x59, 0xE0, 0x43, 0x2C, +0x7F, 0x0C, 0xA7, 0x7B, 0xAF, 0x1B, 0x91, 0x10, 0xF0, 0x98, 0x9E, 0x90, 0x7A, 0x40, 0xB6, 0xA2, +0x48, 0x5F, 0x3D, 0xD6, 0xD3, 0x1F, 0xE6, 0xCE, 0xA7, 0xC5, 0x69, 0x20, 0x8C, 0xC3, 0x2B, 0x56, +0x3D, 0x2B, 0xD2, 0x43, 0xC0, 0x75, 0x97, 0x1C, 0xC4, 0xC3, 0xDE, 0x05, 0xBF, 0x44, 0x2E, 0x3D, +0xA9, 0xB9, 0x0B, 0x0B, 0x05, 0x85, 0xE0, 0x9E, 0x85, 0x42, 0xD1, 0xD0, 0x6F, 0xE0, 0x67, 0xF5, +0xCD, 0xCB, 0x74, 0x1F, 0x33, 0x9D, 0x4C, 0x7F, 0xA3, 0x46, 0xF3, 0x4C, 0x92, 0xFE, 0xD9, 0xAE, +0x76, 0xD3, 0x3C, 0xFD, 0xCD, 0x3B, 0xD3, 0x3F, 0x97, 0x41, 0x8F, 0xC1, 0x8F, 0x5C, 0x80, 0x30, +0x98, 0xF5, 0x9B, 0xA5, 0x7A, 0x05, 0x09, 0x4B, 0xB8, 0x8E, 0xFC, 0x90, 0x0D, 0xD1, 0xBF, 0xA3, +0xF0, 0x03, 0xF9, 0x41, 0x7C, 0x00, 0xCE, 0x78, 0xE5, 0x8E, 0x21, 0x4C, 0x7F, 0x40, 0x7A, 0x42, +0x84, 0xFC, 0x50, 0x88, 0x9E, 0x20, 0xE2, 0x57, 0xF4, 0xC6, 0x9D, 0xAD, 0x3F, 0x9B, 0x1E, 0xCC, +0xB7, 0x76, 0x30, 0x44, 0xD2, 0x23, 0x1E, 0xEE, 0xBD, 0x11, 0x29, 0x3C, 0xDA, 0xDF, 0x96, 0x0A, +0x72, 0xA3, 0xA2, 0xFB, 0x11, 0x66, 0x82, 0x2E, 0xC2, 0xF4, 0x87, 0x10, 0x21, 0x16, 0xD5, 0x83, +0x21, 0xAB, 0x52, 0x43, 0x52, 0xF9, 0xE1, 0x6B, 0x3A, 0x42, 0xEC, 0x05, 0x57, 0x05, 0x86, 0x08, +0xF9, 0x41, 0x21, 0x32, 0xA4, 0x48, 0x18, 0xDB, 0x1D, 0x34, 0x08, 0x2B, 0x0B, 0xA6, 0x1C, 0x0D, +0xB1, 0x45, 0xFD, 0xD7, 0x3D, 0x43, 0xF0, 0x43, 0xCB, 0x90, 0xE9, 0xE2, 0x9C, 0x74, 0x21, 0x43, +0xCA, 0xFD, 0xF0, 0xE1, 0x2B, 0xA5, 0xAD, 0x43, 0x82, 0x94, 0x19, 0x72, 0x23, 0x53, 0x9C, 0x20, +0x0F, 0x4A, 0x78, 0x72, 0xF3, 0xF4, 0x89, 0xC6, 0xD3, 0x9B, 0xC7, 0x4F, 0xDD, 0x8F, 0x4B, 0xA1, +0xD9, 0xAD, 0x7C, 0xAF, 0x14, 0x60, 0x76, 0x94, 0x7D, 0x96, 0x83, 0x51, 0x59, 0x13, 0x97, 0xCA, +0x16, 0x7B, 0x6E, 0xD5, 0xDA, 0xBB, 0x77, 0x5F, 0x8D, 0xCF, 0x32, 0x5F, 0x86, 0x10, 0xF9, 0xE0, +0xEF, 0x1E, 0xB4, 0x45, 0x68, 0xC3, 0x60, 0x16, 0xF9, 0xA1, 0xD5, 0x21, 0x5F, 0xDF, 0x6D, 0x64, +0xDE, 0x5D, 0x0F, 0xF5, 0xB7, 0xD8, 0xAA, 0xAA, 0xD4, 0x8F, 0xD5, 0xC9, 0xF4, 0x79, 0x1A, 0xFF, +0x81, 0x57, 0xEA, 0xCC, 0x0F, 0x42, 0x6E, 0x42, 0xE4, 0xE6, 0xE9, 0xD3, 0x1B, 0xB1, 0x3D, 0x79, +0x50, 0x80, 0xCF, 0xA4, 0x7F, 0x12, 0x9B, 0x7D, 0x14, 0xD7, 0xA7, 0xC7, 0x3A, 0x76, 0xDB, 0xCB, +0x97, 0x75, 0x30, 0x40, 0xB2, 0xC4, 0x77, 0x90, 0x44, 0x3B, 0xAC, 0xAF, 0xAE, 0x77, 0x32, 0x43, +0x86, 0x54, 0x65, 0x6C, 0xCA, 0xA0, 0x7F, 0x25, 0xD1, 0x10, 0x12, 0x87, 0xA8, 0xA5, 0x21, 0x3F, +0x34, 0x36, 0x65, 0x54, 0x65, 0x98, 0x1F, 0x3B, 0x9D, 0xE3, 0xBB, 0x3F, 0x68, 0x6D, 0x12, 0xFC, +0xB1, 0x03, 0x47, 0xE6, 0xD1, 0xE5, 0xE5, 0xE3, 0x22, 0x3E, 0xD9, 0x81, 0xAC, 0xB6, 0x8F, 0x17, +0xCF, 0x3E, 0xD6, 0xF5, 0x47, 0xB1, 0xD5, 0x6F, 0x1E, 0xBD, 0xA9, 0xF5, 0xF6, 0xA8, 0x0C, 0xFF, +0x08, 0xAC, 0x17, 0xED, 0x34, 0x2F, 0xEE, 0x9B, 0x2D, 0xEB, 0x76, 0x57, 0x5D, 0x97, 0x50, 0x75, +0x25, 0x54, 0xDB, 0xDB, 0xFE, 0xF6, 0xF6, 0x9B, 0xD4, 0x86, 0xE5, 0xB6, 0x3F, 0x1C, 0x9A, 0xC3, +0xDD, 0xA1, 0x11, 0xB6, 0x76, 0xCB, 0xBB, 0xC3, 0x8F, 0x42, 0x86, 0xDF, 0x69, 0xF4, 0xFF, 0xA2, +0xBF, 0x95, 0xF1, 0xFB, 0xBF, 0x2D, 0xDC, 0x3D, 0xD7, 0x45, 0xEC, 0x5E, 0xAC, 0xDB, 0x11, 0xAB, +0x36, 0xC9, 0x2A, 0x6C, 0x2F, 0xCA, 0x0E, 0x9C, 0x47, 0x1C, 0x74, 0x52, 0xB3, 0x23, 0x5E, 0x6D, +0xCF, 0x2E, 0x9E, 0xEB, 0x7A, 0x18, 0x25, 0xF7, 0xC3, 0xEF, 0xBB, 0xDA, 0xEC, 0xA6, 0x57, 0x6B, +0xBE, 0x57, 0x0A, 0x32, 0x5F, 0x55, 0x38, 0xCC, 0x89, 0x8B, 0xCD, 0xCB, 0x8F, 0xAE, 0x84, 0xED, +0xF6, 0xD6, 0x14, 0x51, 0xE9, 0x8D, 0xE1, 0xC0, 0xB7, 0xF5, 0xEE, 0xEC, 0xB6, 0x19, 0x1C, 0x29, +0x34, 0xC4, 0xAD, 0xB2, 0xC5, 0x6A, 0xF5, 0xF3, 0x5B, 0xF3, 0xA3, 0xE7, 0xBE, 0x2B, 0x6C, 0xB7, +0x65, 0x7E, 0x54, 0x25, 0x86, 0x54, 0xBB, 0x55, 0xF4, 0x79, 0xEE, 0xED, 0x24, 0xF6, 0x43, 0xF3, +0xE3, 0x02, 0x43, 0x34, 0xEA, 0x42, 0x3E, 0x6A, 0xD4, 0x1F, 0xDF, 0x5F, 0xBC, 0x97, 0x6F, 0x5C, +0x46, 0x71, 0x7E, 0x0C, 0xB4, 0xAA, 0x1F, 0xED, 0x2A, 0x7C, 0x27, 0x88, 0x86, 0xFB, 0xA1, 0x67, +0x48, 0x65, 0x7E, 0x18, 0xB7, 0x3A, 0xFD, 0x80, 0x1D, 0xC0, 0x7E, 0x8C, 0x9E, 0xDF, 0x1E, 0x06, +0xF6, 0xBA, 0x1E, 0xFB, 0x83, 0x33, 0xFC, 0x66, 0xA3, 0x6C, 0xFB, 0x81, 0x22, 0x3F, 0x8C, 0xAE, +0xD2, 0xFD, 0x08, 0x86, 0x54, 0xD2, 0x32, 0x3C, 0x52, 0x66, 0x88, 0xFA, 0xE0, 0x9A, 0x1F, 0x8B, +0x31, 0xC4, 0x04, 0x79, 0x5E, 0x2F, 0xC7, 0x0F, 0x0C, 0x11, 0xFC, 0x18, 0x0C, 0x79, 0x25, 0x15, +0xDE, 0x0C, 0xEF, 0xEA, 0xF1, 0xE1, 0xC8, 0x7A, 0x04, 0x1A, 0x3B, 0x86, 0x0D, 0xDB, 0x4C, 0x6F, +0x0F, 0xB6, 0x04, 0xF6, 0x65, 0x7E, 0xEC, 0x0F, 0x92, 0x7C, 0x83, 0x1F, 0x01, 0x5D, 0x0F, 0xA7, +0x2A, 0xF1, 0x83, 0x0C, 0x11, 0x3F, 0x4C, 0xCE, 0x0C, 0x51, 0xFD, 0x58, 0x8E, 0x21, 0xF5, 0x73, +0x13, 0x64, 0x2E, 0x3F, 0x5E, 0xEA, 0x92, 0x50, 0x7E, 0xAF, 0x55, 0x3F, 0x1C, 0x33, 0x44, 0xA2, +0x3A, 0xA2, 0xE5, 0xC7, 0xF6, 0x9E, 0xDB, 0x5E, 0xF5, 0xC3, 0x09, 0x3D, 0x9C, 0x3B, 0x3F, 0x4D, +0x9E, 0xF7, 0xB5, 0xD0, 0x90, 0x03, 0xF4, 0x41, 0xB2, 0xC3, 0xE4, 0xF6, 0x80, 0x1F, 0xAA, 0x21, +0xDD, 0x36, 0xA0, 0xFA, 0xA1, 0x1B, 0x52, 0xF1, 0x5D, 0x21, 0xA2, 0x21, 0x56, 0xA1, 0x2F, 0xC9, +0x10, 0x13, 0x64, 0x2E, 0x3F, 0xD0, 0x43, 0xF0, 0x03, 0xD6, 0x9A, 0x1F, 0x18, 0x52, 0x59, 0xD3, +0xFC, 0x70, 0xA4, 0xFC, 0x00, 0xC9, 0x0F, 0x18, 0x4C, 0x68, 0x50, 0x22, 0x79, 0xFE, 0x57, 0xC4, +0xFC, 0x80, 0x73, 0xDD, 0xAB, 0x66, 0x28, 0x3F, 0x40, 0xCA, 0x0F, 0x90, 0xF5, 0xC0, 0x90, 0x73, +0xF1, 0xED, 0xF1, 0x81, 0x21, 0xA2, 0x1F, 0x28, 0xF2, 0x3F, 0x0D, 0xD1, 0x05, 0xA9, 0x4B, 0x29, +0xCC, 0x8F, 0xF5, 0xC8, 0x90, 0x55, 0x7B, 0xB6, 0x3E, 0x1F, 0x19, 0x92, 0x7F, 0x90, 0x76, 0xAE, +0x85, 0xAF, 0x8E, 0x94, 0x1F, 0x50, 0xE0, 0x07, 0x19, 0x12, 0x08, 0xF9, 0xD1, 0x70, 0xBE, 0x6F, +0x86, 0xAE, 0x92, 0xAD, 0x7A, 0x86, 0x1C, 0xC6, 0x34, 0x77, 0xD6, 0x26, 0xB7, 0x96, 0x31, 0x63, +0x24, 0x3F, 0x40, 0xF6, 0xA3, 0xB3, 0x45, 0xC8, 0x10, 0xFC, 0xE0, 0x1B, 0x0F, 0x32, 0xB4, 0x1C, +0x08, 0x08, 0x32, 0x9B, 0x22, 0x25, 0x82, 0xD4, 0x7F, 0xD3, 0x8F, 0x47, 0xE5, 0xF9, 0xA1, 0x64, +0x08, 0xF1, 0x01, 0x4A, 0xA9, 0x5E, 0x45, 0x48, 0xF9, 0x01, 0xBA, 0x1F, 0x14, 0x22, 0xA1, 0x4B, +0x45, 0x7E, 0xD0, 0x03, 0x8A, 0x11, 0xF3, 0x03, 0x9A, 0x69, 0xC8, 0x0F, 0x90, 0xFC, 0x00, 0xC5, +0x0F, 0xDF, 0x12, 0x22, 0x52, 0x7E, 0x38, 0x3B, 0x0C, 0x11, 0xFC, 0x98, 0xBF, 0x9B, 0x55, 0x92, +0x20, 0xF5, 0xDF, 0x2D, 0xCF, 0x8B, 0xF2, 0x23, 0xE6, 0xAA, 0x5D, 0x09, 0x7E, 0x88, 0x86, 0x8C, +0xF3, 0xC3, 0xB7, 0x92, 0x1F, 0xA0, 0xF9, 0x01, 0xC7, 0xCC, 0xB8, 0x57, 0x83, 0xF3, 0x77, 0x64, +0xC7, 0xFD, 0x39, 0x31, 0x3F, 0x20, 0x84, 0x51, 0xAA, 0xE1, 0x07, 0x48, 0x7E, 0x80, 0x9A, 0x1F, +0x81, 0x6C, 0xFD, 0xB1, 0xC3, 0x0F, 0xBE, 0x13, 0xA4, 0x55, 0xFC, 0x58, 0x46, 0x21, 0xF2, 0x16, +0x41, 0xD4, 0xF8, 0x98, 0x21, 0x3F, 0xD8, 0x2B, 0x80, 0x21, 0x53, 0x7E, 0xC0, 0xCA, 0x0D, 0xC9, +0x8D, 0x5F, 0x45, 0x0F, 0xEB, 0x75, 0x25, 0xFA, 0x41, 0xA5, 0xAE, 0xFA, 0x41, 0x86, 0x98, 0x0B, +0xAE, 0xC4, 0x38, 0x44, 0x30, 0xC3, 0xD6, 0x23, 0xA2, 0x1F, 0xE0, 0x7A, 0xD8, 0xE6, 0xEE, 0x64, +0xDB, 0x03, 0x48, 0x7E, 0x40, 0xD6, 0x0F, 0xDC, 0xE8, 0x8E, 0x67, 0x27, 0xF7, 0x7D, 0x85, 0x1F, +0x40, 0x21, 0x92, 0x1C, 0xBE, 0x5A, 0x98, 0x21, 0x08, 0xF2, 0xFF, 0xF2, 0x03, 0x41, 0xA2, 0x0C, +0x51, 0xFC, 0x20, 0x43, 0x2A, 0x21, 0x3F, 0x8C, 0xBC, 0x21, 0xD5, 0x76, 0x82, 0x6F, 0x8A, 0x1F, +0x70, 0x18, 0xE4, 0x08, 0x8C, 0x42, 0x24, 0xCD, 0x5E, 0xF3, 0x03, 0x8E, 0xE2, 0x8D, 0xB6, 0x0C, +0xEF, 0x8A, 0x86, 0xF4, 0xF8, 0xA1, 0x19, 0x82, 0x1A, 0x06, 0x67, 0xF5, 0xFC, 0xC0, 0x90, 0xB4, +0x1F, 0x0B, 0x34, 0xC4, 0x04, 0x41, 0x05, 0xC1, 0x8F, 0x19, 0xC7, 0xAF, 0xE2, 0x0C, 0x91, 0xFD, +0x08, 0x13, 0x22, 0x00, 0x71, 0x7C, 0x74, 0xB6, 0x60, 0x08, 0x30, 0x3D, 0x08, 0xB0, 0xE9, 0x14, +0x3D, 0xE0, 0x5B, 0xDF, 0x7C, 0x67, 0x60, 0xE9, 0x7E, 0x5C, 0x36, 0xA4, 0x07, 0x5E, 0xD8, 0x92, +0x35, 0x64, 0xCF, 0x2D, 0x47, 0xAB, 0x41, 0x2E, 0xB1, 0xE2, 0x47, 0x8C, 0x96, 0x1F, 0x50, 0xE5, +0xF2, 0x83, 0x93, 0x7C, 0x37, 0x0B, 0x3F, 0xF2, 0x86, 0xE0, 0xC7, 0x12, 0x0D, 0x31, 0x41, 0xAC, +0xA7, 0xB5, 0xA0, 0xFA, 0x63, 0x64, 0x88, 0xE0, 0x07, 0x86, 0x54, 0xF9, 0xFC, 0xE0, 0xC4, 0x0D, +0xA9, 0xA4, 0xFE, 0x15, 0x7C, 0x53, 0xFC, 0x00, 0x8E, 0x5B, 0xAF, 0x18, 0x28, 0x3F, 0x50, 0x63, +0x84, 0x1A, 0x1F, 0x64, 0x08, 0x85, 0x8D, 0x9F, 0x52, 0x9E, 0xCB, 0x8A, 0x64, 0xFE, 0xDC, 0xAE, +0x4A, 0xFA, 0x01, 0x74, 0xB1, 0xBA, 0x54, 0xA5, 0x6E, 0xCD, 0xA7, 0x07, 0x05, 0x43, 0xF0, 0x63, +0x79, 0x86, 0x9C, 0xD6, 0x20, 0xF5, 0x9F, 0xEA, 0xF1, 0xC7, 0xF9, 0x01, 0x6B, 0xD9, 0x0F, 0x26, +0xD5, 0xC7, 0xE5, 0x07, 0x4E, 0x00, 0x57, 0xE5, 0x87, 0x77, 0x63, 0x64, 0x3F, 0xA8, 0x43, 0xE8, +0x5E, 0xF9, 0x8A, 0x1D, 0x90, 0xCB, 0x90, 0x3D, 0x37, 0xF0, 0x2D, 0xA7, 0xBE, 0x69, 0xEE, 0x09, +0xFF, 0x43, 0x9F, 0x45, 0xEA, 0x5E, 0xC1, 0x44, 0x7E, 0x20, 0x46, 0x60, 0x62, 0x56, 0x9D, 0xE9, +0x41, 0xD1, 0x90, 0x44, 0x3F, 0x7B, 0x19, 0x13, 0x22, 0x91, 0x20, 0x97, 0x38, 0xF2, 0x3B, 0xA3, +0xBB, 0x85, 0xF9, 0x71, 0x66, 0xAF, 0xAC, 0x05, 0x3F, 0xC0, 0x0D, 0x49, 0xF7, 0xAF, 0x78, 0x5C, +0xD9, 0x18, 0x91, 0x1F, 0x9B, 0x2D, 0x08, 0xA5, 0x7A, 0x7F, 0x0E, 0xEF, 0x56, 0x31, 0x7C, 0x15, +0xDB, 0x11, 0x5F, 0x98, 0xC8, 0x8F, 0xD8, 0x0E, 0xE8, 0x0F, 0xC4, 0x94, 0x5D, 0x3A, 0x87, 0xD4, +0xBD, 0x82, 0x6C, 0x7C, 0x10, 0xCB, 0x64, 0x08, 0x4F, 0x4E, 0x79, 0x3F, 0x98, 0x10, 0x89, 0xFD, +0x58, 0x62, 0x86, 0x20, 0x08, 0xFC, 0x81, 0x20, 0xE5, 0xE3, 0x57, 0x79, 0x5E, 0xAC, 0xD0, 0x03, +0x3F, 0x26, 0x43, 0x84, 0x47, 0x69, 0x00, 0x19, 0x02, 0xE1, 0x3C, 0x48, 0xF9, 0x01, 0x9A, 0x1F, +0xE0, 0xB3, 0xDE, 0xA1, 0x13, 0xC4, 0xF1, 0x4D, 0x4D, 0x11, 0x91, 0xF2, 0x63, 0x9F, 0xB3, 0xC4, +0xB4, 0x23, 0x43, 0xFA, 0x32, 0x43, 0xB6, 0x9B, 0x22, 0x43, 0xB0, 0x22, 0xD2, 0x04, 0xC4, 0xFC, +0xC0, 0x90, 0xFC, 0xF0, 0xEE, 0x52, 0x26, 0x44, 0x4E, 0x05, 0xA9, 0xFF, 0xC8, 0x0F, 0x3D, 0x3F, +0x94, 0x77, 0x47, 0x5D, 0x1D, 0x0D, 0xB1, 0x48, 0x5E, 0xED, 0xCE, 0x0A, 0xB2, 0x72, 0x35, 0x02, +0x55, 0x72, 0x4C, 0x72, 0xFC, 0x48, 0x4B, 0x7E, 0x80, 0xE4, 0x07, 0x34, 0xBC, 0xB8, 0x77, 0x22, +0x37, 0x70, 0x25, 0xEE, 0x65, 0x25, 0x6F, 0x1E, 0x5F, 0x19, 0xA6, 0xE7, 0xED, 0x4C, 0xAF, 0x20, +0xE5, 0x07, 0x74, 0x90, 0xA8, 0x3D, 0x3A, 0x2E, 0x05, 0x41, 0x46, 0xD3, 0x83, 0xCA, 0x97, 0xA4, +0xFF, 0xEA, 0xC7, 0x62, 0x0D, 0x41, 0x10, 0xBC, 0x98, 0xA9, 0xFE, 0xD0, 0xFD, 0x80, 0x75, 0x1B, +0xFC, 0x10, 0x76, 0xF9, 0x78, 0xCA, 0x70, 0x24, 0x47, 0xF4, 0xE8, 0x02, 0xE5, 0xB9, 0x84, 0xEA, +0x07, 0x8A, 0x30, 0x7E, 0x15, 0x65, 0x08, 0x17, 0x61, 0xE4, 0x47, 0x5C, 0xD3, 0x73, 0xCA, 0xAF, +0x35, 0x61, 0xC2, 0xB0, 0xD7, 0xC0, 0x0F, 0x89, 0x44, 0xF9, 0x01, 0x09, 0x67, 0x8E, 0x3B, 0x7F, +0x97, 0xCF, 0x0F, 0x26, 0xD5, 0xDB, 0x7B, 0x3F, 0xFE, 0xBF, 0x21, 0xB5, 0x2E, 0x08, 0x7E, 0xC0, +0x0C, 0xF9, 0x21, 0xD2, 0x52, 0x7E, 0x68, 0x86, 0x54, 0x27, 0xE5, 0x07, 0x4F, 0x77, 0x13, 0x19, +0x52, 0x6D, 0x55, 0xF0, 0x43, 0x83, 0xE9, 0x73, 0x5F, 0xD3, 0x25, 0x3A, 0xA7, 0xF8, 0xC1, 0xF5, +0x13, 0xEC, 0x99, 0x54, 0x3F, 0xF4, 0x2A, 0xF8, 0x21, 0x91, 0xCE, 0x8F, 0xB8, 0xAC, 0x03, 0xA6, +0x3F, 0x20, 0x5F, 0xAA, 0x87, 0xE1, 0xAB, 0x05, 0x1B, 0x92, 0x16, 0x64, 0xFE, 0xFC, 0x58, 0xEB, +0x86, 0xE0, 0x87, 0xF4, 0xE9, 0x00, 0xE9, 0xE9, 0x41, 0x7F, 0x30, 0x39, 0x03, 0x4C, 0x7F, 0x48, +0xE0, 0x87, 0x86, 0x1F, 0xC0, 0x11, 0x98, 0x32, 0x51, 0xA9, 0x67, 0x1C, 0x8A, 0xB9, 0x23, 0x3F, +0x14, 0xF0, 0x43, 0xA3, 0x8A, 0xF2, 0x83, 0x1D, 0x98, 0x7C, 0x06, 0x22, 0x3F, 0x44, 0x43, 0xFC, +0xDD, 0x83, 0xCB, 0x31, 0xA4, 0x96, 0x05, 0xA9, 0x4B, 0x29, 0xAF, 0x3F, 0x64, 0xD6, 0xBC, 0x7A, +0x57, 0xEC, 0x65, 0x25, 0xC7, 0x75, 0x27, 0xC7, 0x61, 0xD0, 0x43, 0x02, 0x3D, 0x44, 0x43, 0xB2, +0xA3, 0xB5, 0xF1, 0xA5, 0x3D, 0xC3, 0xBB, 0xC9, 0x1E, 0x99, 0x5F, 0xCB, 0x45, 0xA3, 0x2F, 0x03, +0x3F, 0x24, 0xD8, 0x77, 0x99, 0xDE, 0x2A, 0x92, 0x30, 0x3D, 0x28, 0xB1, 0x1A, 0xF2, 0x63, 0x49, +0x86, 0x08, 0x82, 0xCC, 0x9F, 0x1F, 0xB5, 0xF9, 0x51, 0x00, 0x5F, 0x92, 0xAE, 0x1A, 0xC2, 0xE1, +0x7F, 0xD2, 0xC5, 0xE2, 0x4A, 0xA6, 0x0C, 0xB7, 0x45, 0x74, 0x08, 0xA2, 0xC1, 0xA1, 0x9C, 0xC8, +0x00, 0xAE, 0x22, 0x43, 0x84, 0x1B, 0xF1, 0xA3, 0x72, 0x41, 0xBA, 0x72, 0x41, 0x86, 0x0D, 0x32, +0x4C, 0x25, 0xB3, 0x83, 0x1F, 0xEA, 0x57, 0x41, 0x97, 0x19, 0x52, 0xCF, 0x6B, 0xC8, 0x6C, 0x09, +0x42, 0x7E, 0x08, 0x7E, 0xBC, 0xBE, 0x00, 0x31, 0x41, 0x30, 0x44, 0xE9, 0x64, 0xF1, 0xF0, 0xB1, +0xF1, 0x85, 0x8B, 0xAC, 0xC5, 0x09, 0xF2, 0xB9, 0x2F, 0xA1, 0x69, 0x4E, 0xE6, 0x3E, 0xF6, 0x99, +0x7A, 0x7D, 0x9F, 0xEC, 0x61, 0x71, 0x21, 0xFE, 0x2D, 0x06, 0x78, 0x35, 0x3E, 0x13, 0x20, 0x12, +0x89, 0x02, 0x84, 0x93, 0x53, 0xE8, 0x60, 0x49, 0xAC, 0x1E, 0xAE, 0x2F, 0x0A, 0xB8, 0xBA, 0x78, +0x8D, 0x21, 0x33, 0x08, 0x32, 0x67, 0x0D, 0x52, 0x34, 0x7E, 0xF5, 0xDA, 0xFE, 0xD4, 0x99, 0x6A, +0x90, 0xD5, 0x2B, 0x7B, 0x8C, 0x98, 0x42, 0x17, 0xE8, 0xBA, 0xCD, 0xAC, 0x35, 0x48, 0xD3, 0x60, +0x45, 0x36, 0x19, 0xF6, 0xA3, 0x1A, 0x84, 0xB2, 0x1E, 0xAB, 0x12, 0xD7, 0x37, 0xFD, 0x9C, 0x35, +0xC8, 0xA6, 0xAB, 0xC6, 0x35, 0x08, 0x72, 0xB0, 0x65, 0xE4, 0xD7, 0x3F, 0xFA, 0xFD, 0x55, 0x49, +0x0D, 0xD2, 0x16, 0xF5, 0xB1, 0x5E, 0x63, 0xC8, 0x1C, 0xF9, 0x31, 0xEF, 0x28, 0x96, 0xDE, 0xBF, +0xB2, 0xBF, 0xD2, 0x5A, 0x81, 0x1F, 0x0F, 0x07, 0x43, 0x76, 0x72, 0x05, 0xB2, 0x33, 0xAE, 0x4F, +0xC3, 0x22, 0x3D, 0x9B, 0xBE, 0x31, 0x3D, 0xAA, 0x59, 0x46, 0xB1, 0x78, 0x7B, 0x61, 0x1F, 0xD5, +0x1E, 0xA9, 0xFC, 0x10, 0x46, 0xB1, 0xB8, 0xC0, 0xE5, 0xC6, 0xE9, 0x8D, 0x99, 0x46, 0xB1, 0x36, +0xB6, 0x54, 0x00, 0x89, 0x92, 0xDD, 0xF7, 0x3C, 0x93, 0x84, 0x8A, 0x1F, 0xAD, 0x3E, 0x8A, 0x15, +0x8E, 0x9B, 0xAB, 0x47, 0xF5, 0x22, 0x46, 0xB1, 0xE6, 0x31, 0xC4, 0x6E, 0x15, 0xF4, 0x10, 0x23, +0xE4, 0xAA, 0x7D, 0xF1, 0x70, 0x10, 0xA4, 0x7D, 0x21, 0x19, 0x72, 0xF4, 0xE3, 0xBE, 0x9B, 0xD5, +0xA5, 0x4B, 0x4A, 0x1E, 0x5F, 0x67, 0x53, 0xCD, 0x34, 0x0F, 0x32, 0xE8, 0x61, 0xB8, 0x21, 0x51, +0x25, 0xC2, 0x79, 0xC8, 0xBE, 0xCE, 0x24, 0x35, 0x0D, 0xDF, 0xFB, 0xBF, 0xFF, 0x97, 0xE7, 0x41, +0xA0, 0xF2, 0x00, 0x21, 0x43, 0x7C, 0x9D, 0x1E, 0xF4, 0xD8, 0x39, 0xF2, 0x38, 0x96, 0xF5, 0x0C, +0x1E, 0x5A, 0x93, 0x0D, 0xF1, 0x27, 0x55, 0x37, 0x64, 0x11, 0xF3, 0x20, 0xE5, 0x8A, 0xE8, 0xF9, +0x71, 0xE1, 0x92, 0xA8, 0xF9, 0xE1, 0x6D, 0x6D, 0x86, 0xA8, 0xF9, 0xE1, 0x5C, 0x8F, 0xE4, 0x98, +0x60, 0x90, 0x63, 0x58, 0x2C, 0x48, 0x24, 0x3F, 0xE0, 0xB3, 0x98, 0x1F, 0x81, 0x28, 0x3F, 0xD8, +0x8E, 0xF3, 0x03, 0xA2, 0x5B, 0x24, 0x7F, 0x89, 0x4F, 0x01, 0x9A, 0x65, 0x26, 0xDD, 0x77, 0x4D, +0x3A, 0x43, 0x50, 0x85, 0xE7, 0x1B, 0xF6, 0xBC, 0x8D, 0x64, 0x49, 0x03, 0x58, 0x26, 0xC8, 0xD0, +0x5E, 0xB4, 0x57, 0x6A, 0x7E, 0x90, 0x21, 0xFF, 0x73, 0x26, 0x1D, 0xEA, 0xCB, 0xBA, 0x84, 0xF3, +0xF7, 0xF9, 0xA8, 0x87, 0xAF, 0x57, 0x62, 0x7E, 0x78, 0xE3, 0xB5, 0x26, 0x99, 0xF2, 0x03, 0x3F, +0xE8, 0x65, 0x55, 0x9C, 0xD0, 0xC5, 0xC2, 0x8F, 0x6A, 0x58, 0x36, 0xFA, 0x6B, 0xB1, 0x74, 0x43, +0x3E, 0xF7, 0xE1, 0xF8, 0x1D, 0x5A, 0xDF, 0x9C, 0xC6, 0x00, 0x67, 0xA8, 0x3F, 0x60, 0x3F, 0x79, +0x5B, 0x87, 0xFC, 0x08, 0x08, 0xE5, 0x39, 0x28, 0x86, 0xD8, 0x3E, 0x61, 0xF7, 0x20, 0x45, 0x3A, +0x3C, 0xF0, 0x43, 0xCD, 0x90, 0xD6, 0x78, 0x88, 0x21, 0x42, 0x7E, 0x50, 0x88, 0xBC, 0xA9, 0xEB, +0x7F, 0xFF, 0x5A, 0xAC, 0xF9, 0xBB, 0x59, 0x75, 0xFD, 0xDA, 0x05, 0x41, 0x11, 0xE1, 0x75, 0x26, +0x2D, 0x86, 0xB4, 0x79, 0x43, 0x06, 0x3F, 0x76, 0x0E, 0x86, 0xA0, 0xC3, 0x89, 0x2B, 0xF6, 0xD3, +0xFB, 0x67, 0xC8, 0xAA, 0x53, 0x32, 0xE4, 0x76, 0x8C, 0xFE, 0x4A, 0x2C, 0x7A, 0x59, 0x71, 0xB5, +0xBE, 0xCF, 0xBC, 0xAB, 0x90, 0x9B, 0x70, 0x72, 0x12, 0x1F, 0xF7, 0xEF, 0x06, 0x69, 0xFE, 0xFA, +0xAB, 0x79, 0x5D, 0x0C, 0x5F, 0xFC, 0x89, 0x04, 0x1D, 0xA2, 0xFC, 0xA0, 0xFE, 0x80, 0xB3, 0x86, +0xAC, 0xDC, 0x0F, 0x0C, 0x59, 0x6B, 0xF9, 0xE1, 0xCD, 0x96, 0x37, 0x8F, 0xEA, 0x45, 0xBC, 0x9A, +0xF7, 0xAF, 0x18, 0xC2, 0x7D, 0x0E, 0x52, 0xF8, 0x56, 0xA8, 0x43, 0xD6, 0x21, 0x3E, 0x50, 0x64, +0x25, 0xF8, 0x01, 0xAF, 0xA2, 0xE1, 0xDE, 0x98, 0xA3, 0x1A, 0xC1, 0x91, 0x7C, 0x86, 0x74, 0xB7, +0xA0, 0x65, 0x08, 0xFD, 0xAB, 0x20, 0x4A, 0xE4, 0x45, 0x14, 0x0C, 0x3F, 0x4E, 0xA0, 0x5F, 0x05, +0x08, 0x46, 0x7E, 0xA0, 0x88, 0xA0, 0x07, 0x9C, 0xF5, 0x83, 0x00, 0x21, 0x43, 0xD2, 0x74, 0xF8, +0xA1, 0x19, 0xB2, 0x72, 0x3D, 0x68, 0x67, 0x5F, 0xEF, 0xCE, 0x93, 0x69, 0x70, 0x04, 0x43, 0xFE, +0xC9, 0xFB, 0x41, 0xE6, 0x37, 0xA4, 0x0E, 0xE5, 0x07, 0x09, 0xE2, 0xE7, 0xF2, 0xF9, 0xD1, 0x46, +0x86, 0x64, 0x32, 0x84, 0xFE, 0x55, 0x64, 0x48, 0x97, 0xEC, 0x35, 0x7B, 0x7E, 0x84, 0x0A, 0x04, +0x47, 0x36, 0x52, 0x7C, 0xC0, 0xF9, 0xFC, 0xB8, 0xF3, 0xE6, 0x87, 0x30, 0x33, 0x86, 0xEA, 0xBB, +0xD2, 0x31, 0xE8, 0x64, 0xE8, 0x2B, 0xCA, 0x0F, 0xC3, 0xB6, 0x92, 0x1F, 0x20, 0xE6, 0x87, 0x5B, +0x42, 0x86, 0x10, 0xCB, 0xEC, 0x54, 0xFC, 0x90, 0x0C, 0xC1, 0x0F, 0x5A, 0xC6, 0x10, 0x8E, 0x1B, +0x6F, 0xC1, 0x97, 0xBA, 0x9E, 0xDB, 0x0F, 0x04, 0x99, 0xD3, 0x10, 0xFC, 0x78, 0xED, 0x31, 0x49, +0x82, 0x84, 0xFE, 0xE4, 0x14, 0xEB, 0x87, 0xBE, 0xE3, 0xB4, 0x0C, 0x59, 0x91, 0x1F, 0xB1, 0x21, +0x38, 0x02, 0xC3, 0xD5, 0xC7, 0x07, 0x1F, 0x3B, 0x6C, 0x15, 0xF2, 0x43, 0xCB, 0x90, 0x26, 0xC9, +0xA8, 0x4C, 0x27, 0x10, 0xF0, 0x23, 0x66, 0x72, 0xBE, 0x30, 0xE4, 0x07, 0x1B, 0xF7, 0x50, 0xF3, +0x03, 0x72, 0x7E, 0x84, 0x05, 0x51, 0xF0, 0x02, 0x47, 0xE8, 0x5F, 0xC9, 0x86, 0xE0, 0x87, 0x9A, +0x21, 0x1C, 0x37, 0x24, 0x08, 0x13, 0x22, 0xFF, 0xE2, 0x3D, 0xE9, 0xB3, 0x1B, 0xC2, 0xF0, 0x55, +0x9C, 0x20, 0xB6, 0xA4, 0xA1, 0xFC, 0x88, 0x0C, 0x91, 0xFC, 0x80, 0x71, 0x7E, 0x40, 0xE8, 0x5B, +0x93, 0x20, 0xE1, 0x68, 0x90, 0xF2, 0x03, 0xA6, 0xFC, 0xF0, 0x03, 0xD8, 0x96, 0x63, 0x9D, 0x1E, +0xB6, 0x13, 0x81, 0xF0, 0x63, 0x12, 0x6E, 0x97, 0xAE, 0x3F, 0x7C, 0x03, 0x9A, 0x1F, 0x30, 0x3D, +0x7C, 0xC5, 0x82, 0x2C, 0x9E, 0x15, 0xB6, 0x01, 0xF2, 0x43, 0x36, 0x04, 0x3F, 0x62, 0x43, 0xDA, +0x4C, 0x7E, 0x44, 0x09, 0xC2, 0x60, 0xD6, 0xAC, 0x7E, 0x20, 0xC8, 0xFC, 0x86, 0x84, 0x98, 0x24, +0x41, 0xF8, 0x43, 0x55, 0x3F, 0x30, 0x04, 0x78, 0x3F, 0xFA, 0x2E, 0xCD, 0xF8, 0x83, 0x4D, 0x98, +0x1E, 0x34, 0xE2, 0x04, 0xF1, 0xD3, 0x4E, 0xF2, 0x03, 0x3E, 0x67, 0xCA, 0x0F, 0xE4, 0xE0, 0xAD, +0x7F, 0x00, 0x3F, 0x32, 0xE4, 0xCA, 0x0F, 0x08, 0x32, 0x1E, 0xFE, 0xE4, 0x73, 0xB1, 0x80, 0xF8, +0x60, 0xBF, 0xF8, 0x12, 0xE5, 0x07, 0xC3, 0x57, 0x00, 0x4C, 0xAA, 0x0B, 0x7E, 0x60, 0x48, 0xC2, +0x8F, 0x44, 0x82, 0x84, 0x0C, 0x59, 0xC4, 0xE7, 0x62, 0xFD, 0x64, 0xEE, 0x6C, 0x5A, 0x5C, 0x29, +0xA2, 0x30, 0x2C, 0x24, 0xFE, 0x01, 0x23, 0xB3, 0x68, 0x32, 0x3A, 0x41, 0x50, 0x9C, 0x85, 0x32, +0xBB, 0xAC, 0x5D, 0xB9, 0x74, 0x84, 0xE0, 0x62, 0x86, 0x2C, 0x45, 0x21, 0x98, 0x85, 0x18, 0x88, +0xA0, 0xF8, 0x01, 0x77, 0x33, 0x06, 0x41, 0xD0, 0x19, 0x37, 0x8E, 0x3F, 0xD5, 0x53, 0x27, 0xA7, +0xF3, 0xD0, 0x9D, 0xEA, 0xEA, 0xB7, 0xC0, 0x11, 0xDF, 0xAA, 0xEA, 0xAE, 0xE4, 0xC6, 0xEB, 0xDC, +0xEA, 0x7A, 0xFA, 0xAD, 0x53, 0xA7, 0x67, 0xA6, 0x9E, 0x90, 0x52, 0xFA, 0x1C, 0x07, 0xE1, 0x8D, +0x7C, 0xFA, 0x63, 0xA0, 0x40, 0x08, 0xE1, 0xC7, 0x20, 0x1F, 0x24, 0x44, 0xEC, 0x80, 0x30, 0x0E, +0x3A, 0xED, 0x84, 0x58, 0xFD, 0x6B, 0x3F, 0x59, 0x91, 0x49, 0x4C, 0xBA, 0xE2, 0x13, 0xD1, 0x3F, +0x50, 0x26, 0x9E, 0x6F, 0xC9, 0xE3, 0xC0, 0xFF, 0x41, 0xE3, 0x03, 0x65, 0x97, 0x57, 0x5D, 0x28, +0xA8, 0xD6, 0xCE, 0xF5, 0x2A, 0xAB, 0xC1, 0xA4, 0xBA, 0xA7, 0x3F, 0xF2, 0x05, 0x42, 0x7A, 0xFE, +0x91, 0x71, 0x10, 0x3C, 0xE4, 0x65, 0xF8, 0xC8, 0x03, 0xF2, 0x32, 0x29, 0x43, 0x7B, 0x89, 0x4D, +0xE2, 0x20, 0xAC, 0x27, 0x33, 0x7C, 0x0C, 0xE1, 0x41, 0x52, 0xBD, 0x1F, 0x9E, 0x97, 0x08, 0xE9, +0x09, 0x28, 0x70, 0x10, 0x60, 0xF9, 0x17, 0x7E, 0x36, 0x6F, 0x4C, 0xDA, 0x38, 0x32, 0x83, 0xD3, +0xCA, 0xEB, 0x6C, 0x91, 0x25, 0xFE, 0xEC, 0x6A, 0x74, 0x42, 0x0F, 0x02, 0x0B, 0x88, 0x54, 0xFF, +0x6C, 0xDE, 0x66, 0xD5, 0x37, 0x90, 0xBC, 0x87, 0x94, 0xFD, 0x83, 0x84, 0x48, 0x36, 0x7D, 0x9E, +0x2F, 0x96, 0x10, 0xC9, 0xF0, 0x91, 0x77, 0x10, 0x92, 0xEA, 0x2F, 0xFF, 0xB3, 0x79, 0x5F, 0x90, +0x10, 0xF6, 0xAF, 0xF2, 0x0E, 0xC2, 0x09, 0x5D, 0xAD, 0x27, 0xA5, 0x42, 0xCA, 0x50, 0xE1, 0x83, +0x84, 0x08, 0x17, 0x76, 0xD5, 0x81, 0xA2, 0x0F, 0x4B, 0xF5, 0x4F, 0x77, 0xFF, 0x3A, 0x93, 0x3E, +0x47, 0x7B, 0x4E, 0x24, 0x44, 0x90, 0xFA, 0xD3, 0xDD, 0xF9, 0x8F, 0xCC, 0x86, 0x32, 0x6C, 0x70, +0xD6, 0xF8, 0x40, 0x99, 0xF0, 0x3C, 0x13, 0x82, 0x50, 0x9B, 0x9D, 0xE2, 0x1F, 0x24, 0xD5, 0xF3, +0xE9, 0xF3, 0x7C, 0x81, 0x90, 0x8E, 0x7F, 0xE4, 0x1D, 0xC4, 0x09, 0x01, 0x91, 0x17, 0xE0, 0xE3, +0x45, 0x7F, 0x3F, 0x48, 0x3F, 0x7D, 0x3E, 0xE4, 0x20, 0x24, 0xD5, 0xF9, 0x61, 0x3F, 0x23, 0x80, +0xAC, 0x27, 0x10, 0x02, 0x1F, 0x63, 0x1E, 0xB2, 0x63, 0x7D, 0x55, 0x76, 0x10, 0x08, 0x81, 0x0F, +0x9D, 0x90, 0x9E, 0x7D, 0x20, 0xDE, 0x13, 0xE3, 0x8F, 0xFC, 0x76, 0xEF, 0x81, 0xE0, 0x26, 0x0E, +0xFC, 0xBE, 0x85, 0xE8, 0x49, 0x7C, 0xA0, 0x33, 0xFF, 0xE8, 0x5A, 0x48, 0xC1, 0x43, 0xF0, 0x0F, +0xC9, 0x43, 0x5E, 0x91, 0x1E, 0xCC, 0x16, 0x52, 0x86, 0xF0, 0x91, 0x77, 0x10, 0x92, 0xEA, 0x96, +0x32, 0xFC, 0x5F, 0xFC, 0x7E, 0x90, 0x7A, 0x42, 0x08, 0x3F, 0xF8, 0x77, 0xE6, 0x1D, 0xC4, 0x1B, +0x83, 0xD2, 0x0D, 0xCF, 0x4B, 0xA1, 0x3A, 0xE9, 0x41, 0x85, 0x90, 0xD0, 0x6A, 0x37, 0xE2, 0x20, +0x3B, 0xFB, 0x8C, 0xC6, 0x07, 0xCA, 0xFC, 0x60, 0xF7, 0xDE, 0x2C, 0x46, 0x7C, 0x87, 0x08, 0xFE, +0xA1, 0x12, 0xD2, 0x0F, 0x6E, 0x78, 0xD9, 0x41, 0x12, 0x3C, 0x24, 0x65, 0xD2, 0x83, 0x1D, 0x22, +0x06, 0xE3, 0x10, 0x65, 0xE8, 0x21, 0xC4, 0xF8, 0x18, 0xC1, 0x83, 0x84, 0x08, 0xFE, 0x51, 0x72, +0x10, 0xEF, 0x38, 0x21, 0x2F, 0xF9, 0x1B, 0xA6, 0xDE, 0xF8, 0xF2, 0xE5, 0x08, 0x79, 0x07, 0xFF, +0x28, 0x3A, 0x88, 0x9F, 0x48, 0x7F, 0x28, 0x84, 0xBC, 0x7A, 0xA5, 0xF1, 0x41, 0x42, 0x84, 0xF4, +0x79, 0xD1, 0x41, 0x9C, 0x1F, 0x91, 0x0F, 0x3C, 0x84, 0xF5, 0x55, 0xDF, 0x38, 0x38, 0x59, 0xFB, +0xF5, 0xE8, 0x30, 0xA4, 0x3F, 0xEA, 0x08, 0xE9, 0x07, 0x37, 0x5D, 0x42, 0x78, 0xC5, 0xE3, 0x57, +0x92, 0x7A, 0xF1, 0x79, 0x3E, 0x08, 0xA1, 0xAA, 0x7C, 0x40, 0x88, 0xC6, 0x07, 0x09, 0x11, 0x90, +0x28, 0x3B, 0x88, 0x35, 0x27, 0xE4, 0xE5, 0xF8, 0x78, 0x47, 0x74, 0x10, 0x1E, 0x5D, 0x7C, 0x5B, +0x2E, 0x84, 0x1F, 0x63, 0x0E, 0x02, 0x22, 0x17, 0xF8, 0x47, 0xA9, 0x5C, 0x3A, 0x21, 0xA4, 0x3F, +0x34, 0x42, 0x16, 0xC7, 0x10, 0xA3, 0x19, 0x6B, 0x3C, 0x99, 0xB5, 0x11, 0xB5, 0xDD, 0x1C, 0x3E, +0x89, 0xA7, 0x13, 0x0F, 0xDE, 0x0E, 0xA7, 0x83, 0xC9, 0xCF, 0xA1, 0x78, 0x85, 0x7F, 0x88, 0x22, +0x3C, 0x0F, 0x11, 0xFF, 0xF3, 0x06, 0x20, 0xE2, 0x1F, 0x9A, 0x56, 0x6D, 0xFA, 0xBC, 0x14, 0x83, +0xE0, 0x21, 0xF0, 0xA1, 0x13, 0xA2, 0xF1, 0xC1, 0x66, 0x16, 0xCB, 0xEE, 0xB2, 0x83, 0x04, 0x21, +0xD5, 0x7C, 0x88, 0x7A, 0xE3, 0xB5, 0xFB, 0x2F, 0x65, 0xBD, 0x55, 0x01, 0x88, 0xD5, 0xB4, 0xBE, +0x02, 0xFF, 0x92, 0x83, 0x78, 0x75, 0xFF, 0x58, 0x8B, 0xBA, 0xB8, 0xB0, 0x41, 0x37, 0x48, 0x54, +0xBD, 0x77, 0x0A, 0x44, 0x56, 0xED, 0x5A, 0x2B, 0x0E, 0xD1, 0x90, 0x31, 0xE2, 0x56, 0x73, 0xE4, +0xE3, 0x67, 0xA1, 0xA4, 0x4F, 0xB9, 0x7F, 0x1C, 0xCE, 0x8A, 0xD5, 0xEC, 0x9B, 0x47, 0x3E, 0xF2, +0x4F, 0x98, 0x64, 0x8A, 0x7B, 0x48, 0xF7, 0xAF, 0xB3, 0x0A, 0x7E, 0xF4, 0x03, 0x47, 0xF3, 0xB4, +0xF8, 0xC2, 0x84, 0x62, 0x84, 0xEF, 0xB6, 0xAB, 0x46, 0x12, 0xD9, 0xC1, 0xF7, 0x2A, 0x46, 0x7F, +0x3A, 0x9D, 0x5E, 0x5C, 0xAC, 0x55, 0x5D, 0xF8, 0xA4, 0x58, 0x76, 0xCA, 0xEB, 0xA7, 0xB2, 0xBC, +0x8A, 0x5E, 0xBC, 0x9B, 0x08, 0x89, 0x29, 0x37, 0x5A, 0x8E, 0xD5, 0x7E, 0xC2, 0xAE, 0x49, 0x5D, +0x62, 0xDD, 0xDC, 0x7F, 0xD9, 0x2F, 0x9F, 0x7D, 0xE6, 0xE7, 0x7E, 0x79, 0xF3, 0x7E, 0xB9, 0x5C, +0xBE, 0xB3, 0xBC, 0x7F, 0x7D, 0xBC, 0x1E, 0xF5, 0xFE, 0xFB, 0x57, 0x15, 0x5A, 0x5E, 0xD9, 0xDD, +0x63, 0xA2, 0x6A, 0x7D, 0x75, 0xB9, 0xA8, 0x53, 0xB3, 0x7D, 0xB6, 0x79, 0x20, 0xCA, 0x32, 0x86, +0x0F, 0x87, 0x0A, 0x6D, 0x1E, 0xF6, 0xBF, 0x3E, 0x3E, 0xFE, 0xA2, 0xD6, 0x5F, 0x7E, 0xF9, 0xF5, +0xEF, 0xBF, 0xFF, 0xF8, 0xFB, 0xAF, 0xBF, 0xFF, 0xB0, 0xDA, 0x3B, 0xE5, 0xCB, 0x5F, 0xFE, 0x5F, +0xF6, 0xF5, 0xCB, 0xF0, 0x8B, 0x83, 0xFE, 0xF5, 0x3F, 0x58, 0x65, 0x68, 0x14, 0x3D, 0x37, 0x8B, +0x2A, 0xA5, 0xF5, 0xD5, 0x44, 0xD6, 0xE5, 0xE4, 0xEA, 0xFD, 0xD7, 0xAC, 0x8A, 0xD3, 0xE7, 0xB5, +0xAB, 0xA5, 0x49, 0x9A, 0x9A, 0x21, 0x9B, 0xCC, 0x6A, 0xB9, 0x79, 0xED, 0xE3, 0x37, 0xEF, 0xC5, +0xF2, 0xE6, 0xFD, 0xFD, 0xFB, 0xEF, 0x5B, 0x35, 0x95, 0x8E, 0x7E, 0x3A, 0x7E, 0xF2, 0xE2, 0xE2, +0xFD, 0x2B, 0xBD, 0xAC, 0xA7, 0xD3, 0xD9, 0x54, 0xD4, 0x6C, 0x3A, 0x99, 0xDE, 0xEE, 0x9A, 0x1A, +0xED, 0x9E, 0x1F, 0x1E, 0x9E, 0x75, 0x3D, 0xEC, 0xEB, 0xF4, 0xF8, 0xF8, 0xC7, 0xA3, 0xAE, 0x3F, +0xFF, 0xF8, 0xBB, 0x52, 0xC7, 0xBF, 0xFD, 0x0F, 0xB9, 0xEE, 0x2B, 0xF4, 0xCB, 0x7E, 0x9F, 0x86, +0xE6, 0x41, 0x2C, 0x56, 0x19, 0x7A, 0xC9, 0x71, 0x6E, 0xA7, 0x13, 0xBB, 0x64, 0x33, 0xB9, 0xAE, +0x6D, 0x3A, 0xC8, 0xBA, 0xB8, 0xF2, 0xC9, 0x76, 0x3F, 0x36, 0x2F, 0xF9, 0x94, 0xCD, 0x66, 0xB5, +0x5C, 0x1B, 0x20, 0x32, 0x1E, 0xA6, 0xA5, 0xFD, 0x1F, 0xC6, 0xCB, 0x32, 0x7D, 0x25, 0x66, 0x20, +0xCB, 0xAB, 0x1A, 0x3E, 0xD6, 0x17, 0x97, 0x3E, 0xF5, 0x95, 0x7A, 0x39, 0x9B, 0xCE, 0xDF, 0xBB, +0x6D, 0x34, 0x45, 0xFC, 0x61, 0xA6, 0x50, 0xC1, 0x87, 0xA9, 0x66, 0x8A, 0x99, 0x1E, 0x1F, 0x7F, +0x57, 0xF9, 0xF8, 0x23, 0xA9, 0x8E, 0x0F, 0xD3, 0xA3, 0xAE, 0x5F, 0x4C, 0x7B, 0x5D, 0x0F, 0xA6, +0x8A, 0xB1, 0xD9, 0xDA, 0x60, 0xDA, 0x90, 0xCA, 0x7A, 0xF5, 0xDE, 0xFC, 0xBD, 0x49, 0xC5, 0xBD, +0xEF, 0xE2, 0x22, 0x4D, 0x7A, 0x71, 0xF2, 0xA4, 0x8F, 0x1E, 0x67, 0x9C, 0x54, 0x96, 0xC6, 0x47, +0x05, 0x21, 0x1F, 0xBF, 0x76, 0x2D, 0x7F, 0xD8, 0x65, 0xFF, 0x03, 0xA5, 0xA4, 0xCF, 0x25, 0x5D, +0x49, 0x1E, 0x72, 0x95, 0x3E, 0xB8, 0xB6, 0x61, 0x99, 0x88, 0x1E, 0x32, 0x99, 0xDA, 0x90, 0xBF, +0x37, 0x9D, 0xFB, 0xDC, 0x1F, 0xAF, 0x76, 0xD8, 0x25, 0x6D, 0x6B, 0xF8, 0x30, 0xD5, 0xF0, 0xE1, +0x84, 0xC8, 0x80, 0xB8, 0x2A, 0xF0, 0x70, 0x55, 0xF0, 0xE1, 0xAA, 0xE0, 0xA3, 0x8A, 0x10, 0xE3, +0x23, 0x08, 0x11, 0xAA, 0xC9, 0x2E, 0xD5, 0xFC, 0xD5, 0x7B, 0x33, 0x43, 0xE4, 0x72, 0xBC, 0x98, +0x7D, 0x5C, 0xA4, 0x78, 0x45, 0xBE, 0xB1, 0x5E, 0x2D, 0x8F, 0xEE, 0xB0, 0x54, 0xA7, 0xA6, 0xEB, +0x5F, 0x06, 0xE4, 0xE8, 0x1F, 0x81, 0x88, 0x08, 0x6A, 0xC8, 0x00, 0x1F, 0x2D, 0xF6, 0x29, 0xE7, +0xC3, 0x8E, 0xC9, 0x1D, 0xC6, 0x8A, 0xF1, 0x31, 0x7F, 0x35, 0x4F, 0x88, 0xCC, 0xD3, 0xD4, 0x5F, +0x94, 0x4B, 0x93, 0xB4, 0xDD, 0x55, 0x11, 0xF2, 0x10, 0x52, 0xF9, 0x08, 0xA9, 0xAB, 0xAC, 0x3F, +0x42, 0x3A, 0x1F, 0x21, 0x95, 0x8F, 0x90, 0xCA, 0x47, 0x48, 0xE7, 0xC3, 0x65, 0xD3, 0x7F, 0x7C, +0xEC, 0x8D, 0x23, 0xBB, 0x4C, 0x5E, 0x66, 0x97, 0xA3, 0x84, 0x84, 0x7F, 0x98, 0xD6, 0xA2, 0x87, +0x5C, 0xBC, 0x1F, 0x52, 0xD7, 0x36, 0x2E, 0x1D, 0x90, 0xEB, 0xD7, 0xAE, 0x75, 0xFB, 0xA8, 0xF2, +0x90, 0x93, 0x24, 0x0F, 0x71, 0x3E, 0x5A, 0x42, 0x4A, 0x03, 0xE8, 0x7C, 0xCC, 0x7C, 0xC0, 0x1D, +0x91, 0x45, 0xE3, 0xD7, 0xA9, 0xD4, 0xAC, 0x9C, 0xB4, 0x55, 0xF9, 0x08, 0xE9, 0x7C, 0xE8, 0x84, +0xFC, 0x81, 0x44, 0x3E, 0x90, 0xCA, 0x47, 0x48, 0xE7, 0x43, 0x27, 0x84, 0xC1, 0x54, 0x46, 0xDE, +0xF8, 0x68, 0x01, 0x71, 0x0F, 0x99, 0x0A, 0xFE, 0x61, 0xD2, 0x3D, 0xA4, 0x95, 0xEA, 0x1F, 0x48, +0x05, 0xE4, 0x3B, 0x8D, 0x0F, 0x24, 0x2C, 0xF8, 0xE0, 0xC3, 0xBA, 0xC2, 0x6D, 0xE0, 0x02, 0xAD, +0x2F, 0x07, 0x09, 0x31, 0xD9, 0x61, 0x72, 0x39, 0x8B, 0x21, 0x0F, 0x0F, 0xD9, 0x8D, 0xDE, 0xC9, +0x9E, 0x77, 0xE8, 0x79, 0x54, 0xB6, 0x23, 0x55, 0x45, 0x88, 0x71, 0x01, 0x21, 0x20, 0x52, 0xE0, +0x03, 0x89, 0x7C, 0x20, 0x91, 0x0F, 0x9D, 0x90, 0xC3, 0xC3, 0x03, 0xD2, 0xFC, 0x03, 0x35, 0x8B, +0xD2, 0xD8, 0xDB, 0x9F, 0xC2, 0x47, 0x2A, 0xD3, 0xA2, 0x87, 0x58, 0x85, 0x8F, 0x44, 0x88, 0xDD, +0x5A, 0xC7, 0xD7, 0xE6, 0x4C, 0x35, 0xD5, 0x40, 0x20, 0x64, 0x7C, 0xE5, 0xF4, 0x5D, 0x72, 0x10, +0x81, 0x90, 0x9E, 0x04, 0xF7, 0x00, 0x90, 0x31, 0xA7, 0x34, 0x3E, 0xD6, 0xEB, 0x1C, 0x21, 0x5E, +0x39, 0x47, 0xFF, 0x12, 0x3E, 0x52, 0x19, 0xF5, 0x10, 0x03, 0xA8, 0x2B, 0xCD, 0x3F, 0x74, 0x42, +0x12, 0x1E, 0x48, 0xF3, 0x0F, 0x24, 0xF2, 0x81, 0x24, 0x3E, 0x90, 0xE0, 0x1F, 0x68, 0xFF, 0xB0, +0x11, 0xFD, 0x03, 0x13, 0x69, 0xC6, 0xFC, 0x63, 0xFE, 0x1E, 0x65, 0x36, 0xF5, 0x40, 0x24, 0x5B, +0xED, 0xC2, 0x4E, 0x2F, 0x63, 0x22, 0x40, 0x48, 0xB9, 0x74, 0xE6, 0xDA, 0x72, 0xCC, 0x45, 0x5A, +0xFB, 0x80, 0x90, 0x31, 0x44, 0x6E, 0x7C, 0x89, 0x75, 0x33, 0xF6, 0xB9, 0x33, 0x61, 0x21, 0x25, +0xFB, 0x40, 0x57, 0xC5, 0x12, 0xCB, 0x2B, 0x04, 0x13, 0x71, 0xA2, 0x93, 0x06, 0xD8, 0x8D, 0x03, +0x42, 0x66, 0x8B, 0xA6, 0x60, 0xF4, 0xF0, 0xA1, 0x12, 0xC2, 0x94, 0x91, 0x08, 0xF9, 0xA5, 0x2B, +0xB6, 0x7B, 0x8B, 0x7C, 0x20, 0x91, 0x0F, 0x24, 0xF1, 0x81, 0x34, 0xFF, 0x40, 0x2A, 0x1F, 0x78, +0xC8, 0xE0, 0xC8, 0x27, 0xFF, 0x98, 0xCE, 0xBB, 0x84, 0x5C, 0x4E, 0x0A, 0xF1, 0xC7, 0x91, 0x0F, +0x94, 0x08, 0x29, 0xFB, 0x47, 0x4F, 0x85, 0x89, 0xC9, 0xF2, 0x4A, 0x5E, 0x65, 0x99, 0x75, 0x38, +0x20, 0x66, 0x24, 0x25, 0x42, 0x00, 0x44, 0xF4, 0x10, 0x04, 0x21, 0x4A, 0xF8, 0x81, 0x2E, 0x73, +0x91, 0x7A, 0xF0, 0x31, 0x7B, 0xE5, 0xF1, 0x79, 0xCF, 0x43, 0x76, 0x03, 0xCD, 0x77, 0x77, 0xAD, +0xA1, 0x91, 0xED, 0xDE, 0xD3, 0xF2, 0x0A, 0xA9, 0x7C, 0x10, 0x88, 0x08, 0x7C, 0x20, 0x91, 0x0F, +0x24, 0xE1, 0x81, 0x34, 0xFF, 0x40, 0x2A, 0x1F, 0x10, 0xD2, 0xE4, 0xC3, 0xF5, 0xE6, 0xE4, 0x1F, +0x94, 0x57, 0x78, 0x48, 0xB7, 0x4C, 0xD7, 0x76, 0xCD, 0x2F, 0x5A, 0x41, 0x88, 0xC6, 0x07, 0xBA, +0x57, 0xC2, 0x0F, 0x54, 0x9C, 0xF8, 0x37, 0x38, 0xC8, 0xB7, 0x46, 0x81, 0xC2, 0x07, 0x80, 0x00, +0x6B, 0xC9, 0x3F, 0x20, 0x44, 0xE3, 0x03, 0x0F, 0xB1, 0x2D, 0x8F, 0xCC, 0x1A, 0x0B, 0x3E, 0x3A, +0x1E, 0x72, 0xDB, 0x24, 0x1C, 0xFC, 0xB2, 0x2C, 0x38, 0x37, 0xA9, 0xED, 0x72, 0x2A, 0x84, 0x1F, +0x39, 0x1D, 0x04, 0x3C, 0xD0, 0xFE, 0x17, 0x8D, 0x0F, 0xA4, 0xF1, 0x81, 0x24, 0x3E, 0x90, 0xE6, +0x1F, 0xA8, 0x94, 0xFE, 0xC8, 0x13, 0x12, 0x21, 0x47, 0xA7, 0x79, 0xFA, 0x03, 0x40, 0x28, 0x93, +0x20, 0xA2, 0x53, 0xAD, 0xCC, 0xE0, 0x43, 0x21, 0xC4, 0xFE, 0x20, 0xA7, 0xA5, 0xE2, 0x1F, 0xA8, +0xEC, 0x1F, 0x01, 0x48, 0xEA, 0x7D, 0x37, 0x18, 0x88, 0x0C, 0xE9, 0xFD, 0xD7, 0xEF, 0x25, 0xFF, +0x20, 0x10, 0xC9, 0xA7, 0x3F, 0xF2, 0x32, 0x12, 0x58, 0x64, 0x51, 0x26, 0xE7, 0x03, 0xEE, 0x09, +0x91, 0xDB, 0x86, 0xDB, 0x58, 0x2E, 0xFE, 0x50, 0x3D, 0xE4, 0x21, 0xAF, 0x83, 0xC8, 0x07, 0x1E, +0xA2, 0xF0, 0x81, 0x34, 0x3E, 0x90, 0xC6, 0x07, 0x92, 0xFC, 0x03, 0x49, 0x7C, 0x6C, 0xDB, 0x73, +0x22, 0x24, 0x82, 0x75, 0xEF, 0x1C, 0xDB, 0xCE, 0xF9, 0x98, 0x67, 0xCA, 0x34, 0x93, 0x10, 0xC1, +0x3F, 0x72, 0x84, 0x08, 0xF6, 0x81, 0x04, 0xFF, 0x90, 0x10, 0x31, 0x3A, 0x8C, 0x8B, 0x00, 0xC4, +0x3D, 0xC4, 0x58, 0x10, 0xEC, 0x03, 0x65, 0x61, 0x5D, 0x0E, 0x7E, 0xD9, 0x00, 0x42, 0xC1, 0x3F, +0x72, 0x84, 0x64, 0xD2, 0x1F, 0xD9, 0x11, 0x8F, 0x94, 0xE1, 0x0E, 0x32, 0xD8, 0x85, 0xDF, 0x56, +0x11, 0xF2, 0x30, 0x28, 0x91, 0x0F, 0x08, 0x51, 0xF8, 0x40, 0x22, 0x1F, 0x48, 0xE2, 0x03, 0x49, +0x7C, 0xA0, 0xD1, 0xED, 0xAB, 0xD5, 0x0E, 0xD9, 0x63, 0x27, 0x41, 0x47, 0x37, 0xF9, 0x44, 0xA8, +0xD8, 0x2F, 0x93, 0xF3, 0xC5, 0xB3, 0xA7, 0x3F, 0x0A, 0x84, 0x14, 0xFC, 0x43, 0x88, 0x43, 0xE0, +0x43, 0x04, 0xC4, 0xD7, 0x57, 0xEE, 0x1C, 0xC7, 0x5D, 0x2C, 0x57, 0xD6, 0x43, 0x4A, 0x92, 0xFC, +0x03, 0xF5, 0x11, 0x29, 0xF1, 0x41, 0x42, 0x64, 0x8A, 0x1D, 0xAF, 0x2F, 0x87, 0xF8, 0xB0, 0xFA, +0x5E, 0xEB, 0x20, 0xE9, 0x9C, 0x8A, 0xF3, 0x31, 0xAC, 0xAD, 0xC4, 0x07, 0x52, 0xF9, 0x20, 0x54, +0x17, 0xF0, 0x40, 0x22, 0x1E, 0x48, 0xE2, 0x03, 0x49, 0x78, 0xA0, 0x12, 0x1F, 0x80, 0x42, 0xD7, +0x87, 0x9B, 0xCD, 0x44, 0xD2, 0x1F, 0xD9, 0x72, 0x4C, 0xAA, 0x53, 0xE1, 0x43, 0xF5, 0x10, 0xF0, +0x50, 0xE2, 0x10, 0xF8, 0x50, 0x11, 0x09, 0x20, 0x88, 0x41, 0x6E, 0xAC, 0xE4, 0x22, 0xF5, 0xB2, +0xCE, 0x2D, 0x04, 0x65, 0x4D, 0xA4, 0xEF, 0x1F, 0x6C, 0xEF, 0xE6, 0x09, 0x39, 0xF3, 0x0F, 0xE2, +0x8F, 0x7E, 0x99, 0xBE, 0xE7, 0xDB, 0x29, 0x04, 0x88, 0x1D, 0xFF, 0xB0, 0x0E, 0x87, 0x90, 0x14, +0x7F, 0x20, 0x89, 0x0F, 0xA4, 0xD9, 0x07, 0x12, 0xF9, 0x40, 0x12, 0x1F, 0x48, 0xE2, 0x03, 0x65, +0xF8, 0x28, 0xA9, 0x69, 0x70, 0x0E, 0xD2, 0x83, 0xC3, 0xC5, 0x22, 0x4C, 0x0A, 0xE9, 0x8F, 0x61, +0x42, 0xFA, 0xE9, 0xF3, 0xA2, 0x96, 0x85, 0xEC, 0x87, 0x46, 0xC8, 0x77, 0x0E, 0x85, 0x9D, 0x3C, +0x0F, 0x12, 0x16, 0x62, 0xAF, 0xB4, 0x05, 0x16, 0x52, 0xDD, 0x83, 0x38, 0x44, 0x89, 0x3F, 0x48, +0x88, 0x84, 0x89, 0xA4, 0x7A, 0x39, 0x61, 0xC3, 0x30, 0x5B, 0x12, 0x21, 0xB8, 0x87, 0x1D, 0x7B, +0xF7, 0x39, 0xB4, 0x8A, 0xB7, 0x25, 0xFB, 0x40, 0x85, 0xF4, 0x60, 0x36, 0x52, 0xFF, 0x43, 0xE1, +0x03, 0x89, 0x7C, 0x20, 0x9D, 0x0F, 0xFF, 0x4A, 0xAB, 0xF8, 0xD8, 0xF7, 0x09, 0x61, 0xEC, 0xE8, +0x75, 0xD4, 0x0E, 0xFC, 0x4E, 0xE0, 0x03, 0x0F, 0x11, 0xF8, 0xC8, 0x26, 0x44, 0xCA, 0x93, 0x4D, +0xF0, 0x8F, 0x62, 0x42, 0xC4, 0x58, 0xF0, 0x6A, 0x88, 0xB8, 0x83, 0x38, 0x2D, 0x51, 0xBA, 0x34, +0x8D, 0x4A, 0x09, 0x3F, 0xF2, 0x49, 0x75, 0xD2, 0x83, 0x05, 0xD9, 0x10, 0xB6, 0xF6, 0x71, 0xC9, +0xE3, 0x25, 0x25, 0x0F, 0x21, 0x87, 0xDB, 0x07, 0x63, 0xD5, 0x1E, 0x90, 0xE4, 0x1F, 0x48, 0xF2, +0x0F, 0xA4, 0xF1, 0x81, 0x44, 0x3E, 0x90, 0xC4, 0x07, 0xD2, 0xF8, 0x40, 0x05, 0xFF, 0x58, 0xD1, +0x41, 0x31, 0xF0, 0xA4, 0xCF, 0x8B, 0x65, 0x1A, 0x09, 0x11, 0xAB, 0xA4, 0x3F, 0x8A, 0x84, 0xF4, +0xD2, 0xE7, 0x65, 0x49, 0xFE, 0x81, 0xB2, 0xFE, 0x61, 0x72, 0x07, 0x09, 0x5A, 0xFC, 0xAD, 0x8E, +0x87, 0x48, 0x12, 0x1C, 0x04, 0x11, 0x6D, 0x91, 0x1E, 0x2C, 0xAA, 0x4D, 0xAA, 0xE3, 0x1F, 0x25, +0x0F, 0x99, 0x87, 0x87, 0xA4, 0xB6, 0x53, 0x24, 0xF9, 0x07, 0xCA, 0xA4, 0xCF, 0x4B, 0x32, 0x2C, +0xE0, 0x43, 0x50, 0x86, 0x0F, 0x99, 0x10, 0x80, 0x95, 0x08, 0x79, 0xA8, 0x03, 0x64, 0xA7, 0xA8, +0x59, 0xF0, 0xDD, 0x1F, 0xE5, 0x2B, 0x45, 0x52, 0xBD, 0x9B, 0x3E, 0x2F, 0x2F, 0xB3, 0xE0, 0x43, +0x90, 0x68, 0x1F, 0x08, 0x0B, 0x09, 0x10, 0xAC, 0x5A, 0x71, 0x07, 0xF1, 0xDE, 0x8D, 0x1D, 0xDC, +0x43, 0x84, 0xE5, 0x55, 0xE6, 0xC9, 0x2C, 0x91, 0x0F, 0xA2, 0x2D, 0x81, 0x0F, 0x12, 0x22, 0x93, +0x29, 0xFE, 0x51, 0x2A, 0xF1, 0x1D, 0x22, 0x5D, 0xFF, 0x58, 0x45, 0x43, 0x2C, 0xBB, 0x00, 0x44, +0x12, 0x7C, 0x68, 0x82, 0x0F, 0x49, 0x22, 0x1F, 0x08, 0xFB, 0x90, 0x54, 0xC3, 0x07, 0xCB, 0xAC, +0x87, 0xE7, 0x9C, 0x0B, 0x67, 0x23, 0x75, 0x2B, 0xA6, 0x5B, 0xFC, 0xA3, 0x54, 0x1C, 0x90, 0x29, +0xE9, 0x0F, 0x81, 0x10, 0x95, 0x0F, 0x36, 0xB3, 0x8C, 0x0F, 0x51, 0xF8, 0x47, 0x8B, 0x88, 0xB5, +0x08, 0xD2, 0xDD, 0x52, 0xEC, 0x65, 0xBC, 0x8F, 0x7F, 0x48, 0x8A, 0x5D, 0x03, 0x55, 0x57, 0x17, +0xA4, 0x07, 0x55, 0x0F, 0x21, 0xFD, 0x51, 0x2E, 0x27, 0x42, 0xB2, 0xE1, 0xC7, 0x0A, 0x5C, 0xF0, +0x90, 0x07, 0xD2, 0xE7, 0x82, 0x6A, 0xF8, 0x60, 0xBB, 0xF7, 0x0F, 0x55, 0xF0, 0x21, 0x0A, 0x3E, +0x24, 0xC1, 0x87, 0xA6, 0xBC, 0x7F, 0x30, 0x8C, 0x3D, 0x50, 0x82, 0x8F, 0x11, 0x3C, 0x48, 0xAA, +0xBB, 0x7F, 0xC0, 0x87, 0x40, 0x08, 0x7C, 0x08, 0xBA, 0xC7, 0x3F, 0x74, 0x0F, 0x71, 0x97, 0x48, +0x47, 0x37, 0x8D, 0x88, 0x41, 0xC2, 0x51, 0xBC, 0x13, 0x71, 0x08, 0x12, 0x57, 0x59, 0xBA, 0x9C, +0x0F, 0x5D, 0x9E, 0x1E, 0x7C, 0x35, 0x57, 0x11, 0x79, 0x05, 0x1F, 0x92, 0x9C, 0x0F, 0x5D, 0xF0, +0xA1, 0x09, 0x3E, 0x24, 0xC1, 0x87, 0x28, 0xF8, 0xD0, 0x04, 0x1F, 0x32, 0x21, 0x30, 0x31, 0x40, +0x0A, 0x12, 0xFD, 0x03, 0x0F, 0xC1, 0x3F, 0x54, 0x42, 0x6A, 0xB4, 0x24, 0xFE, 0x50, 0x14, 0xE1, +0x79, 0x28, 0x7A, 0xED, 0x12, 0xCB, 0xEA, 0xB7, 0xD6, 0x22, 0x3D, 0x72, 0x5F, 0xA7, 0x2A, 0x3C, +0x96, 0xA4, 0x3F, 0x34, 0xAD, 0x59, 0xD1, 0x4A, 0x88, 0x2C, 0x0A, 0x17, 0x32, 0xF7, 0xFA, 0xA1, +0x4E, 0x84, 0x1F, 0xA2, 0x87, 0xD4, 0x09, 0x3C, 0x44, 0xF1, 0xD5, 0x48, 0x02, 0x0F, 0x49, 0xF9, +0xF0, 0x7C, 0xF8, 0xBD, 0x66, 0x3E, 0x95, 0x2F, 0x95, 0xDD, 0xF5, 0xD8, 0xBE, 0x92, 0x08, 0x21, +0x3C, 0x17, 0x75, 0x5F, 0x27, 0x77, 0x0E, 0xB7, 0x10, 0x3B, 0xB9, 0x5B, 0x84, 0x83, 0xDC, 0x18, +0x1D, 0xA6, 0x53, 0x1C, 0x72, 0x5F, 0xA9, 0x4A, 0xAE, 0xE1, 0x43, 0xD2, 0x6C, 0xAE, 0x18, 0x08, +0x0F, 0x66, 0xF9, 0xCA, 0xCA, 0xDB, 0x8A, 0xC6, 0xB5, 0xEC, 0x2F, 0x9E, 0x37, 0x75, 0x73, 0x66, +0x5F, 0x77, 0xC7, 0x7E, 0x79, 0x40, 0xAA, 0x0C, 0xAD, 0x12, 0x90, 0xFD, 0x33, 0x03, 0x57, 0xC4, +0x64, 0x1B, 0x47, 0x8B, 0xCF, 0xF5, 0x9B, 0x99, 0xAD, 0xB2, 0x2E, 0x90, 0x42, 0x48, 0x25, 0x20, +0xF7, 0x95, 0x0A, 0x7F, 0x30, 0x79, 0xFC, 0x81, 0x83, 0x44, 0x16, 0xC4, 0xCF, 0xCE, 0x4A, 0x25, +0x1F, 0x10, 0x22, 0xA9, 0x6E, 0x54, 0x26, 0xB3, 0x59, 0x8D, 0x81, 0xDC, 0x2E, 0xB0, 0x10, 0x61, +0xF5, 0xBC, 0xDD, 0x6E, 0x09, 0x41, 0x04, 0xB1, 0x83, 0xA5, 0x2E, 0xB1, 0x2A, 0xF9, 0xA8, 0x24, +0xA4, 0x7A, 0x89, 0x55, 0x45, 0xC8, 0xB3, 0x0D, 0x4F, 0x9F, 0x0B, 0x8E, 0xAB, 0x33, 0x48, 0x16, +0x0B, 0x22, 0x10, 0xA1, 0xCC, 0x66, 0x75, 0x16, 0x42, 0x06, 0x44, 0xE3, 0xA3, 0x96, 0x10, 0xC7, +0xC0, 0x8D, 0xC3, 0x23, 0x75, 0x1C, 0xE4, 0xDB, 0xF6, 0x6D, 0xE7, 0xE6, 0x5E, 0x26, 0x84, 0x54, +0x88, 0xAA, 0x65, 0xC2, 0xA3, 0xC6, 0x42, 0xD6, 0xB3, 0xD9, 0x6C, 0x92, 0x08, 0x51, 0xA3, 0x74, +0xBB, 0x46, 0x46, 0xC8, 0x36, 0x4B, 0x06, 0x82, 0x8F, 0x4D, 0x22, 0x44, 0x53, 0x7D, 0x0C, 0xF2, +0xF8, 0xA2, 0x31, 0x08, 0x41, 0xBA, 0xCE, 0x47, 0x15, 0x21, 0x69, 0x6C, 0x20, 0x24, 0xAB, 0x55, +0x27, 0x48, 0xBF, 0xAD, 0x22, 0x64, 0x96, 0x54, 0x43, 0x48, 0x9A, 0x3B, 0x3A, 0x22, 0xF7, 0x3A, +0x21, 0x64, 0x0B, 0x7D, 0x29, 0x85, 0x61, 0xE0, 0x20, 0xA7, 0xD0, 0x3D, 0x82, 0xF9, 0x1A, 0x40, +0xBC, 0xBC, 0xAE, 0xDA, 0x87, 0x13, 0x52, 0xC1, 0x87, 0x13, 0x32, 0x97, 0xF9, 0x30, 0xDD, 0xDE, +0xAA, 0x61, 0x7A, 0x9A, 0x00, 0x1B, 0x83, 0x44, 0xF4, 0x10, 0x2D, 0x0B, 0x82, 0x62, 0xFE, 0x3E, +0xBE, 0xD4, 0x2E, 0xD6, 0x63, 0xE8, 0x85, 0x76, 0xB1, 0x9E, 0xD3, 0xED, 0xE3, 0x79, 0x03, 0x21, +0x25, 0x48, 0xEC, 0x53, 0xC6, 0x47, 0x92, 0x74, 0x33, 0x4B, 0x7C, 0x4C, 0x6A, 0x08, 0x59, 0xA7, +0x69, 0xA3, 0x13, 0x42, 0xAE, 0x50, 0xE7, 0x23, 0x55, 0x63, 0xE0, 0x5B, 0x6B, 0x89, 0x10, 0x62, +0x90, 0xC0, 0xC5, 0x9B, 0xC7, 0xF2, 0xAE, 0xFB, 0x65, 0x05, 0x1E, 0x62, 0x1C, 0xB2, 0x0C, 0x3E, +0x54, 0x13, 0xB1, 0x21, 0x0C, 0x42, 0xA4, 0xF0, 0xC3, 0x76, 0x79, 0x17, 0x41, 0xC8, 0xF6, 0x78, +0xE9, 0x68, 0x5C, 0x4A, 0xBA, 0xDB, 0x4D, 0x9A, 0x01, 0xAC, 0xB2, 0xF4, 0x4C, 0xE1, 0xA3, 0xC8, +0x47, 0xE8, 0x65, 0xF2, 0x20, 0xFC, 0xFD, 0x5A, 0xFC, 0x71, 0xA8, 0xC9, 0x83, 0xEC, 0xCD, 0x3F, +0x7C, 0x74, 0x36, 0xCF, 0x8C, 0xA5, 0x1D, 0x06, 0xD5, 0x1C, 0xF1, 0x68, 0x44, 0x42, 0xE6, 0xB3, +0x69, 0x7B, 0x71, 0x2B, 0xFC, 0x23, 0x15, 0x4D, 0x4C, 0x4D, 0xD9, 0x3E, 0xC2, 0x1B, 0x22, 0x02, +0x31, 0x16, 0xE2, 0x69, 0x5E, 0xEB, 0x7D, 0xEB, 0x0E, 0x12, 0x87, 0xF4, 0x29, 0xAF, 0x2A, 0x20, +0xBA, 0x87, 0x04, 0x1D, 0x5E, 0x55, 0x3E, 0x62, 0x20, 0x05, 0xFB, 0x98, 0x1F, 0xE9, 0x70, 0xA3, +0x6F, 0xB6, 0xC2, 0xA2, 0xC0, 0xAE, 0xBD, 0x4F, 0x01, 0x43, 0x64, 0x9C, 0x90, 0xE7, 0x3D, 0x3A, +0x68, 0x7C, 0x20, 0x0D, 0x0F, 0xA4, 0xF1, 0x81, 0x24, 0xFF, 0x40, 0xA2, 0x7F, 0x3C, 0x5B, 0xC1, +0x43, 0x18, 0x40, 0x1A, 0x56, 0x6C, 0x7C, 0xC4, 0xD8, 0x37, 0xE3, 0x84, 0x58, 0x0D, 0x3A, 0xA6, +0x12, 0x21, 0x6B, 0x00, 0xB9, 0xBA, 0x90, 0xF9, 0x88, 0x22, 0xDB, 0x47, 0x10, 0xF2, 0x6D, 0xD8, +0x45, 0xA2, 0xC4, 0x01, 0xF1, 0x3D, 0xAC, 0x6F, 0xEF, 0xBF, 0xBB, 0xF9, 0xEE, 0xE6, 0x3E, 0x0C, +0xC4, 0x0F, 0x2A, 0x1E, 0xBA, 0x87, 0x5C, 0xAD, 0x71, 0x10, 0xD3, 0x5A, 0xE1, 0xC3, 0xF1, 0xF0, +0xCE, 0xFC, 0xD5, 0x18, 0x1F, 0xB6, 0x08, 0xB6, 0xB6, 0x68, 0x6E, 0xD3, 0x79, 0x37, 0xB6, 0x43, +0x19, 0x70, 0xA4, 0xA6, 0x10, 0x22, 0x3E, 0xAB, 0x08, 0x1F, 0xFF, 0xE9, 0xC3, 0x8A, 0x1A, 0x1E, +0x68, 0xD4, 0x3F, 0x12, 0x1E, 0x0C, 0xD0, 0x68, 0x0C, 0x92, 0x86, 0x3E, 0xC6, 0x3E, 0x81, 0x32, +0x1D, 0x8D, 0x3F, 0xB8, 0xB8, 0x0A, 0x21, 0xDC, 0x58, 0xED, 0xA0, 0xF1, 0x41, 0x91, 0xF8, 0xA0, +0x9A, 0x71, 0xF8, 0x6E, 0x96, 0x63, 0x12, 0x89, 0xC2, 0x88, 0xDE, 0xF1, 0x99, 0x40, 0x64, 0x29, +0xF0, 0x21, 0x12, 0xB2, 0x84, 0x0F, 0xD1, 0x43, 0x2E, 0x63, 0x04, 0xA7, 0xE9, 0x38, 0x1D, 0x59, +0x65, 0xBD, 0x37, 0x4D, 0x6C, 0xC4, 0x3D, 0xCC, 0x4F, 0xCD, 0xC8, 0xAA, 0xD9, 0xEE, 0x8C, 0xCC, +0x01, 0x23, 0x44, 0xE3, 0x03, 0x09, 0x7C, 0xBC, 0xFC, 0xE3, 0xEE, 0x3A, 0x21, 0x87, 0x2A, 0x42, +0x82, 0x0F, 0x5A, 0x39, 0x94, 0x8B, 0xF5, 0x55, 0x8C, 0x7D, 0x33, 0x1A, 0xAA, 0xBF, 0x17, 0x78, +0x58, 0x13, 0x3C, 0x64, 0xDD, 0xF2, 0xC1, 0x2A, 0x6B, 0x59, 0xC3, 0x87, 0xF8, 0x34, 0x2F, 0x84, +0x04, 0x0C, 0xED, 0xB3, 0x58, 0xCE, 0x4B, 0xEC, 0x5F, 0xF1, 0x19, 0xEF, 0x6B, 0x7C, 0x40, 0x48, +0x19, 0x90, 0xE0, 0x9F, 0x5A, 0xF4, 0x90, 0x49, 0x3B, 0x82, 0xAD, 0x26, 0xA3, 0x7C, 0x84, 0x81, +0xF8, 0x91, 0xCD, 0xAC, 0x5C, 0x22, 0x04, 0xFF, 0x00, 0x11, 0x95, 0x0F, 0x42, 0xF5, 0x22, 0x1E, +0xFF, 0xF3, 0x6F, 0x98, 0x3A, 0x48, 0x7C, 0xD0, 0xF2, 0x3E, 0x4C, 0x78, 0x6E, 0xD5, 0x07, 0xDE, +0xF1, 0x18, 0x21, 0x64, 0x06, 0x1E, 0xD1, 0x9B, 0xAC, 0x15, 0xFF, 0xA0, 0x82, 0x48, 0x81, 0x0F, +0x8A, 0x82, 0x87, 0x35, 0xEA, 0x8D, 0xF3, 0x60, 0xCD, 0x9F, 0xE6, 0x4D, 0x3D, 0xA3, 0x05, 0x3C, +0x90, 0xC0, 0x87, 0x44, 0xC8, 0x92, 0xF8, 0x43, 0x34, 0x91, 0x29, 0xA3, 0x68, 0x25, 0x5E, 0x95, +0x1E, 0xC2, 0x8A, 0x08, 0xF1, 0x36, 0xFC, 0x03, 0x42, 0x06, 0xB7, 0xAF, 0xA2, 0x45, 0x0F, 0x42, +0xD4, 0xEF, 0x4A, 0x97, 0xF8, 0x40, 0x22, 0x1F, 0x48, 0xE3, 0x03, 0x15, 0xD2, 0x83, 0x39, 0x29, +0x7C, 0xD0, 0x36, 0x67, 0x0F, 0xB5, 0xC1, 0x47, 0xE3, 0x51, 0x1F, 0x16, 0x62, 0x98, 0x40, 0x48, +0xD6, 0x3F, 0xFA, 0x88, 0x94, 0x12, 0x22, 0xEB, 0xFE, 0xB4, 0xB1, 0x42, 0x42, 0xA4, 0xC0, 0x87, +0x46, 0x48, 0x4C, 0x7B, 0xF0, 0x08, 0x0F, 0x49, 0x95, 0x47, 0x4D, 0x4C, 0x9D, 0x8F, 0xE1, 0x21, +0x02, 0x1F, 0x92, 0x87, 0x5C, 0xE1, 0x1F, 0xD4, 0x41, 0x0F, 0x59, 0x9F, 0x46, 0x70, 0x6E, 0x8D, +0x58, 0x7D, 0x38, 0x3D, 0xE8, 0xCE, 0x61, 0x05, 0x03, 0x71, 0x42, 0x3A, 0x8F, 0xF5, 0xA2, 0xF3, +0x09, 0x50, 0x4C, 0x88, 0xEC, 0x73, 0x3A, 0xEC, 0x25, 0x3E, 0x90, 0xC8, 0x07, 0xD2, 0xF8, 0x40, +0x82, 0x7F, 0x28, 0x84, 0x6C, 0xE0, 0xA3, 0x10, 0x87, 0x30, 0xB4, 0x3E, 0xEC, 0x7E, 0x01, 0xAC, +0x36, 0xDE, 0x2D, 0xAD, 0xB2, 0xCC, 0x2F, 0x1C, 0x09, 0xBF, 0xB8, 0x6D, 0xCF, 0x08, 0x91, 0xED, +0xA3, 0xEC, 0x21, 0xCC, 0x46, 0x09, 0x90, 0x08, 0xB9, 0x03, 0x00, 0xBA, 0xDF, 0x9D, 0x96, 0x58, +0x37, 0xD6, 0xB5, 0x06, 0x1E, 0x9C, 0x93, 0x0A, 0x78, 0xC8, 0x88, 0x84, 0x7D, 0x08, 0x1E, 0x02, +0x1F, 0x31, 0x6C, 0xA9, 0xCE, 0xAD, 0xB5, 0x56, 0x92, 0xDF, 0x13, 0x09, 0xEB, 0x68, 0xFC, 0xEC, +0xA4, 0x34, 0xB1, 0xA3, 0x52, 0xF4, 0x8F, 0x7E, 0xDB, 0x6E, 0x24, 0x3E, 0x90, 0xC6, 0x07, 0xD2, +0xF8, 0x40, 0x1A, 0x1E, 0x48, 0xE2, 0x03, 0xD5, 0xF0, 0x91, 0x4D, 0x19, 0x92, 0xFE, 0x68, 0x02, +0x12, 0xEF, 0xBA, 0x85, 0x0F, 0x11, 0x32, 0x0D, 0xFF, 0x88, 0x8B, 0xCB, 0xCD, 0x6F, 0x3D, 0xF4, +0x7C, 0xC9, 0x00, 0x22, 0x4B, 0xC5, 0x3E, 0x28, 0x43, 0x7C, 0x64, 0x1C, 0x84, 0x6F, 0x9B, 0x8A, +0x6D, 0x5E, 0xE7, 0xA0, 0x8B, 0x10, 0xA8, 0x68, 0x80, 0x50, 0x34, 0x3E, 0xA8, 0xEB, 0x2C, 0x1F, +0x2E, 0x86, 0x8F, 0x17, 0x39, 0x40, 0xD2, 0xD2, 0xD7, 0x2F, 0x4C, 0xE0, 0xE1, 0x6A, 0xAC, 0x97, +0xD9, 0xCC, 0x62, 0x7B, 0x57, 0xF6, 0x90, 0xFD, 0xB0, 0x34, 0x3E, 0x90, 0xC6, 0x07, 0xD2, 0xF8, +0x40, 0x12, 0x1F, 0x48, 0xE1, 0x83, 0x96, 0x23, 0x24, 0xD2, 0xE7, 0x3E, 0xFE, 0x6E, 0x21, 0xD1, +0xF5, 0xF6, 0x5E, 0xDE, 0x3F, 0x60, 0x23, 0x6E, 0x7F, 0x71, 0x75, 0xD7, 0x82, 0x7F, 0x50, 0xB3, +0xA1, 0x7A, 0x61, 0x5A, 0x0E, 0xFB, 0xC7, 0xF9, 0xB4, 0x67, 0x95, 0x65, 0x80, 0x38, 0x2A, 0xF6, +0x1E, 0x95, 0xAE, 0x4B, 0xE3, 0x83, 0x52, 0x48, 0x7F, 0x68, 0x1E, 0x32, 0x69, 0xDD, 0x02, 0xFF, +0x0D, 0x33, 0x4E, 0x83, 0x9B, 0xF7, 0x8F, 0x45, 0xAC, 0x83, 0xFD, 0xEC, 0x16, 0x32, 0x98, 0x54, +0xDF, 0x02, 0x48, 0xA6, 0x3D, 0xEC, 0xC7, 0xF9, 0x40, 0x07, 0x8D, 0x0F, 0xA4, 0xE1, 0x81, 0x34, +0x3E, 0x90, 0xC4, 0x07, 0xCA, 0x7C, 0x97, 0x54, 0x96, 0x8F, 0x6C, 0x42, 0x84, 0xC7, 0x4B, 0x9A, +0x85, 0x9F, 0xC3, 0xC6, 0x7D, 0xF8, 0xF3, 0x09, 0x91, 0xD3, 0xF6, 0x2E, 0x17, 0x77, 0x4A, 0x9B, +0xE4, 0xD2, 0xE7, 0xF9, 0xEA, 0x65, 0x99, 0xF7, 0x0F, 0x1D, 0x91, 0x76, 0xBE, 0x73, 0xA6, 0x5A, +0x6B, 0x13, 0x85, 0xFC, 0x19, 0x15, 0xB7, 0x01, 0x11, 0x8D, 0x8F, 0x73, 0x40, 0x5E, 0xCB, 0xD9, +0x47, 0x2E, 0x21, 0xC2, 0xF6, 0x55, 0xDE, 0x41, 0xF2, 0x29, 0xC3, 0xD3, 0xF6, 0x7B, 0xBB, 0xAC, +0x4A, 0x2D, 0x42, 0x75, 0x12, 0x22, 0x1D, 0xFF, 0x18, 0x06, 0x04, 0x42, 0xE0, 0xA3, 0x28, 0x8D, +0x0F, 0x24, 0x02, 0x82, 0x32, 0x7C, 0xE8, 0x84, 0x3C, 0xEE, 0xC7, 0x94, 0x4B, 0x9F, 0xEB, 0x84, +0xC4, 0x90, 0x73, 0x6F, 0x0A, 0x43, 0x89, 0x78, 0xBD, 0x4F, 0x08, 0xFB, 0x57, 0x1C, 0x9D, 0x95, +0x78, 0x35, 0xD1, 0xFC, 0x83, 0x40, 0x44, 0xE1, 0x83, 0x92, 0xE1, 0xA3, 0x84, 0xC8, 0xCD, 0xD1, +0x41, 0xCC, 0x40, 0x06, 0xF8, 0xC0, 0x48, 0x72, 0x78, 0xE8, 0x88, 0x90, 0xFE, 0xC8, 0xD6, 0x7C, +0xFA, 0x1C, 0xEB, 0x98, 0xC6, 0x2B, 0x62, 0x92, 0x57, 0x9D, 0xF0, 0x3C, 0x1E, 0x2F, 0x69, 0xBC, +0x9D, 0x1C, 0x3F, 0x75, 0x4D, 0x67, 0x71, 0x48, 0x01, 0x0E, 0x6F, 0xA4, 0x0C, 0xC1, 0xA3, 0x2C, +0x81, 0x8F, 0xFF, 0xF2, 0xD7, 0x1F, 0x74, 0xF9, 0x38, 0x28, 0x84, 0xC0, 0x07, 0x78, 0x0C, 0xB5, +0xB3, 0xF4, 0xB9, 0x83, 0xE1, 0x36, 0x12, 0xD1, 0x5F, 0x54, 0x3F, 0x18, 0x21, 0x73, 0x4A, 0x18, +0x05, 0xDE, 0x11, 0x68, 0xF0, 0xDE, 0xA4, 0x10, 0x7E, 0x50, 0x49, 0xAA, 0x6B, 0x7C, 0x50, 0xF2, +0xE9, 0x0F, 0xCE, 0x3D, 0x13, 0x71, 0x40, 0xAC, 0x53, 0xC4, 0xC3, 0x9B, 0xC8, 0x07, 0x84, 0xBC, +0xC6, 0xF6, 0x6E, 0xD9, 0x3F, 0x48, 0x88, 0x90, 0x1E, 0x04, 0x87, 0xD4, 0x42, 0x81, 0x4A, 0x24, +0x44, 0xBA, 0x7C, 0x44, 0xF8, 0x61, 0xF2, 0x3E, 0x9C, 0x34, 0x8E, 0xCE, 0x0E, 0x13, 0x19, 0x9D, +0x00, 0xC4, 0x21, 0x0A, 0x1F, 0xFD, 0x84, 0xC8, 0xE3, 0xFF, 0xE0, 0x17, 0xE8, 0x68, 0xCB, 0x2B, +0xD4, 0xDF, 0xDE, 0xD5, 0x09, 0x69, 0x30, 0x6C, 0x32, 0x85, 0xAE, 0xE8, 0xC7, 0x76, 0x2F, 0xDB, +0xBB, 0xD3, 0x8C, 0x83, 0xC0, 0x4A, 0x9F, 0x90, 0x11, 0x40, 0xAC, 0xC4, 0x14, 0x83, 0x0F, 0x8D, +0x10, 0xF0, 0x28, 0x39, 0x48, 0x6C, 0xF3, 0x16, 0xDD, 0x83, 0xFF, 0x06, 0x3E, 0x34, 0x42, 0x78, +0xBA, 0x5D, 0xA9, 0x7C, 0xF7, 0xC7, 0xC9, 0x76, 0x23, 0x06, 0x61, 0x1B, 0x8B, 0xC8, 0x7D, 0x32, +0xED, 0x3E, 0xBD, 0xBB, 0x20, 0x49, 0x15, 0xA4, 0x78, 0xF7, 0xB4, 0xA5, 0xB5, 0xD8, 0x11, 0x7E, +0x14, 0x2E, 0x3E, 0xA1, 0xFA, 0x7E, 0x0F, 0x1F, 0x1A, 0x21, 0xE0, 0xA1, 0x13, 0xF2, 0xF2, 0xBF, +0x82, 0xED, 0x50, 0x47, 0x88, 0xFB, 0xC7, 0xE8, 0xF0, 0x9C, 0xE2, 0x8F, 0xC0, 0x81, 0x55, 0x56, +0xA6, 0x9E, 0xB6, 0x7B, 0xAD, 0x4E, 0x58, 0x53, 0xE1, 0x19, 0xDE, 0xE1, 0x70, 0x22, 0x64, 0x5D, +0x00, 0x24, 0x9F, 0x54, 0x97, 0xA6, 0x66, 0x0F, 0x90, 0x22, 0x1E, 0xF1, 0x1B, 0xA6, 0x8A, 0x7C, +0x98, 0xE2, 0x04, 0x1F, 0x15, 0x84, 0x2C, 0xF3, 0xE9, 0x8F, 0xA1, 0x84, 0xC8, 0xD5, 0x05, 0xBB, +0x1B, 0x7E, 0xA0, 0xB1, 0xDE, 0x4A, 0x9A, 0x90, 0x1E, 0x74, 0x32, 0x3C, 0x42, 0x27, 0x9D, 0x6B, +0x35, 0x48, 0x69, 0xFF, 0x20, 0x7E, 0xAC, 0x22, 0x8F, 0x97, 0x94, 0x4D, 0xC4, 0xD0, 0xD0, 0xF9, +0x38, 0xB4, 0x84, 0x3C, 0xAA, 0x82, 0x8F, 0x3A, 0x42, 0x5E, 0xEE, 0x97, 0x78, 0xB2, 0x7D, 0x25, +0xB4, 0x7E, 0xFA, 0x7C, 0x11, 0xEB, 0x29, 0x78, 0xA1, 0x4F, 0x42, 0xA4, 0x8F, 0x82, 0x7B, 0x06, +0xB0, 0x70, 0x58, 0x0B, 0xF6, 0x91, 0x49, 0x88, 0x88, 0x53, 0xB3, 0xE7, 0x1F, 0xA5, 0x15, 0x56, +0x7A, 0x7D, 0xFD, 0xDA, 0x8D, 0x75, 0xEC, 0xE3, 0x5F, 0x66, 0x8F, 0x5F, 0xDE, 0x5B, 0xF5, 0x0F, +0x24, 0x40, 0x96, 0x4B, 0x6B, 0xA2, 0xEE, 0x97, 0xAF, 0xBD, 0xFD, 0xFE, 0xD2, 0xE2, 0xF3, 0x2B, +0x45, 0x69, 0x3D, 0xC9, 0xF6, 0x2E, 0xBB, 0x1B, 0x20, 0xC2, 0xCB, 0xE8, 0x18, 0x1E, 0x53, 0xB2, +0xB7, 0x8B, 0x26, 0x56, 0xBD, 0xED, 0x35, 0xC2, 0x41, 0x3C, 0x37, 0x72, 0xEB, 0x84, 0xD8, 0xC5, +0x95, 0xE4, 0x09, 0x91, 0xE7, 0x7C, 0xFA, 0xFC, 0x70, 0x56, 0xD2, 0x21, 0x4D, 0x47, 0x75, 0xF2, +0x5A, 0x31, 0x44, 0x1E, 0x8F, 0x7C, 0xFC, 0xD5, 0xAB, 0x25, 0x42, 0x1E, 0x75, 0x04, 0x8F, 0x7C, +0x18, 0xE1, 0x9A, 0xF8, 0xEE, 0x0F, 0x91, 0x10, 0x53, 0xCC, 0x7F, 0xD6, 0xB7, 0xB8, 0x06, 0xFD, +0x63, 0x2F, 0xF9, 0x07, 0x57, 0x92, 0xE5, 0x15, 0x1D, 0x0E, 0x56, 0x9D, 0x90, 0x2B, 0x51, 0x17, +0xB6, 0x98, 0x4F, 0x0F, 0x92, 0xFB, 0x0F, 0xC2, 0x95, 0x9A, 0x4D, 0xE2, 0x48, 0x7F, 0x1C, 0x49, +0x89, 0x03, 0x67, 0xAA, 0xFF, 0x96, 0xDB, 0x37, 0x0B, 0xBA, 0xF1, 0x1A, 0x72, 0xFF, 0x90, 0x2A, +0x26, 0x72, 0x65, 0x94, 0x0B, 0x25, 0x45, 0x2A, 0x6B, 0x5F, 0x5F, 0xA9, 0x35, 0x3D, 0xBB, 0xD8, +0x86, 0xE3, 0x5E, 0x4D, 0xB8, 0x46, 0xCB, 0x09, 0x17, 0x2F, 0x3D, 0xFF, 0xBE, 0xDD, 0xA8, 0x78, +0x58, 0x3D, 0xFA, 0x47, 0x3A, 0x70, 0x2C, 0x08, 0xFF, 0xD0, 0x84, 0x7F, 0x68, 0xC2, 0x3E, 0x54, +0x42, 0xC0, 0x5B, 0x90, 0xFB, 0xC7, 0x76, 0x23, 0x56, 0x7F, 0xBA, 0xC4, 0x86, 0x5E, 0x53, 0xF2, +0x10, 0xBB, 0x62, 0xE2, 0xA5, 0xB5, 0x43, 0x22, 0xC4, 0x26, 0x84, 0x5C, 0x4C, 0xB1, 0xB8, 0x91, +0x9A, 0x89, 0x09, 0xDE, 0x3D, 0x72, 0x30, 0x45, 0xA2, 0xF0, 0xC7, 0x0F, 0xAF, 0x53, 0xB9, 0xFE, +0x22, 0x77, 0xBC, 0x4E, 0x35, 0xCA, 0x47, 0x1F, 0x5E, 0xDF, 0xBC, 0xF1, 0xC6, 0xC7, 0x7A, 0xF9, +0xF8, 0x8D, 0xC9, 0x07, 0x35, 0x4A, 0x43, 0x33, 0x99, 0x48, 0xD5, 0x0F, 0xB7, 0x4D, 0xB3, 0x08, +0x14, 0x22, 0x00, 0x89, 0x23, 0x06, 0xD2, 0xB4, 0x2E, 0x6F, 0xD7, 0x73, 0x65, 0xCF, 0xE7, 0x6D, +0x1E, 0x54, 0x6D, 0x0E, 0x7F, 0xD6, 0xE8, 0x97, 0x3F, 0x9F, 0x7E, 0xA8, 0xD2, 0xF7, 0x3F, 0x55, +0xEA, 0x87, 0x3A, 0x3D, 0xD9, 0x97, 0x54, 0xA3, 0xC3, 0x26, 0x06, 0x47, 0x39, 0xEE, 0x0F, 0xDB, +0x5B, 0xD6, 0x53, 0x3E, 0xDC, 0x7E, 0x8C, 0xB7, 0xD2, 0x2B, 0x17, 0xB7, 0xA9, 0xD9, 0x44, 0xBD, +0xB2, 0x8E, 0xC8, 0x07, 0x55, 0x9A, 0xA4, 0xB9, 0x26, 0x17, 0x9B, 0xC3, 0xD7, 0x1F, 0xDA, 0x84, +0x36, 0xF9, 0xC4, 0x6E, 0x4F, 0xD7, 0x3E, 0xE3, 0x4F, 0x8A, 0x37, 0x7E, 0x34, 0x40, 0xBE, 0xB0, +0xF2, 0x51, 0xF6, 0x48, 0xF1, 0x77, 0xAE, 0x3F, 0xAE, 0x91, 0x7D, 0x25, 0x1F, 0x54, 0xE9, 0xD3, +0x44, 0x88, 0x7A, 0x9F, 0xB1, 0xE3, 0xED, 0x5D, 0xD3, 0x34, 0x77, 0x5A, 0x59, 0x34, 0xCD, 0x76, +0x93, 0x16, 0x43, 0x0F, 0x5A, 0xB1, 0xE5, 0xD5, 0x9F, 0x7F, 0x3E, 0xFD, 0xF9, 0x98, 0x99, 0x4A, +0x8F, 0x67, 0x25, 0xE9, 0xE9, 0xE9, 0x87, 0xEF, 0xD3, 0xBC, 0x97, 0x8A, 0xD5, 0x6A, 0x40, 0xBE, +0xFF, 0xDE, 0xB9, 0x92, 0x9A, 0x1D, 0x9F, 0x9E, 0x2A, 0xE8, 0xB0, 0xCF, 0x9A, 0x89, 0x1C, 0x52, +0x39, 0xEC, 0xFD, 0x34, 0x72, 0xDC, 0x6C, 0x6D, 0x44, 0xEF, 0xF4, 0x72, 0xCB, 0x95, 0x55, 0xEA, +0xCC, 0xEE, 0xAC, 0x2A, 0x24, 0xF6, 0xC1, 0x4F, 0xDF, 0x88, 0x3B, 0xB2, 0xD8, 0xAE, 0xAF, 0xD3, +0xFD, 0xFE, 0xFA, 0x8B, 0x74, 0xCF, 0xFF, 0xD0, 0xCE, 0x7E, 0xFB, 0x77, 0x27, 0xB0, 0xAE, 0x4D, +0x7C, 0x3F, 0x1C, 0xFF, 0xF4, 0xDA, 0x00, 0x39, 0x1A, 0x48, 0xE6, 0xD8, 0x51, 0xBC, 0x53, 0x43, +0xAA, 0xC9, 0x3C, 0x44, 0x76, 0x91, 0x49, 0xD2, 0x4C, 0x5E, 0x61, 0xCD, 0x6F, 0xE7, 0xF3, 0xDB, +0x46, 0xD4, 0x62, 0xB1, 0xDA, 0x6E, 0x77, 0x29, 0x07, 0x78, 0x90, 0xCA, 0xC3, 0x3E, 0x45, 0xB8, +0x35, 0x53, 0xCC, 0xE4, 0xD3, 0x53, 0xD3, 0xF7, 0x49, 0xC3, 0x2C, 0x44, 0x8B, 0xA3, 0x77, 0x92, +0x6A, 0x0C, 0xE4, 0xA9, 0x8A, 0x10, 0x5B, 0x22, 0xFA, 0xF3, 0xEF, 0xD6, 0x4C, 0xD1, 0x3B, 0xF4, +0xFB, 0x71, 0xD8, 0xEF, 0x37, 0x36, 0x9A, 0x2B, 0x0B, 0xEE, 0x34, 0xDD, 0x2D, 0xE6, 0xB3, 0xDB, +0xF9, 0x6C, 0x52, 0x81, 0xC7, 0xC4, 0x9A, 0x24, 0xFF, 0xD8, 0x1B, 0x26, 0xDD, 0x43, 0x6E, 0x12, +0x20, 0xB1, 0x2A, 0xF2, 0xDA, 0x2D, 0x61, 0x24, 0xDE, 0x0F, 0x40, 0x5C, 0xED, 0x1F, 0x22, 0xB7, +0x1D, 0xAA, 0xC1, 0x71, 0x63, 0x2D, 0x39, 0x94, 0x54, 0x42, 0x93, 0x1A, 0x3C, 0x3E, 0x50, 0xC7, +0xF0, 0xC8, 0x87, 0x1D, 0x34, 0x3C, 0xEE, 0x9A, 0xD5, 0xD6, 0x2E, 0xE9, 0x6E, 0x73, 0x48, 0x84, +0x8C, 0xD7, 0x87, 0x34, 0x61, 0xAC, 0x55, 0xF0, 0xE1, 0xD2, 0xF9, 0x70, 0x05, 0x02, 0xDF, 0x47, +0xA1, 0x13, 0xED, 0x7B, 0x70, 0x01, 0x10, 0xC5, 0x40, 0xE2, 0xCB, 0x91, 0xFD, 0xC3, 0x83, 0xA8, +0x3D, 0x77, 0x0F, 0xB0, 0xE8, 0xF7, 0x13, 0x1F, 0x87, 0x8D, 0x6D, 0x77, 0x38, 0x21, 0x92, 0x7D, +0x34, 0x8B, 0xB9, 0x6B, 0xA6, 0xE2, 0x61, 0x92, 0xEF, 0xAB, 0x81, 0x87, 0x4E, 0x88, 0xF9, 0x87, +0xCF, 0xE4, 0xE0, 0x83, 0xC9, 0x9F, 0x2F, 0x09, 0x90, 0x98, 0xFF, 0xED, 0xE7, 0xA2, 0x02, 0x58, +0x54, 0xFB, 0x8B, 0xAD, 0xEA, 0x1E, 0xD2, 0x4A, 0xFB, 0xA7, 0x26, 0x36, 0x3E, 0x0D, 0x0B, 0x11, +0xF9, 0x70, 0xDD, 0x2A, 0x8B, 0xAC, 0xC5, 0xC2, 0x2E, 0x68, 0xB2, 0x90, 0xD5, 0xB6, 0x4C, 0x48, +0x4C, 0x8F, 0xCD, 0xBE, 0xDD, 0x22, 0x4D, 0x0B, 0x2A, 0x41, 0x4F, 0x76, 0xC7, 0xD6, 0x3D, 0xE4, +0x29, 0xF8, 0x30, 0x42, 0x8A, 0x02, 0x12, 0xFF, 0xB0, 0xEE, 0x21, 0x4F, 0xAD, 0xD4, 0x00, 0x2A, +0xE1, 0xE1, 0x84, 0xC0, 0x42, 0x9C, 0x7A, 0x7D, 0xF7, 0x8F, 0x34, 0x8E, 0xAB, 0x20, 0x44, 0xD0, +0xED, 0x3C, 0xA4, 0xF1, 0x61, 0x80, 0xD8, 0xAA, 0xC9, 0x8E, 0x33, 0x69, 0xDA, 0x4C, 0xDE, 0x70, +0xE9, 0x84, 0xA4, 0x69, 0x6C, 0x0D, 0x2C, 0xBA, 0xEE, 0x81, 0x4D, 0xF8, 0xD9, 0x62, 0x90, 0xCF, +0xE3, 0x6D, 0x3E, 0x92, 0x35, 0x1E, 0xFE, 0x5E, 0xC9, 0x43, 0x90, 0xE4, 0x21, 0x93, 0x59, 0xFA, +0xB7, 0xDA, 0x51, 0x5A, 0x64, 0xC1, 0x87, 0xB4, 0xCA, 0x5A, 0x34, 0xE9, 0x6A, 0xA6, 0x66, 0xE5, +0xB4, 0xCA, 0xCA, 0x57, 0x3F, 0xF8, 0x74, 0xF1, 0x92, 0x02, 0x11, 0x81, 0x0F, 0xA4, 0x10, 0xF2, +0x3D, 0x0A, 0x0B, 0xF1, 0x13, 0x3D, 0x2A, 0xEB, 0x2B, 0x08, 0x29, 0xFA, 0x54, 0x42, 0xF4, 0x09, +0x69, 0xFE, 0x11, 0x7C, 0xD8, 0x5D, 0xA1, 0xCB, 0x02, 0x5D, 0x50, 0xD9, 0x1F, 0x12, 0x1F, 0x49, +0x76, 0x14, 0x3C, 0x04, 0x3E, 0x44, 0x0F, 0x31, 0xD9, 0xC1, 0x20, 0xD1, 0x5C, 0xE4, 0x0D, 0x24, +0xAD, 0xAF, 0x7C, 0x12, 0xFB, 0x34, 0x66, 0xC2, 0x9F, 0x15, 0x2C, 0xE2, 0x23, 0x73, 0x90, 0x77, +0x2D, 0x18, 0x19, 0x2E, 0xE0, 0x61, 0x25, 0x08, 0x91, 0xF8, 0x40, 0x09, 0xF4, 0x31, 0xF9, 0xB8, +0x04, 0x22, 0xE3, 0xA3, 0x38, 0x77, 0x41, 0x48, 0xD1, 0x3E, 0x9C, 0x8F, 0x40, 0x64, 0x67, 0x84, +0x70, 0xA3, 0xEC, 0x7B, 0x87, 0xC3, 0x93, 0xF8, 0x70, 0x36, 0xBC, 0x0A, 0x71, 0xC8, 0xEF, 0x4F, +0xC8, 0x4D, 0xA4, 0x58, 0xE0, 0x03, 0x0F, 0x81, 0x05, 0x7A, 0xBC, 0x48, 0x7C, 0x20, 0xC9, 0x3F, +0x42, 0x66, 0x6C, 0xE3, 0x78, 0x1C, 0xBD, 0xB2, 0xFD, 0x17, 0x3B, 0x0A, 0xBD, 0xFB, 0x05, 0x9D, +0x07, 0x33, 0xE0, 0xF0, 0x0F, 0xAB, 0x26, 0x1B, 0x5D, 0xC5, 0x3F, 0xF0, 0x90, 0x51, 0xFF, 0x70, +0x32, 0x7C, 0x31, 0x61, 0x3D, 0xD5, 0x3F, 0x30, 0x11, 0x61, 0x7D, 0xE5, 0xD3, 0x18, 0x0B, 0xA1, +0x9C, 0x59, 0x84, 0x51, 0xF2, 0xEE, 0xE7, 0xAF, 0xFD, 0xF8, 0x95, 0x85, 0xEC, 0xD6, 0x2F, 0x96, +0x60, 0xC3, 0x29, 0x11, 0x3C, 0x04, 0x49, 0xAB, 0x2C, 0x87, 0x23, 0xA1, 0x11, 0xAB, 0x2C, 0x89, +0x0F, 0x08, 0x29, 0x5D, 0xA3, 0xE0, 0x63, 0x75, 0xB2, 0x90, 0xDD, 0xEA, 0x61, 0xEF, 0x24, 0xE4, +0xBC, 0x23, 0xF8, 0xD8, 0x53, 0xED, 0x30, 0xE6, 0x21, 0x4F, 0x5D, 0x55, 0xF8, 0x07, 0x71, 0x48, +0xC7, 0x34, 0x08, 0x48, 0xE0, 0x03, 0x29, 0xFE, 0x81, 0x7E, 0x10, 0x96, 0x57, 0x4E, 0x47, 0x92, +0x7B, 0x48, 0x0C, 0x42, 0x90, 0xB1, 0x6F, 0x17, 0x56, 0x11, 0x9E, 0x3F, 0x04, 0x19, 0x26, 0xEF, +0xDC, 0x2D, 0x46, 0xF8, 0x88, 0x8B, 0x85, 0x87, 0x8C, 0xF0, 0xE1, 0x60, 0xA4, 0x49, 0xE0, 0x47, +0xD1, 0x3F, 0xD4, 0x65, 0x96, 0xE3, 0x91, 0x8A, 0x9F, 0x6E, 0x46, 0x26, 0xBD, 0xED, 0x65, 0x7D, +0xF4, 0xEE, 0x8F, 0xAF, 0x7D, 0xF3, 0xEE, 0x47, 0xEF, 0x8E, 0x11, 0x02, 0x1B, 0x56, 0xC7, 0x3D, +0x04, 0x49, 0x1E, 0x92, 0x6E, 0x15, 0x31, 0x30, 0x01, 0x4A, 0x79, 0x10, 0xFD, 0xA6, 0x84, 0x7C, +0xBB, 0x77, 0xC0, 0x3D, 0x6C, 0x07, 0xE5, 0x2E, 0x2E, 0xA5, 0x1D, 0x5D, 0xEE, 0x21, 0x00, 0xC1, +0xDA, 0x9A, 0xF0, 0x1C, 0x3C, 0xBC, 0x15, 0x09, 0xF9, 0x9D, 0x19, 0xD9, 0x59, 0x65, 0x3D, 0x65, +0x5B, 0x9F, 0x8F, 0xF3, 0xED, 0x5E, 0x5E, 0x07, 0x2A, 0x7D, 0xE5, 0x43, 0xF5, 0x78, 0x13, 0xFF, +0x40, 0xA3, 0xFE, 0xC1, 0x8A, 0x92, 0xCD, 0xAC, 0xCE, 0xB0, 0x70, 0xEF, 0xD8, 0xEC, 0x56, 0xDC, +0x6E, 0xEC, 0x90, 0x08, 0x19, 0x5E, 0x66, 0x35, 0xCD, 0xFC, 0x4C, 0xE5, 0x6B, 0xEB, 0xE6, 0xE1, +0x93, 0x20, 0xB6, 0x6C, 0x8A, 0xF7, 0x55, 0xF8, 0x10, 0x97, 0x59, 0xCE, 0x07, 0xB5, 0x34, 0xE9, +0xDD, 0x3F, 0xBE, 0xFA, 0xF0, 0xAB, 0x14, 0xA4, 0x7F, 0x94, 0xCA, 0xF0, 0x27, 0x83, 0x0F, 0x28, +0x49, 0x7A, 0x43, 0xE0, 0x43, 0xF4, 0x90, 0xC9, 0xC9, 0x3B, 0xD2, 0xD9, 0x4F, 0xB3, 0x52, 0xF8, +0x71, 0xA6, 0xD9, 0x7C, 0x31, 0xB8, 0xC1, 0xB8, 0x08, 0x38, 0xAC, 0xC6, 0x29, 0x6D, 0x66, 0xED, +0xE3, 0xB2, 0xE3, 0x23, 0xAC, 0x21, 0xE0, 0xE3, 0xD8, 0xB5, 0x93, 0x6A, 0x1F, 0xAC, 0xB2, 0x14, +0xFF, 0x00, 0x11, 0xFC, 0xC3, 0xFB, 0x5D, 0x37, 0x41, 0xC3, 0x1E, 0x02, 0x24, 0x4F, 0x19, 0x8D, +0x85, 0xE7, 0xAD, 0x57, 0x76, 0x43, 0xF5, 0x40, 0xA3, 0x6D, 0x7B, 0xAB, 0xF0, 0xB1, 0x05, 0x91, +0x66, 0xD8, 0x44, 0x16, 0xF8, 0x87, 0x40, 0x88, 0xB5, 0xA3, 0xD2, 0x39, 0x26, 0x44, 0x61, 0xB7, +0x97, 0xE5, 0x95, 0xE2, 0x21, 0xF8, 0x07, 0xD5, 0x36, 0x7C, 0x87, 0x11, 0x71, 0xFF, 0x30, 0x30, +0xBE, 0x49, 0x0E, 0x12, 0x1E, 0x32, 0xF8, 0x51, 0xFB, 0x8B, 0xBA, 0x90, 0x98, 0x86, 0x60, 0x85, +0x0F, 0xD1, 0x43, 0x0C, 0x0F, 0xBF, 0x57, 0x78, 0xF3, 0x62, 0xAF, 0x87, 0x43, 0xB8, 0x79, 0x4E, +0x83, 0x84, 0x38, 0x1F, 0x78, 0x87, 0x2B, 0x08, 0x31, 0xE1, 0x23, 0xED, 0x9D, 0x32, 0xAD, 0x32, +0xC0, 0xC3, 0x5A, 0x78, 0xC8, 0xEF, 0x02, 0x1F, 0x48, 0x5C, 0x5F, 0x09, 0x9B, 0x59, 0x86, 0x4F, +0x4E, 0xD9, 0x48, 0xDD, 0x03, 0xF8, 0xAC, 0xCA, 0xEB, 0x2B, 0x1C, 0x24, 0x7A, 0x87, 0x18, 0x17, +0x96, 0x5B, 0x61, 0x26, 0xCE, 0x07, 0x23, 0x1A, 0xB0, 0xEC, 0xB2, 0x39, 0x43, 0xBB, 0x22, 0x77, +0xF3, 0xAC, 0x4A, 0xE1, 0x87, 0x17, 0x3F, 0x3B, 0x22, 0x8E, 0x8B, 0x10, 0x7E, 0x28, 0x71, 0x88, +0xF1, 0x91, 0xB9, 0xD3, 0x0F, 0x13, 0x62, 0x70, 0x18, 0x15, 0xE6, 0x20, 0x1E, 0x83, 0x94, 0x56, +0x59, 0x04, 0x36, 0x6C, 0xF5, 0x16, 0x3C, 0x64, 0x48, 0x93, 0x52, 0x70, 0x1E, 0x59, 0x90, 0x38, +0x17, 0x36, 0xB3, 0x06, 0xC6, 0x7C, 0x9E, 0x5D, 0x65, 0xDD, 0x3A, 0x1F, 0xAB, 0x9E, 0x85, 0x04, +0x21, 0x2C, 0xB5, 0x89, 0x41, 0x83, 0x0A, 0xAA, 0x37, 0x93, 0xC6, 0x47, 0x39, 0x52, 0x07, 0x8F, +0x0C, 0x21, 0x99, 0x3D, 0x2C, 0xEC, 0x43, 0x30, 0x91, 0x27, 0xFC, 0x23, 0xA3, 0xE1, 0xF5, 0x95, +0xD5, 0x8E, 0x83, 0xF8, 0x21, 0xBC, 0x23, 0x52, 0xA6, 0xD1, 0x0F, 0xFF, 0x60, 0x40, 0xF1, 0x92, +0xDC, 0xED, 0xC9, 0x10, 0x99, 0x0F, 0x68, 0x56, 0xB0, 0x8F, 0xB0, 0x10, 0x02, 0x91, 0x84, 0x82, +0x14, 0x7E, 0x40, 0xC8, 0xE0, 0xF6, 0x95, 0x83, 0xD1, 0xA7, 0x64, 0xD0, 0x3F, 0x8E, 0xC6, 0x61, +0x31, 0x88, 0xD3, 0x31, 0xE4, 0x21, 0x99, 0xBF, 0x93, 0x55, 0x56, 0xC1, 0x3F, 0x54, 0x0F, 0x89, +0x98, 0xC3, 0xB3, 0x20, 0x9C, 0xDD, 0x43, 0x06, 0xD2, 0xE7, 0x39, 0xE5, 0x53, 0x86, 0x8B, 0x66, +0xD5, 0xBD, 0x90, 0xF4, 0x76, 0xDB, 0xFD, 0x9E, 0xA5, 0x55, 0xDB, 0x05, 0x8C, 0xA8, 0xAC, 0xB3, +0xFE, 0x7C, 0x7A, 0xCC, 0xA6, 0x3F, 0x86, 0x24, 0xD9, 0x07, 0x1A, 0x88, 0x40, 0x4C, 0x22, 0x21, +0xC4, 0x1F, 0x3A, 0x21, 0xB1, 0x7B, 0x85, 0x83, 0xF0, 0xF2, 0xC4, 0x05, 0x5B, 0xDF, 0xFB, 0x34, +0x6A, 0x67, 0x0E, 0x32, 0x9C, 0x10, 0xE1, 0x4A, 0x29, 0x1E, 0x62, 0x2D, 0x0C, 0x84, 0x5D, 0xAC, +0x59, 0x9B, 0x3D, 0x56, 0xFC, 0x03, 0x15, 0xFC, 0xA3, 0xCF, 0x86, 0xD7, 0x2C, 0x22, 0x89, 0x07, +0x2B, 0x11, 0x83, 0x80, 0x48, 0xFF, 0x63, 0x9E, 0x73, 0xE4, 0x2F, 0xA4, 0xFA, 0x41, 0xC2, 0x03, +0x4D, 0xB2, 0xFE, 0x11, 0x03, 0x61, 0x8D, 0xB3, 0xF5, 0x9C, 0x10, 0x81, 0x0F, 0x08, 0xB9, 0xCB, +0x3D, 0x5E, 0xD2, 0x75, 0x10, 0xDA, 0x2A, 0x11, 0xD2, 0xDE, 0x20, 0xE1, 0x63, 0x00, 0x11, 0x93, +0xEA, 0x1F, 0x78, 0xC8, 0x38, 0x1F, 0x08, 0xD3, 0x28, 0xFB, 0x07, 0x7A, 0x22, 0x54, 0x8F, 0xDE, +0x53, 0x49, 0x19, 0xFF, 0xC0, 0x37, 0xE8, 0x9D, 0x98, 0x09, 0x38, 0xF6, 0x71, 0xB4, 0xDA, 0xBB, +0xCB, 0x70, 0xC8, 0x25, 0xD5, 0xE1, 0x43, 0xF2, 0x90, 0xD8, 0xDE, 0x0D, 0x79, 0xAF, 0x5D, 0x65, +0xF9, 0x0A, 0x7C, 0xA2, 0xF9, 0x07, 0x88, 0xE4, 0xC3, 0xF3, 0xDC, 0x24, 0xB6, 0x96, 0xDB, 0xBE, +0x72, 0x28, 0xAC, 0x58, 0x0C, 0xF2, 0x79, 0x3A, 0x45, 0xEB, 0x7D, 0xD6, 0xFD, 0x83, 0xBF, 0x96, +0xDA, 0x6E, 0x66, 0x9D, 0xE1, 0x8A, 0x94, 0x50, 0xDD, 0x40, 0x60, 0x7B, 0xB7, 0x73, 0x0E, 0x52, +0xB2, 0xE9, 0xF3, 0x82, 0x87, 0x74, 0xD2, 0x1F, 0x77, 0x1D, 0x3C, 0xFC, 0x48, 0xF3, 0xCD, 0x2C, +0xA2, 0xF3, 0x24, 0xFB, 0x9E, 0x8E, 0x41, 0x3C, 0xF0, 0x90, 0x1E, 0x1F, 0xAA, 0x85, 0x3C, 0x65, +0xF8, 0x28, 0x25, 0x44, 0xE0, 0x43, 0xF5, 0x90, 0xA7, 0xB2, 0xF2, 0xFE, 0x91, 0x75, 0x10, 0x12, +0x22, 0x54, 0xE3, 0x63, 0x77, 0x4E, 0x07, 0x77, 0x9E, 0x66, 0xA1, 0xF9, 0x47, 0x3E, 0x21, 0x62, +0x87, 0xD6, 0x40, 0xBA, 0xBB, 0x58, 0x93, 0x48, 0x01, 0xE4, 0xFD, 0x43, 0x27, 0xE4, 0x0C, 0x8F, +0x78, 0x91, 0xF7, 0x10, 0x67, 0x03, 0x07, 0xC1, 0x40, 0xBE, 0x4A, 0x48, 0xF0, 0xB9, 0xF0, 0x8F, +0x21, 0x07, 0x39, 0x4F, 0xAA, 0x23, 0x65, 0x99, 0xC5, 0x2D, 0xE3, 0xD3, 0x70, 0x92, 0x78, 0xA7, +0xC5, 0xA6, 0xE3, 0x21, 0xC3, 0xFE, 0xC1, 0x76, 0x6F, 0x37, 0xFD, 0x91, 0xBB, 0x9A, 0x70, 0xE2, +0x29, 0xC3, 0xD3, 0xDE, 0xEE, 0x29, 0xFE, 0xC8, 0x22, 0x42, 0x42, 0x44, 0xE6, 0x83, 0xA4, 0x3A, +0xFE, 0x51, 0x16, 0x78, 0x84, 0x93, 0x8C, 0xE9, 0x49, 0x89, 0xCF, 0xD1, 0xEF, 0x9D, 0x2F, 0x9E, +0x1D, 0x88, 0xAC, 0x83, 0x58, 0xE7, 0xB4, 0x79, 0x45, 0xFA, 0x83, 0xC6, 0x81, 0xA4, 0x3A, 0x26, +0x02, 0x1F, 0x83, 0xCA, 0xA6, 0xCF, 0xE3, 0xBE, 0xC8, 0x64, 0xB0, 0x16, 0xDB, 0x9B, 0x35, 0xFE, +0x01, 0x21, 0xF0, 0x91, 0x9B, 0xC7, 0x64, 0xBE, 0x3B, 0x78, 0x60, 0x20, 0x56, 0x22, 0x93, 0x7E, +0x32, 0x91, 0x4E, 0x20, 0xD2, 0xFF, 0x8B, 0xA8, 0x44, 0xEB, 0x20, 0x62, 0x3D, 0x85, 0x10, 0xC4, +0x9A, 0x33, 0xA0, 0x88, 0x33, 0x43, 0xC4, 0x00, 0x76, 0xD3, 0x83, 0x42, 0x1C, 0x72, 0xEB, 0xE9, +0xF3, 0x02, 0x22, 0x4E, 0x48, 0x6C, 0x5E, 0x45, 0xFA, 0x3C, 0x8F, 0x07, 0x53, 0xA9, 0x8B, 0x07, +0x33, 0x72, 0x34, 0x54, 0x87, 0x8F, 0x22, 0x21, 0x1D, 0x46, 0x04, 0x65, 0xD2, 0x83, 0x25, 0xF5, +0xD3, 0x1F, 0xD6, 0xF2, 0x0E, 0x12, 0xAC, 0x90, 0x3A, 0x4D, 0xE9, 0x73, 0xE8, 0xC8, 0x39, 0x48, +0x24, 0x44, 0xF0, 0x8F, 0x51, 0x9D, 0xA7, 0xCF, 0x09, 0x44, 0x71, 0x90, 0x24, 0x1E, 0xCC, 0x22, +0xFD, 0x21, 0xA8, 0xEB, 0x1F, 0xB9, 0x79, 0xCC, 0xD9, 0xD4, 0xF5, 0x0F, 0x1C, 0xC4, 0x77, 0xB1, +0x58, 0x64, 0xD9, 0x5B, 0xF0, 0x61, 0xFE, 0x31, 0x8A, 0x88, 0x6A, 0x1F, 0xAC, 0xB2, 0xFA, 0xFE, +0x11, 0x9B, 0xBC, 0xEE, 0x24, 0x9C, 0x03, 0x1C, 0x6E, 0x31, 0x73, 0xFC, 0xA3, 0xE8, 0x21, 0xB1, +0x7D, 0x75, 0xC7, 0xB5, 0x2B, 0xD8, 0x08, 0xA1, 0x68, 0x70, 0x90, 0x47, 0xE4, 0xD4, 0xE1, 0x7B, +0x42, 0xD2, 0x2D, 0x59, 0x20, 0x04, 0xFF, 0x10, 0xA4, 0xF9, 0x07, 0x32, 0x2C, 0x04, 0x3E, 0x72, +0x49, 0x75, 0x62, 0x8D, 0x41, 0x07, 0x89, 0x5F, 0x18, 0x7D, 0x88, 0xF4, 0xC7, 0x98, 0x83, 0x38, +0x21, 0xB6, 0xB0, 0x8D, 0xF4, 0xA0, 0xA2, 0x09, 0xE1, 0x79, 0xD0, 0x10, 0x01, 0x28, 0xCB, 0x0A, +0x47, 0x25, 0x9C, 0x44, 0xE5, 0x03, 0x0F, 0x81, 0x8F, 0x82, 0x83, 0xF4, 0x93, 0xEA, 0xCE, 0x47, +0x27, 0x06, 0xF9, 0x31, 0x5E, 0xB4, 0xE0, 0xC0, 0xC7, 0x10, 0x1E, 0xE0, 0x68, 0xBA, 0xA9, 0x02, +0x84, 0x50, 0xBD, 0xBB, 0xE6, 0x8C, 0x81, 0xE1, 0xEC, 0x22, 0xA9, 0x3E, 0x01, 0x8F, 0x32, 0x21, +0x8B, 0x78, 0xBC, 0x9D, 0x6B, 0x97, 0x3F, 0x44, 0x8B, 0xED, 0x5E, 0x9F, 0x16, 0x05, 0x07, 0x39, +0x1D, 0xD9, 0xBE, 0x92, 0x04, 0x1F, 0x92, 0x08, 0x3F, 0x44, 0xB1, 0x7D, 0xA5, 0xA9, 0x9B, 0x1E, +0x2C, 0x3A, 0x88, 0x19, 0x66, 0x24, 0xD5, 0xF7, 0x9B, 0x02, 0x1D, 0xD6, 0xE8, 0x5B, 0xDC, 0x97, +0x46, 0x5F, 0xE3, 0xE3, 0xB6, 0x97, 0x3E, 0x27, 0x00, 0x9D, 0x91, 0x07, 0x71, 0x1D, 0x09, 0x99, +0xB1, 0xBE, 0x52, 0x09, 0x69, 0xB7, 0xAF, 0x0A, 0x0E, 0x12, 0xD5, 0x84, 0x7F, 0x14, 0x1C, 0x84, +0xA4, 0x7A, 0x64, 0x3B, 0x0A, 0x0E, 0x42, 0xCA, 0x10, 0x3E, 0x74, 0x42, 0x26, 0x21, 0x50, 0x88, +0x47, 0x4D, 0xFC, 0xDC, 0x9A, 0x88, 0xF5, 0x1D, 0x0F, 0xE7, 0x43, 0xD3, 0x1D, 0xDB, 0x57, 0x23, +0x0E, 0x42, 0xCA, 0xF0, 0xE0, 0xEB, 0xAB, 0x82, 0x83, 0x78, 0xC1, 0x43, 0x9E, 0x64, 0xC5, 0x3E, +0x93, 0x2C, 0xF8, 0xD0, 0x44, 0x7C, 0xAE, 0xA9, 0xF7, 0x78, 0x62, 0xDE, 0x41, 0xA0, 0x85, 0xF4, +0x79, 0x81, 0x11, 0xBA, 0xB6, 0x99, 0x05, 0x1F, 0x82, 0xC2, 0x3F, 0xB8, 0x41, 0x4E, 0x38, 0xFB, +0xE9, 0x94, 0x38, 0x3C, 0x26, 0xD5, 0xAD, 0xC0, 0x87, 0xE4, 0x21, 0x11, 0x7E, 0x94, 0x1D, 0x84, +0xA4, 0xFA, 0xC9, 0x3F, 0x08, 0x42, 0xCC, 0x41, 0x58, 0x60, 0xE1, 0x21, 0x9E, 0x3D, 0xB7, 0x52, +0x76, 0x90, 0x10, 0x7C, 0xC8, 0x84, 0x4C, 0x3A, 0x3B, 0x16, 0x0C, 0x90, 0xDB, 0x0A, 0xE4, 0x78, +0xD7, 0x06, 0x71, 0xAE, 0x2B, 0x05, 0x22, 0x5C, 0xC8, 0xF2, 0xC1, 0x09, 0x89, 0xF0, 0xBC, 0xEC, +0x20, 0x78, 0x08, 0xFE, 0x21, 0x09, 0x3C, 0x34, 0xF9, 0x16, 0x6F, 0x8D, 0xE0, 0x43, 0x25, 0x04, +0xE7, 0x28, 0x3B, 0x48, 0x10, 0x62, 0x7C, 0x48, 0x0E, 0xE2, 0x47, 0xF8, 0x90, 0x14, 0xE9, 0x73, +0x47, 0xC4, 0x44, 0xEC, 0x41, 0x1E, 0xC4, 0x4E, 0xE4, 0x0E, 0xD9, 0xBE, 0x12, 0x11, 0xF1, 0xF4, +0x87, 0xE2, 0x20, 0x11, 0xA9, 0x03, 0x46, 0x0B, 0x4A, 0xC6, 0x41, 0xAC, 0x97, 0xF0, 0x80, 0x86, +0x92, 0x83, 0x44, 0x42, 0x04, 0xAE, 0x25, 0x42, 0x42, 0x31, 0x32, 0x0C, 0x00, 0x90, 0x44, 0x24, +0x62, 0x95, 0xED, 0x2B, 0x4D, 0xB3, 0xC5, 0xD6, 0xA4, 0x32, 0xB2, 0x6A, 0xB6, 0xCC, 0x8A, 0xB2, +0x83, 0xC4, 0xE7, 0x2A, 0xF8, 0xF0, 0x40, 0xE5, 0xFB, 0x2A, 0xC1, 0x87, 0xAA, 0xA7, 0x3A, 0x79, +0xFA, 0x83, 0x36, 0xE0, 0x20, 0x14, 0x1F, 0x28, 0xD1, 0x41, 0x4C, 0xB7, 0xF3, 0x59, 0x15, 0x21, +0x5C, 0x7D, 0x02, 0xD0, 0x98, 0x18, 0xF1, 0x66, 0x6C, 0xE6, 0xA4, 0x0E, 0xE1, 0x87, 0x26, 0xD2, +0x1F, 0x45, 0x07, 0xA1, 0xEB, 0x60, 0xF4, 0x1D, 0xE4, 0x1B, 0xEF, 0x77, 0xC1, 0x61, 0xF2, 0x2B, +0x0E, 0x62, 0x80, 0xD4, 0xC9, 0x97, 0x4E, 0x04, 0x1F, 0x24, 0x4F, 0xFD, 0x6D, 0x8C, 0x36, 0x02, +0x95, 0xAA, 0x21, 0x37, 0x9A, 0xC6, 0xA0, 0xE0, 0xE0, 0x7B, 0x59, 0x9E, 0xFF, 0x18, 0x77, 0x10, +0xEF, 0x39, 0x20, 0x75, 0xAA, 0x07, 0xA4, 0xCA, 0x73, 0x54, 0x03, 0x01, 0x10, 0xDD, 0x41, 0x6C, +0xE5, 0x79, 0xB0, 0x11, 0x92, 0x6E, 0x37, 0xD1, 0xB8, 0x95, 0x89, 0x71, 0x08, 0x8B, 0x28, 0xA8, +0x60, 0xC9, 0xED, 0x07, 0xDC, 0xA4, 0x1E, 0x90, 0x8F, 0x35, 0x07, 0x09, 0x92, 0xE0, 0xA0, 0x10, +0x83, 0xD8, 0xD9, 0x27, 0xBD, 0xE6, 0x20, 0xBE, 0x7E, 0xAB, 0x5C, 0x62, 0x7D, 0xFA, 0x46, 0xCC, +0x7E, 0x6C, 0x34, 0x56, 0x9C, 0x0C, 0x53, 0xF8, 0x88, 0x6F, 0xF5, 0xD6, 0xDD, 0x94, 0xEE, 0xEE, +0x2C, 0x44, 0x57, 0x11, 0xD9, 0xAD, 0x36, 0xA6, 0x3D, 0xB7, 0xD5, 0xB2, 0x83, 0x58, 0xDF, 0x42, +0xDC, 0xA7, 0x0A, 0x11, 0xA2, 0xEB, 0x41, 0x48, 0x1D, 0x1F, 0x75, 0x84, 0xF0, 0x84, 0xA2, 0xE0, +0x20, 0x7F, 0xEE, 0x1F, 0x6C, 0x74, 0x56, 0xBB, 0x2E, 0x06, 0x85, 0x83, 0x6D, 0x64, 0xF1, 0x84, +0xA2, 0xB8, 0xC4, 0x62, 0x1A, 0x40, 0x05, 0x79, 0x10, 0xF7, 0x8E, 0xC8, 0x8A, 0x4D, 0xEC, 0xC7, +0x97, 0x20, 0x2D, 0x4C, 0xD7, 0x1D, 0xE4, 0xE6, 0x3A, 0x13, 0x82, 0x7C, 0x98, 0x9E, 0xC5, 0xCA, +0x85, 0x20, 0x26, 0xCD, 0x41, 0x3C, 0xBE, 0x31, 0x52, 0x6B, 0xF0, 0xB0, 0xFB, 0x00, 0x4B, 0xCE, +0xA3, 0x69, 0x30, 0x08, 0x18, 0xAD, 0x77, 0x3F, 0x48, 0x78, 0x68, 0x1E, 0xC2, 0xF7, 0x86, 0xDC, +0xDE, 0x6D, 0x25, 0x44, 0x3C, 0x04, 0xF9, 0x2D, 0x11, 0x62, 0x26, 0x22, 0x38, 0x88, 0xF3, 0x91, +0x08, 0xF9, 0x41, 0xE6, 0xC3, 0xA5, 0xE3, 0xF1, 0xC2, 0x41, 0xFA, 0xEF, 0xBF, 0xC4, 0x26, 0x96, +0xE0, 0x20, 0xA9, 0x6B, 0x43, 0x63, 0xC3, 0xB3, 0x95, 0x2D, 0xD9, 0x46, 0x1F, 0x42, 0x24, 0x40, +0xAC, 0xFA, 0x02, 0x82, 0x27, 0x2A, 0x88, 0x45, 0xF0, 0x8E, 0xD8, 0xB8, 0xF1, 0xD9, 0x53, 0xC5, +0x87, 0x6F, 0xF2, 0x16, 0x1D, 0x84, 0xEA, 0xCA, 0x39, 0x48, 0xCF, 0x40, 0x8C, 0x0E, 0xFF, 0x91, +0x40, 0x39, 0xD6, 0xA8, 0xDD, 0x07, 0xB2, 0x4C, 0xFA, 0xFA, 0xCA, 0xFE, 0x91, 0x56, 0x4E, 0x81, +0x19, 0xC9, 0x53, 0x92, 0x85, 0x44, 0xED, 0xCE, 0x87, 0x49, 0xE6, 0xC3, 0x64, 0x84, 0x34, 0xDA, +0xFA, 0x6A, 0xBB, 0xF9, 0x87, 0xB2, 0x33, 0xD6, 0x95, 0x1A, 0x06, 0xA2, 0x68, 0xC1, 0x1F, 0x40, +0x87, 0x68, 0x68, 0x29, 0xC2, 0x3F, 0x50, 0xD1, 0x2E, 0x12, 0x15, 0x3F, 0x40, 0x81, 0x28, 0x91, +0xE8, 0xE8, 0x61, 0x9B, 0x54, 0x50, 0xF1, 0xAB, 0x8C, 0x8F, 0x27, 0x1C, 0xC5, 0x38, 0x66, 0x76, +0xEC, 0x8D, 0x9D, 0xE5, 0x09, 0xB1, 0x59, 0x9F, 0x5C, 0x5F, 0x8F, 0x5F, 0xB8, 0x7F, 0x22, 0x18, +0x0E, 0x4B, 0x05, 0xE1, 0xC4, 0xA7, 0xC4, 0x95, 0xF9, 0x20, 0x1E, 0x01, 0x84, 0x43, 0x9D, 0x0F, +0xA2, 0x2A, 0x1F, 0x6E, 0x33, 0x59, 0x28, 0x88, 0xFA, 0xD1, 0xF0, 0xF8, 0x7E, 0xDF, 0xC3, 0xA6, +0x57, 0x0C, 0x1D, 0x89, 0x90, 0x46, 0xC8, 0xED, 0x59, 0x1D, 0x8F, 0x28, 0x4F, 0xB6, 0x94, 0x0D, +0xD3, 0x84, 0xFD, 0x04, 0xED, 0x10, 0x9B, 0x2D, 0x46, 0xCD, 0x06, 0x22, 0x55, 0x3E, 0x88, 0xA2, +0x82, 0x40, 0x87, 0x1A, 0x62, 0x26, 0x7D, 0x54, 0x90, 0x8F, 0x3E, 0x03, 0xAB, 0xA2, 0x20, 0x6F, +0x33, 0xCA, 0x1A, 0xB2, 0x85, 0x82, 0xE0, 0xE9, 0x53, 0x46, 0x37, 0x93, 0xA7, 0xC2, 0x71, 0xC8, +0x2D, 0xFA, 0xF1, 0x80, 0x86, 0xDC, 0x82, 0x0E, 0x0A, 0x1A, 0xF2, 0x3F, 0x44, 0x82, 0x8F, 0xBD, +0x11, 0x72, 0x67, 0x96, 0xB5, 0xCA, 0xA4, 0x13, 0xA6, 0x41, 0xA2, 0xAD, 0xF3, 0xC1, 0xB1, 0x8A, +0xC7, 0x81, 0xC8, 0x03, 0xF3, 0xAB, 0x3A, 0x21, 0xF1, 0xEF, 0x96, 0x90, 0x95, 0x82, 0xA8, 0x1F, +0xC4, 0x3D, 0x1E, 0x35, 0x5A, 0xF0, 0x1F, 0xCF, 0xDB, 0x04, 0xEB, 0x39, 0x0A, 0x5E, 0xE6, 0x83, +0xE2, 0x02, 0x0D, 0x5F, 0x3B, 0x8D, 0x27, 0x87, 0x2D, 0x61, 0xE6, 0x01, 0x22, 0x8F, 0xF1, 0xF1, +0xB4, 0xE8, 0x41, 0x22, 0xBD, 0x41, 0x2C, 0x33, 0xE9, 0xF8, 0x8F, 0xF6, 0x14, 0x45, 0x1E, 0x2D, +0x77, 0x89, 0x88, 0x6F, 0xA0, 0x1E, 0x19, 0x25, 0x3C, 0x90, 0x49, 0xCA, 0xB1, 0x62, 0x75, 0x4A, +0x9E, 0x9E, 0xE6, 0x57, 0x1B, 0xFA, 0xF1, 0x00, 0x21, 0x28, 0xBC, 0x84, 0x2C, 0xE9, 0x80, 0x8F, +0x16, 0xFB, 0x77, 0x9A, 0xFF, 0x29, 0x88, 0x78, 0x94, 0x35, 0xC4, 0x7D, 0x84, 0x35, 0x42, 0xCC, +0xA3, 0xD7, 0x34, 0x24, 0xF1, 0x20, 0x6A, 0xFA, 0x61, 0xAC, 0x15, 0x04, 0xFD, 0x00, 0x8D, 0xB8, +0x3A, 0x7B, 0x74, 0x0A, 0x02, 0xF2, 0x01, 0x3E, 0x7A, 0xBD, 0xD5, 0xF9, 0xA0, 0xE8, 0xC7, 0xFB, +0x20, 0xE0, 0xC4, 0x8D, 0x58, 0xED, 0x8D, 0x7E, 0x6B, 0x0D, 0x3E, 0xA2, 0xD6, 0xF8, 0x30, 0x56, +0x99, 0x74, 0xEF, 0xF5, 0x0C, 0xFC, 0x18, 0xFF, 0x67, 0x13, 0x32, 0xAC, 0x62, 0x25, 0x44, 0x01, +0x07, 0xB1, 0xB6, 0xE8, 0xF1, 0x02, 0x90, 0x3A, 0x22, 0xFD, 0x23, 0x52, 0xA2, 0x1F, 0x10, 0xE8, +0xCF, 0x4E, 0x0E, 0x1D, 0x1D, 0x91, 0x8F, 0x1A, 0x21, 0xCF, 0x6E, 0x89, 0x47, 0xD4, 0x97, 0x51, +0xDE, 0x2F, 0x10, 0xC1, 0x9F, 0xDF, 0x3F, 0xDD, 0xF9, 0xF6, 0x9B, 0x0F, 0x41, 0x43, 0x56, 0x0A, +0x22, 0x20, 0x66, 0xD3, 0x4B, 0xF2, 0x51, 0xF5, 0x21, 0x6E, 0xC3, 0xA2, 0xD6, 0xF4, 0x43, 0x46, +0x8A, 0x7C, 0x88, 0xF8, 0x62, 0x37, 0x2F, 0x4D, 0xC3, 0x23, 0x63, 0x6F, 0x1A, 0xF2, 0xBF, 0xF9, +0x15, 0x57, 0x3F, 0xBF, 0x00, 0x35, 0x64, 0xC9, 0x87, 0x05, 0x30, 0xC6, 0x65, 0x9A, 0x7C, 0x03, +0xA3, 0xDA, 0x6E, 0xA9, 0xBD, 0xD2, 0x7D, 0x84, 0x8F, 0xEB, 0xCD, 0xEE, 0xB6, 0x3C, 0x58, 0xF7, +0x18, 0xF4, 0xD1, 0x9F, 0x7B, 0x90, 0xCF, 0xF0, 0x01, 0x45, 0xD8, 0x95, 0xE8, 0xAC, 0x14, 0x44, +0xFD, 0xA8, 0x02, 0x12, 0x5C, 0xF0, 0x19, 0x29, 0xD1, 0xE1, 0x52, 0xE4, 0xB5, 0x19, 0x32, 0xE9, +0x4F, 0xE0, 0xE3, 0x45, 0x0D, 0x11, 0xFD, 0x07, 0xF2, 0x11, 0x53, 0x61, 0x18, 0x61, 0xF5, 0x65, +0x31, 0xBF, 0x82, 0x0E, 0x24, 0x84, 0x6E, 0x3C, 0x8D, 0x77, 0xB5, 0x17, 0x6B, 0x1C, 0x60, 0xC5, +0xED, 0xEE, 0x52, 0xB2, 0x1C, 0xEC, 0x29, 0x1F, 0x8F, 0x6C, 0x77, 0x17, 0x3F, 0x0E, 0xF5, 0xF9, +0x95, 0xB3, 0xAC, 0x2B, 0x05, 0x89, 0xE9, 0x66, 0x5E, 0x13, 0x6A, 0x3B, 0x5C, 0xEF, 0x4B, 0xE0, +0x88, 0x7C, 0x50, 0x7A, 0x73, 0x2B, 0xF1, 0x61, 0xE9, 0xAE, 0xF3, 0x34, 0x08, 0x5A, 0xA1, 0x03, +0x1F, 0x5B, 0xBF, 0xB7, 0x82, 0x48, 0x15, 0x0F, 0x09, 0xB9, 0x32, 0x0B, 0x79, 0x20, 0x9A, 0x78, +0xE4, 0xE8, 0xFF, 0x3C, 0xF5, 0x20, 0x9F, 0x5F, 0x83, 0x47, 0x47, 0x24, 0xB5, 0x64, 0x6D, 0xD1, +0x05, 0xA4, 0x86, 0x08, 0x78, 0x74, 0x07, 0xD2, 0x3F, 0x6B, 0x5E, 0x11, 0xAF, 0x86, 0xBF, 0x4C, +0xB6, 0x3D, 0x83, 0x8F, 0x3A, 0x21, 0x37, 0xBF, 0x1F, 0x4A, 0xCC, 0xB2, 0x2E, 0xE8, 0x60, 0xF9, +0xAA, 0x7D, 0xE9, 0xBF, 0x77, 0xC4, 0x23, 0x7A, 0x04, 0x3B, 0x4E, 0x26, 0x78, 0x28, 0x1F, 0x75, +0x42, 0x04, 0xC3, 0x28, 0xF8, 0x8F, 0xF2, 0x2F, 0x4C, 0x29, 0x1D, 0xB4, 0x44, 0x49, 0x3F, 0x8C, +0xEB, 0xDD, 0xBC, 0x2C, 0xEF, 0xEE, 0x28, 0x6B, 0x36, 0x10, 0x32, 0x37, 0x22, 0xBC, 0xC0, 0xC3, +0x82, 0x86, 0x2C, 0xF9, 0x18, 0xCA, 0x0B, 0x95, 0xC3, 0x41, 0xD0, 0x82, 0xCE, 0xD6, 0x17, 0x76, +0x38, 0x36, 0x50, 0xA2, 0xD6, 0x00, 0x91, 0x90, 0x95, 0x82, 0xE4, 0xDC, 0x2A, 0x2A, 0x33, 0x27, +0x30, 0x98, 0x79, 0x90, 0xD7, 0x92, 0xD4, 0x7F, 0xB8, 0x95, 0xC9, 0xDC, 0xCD, 0xED, 0x2B, 0x44, +0x99, 0x90, 0x9C, 0x5C, 0xF1, 0x29, 0x0F, 0x1F, 0xA2, 0x0D, 0xA3, 0xDD, 0x9C, 0x85, 0xCA, 0x47, +0x8D, 0x90, 0x5C, 0xBF, 0x3A, 0x4A, 0x54, 0x66, 0x59, 0xD7, 0xE9, 0xC1, 0x5D, 0x30, 0x0E, 0x23, +0xC2, 0x9E, 0xDE, 0x29, 0x22, 0xF0, 0x51, 0x27, 0x44, 0x34, 0xA2, 0xFD, 0x59, 0xD0, 0x10, 0x88, +0x10, 0x92, 0xEC, 0xAE, 0xF8, 0x50, 0x9B, 0x24, 0xB1, 0xA4, 0x1F, 0xC6, 0x95, 0x07, 0xF9, 0x11, +0x7C, 0x18, 0xEA, 0xEC, 0xC5, 0xD5, 0x1C, 0xF9, 0xC8, 0xE6, 0x65, 0x49, 0x3E, 0x24, 0xE4, 0x80, +0xC3, 0x41, 0x70, 0x74, 0x99, 0x54, 0x81, 0xC7, 0x16, 0x05, 0x17, 0x5B, 0xC7, 0xC3, 0x59, 0xD6, +0xA5, 0x07, 0x21, 0x3E, 0xB6, 0x8A, 0x88, 0xD0, 0xCC, 0x76, 0xF3, 0x4A, 0xD2, 0x47, 0x18, 0xE9, +0x13, 0xAD, 0x29, 0x1B, 0xB9, 0x8D, 0xF7, 0x21, 0x42, 0x92, 0xFC, 0x2E, 0x96, 0x48, 0x08, 0xA8, +0xA4, 0x0F, 0xC9, 0x0C, 0xFA, 0x61, 0x45, 0xD4, 0x8F, 0x22, 0x21, 0xE3, 0x17, 0x94, 0x5F, 0xD2, +0xC4, 0xAA, 0xE3, 0xCF, 0xC1, 0x81, 0x2F, 0x3F, 0xEF, 0x92, 0xFD, 0xF0, 0xFD, 0xEB, 0xAF, 0x09, +0x1E, 0xF2, 0x31, 0x46, 0xCD, 0x7F, 0x18, 0x05, 0x7B, 0xAE, 0x80, 0x44, 0x2C, 0xF5, 0x63, 0x12, +0xAB, 0x7D, 0xEE, 0xD7, 0x1A, 0xA2, 0x82, 0x64, 0x37, 0xAF, 0x4C, 0xD6, 0xD4, 0xD9, 0xA8, 0x5F, +0x2E, 0xE4, 0xF8, 0x36, 0x5C, 0xF9, 0x2C, 0x25, 0x40, 0x2C, 0xFF, 0x0C, 0x02, 0x22, 0xFA, 0x39, +0x58, 0xDA, 0x08, 0xD2, 0xC5, 0xBE, 0x2B, 0x03, 0x22, 0x22, 0xF3, 0xA5, 0xD8, 0x9C, 0x30, 0xA1, +0x1F, 0xB0, 0xC1, 0xD0, 0x07, 0x89, 0x93, 0x82, 0xBC, 0xCA, 0x80, 0x0E, 0x20, 0x49, 0x37, 0x32, +0x55, 0x10, 0xF1, 0x18, 0xE3, 0x5A, 0x3F, 0x38, 0x6C, 0xF4, 0xF8, 0xA8, 0x7C, 0xC6, 0xBE, 0xCB, +0x46, 0x81, 0xE5, 0xFA, 0x60, 0x3F, 0x8A, 0x80, 0xC8, 0x87, 0x45, 0x11, 0x99, 0xCD, 0x9C, 0x5B, +0xFA, 0xFC, 0x8E, 0x6E, 0xFC, 0x76, 0x25, 0xB3, 0x23, 0xB2, 0x3B, 0x4E, 0xA8, 0x2B, 0x3E, 0x88, +0x6F, 0x2B, 0xFF, 0x91, 0x98, 0x2C, 0x35, 0xC4, 0xF9, 0x95, 0x16, 0x44, 0x50, 0x0A, 0xFA, 0x61, +0xBD, 0x22, 0x64, 0xF9, 0x58, 0xAC, 0x51, 0x41, 0xB0, 0x1F, 0x79, 0x69, 0xEE, 0x47, 0x87, 0xF8, +0x7E, 0x91, 0x10, 0x21, 0xFD, 0xA1, 0xF9, 0xD3, 0x8B, 0x5C, 0x24, 0x44, 0x9E, 0x4D, 0xF9, 0x48, +0x1F, 0xE2, 0x20, 0x40, 0x44, 0xA2, 0xD9, 0xD2, 0xB5, 0xAA, 0x20, 0x9C, 0x55, 0xF1, 0x30, 0xA6, +0x93, 0x2C, 0x02, 0x5B, 0x11, 0x90, 0xA0, 0x1F, 0xD1, 0x03, 0x15, 0x77, 0xF3, 0x66, 0xFA, 0x5C, +0xEF, 0xC1, 0x21, 0x41, 0x12, 0x91, 0x73, 0x7D, 0x3A, 0x03, 0x84, 0x37, 0xA7, 0x84, 0x1C, 0x26, +0x0B, 0xF2, 0x39, 0x6C, 0xAD, 0xB4, 0x8E, 0x57, 0xC5, 0x25, 0xDE, 0xAB, 0x4B, 0xC8, 0xC5, 0x9D, +0x2F, 0xEF, 0x52, 0x87, 0x96, 0x69, 0xD6, 0x80, 0x47, 0xA6, 0x07, 0x77, 0x15, 0xA4, 0x55, 0x5E, +0x44, 0x8C, 0x90, 0x01, 0x0F, 0xF9, 0x98, 0xC5, 0xD2, 0x7F, 0x1C, 0x5D, 0x63, 0xCE, 0xC7, 0xD4, +0x82, 0x10, 0x2B, 0x7B, 0x3E, 0x8B, 0x9A, 0x7E, 0x18, 0xC3, 0x73, 0xB1, 0x4C, 0x9F, 0xA7, 0xF3, +0xF0, 0x1A, 0x01, 0xCC, 0xC4, 0x87, 0x84, 0xD7, 0xCB, 0x4B, 0x7E, 0xA0, 0xE1, 0xA1, 0x24, 0x1F, +0x16, 0x96, 0x2E, 0x87, 0x1D, 0xDD, 0xC9, 0x05, 0xF3, 0x0F, 0x48, 0xC9, 0xB3, 0xA8, 0x65, 0x3E, +0xD4, 0x90, 0x51, 0x44, 0x18, 0xED, 0x70, 0x91, 0xBD, 0x1C, 0xF9, 0xE0, 0xF0, 0x77, 0x37, 0x6F, +0x34, 0x70, 0x10, 0x87, 0x43, 0x37, 0xDE, 0x44, 0xB7, 0x8B, 0xCE, 0x90, 0x0F, 0xD1, 0x9E, 0x5F, +0xC7, 0x65, 0xFA, 0x3C, 0xC5, 0x63, 0xE3, 0x94, 0x42, 0x4F, 0x03, 0xD2, 0xB5, 0xD5, 0x4B, 0x58, +0x10, 0x11, 0x97, 0xAF, 0xA6, 0x88, 0x8C, 0x1B, 0xB3, 0xE0, 0x83, 0xD0, 0x9D, 0xEF, 0xBF, 0x79, +0xED, 0xDF, 0xE9, 0xE9, 0xD4, 0x7D, 0x26, 0xD6, 0x2A, 0x16, 0xFA, 0x21, 0x1D, 0x2B, 0x0D, 0xB9, +0x7A, 0xEE, 0x68, 0x72, 0x32, 0xE3, 0xE3, 0x4A, 0x42, 0x22, 0x4A, 0xFA, 0x61, 0x28, 0x97, 0x11, +0xA6, 0x3F, 0xA2, 0x62, 0x3B, 0x78, 0xE9, 0x42, 0x76, 0x96, 0x7B, 0x67, 0xE9, 0xF3, 0x93, 0x7C, +0xCB, 0xCB, 0xAD, 0xC4, 0x87, 0x25, 0xE1, 0x10, 0x12, 0xBD, 0x79, 0x34, 0x89, 0x06, 0xA7, 0xFC, +0x41, 0x9D, 0x0F, 0x35, 0x64, 0x92, 0x3E, 0xCF, 0x27, 0x31, 0x70, 0x82, 0xF1, 0x3E, 0x7C, 0x88, +0xBB, 0x79, 0x93, 0x9B, 0x43, 0x37, 0x92, 0x12, 0xFA, 0xC4, 0x90, 0x95, 0xE7, 0xDF, 0x51, 0x27, +0xC4, 0xEC, 0x07, 0xDC, 0xA7, 0x11, 0xF1, 0xB6, 0x10, 0x64, 0xB8, 0x63, 0xCD, 0xF4, 0x47, 0x91, +0x90, 0xDB, 0x0A, 0x8F, 0x97, 0x7D, 0x31, 0x4B, 0x46, 0xBA, 0x7E, 0x74, 0xC1, 0x48, 0xE5, 0xE0, +0x20, 0x35, 0x81, 0x84, 0x0A, 0xB2, 0xE6, 0xC3, 0x84, 0xC8, 0x5C, 0x3F, 0x0A, 0x6B, 0x59, 0x67, +0xD1, 0xA0, 0xE3, 0x19, 0x27, 0x43, 0xF8, 0xB7, 0xCF, 0x63, 0x69, 0xCF, 0x8D, 0x49, 0x52, 0x9D, +0x0E, 0xD7, 0x20, 0x2F, 0x8C, 0x37, 0x11, 0x2F, 0xD1, 0x91, 0x10, 0x71, 0x7B, 0xA2, 0x78, 0xD8, +0x98, 0x10, 0x29, 0xF1, 0x61, 0x71, 0x1A, 0xC1, 0xB1, 0x8F, 0x0F, 0x70, 0xA0, 0xCB, 0x11, 0x58, +0x20, 0xA5, 0xCA, 0x87, 0x1A, 0x32, 0x4D, 0x9F, 0x37, 0xE3, 0x9D, 0xAE, 0x82, 0x11, 0x4F, 0xDB, +0x22, 0x3D, 0x08, 0x3F, 0x94, 0xA2, 0xF1, 0xF1, 0xB0, 0xEA, 0xE0, 0x42, 0x9F, 0x24, 0x8A, 0x88, +0x98, 0xFE, 0xA8, 0x22, 0xB2, 0x75, 0xF1, 0xA0, 0x4A, 0x06, 0x25, 0x6F, 0x04, 0x3E, 0x07, 0xC9, +0xF4, 0x60, 0x95, 0x90, 0xDB, 0xF3, 0x95, 0x80, 0xD0, 0xFB, 0x22, 0x1E, 0xF0, 0x61, 0xFA, 0x63, +0xA7, 0xC3, 0x81, 0x3E, 0x71, 0x77, 0xD7, 0x49, 0x81, 0x8F, 0x61, 0x31, 0x6B, 0x18, 0xAD, 0xB6, +0x73, 0x11, 0x11, 0x05, 0x2D, 0xC8, 0x78, 0x3E, 0xF0, 0x31, 0x17, 0x10, 0xA1, 0xA9, 0xEB, 0xC7, +0x98, 0x54, 0x4F, 0xFF, 0x91, 0xB2, 0xDA, 0xD9, 0xB8, 0x7B, 0x6D, 0xE2, 0xB6, 0xC2, 0xB6, 0x13, +0x05, 0x44, 0x3E, 0x46, 0x05, 0x31, 0x21, 0x52, 0xF1, 0x1F, 0x96, 0xD4, 0x90, 0xDC, 0x72, 0x94, +0xB6, 0x35, 0xC5, 0x22, 0x9A, 0x94, 0x13, 0x2A, 0x27, 0x55, 0x3E, 0x24, 0x64, 0x34, 0x20, 0x0E, +0x76, 0x74, 0x03, 0x11, 0x39, 0xDE, 0x7E, 0xCD, 0xD3, 0xDD, 0x99, 0x5F, 0x11, 0xE9, 0x4F, 0xE8, +0x6A, 0x43, 0x06, 0x11, 0x71, 0xF9, 0x6A, 0x21, 0x65, 0x13, 0xF9, 0xE8, 0x30, 0xF4, 0x2A, 0x27, +0xC9, 0xCA, 0x61, 0xCC, 0xE4, 0xA3, 0x4A, 0x88, 0x2B, 0x28, 0xB3, 0x82, 0x88, 0xB8, 0xDC, 0x1B, +0x2F, 0xA6, 0xD6, 0xD4, 0xDD, 0x34, 0x98, 0xD3, 0x6E, 0xCE, 0xBF, 0xFF, 0xF8, 0xE1, 0xF3, 0xE2, +0x0A, 0x84, 0xA8, 0x21, 0xFF, 0xD2, 0xB0, 0x5E, 0xCB, 0x12, 0x84, 0x93, 0x05, 0xF1, 0x9C, 0x76, +0xB4, 0x1F, 0xD4, 0xEB, 0x78, 0x40, 0x3F, 0x9C, 0x66, 0x31, 0xBD, 0xCA, 0x0B, 0x83, 0x5E, 0x98, +0x08, 0xF9, 0xAD, 0xCA, 0xB6, 0x36, 0xFE, 0x0F, 0xE8, 0xD3, 0xF2, 0xEE, 0x20, 0x1D, 0x2F, 0x4F, +0x7C, 0xA0, 0x21, 0xF2, 0xF1, 0xDF, 0x82, 0x86, 0x1C, 0xBB, 0xB0, 0x10, 0x8C, 0xFE, 0x72, 0xA8, +0xE4, 0xD9, 0xB1, 0x2C, 0xEA, 0x30, 0x63, 0x54, 0x96, 0x08, 0x71, 0xF9, 0x2A, 0x4A, 0x7A, 0x8F, +0x43, 0x3F, 0xA0, 0x25, 0xCA, 0x81, 0x43, 0x98, 0xF4, 0x63, 0xEA, 0x05, 0x45, 0x58, 0x79, 0x7F, +0xCA, 0xFD, 0x29, 0x69, 0x6A, 0xD0, 0x8F, 0x4A, 0x00, 0x7D, 0x2E, 0x5F, 0xA9, 0x1D, 0x74, 0x38, +0x66, 0xC9, 0xF7, 0xD3, 0x87, 0x0C, 0xFE, 0x63, 0x61, 0xD5, 0xE5, 0xC3, 0x2F, 0xE8, 0xCA, 0xA8, +0xBB, 0xED, 0xE4, 0x4B, 0x07, 0x01, 0xD1, 0x30, 0x05, 0xE2, 0x9B, 0x79, 0x24, 0xA9, 0xAE, 0x3D, +0x2F, 0x6B, 0xC8, 0x74, 0xD4, 0xAE, 0x34, 0x64, 0xF0, 0x1D, 0x74, 0x0D, 0xDD, 0xBB, 0x7C, 0xAC, +0x04, 0x44, 0x70, 0xCA, 0xFA, 0xE1, 0x2C, 0x8B, 0xFA, 0x57, 0x3B, 0x34, 0x22, 0xF4, 0x54, 0x59, +0xCE, 0xB8, 0x9A, 0x3D, 0x7D, 0x2E, 0x21, 0x43, 0xF1, 0xFD, 0x5B, 0x51, 0x3F, 0x24, 0x84, 0x95, +0xFF, 0x4C, 0x9F, 0x8B, 0xC8, 0x49, 0x41, 0x4C, 0x88, 0x28, 0x1F, 0xB5, 0x50, 0x3E, 0x88, 0x1C, +0xF2, 0xEA, 0x07, 0x18, 0xE8, 0xD8, 0xDB, 0x56, 0x13, 0xA5, 0x02, 0x94, 0xB0, 0xE6, 0x4A, 0x4A, +0xFA, 0x7C, 0x7E, 0x4B, 0xBD, 0xC8, 0x07, 0x99, 0x4B, 0x97, 0xAF, 0x14, 0x0E, 0x3F, 0x24, 0x0D, +0xC7, 0x24, 0x05, 0x61, 0x35, 0xFD, 0x51, 0x14, 0x11, 0x67, 0xC0, 0xCB, 0x39, 0x16, 0x4F, 0xB1, +0xCE, 0xE5, 0x5D, 0xEE, 0x85, 0xE9, 0x43, 0xB8, 0x57, 0xB2, 0xD4, 0xEF, 0x9D, 0x33, 0x5A, 0x12, +0x22, 0xA6, 0x07, 0xCB, 0x1A, 0x32, 0x1D, 0xB8, 0xD3, 0x9C, 0xC5, 0x98, 0x1E, 0xA4, 0xDA, 0xCB, +0xD6, 0x50, 0x3F, 0xAC, 0xAB, 0x18, 0x1E, 0x15, 0x57, 0xD3, 0x90, 0x3B, 0x02, 0x61, 0x76, 0x88, +0x53, 0x29, 0x21, 0x10, 0x5E, 0x7C, 0x88, 0xE9, 0x41, 0xCB, 0x7C, 0xAE, 0x7B, 0xD3, 0x7F, 0x94, +0x4A, 0xCE, 0x25, 0x4C, 0x9F, 0x9B, 0x38, 0x33, 0x8D, 0x66, 0x42, 0xA4, 0xA6, 0x1F, 0x0E, 0xCD, +0x14, 0x91, 0x6E, 0x1E, 0x12, 0x0F, 0x27, 0x5A, 0xAE, 0xE6, 0xF2, 0xE7, 0x01, 0xC8, 0x1F, 0x5A, +0xCE, 0x9F, 0x55, 0x6A, 0x20, 0x8A, 0xE2, 0x82, 0x7E, 0x02, 0xED, 0xC4, 0xC6, 0x4A, 0xB0, 0x10, +0x8C, 0x85, 0xDD, 0x16, 0x42, 0xC2, 0x36, 0xB2, 0xF0, 0x16, 0x9B, 0x55, 0x7C, 0x6A, 0xF1, 0xB0, +0x10, 0x62, 0xB3, 0x82, 0x16, 0xE2, 0x9F, 0x52, 0x5F, 0x13, 0x49, 0xB1, 0x6C, 0xA1, 0x7E, 0x53, +0xCF, 0x9C, 0xDC, 0x78, 0xC8, 0x38, 0xE6, 0x9D, 0x80, 0x9E, 0x7B, 0xE7, 0x66, 0xE6, 0xF9, 0x58, +0xB3, 0x33, 0xF3, 0xCB, 0x49, 0x56, 0xDC, 0x81, 0x85, 0x77, 0x93, 0x8A, 0xCC, 0xC7, 0x00, 0xE7, +0x2E, 0x74, 0xD5, 0xD6, 0xDD, 0x27, 0x77, 0x70, 0xFA, 0xAE, 0xF0, 0xAB, 0x4F, 0xD3, 0xFD, 0x95, +0xAF, 0x1B, 0xB7, 0xAE, 0xDC, 0xBA, 0x79, 0xFD, 0xA6, 0xA5, 0xEB, 0xF8, 0x3A, 0xA0, 0xF6, 0xCD, +0xF5, 0x36, 0x9E, 0x33, 0xD9, 0x14, 0x48, 0xF5, 0x92, 0xBE, 0xB7, 0xED, 0xAB, 0xC1, 0x40, 0xBE, +0x5A, 0x3A, 0xBC, 0x4D, 0x26, 0x02, 0x4A, 0xBC, 0x88, 0x6F, 0x5D, 0x04, 0x20, 0x3F, 0xB0, 0xEB, +0x7F, 0x7C, 0xCA, 0xE3, 0x7D, 0xD6, 0x68, 0x21, 0xF8, 0x75, 0xF7, 0xE5, 0x09, 0x08, 0xBE, 0xBD, +0x24, 0x9D, 0x99, 0x19, 0x6F, 0x21, 0xBE, 0x79, 0x96, 0xEF, 0x38, 0xB0, 0xF2, 0x58, 0x10, 0xEE, +0xB2, 0xF8, 0x55, 0x8A, 0x4E, 0xF0, 0x8B, 0x4E, 0x6E, 0xDD, 0xBA, 0xB1, 0x60, 0x65, 0x2F, 0x5F, +0xC6, 0x5E, 0xA0, 0xBC, 0x2D, 0x74, 0x15, 0xE9, 0xEB, 0x2E, 0xFE, 0x0B, 0xEC, 0xDD, 0xDB, 0xAE, +0xF0, 0x0C, 0xF2, 0xE0, 0xA3, 0x15, 0x29, 0x5F, 0x2E, 0xD3, 0xBA, 0x3A, 0x59, 0x57, 0x5E, 0x5C, +0xAD, 0xD6, 0xEB, 0x93, 0x93, 0x6B, 0xA7, 0xD7, 0x50, 0xCC, 0x3C, 0x3D, 0x85, 0xC1, 0xEF, 0xCC, +0x80, 0xDA, 0xEE, 0xFC, 0xBC, 0x3B, 0x87, 0x6D, 0xC0, 0x3B, 0xCE, 0x15, 0xF8, 0x81, 0x7A, 0xC8, +0x2F, 0xC3, 0x01, 0x77, 0x59, 0xFD, 0x82, 0x38, 0xF4, 0xD8, 0xF1, 0x4B, 0x82, 0xC6, 0xF0, 0x8D, +0x39, 0x15, 0x7F, 0x38, 0x6D, 0x2C, 0xC9, 0x41, 0xDC, 0x24, 0x4D, 0x38, 0x2D, 0xA4, 0x13, 0x3D, +0x7E, 0xF7, 0x78, 0xDE, 0xFD, 0x9E, 0x87, 0xA1, 0xC7, 0x8C, 0x71, 0x74, 0x14, 0x9F, 0x31, 0xA7, +0x48, 0x2F, 0x1E, 0x3E, 0x3E, 0x3D, 0x3D, 0xF1, 0x95, 0x36, 0xC1, 0x7A, 0x5D, 0x41, 0xEB, 0x94, +0x54, 0x8C, 0x9A, 0xBF, 0xC4, 0xCB, 0x65, 0xC2, 0x5E, 0x76, 0x63, 0x7F, 0xE9, 0xFE, 0xDE, 0xD7, +0xF6, 0x6C, 0xEB, 0xE7, 0x7E, 0x5B, 0xBF, 0x5E, 0xA2, 0xBA, 0xD9, 0x6C, 0x2A, 0xB4, 0x4D, 0x63, +0x65, 0xB5, 0x59, 0x25, 0xED, 0xEC, 0xF6, 0xFC, 0xD0, 0x1F, 0x4B, 0xEA, 0xD5, 0x63, 0x8B, 0x3C, +0x62, 0x93, 0xD9, 0x81, 0x8B, 0xF6, 0xA7, 0x6F, 0xD8, 0xC5, 0x56, 0x0C, 0x5B, 0xFE, 0xE7, 0x42, +0x91, 0x15, 0x47, 0xF1, 0x57, 0x7C, 0xF0, 0x89, 0x4D, 0x3C, 0xF5, 0xC5, 0x99, 0x89, 0xC3, 0x21, +0xFF, 0x83, 0xBE, 0x5B, 0xBD, 0xF0, 0x27, 0x1F, 0x6A, 0xB0, 0x62, 0x9E, 0xB8, 0xB4, 0xD8, 0x0D, +0x8B, 0xB6, 0xCE, 0xD9, 0x36, 0x85, 0x9D, 0x7B, 0x5F, 0xF7, 0x09, 0x88, 0x4F, 0xC8, 0xC7, 0xAD, +0xAB, 0xB3, 0x6D, 0x5D, 0x2F, 0x23, 0xA4, 0xE1, 0xC6, 0xB7, 0x82, 0x24, 0xBD, 0xC0, 0xDC, 0x3F, +0x32, 0x63, 0xB7, 0xC2, 0x65, 0xF0, 0xD8, 0x73, 0xB1, 0x09, 0x80, 0xDA, 0xB4, 0xA7, 0x3D, 0x10, +0x9E, 0x60, 0x25, 0xB6, 0x18, 0xF6, 0xAF, 0x19, 0xCC, 0xA5, 0x80, 0x10, 0x2B, 0x5F, 0x34, 0x9C, +0x05, 0xEA, 0x7B, 0xBD, 0x75, 0xF2, 0x30, 0x2F, 0x4C, 0x26, 0xB6, 0x3E, 0x67, 0xD6, 0x98, 0xFC, +0xD5, 0x0E, 0xFB, 0xBE, 0x5A, 0x10, 0x4D, 0xD3, 0xBC, 0x96, 0x6A, 0xE6, 0x8C, 0xB0, 0xD1, 0xB0, +0x31, 0xFD, 0xD8, 0x2F, 0xD0, 0xBD, 0x4B, 0xF7, 0x50, 0x7D, 0xD9, 0x27, 0x71, 0x56, 0x53, 0x8B, +0xF8, 0x00, 0x21, 0xA6, 0x2A, 0xB4, 0x1D, 0x72, 0xDE, 0x43, 0x94, 0xE4, 0x63, 0xD5, 0x15, 0x96, +0xFA, 0x90, 0xF5, 0xC4, 0x07, 0x08, 0x31, 0x45, 0x3E, 0x90, 0xAE, 0xC2, 0x0B, 0x16, 0xF2, 0xE1, +0x13, 0x02, 0x02, 0xD3, 0x09, 0xD9, 0x27, 0x4F, 0x3E, 0x82, 0x10, 0x03, 0x93, 0x1E, 0x7C, 0x40, +0x31, 0xC9, 0xA8, 0xCC, 0x99, 0x86, 0x95, 0x1A, 0x10, 0xF1, 0x94, 0xF8, 0xA8, 0x9A, 0xB8, 0xAB, +0xA8, 0x79, 0x6C, 0xA2, 0x8F, 0x92, 0x05, 0x7F, 0x08, 0xF9, 0x78, 0x80, 0x8F, 0xED, 0xFF, 0x71, +0x10, 0xBE, 0xB0, 0x7B, 0x1A, 0x75, 0x88, 0xEF, 0xC9, 0x28, 0x98, 0x93, 0x14, 0xD0, 0xC6, 0x48, +0xF2, 0x41, 0x42, 0x76, 0xC9, 0x1E, 0xDA, 0x94, 0xF4, 0x89, 0x76, 0x32, 0x1E, 0x33, 0xF1, 0x41, +0x1D, 0x2F, 0xD4, 0x41, 0x7C, 0x0C, 0x1E, 0x62, 0x09, 0xDB, 0x11, 0x5A, 0xC0, 0x07, 0xB5, 0x8C, +0x0F, 0x12, 0xE2, 0x24, 0x14, 0x9F, 0x91, 0xF9, 0xFE, 0x41, 0x1D, 0x4D, 0x75, 0xAB, 0x81, 0x10, +0x3A, 0x78, 0x8B, 0x43, 0x4C, 0x7E, 0xB1, 0x05, 0x1F, 0x28, 0xD6, 0xCA, 0xA2, 0x35, 0x49, 0x55, +0xEE, 0x21, 0xC3, 0x98, 0x4C, 0xE4, 0xFE, 0x41, 0x2D, 0xF0, 0x8F, 0xED, 0xFF, 0x71, 0x90, 0x2D, +0x63, 0xBF, 0xC4, 0x3F, 0xE4, 0x21, 0x7A, 0x5B, 0x59, 0x2F, 0x84, 0x09, 0x09, 0x61, 0x1E, 0x2F, +0x4C, 0x94, 0xDD, 0x48, 0x08, 0x11, 0x08, 0x27, 0x69, 0xD1, 0x34, 0xE6, 0x70, 0xC7, 0xE8, 0x46, +0x01, 0x00, 0x43, 0x3D, 0x65, 0x7B, 0x48, 0x7C, 0x32, 0x4B, 0x42, 0x9C, 0x2D, 0xFC, 0x6D, 0xD4, +0x32, 0x3E, 0x7C, 0x0F, 0x49, 0x78, 0x30, 0x6C, 0xFF, 0xF0, 0x09, 0xE9, 0xC9, 0x07, 0x15, 0xD6, +0x01, 0x44, 0x78, 0x60, 0xF7, 0xCF, 0x46, 0x3E, 0x06, 0x42, 0x8C, 0x24, 0x1F, 0x41, 0x88, 0x6C, +0x62, 0x44, 0xA3, 0xA6, 0x9B, 0xE4, 0xF6, 0x11, 0xF2, 0xFD, 0x03, 0xF1, 0xCF, 0x1D, 0x24, 0xC0, +0x43, 0x39, 0xB3, 0xFC, 0x43, 0xA2, 0x3B, 0x5E, 0x14, 0x01, 0x48, 0x85, 0xDC, 0xCC, 0x07, 0xCB, +0x6E, 0x27, 0x42, 0xB0, 0x04, 0xF4, 0x8D, 0x96, 0x57, 0x34, 0x94, 0x18, 0x73, 0xD1, 0x78, 0x71, +0x13, 0x1F, 0xB8, 0xCB, 0xEA, 0x65, 0x15, 0x48, 0x0D, 0x72, 0x3E, 0x7C, 0x0F, 0x79, 0x1F, 0x3B, +0x32, 0x29, 0x11, 0xE0, 0xF9, 0x07, 0xE5, 0xE1, 0x21, 0xA4, 0xC8, 0xD7, 0x45, 0x2D, 0xF0, 0xE0, +0x29, 0x05, 0x03, 0xA5, 0xC6, 0x82, 0xEC, 0xA5, 0x6C, 0x6E, 0xCA, 0xEA, 0x92, 0x44, 0x08, 0x93, +0x73, 0x5F, 0x76, 0x90, 0xDD, 0x46, 0x51, 0x19, 0x0F, 0x20, 0x0D, 0x95, 0x79, 0xC8, 0xE8, 0x1B, +0x64, 0x42, 0xC2, 0x98, 0x0A, 0xD9, 0xFE, 0x81, 0x66, 0xEB, 0x12, 0x9A, 0x4F, 0x08, 0x8A, 0xE3, +0x21, 0xF5, 0x44, 0x7C, 0x73, 0xB3, 0x4A, 0xB3, 0x22, 0xC5, 0x53, 0x46, 0xB9, 0x86, 0x7D, 0x28, +0xC8, 0xC2, 0xE0, 0x14, 0x6D, 0x30, 0xA1, 0x61, 0x0A, 0xFA, 0x87, 0xD6, 0x94, 0x6B, 0x8F, 0x66, +0xF8, 0x07, 0x25, 0x42, 0xD0, 0xCB, 0x0A, 0x15, 0x7B, 0x31, 0x36, 0x65, 0x30, 0xC0, 0x52, 0xEE, +0x4C, 0x65, 0xDA, 0x87, 0xEB, 0x21, 0xC1, 0x07, 0x9B, 0xF1, 0x20, 0x12, 0x7C, 0x48, 0x86, 0x7F, +0x3C, 0xEB, 0xA4, 0xB8, 0x0A, 0xB1, 0x3C, 0x0A, 0x58, 0xB2, 0xA3, 0x56, 0x2B, 0x9E, 0x43, 0x66, +0x6A, 0xF0, 0x21, 0x8D, 0xAE, 0x21, 0xC3, 0x60, 0x5F, 0xA3, 0x7A, 0x22, 0xC3, 0x3F, 0xA0, 0x6D, +0xC4, 0xBF, 0x73, 0x90, 0x40, 0x43, 0x2F, 0x6C, 0xF2, 0x21, 0x0F, 0xB1, 0xEC, 0x23, 0x54, 0xC5, +0x53, 0x46, 0xA1, 0xE2, 0x80, 0x98, 0x00, 0x82, 0x51, 0xB2, 0x0C, 0xBA, 0x79, 0x30, 0xC1, 0x23, +0x87, 0x2C, 0x89, 0x0F, 0x09, 0xA3, 0x7E, 0xFE, 0x11, 0xBD, 0xCF, 0xA4, 0x0B, 0x6E, 0x51, 0xE3, +0x56, 0xCC, 0x3C, 0x84, 0x35, 0xEB, 0xB0, 0xE6, 0x72, 0xF9, 0x10, 0x22, 0x33, 0x36, 0x02, 0x09, +0x56, 0x87, 0x90, 0x29, 0x1F, 0xC6, 0x67, 0x59, 0xAB, 0x6E, 0xAA, 0xD1, 0x40, 0x52, 0x8C, 0xD7, +0x26, 0x1E, 0x89, 0x48, 0xF8, 0x87, 0x62, 0x33, 0xBF, 0xB8, 0xCD, 0x28, 0x79, 0x88, 0x1E, 0x3B, +0xD8, 0xE5, 0x40, 0xA3, 0x4C, 0x86, 0x7F, 0x30, 0x70, 0xFC, 0xE7, 0xCF, 0x20, 0x82, 0x0F, 0x07, +0x8F, 0x0F, 0x11, 0x32, 0x67, 0x21, 0x9C, 0x89, 0xA9, 0x36, 0x27, 0x25, 0xF3, 0x95, 0x7F, 0x64, +0x93, 0x9E, 0x56, 0x23, 0x1C, 0x1D, 0x65, 0xD5, 0xCA, 0xF6, 0x31, 0xD4, 0x05, 0x2F, 0xBB, 0xCD, +0x9A, 0xF9, 0xF8, 0x2A, 0x27, 0xC4, 0xB9, 0xBF, 0x62, 0x7E, 0x12, 0x21, 0x45, 0x4C, 0xC4, 0x87, +0x64, 0xF2, 0x21, 0xE9, 0xD5, 0xA7, 0x8D, 0x95, 0x8C, 0x2A, 0x51, 0x0C, 0xFF, 0x30, 0x4D, 0x04, +0x7F, 0xF4, 0xE7, 0x6C, 0xD2, 0xC0, 0x31, 0xD3, 0xB9, 0x71, 0x73, 0x5C, 0x58, 0xAC, 0x40, 0x22, +0x0F, 0xF9, 0x47, 0xA6, 0xDC, 0x40, 0x34, 0x92, 0x7F, 0x48, 0x06, 0x1F, 0xA6, 0x87, 0xF8, 0x80, +0x08, 0x0B, 0x44, 0xA0, 0xE2, 0xF1, 0x21, 0xF9, 0xFE, 0xC1, 0x61, 0xD9, 0x82, 0x73, 0xFF, 0x90, +0x87, 0xC4, 0x72, 0x04, 0x1A, 0x13, 0x44, 0xBA, 0x3F, 0xF5, 0x8C, 0x4C, 0x94, 0x8B, 0x00, 0xF1, +0x1E, 0x44, 0x74, 0xA5, 0x8E, 0x1E, 0x14, 0xFF, 0xF8, 0xCD, 0xCC, 0x3B, 0x25, 0x99, 0x7C, 0x48, +0xC1, 0x83, 0x24, 0x5E, 0xA6, 0x78, 0xA0, 0x01, 0xE0, 0xF1, 0x54, 0xF3, 0x0A, 0xF5, 0x25, 0x65, +0x33, 0x22, 0xF1, 0xF6, 0x2A, 0x57, 0xF8, 0x77, 0xDC, 0x55, 0xB5, 0x23, 0x2B, 0xC4, 0x44, 0x6B, +0xA5, 0xE0, 0x22, 0x96, 0x17, 0xB7, 0x29, 0x09, 0x44, 0x64, 0x06, 0x12, 0xC3, 0x46, 0x7C, 0x98, +0x84, 0xEC, 0x29, 0xDF, 0x43, 0x7C, 0x07, 0xD9, 0x4E, 0x82, 0x2F, 0x5D, 0xCF, 0x7C, 0x7C, 0x55, +0xD2, 0x8C, 0x81, 0x08, 0x10, 0x89, 0xB3, 0x58, 0x4D, 0x2A, 0x5A, 0x09, 0x0F, 0x3D, 0xAA, 0x3F, +0x12, 0x16, 0x84, 0x64, 0x25, 0x3E, 0x32, 0x42, 0xE4, 0x21, 0x92, 0xF0, 0x98, 0x23, 0x84, 0x47, +0xE1, 0x32, 0x7E, 0x7C, 0xA5, 0x64, 0x91, 0x64, 0x1D, 0x2C, 0x65, 0x99, 0x7C, 0x48, 0x25, 0xFF, +0xA0, 0x74, 0xBF, 0xC7, 0x8C, 0x32, 0xF3, 0xF1, 0x55, 0x49, 0x33, 0xFF, 0xFC, 0x51, 0x54, 0x9A, +0x6F, 0x5D, 0x9D, 0x08, 0x4B, 0x0A, 0xF1, 0x51, 0x20, 0x84, 0x31, 0x5D, 0x5C, 0xF8, 0x47, 0x41, +0xD5, 0xAF, 0xDA, 0xCE, 0x58, 0x57, 0x6A, 0x18, 0x88, 0xA2, 0xFF, 0xB4, 0x0D, 0x1D, 0x5D, 0xD2, +0xAE, 0x04, 0xDA, 0x86, 0x06, 0x48, 0x8F, 0x44, 0x81, 0x44, 0x8B, 0xE0, 0x0F, 0x16, 0x21, 0x04, +0xFC, 0x2C, 0xC9, 0x65, 0xE0, 0xC8, 0x66, 0x32, 0xBE, 0xD6, 0xC2, 0xB5, 0x5F, 0x92, 0xB7, 0x20, +0xDE, 0xBE, 0xD8, 0x27, 0x77, 0xC6, 0x93, 0x2C, 0xBD, 0x81, 0x70, 0x69, 0x45, 0x16, 0x21, 0x8D, +0x73, 0x30, 0x9B, 0x1F, 0xCE, 0x41, 0x30, 0x0E, 0x50, 0x39, 0x64, 0xF9, 0x07, 0x72, 0xF1, 0x80, +0x10, 0x2F, 0xBE, 0x82, 0x90, 0x88, 0x7E, 0xB5, 0xD5, 0x20, 0xC1, 0x47, 0x16, 0x65, 0x91, 0xAA, +0x77, 0xF6, 0xE1, 0x7B, 0x48, 0x03, 0x06, 0x5D, 0x55, 0xF5, 0x14, 0x92, 0x33, 0x79, 0x7C, 0xA0, +0xC2, 0x3F, 0x3A, 0x03, 0x29, 0xC2, 0x2C, 0xF8, 0xF0, 0x3C, 0x04, 0x3E, 0xB2, 0x30, 0x2B, 0x82, +0x2B, 0x59, 0x89, 0xAE, 0x4E, 0x37, 0xF1, 0x51, 0x12, 0xD2, 0x1E, 0xAD, 0xA8, 0xF7, 0x90, 0x2C, +0x03, 0x59, 0x90, 0x93, 0xA9, 0x43, 0x45, 0xB3, 0x77, 0x57, 0xB1, 0x7C, 0xF7, 0xE0, 0x9F, 0xF7, +0xFC, 0x03, 0xAD, 0xC0, 0x1F, 0x4D, 0xE5, 0x8F, 0x5C, 0xFB, 0xC2, 0xD6, 0xB3, 0xCE, 0x82, 0xE1, +0x23, 0x27, 0x44, 0xE3, 0x43, 0xBF, 0xC1, 0x47, 0x4A, 0x48, 0x9A, 0x9E, 0x9B, 0x84, 0xC0, 0x47, +0xDE, 0xB9, 0x15, 0x51, 0x3D, 0x54, 0xDC, 0x3D, 0x65, 0xF2, 0x81, 0x0C, 0xFF, 0x68, 0x8C, 0xC4, +0xF2, 0x0F, 0x64, 0xF9, 0x07, 0x92, 0x6F, 0x60, 0xDB, 0xB7, 0x17, 0xC4, 0x57, 0x59, 0x83, 0x8E, +0x32, 0xBE, 0x22, 0x55, 0x6F, 0x33, 0x90, 0x0A, 0x10, 0xA9, 0x28, 0x9F, 0x77, 0x74, 0x3C, 0xEE, +0x20, 0xCF, 0xD3, 0x55, 0xAC, 0xD8, 0x2E, 0x49, 0xF9, 0xA3, 0x90, 0xEF, 0x1F, 0x7A, 0xFD, 0xFA, +0xDB, 0x7D, 0x69, 0x2F, 0x4E, 0x5B, 0x94, 0x0C, 0xA3, 0xAA, 0xAB, 0x0E, 0x1F, 0x27, 0x1E, 0x02, +0x1D, 0xF0, 0xE1, 0x10, 0x02, 0x1F, 0x15, 0x21, 0x80, 0x41, 0x79, 0xF0, 0x5C, 0x45, 0xF9, 0x23, +0x57, 0xE2, 0x1F, 0xC5, 0xBB, 0x11, 0x21, 0xB0, 0x81, 0x7F, 0xF8, 0x1E, 0x72, 0x47, 0x69, 0x94, +0x85, 0x8D, 0xEC, 0x92, 0x7F, 0x14, 0xC3, 0x75, 0xE9, 0xDA, 0xB3, 0x15, 0x65, 0x61, 0x16, 0x5A, +0xA2, 0x2C, 0x52, 0x29, 0x4F, 0xCF, 0x4F, 0x22, 0xAC, 0xE7, 0x0F, 0xE5, 0x20, 0x00, 0xC7, 0x0F, +0x00, 0x3D, 0xCF, 0x3F, 0x90, 0xC5, 0x07, 0x0A, 0xD3, 0x88, 0x9D, 0xEC, 0xA3, 0x24, 0x84, 0xAA, +0x2E, 0xE5, 0x8F, 0x8A, 0x10, 0xE0, 0xA8, 0xF9, 0x90, 0x7E, 0xB8, 0xFE, 0xD1, 0x97, 0x0C, 0x63, +0x5F, 0x4D, 0x76, 0xA1, 0x90, 0xFA, 0x87, 0xE7, 0x21, 0x2C, 0x5F, 0xE5, 0x5D, 0xE8, 0x58, 0xFE, +0x81, 0xB2, 0xDB, 0x4B, 0x6A, 0x42, 0x22, 0xB6, 0x8A, 0xF5, 0xC4, 0xD1, 0x68, 0x75, 0x83, 0x5B, +0x03, 0xB2, 0x92, 0x86, 0xAC, 0xD8, 0x47, 0xA1, 0xAA, 0xFC, 0xC1, 0x94, 0x7E, 0x3C, 0x07, 0xF9, +0x3B, 0x37, 0xAF, 0xF2, 0x90, 0x65, 0xA8, 0xB6, 0x1E, 0x52, 0xE2, 0x41, 0x1E, 0x42, 0x79, 0xF0, +0x45, 0x7D, 0xD2, 0x05, 0x86, 0xEE, 0x2E, 0xA5, 0xFC, 0x91, 0x88, 0x92, 0xE1, 0x57, 0x9F, 0x0F, +0x96, 0x7B, 0x59, 0xDE, 0xAD, 0x11, 0x11, 0x21, 0x50, 0x32, 0x56, 0x8A, 0x87, 0xED, 0x21, 0x67, +0x78, 0xF0, 0x07, 0x49, 0xFA, 0x61, 0x79, 0x88, 0x76, 0xF7, 0xA1, 0x22, 0xAA, 0x8D, 0xD3, 0x7F, +0x1D, 0xB5, 0x26, 0xC8, 0x1A, 0x4E, 0x04, 0xCA, 0x04, 0xA4, 0xE7, 0xA5, 0xF2, 0xF2, 0x07, 0x54, +0xF0, 0xC2, 0x08, 0x12, 0x1C, 0x64, 0x44, 0x09, 0x07, 0x79, 0x1E, 0xB2, 0x18, 0x4A, 0xCA, 0xE7, +0x95, 0xE2, 0xF4, 0xB1, 0xBA, 0x5B, 0xB7, 0x6B, 0x8C, 0xD1, 0xB1, 0x7D, 0x75, 0x1F, 0x2B, 0xE1, +0xC3, 0x25, 0x44, 0x04, 0x8C, 0x08, 0x41, 0x9F, 0x1D, 0x99, 0x7C, 0x20, 0xFC, 0x03, 0x12, 0x0A, +0x13, 0x49, 0xCA, 0x1F, 0x95, 0x02, 0x0E, 0xF8, 0xA8, 0x15, 0xA5, 0x41, 0xF9, 0xC8, 0x60, 0xB0, +0x28, 0x88, 0x68, 0x0B, 0x1F, 0x95, 0xDE, 0xA2, 0x49, 0x40, 0x9E, 0x27, 0x50, 0x74, 0xCD, 0x70, +0x90, 0x82, 0x8C, 0xCC, 0x4E, 0x28, 0xAA, 0xC3, 0xC7, 0x1C, 0x21, 0x43, 0xFF, 0xE0, 0xC6, 0xAC, +0x2B, 0xE9, 0xC7, 0xC0, 0xB8, 0x63, 0x90, 0xD2, 0xFC, 0x23, 0x2F, 0x88, 0xB0, 0x7E, 0x35, 0x43, +0x88, 0x26, 0x5C, 0xD9, 0xB5, 0xA1, 0xFC, 0x61, 0x69, 0x96, 0x8F, 0xFE, 0xEE, 0xC4, 0x91, 0x89, +0xB8, 0xE1, 0x15, 0x84, 0x84, 0xBC, 0xB3, 0x79, 0xA0, 0xA1, 0xB3, 0xFF, 0xD2, 0x1C, 0xAD, 0xB8, +0xF2, 0xAD, 0xA8, 0x98, 0x09, 0x3D, 0x1F, 0x3E, 0x22, 0x67, 0xAB, 0x4D, 0x20, 0x33, 0x9F, 0x83, +0x94, 0x98, 0x35, 0xE6, 0x04, 0x1F, 0x9E, 0xAC, 0xFC, 0x03, 0x89, 0x90, 0x0B, 0xF9, 0xC7, 0xD8, +0x43, 0x28, 0x7F, 0x38, 0xC2, 0x3E, 0x2C, 0xC1, 0x87, 0xD7, 0xA3, 0x62, 0xE1, 0xCA, 0xE5, 0x03, +0x44, 0xF0, 0x0F, 0x87, 0x58, 0xFC, 0x63, 0x02, 0x91, 0x6F, 0xEF, 0xEF, 0xA6, 0x8A, 0xF2, 0x47, +0xB5, 0xDC, 0xCB, 0x4C, 0xA8, 0x19, 0x81, 0x0F, 0x4B, 0xF0, 0x91, 0x2D, 0xC1, 0x46, 0xE3, 0xB5, +0x69, 0x07, 0xE9, 0x89, 0xA0, 0x41, 0xC7, 0x1F, 0x0F, 0x59, 0x7C, 0x81, 0x87, 0xA7, 0xAB, 0x15, +0x5F, 0x91, 0x88, 0x4C, 0xF1, 0xF1, 0x0A, 0x3E, 0x7C, 0x0F, 0xE1, 0x6A, 0x5D, 0xF6, 0x43, 0xF0, +0xE1, 0x09, 0x3E, 0x4C, 0x55, 0xCB, 0xBB, 0x67, 0x45, 0xF5, 0x2F, 0xBE, 0x0E, 0x8B, 0xBD, 0x23, +0x23, 0xCC, 0x82, 0x0F, 0x93, 0x90, 0x15, 0x59, 0x1E, 0xB2, 0xD8, 0x12, 0x1E, 0xE9, 0xAD, 0x20, +0x49, 0x9B, 0x75, 0x10, 0x30, 0x53, 0x3B, 0xF3, 0x14, 0x75, 0xFC, 0xC3, 0x13, 0xE1, 0x95, 0x25, +0xF1, 0xE1, 0x9E, 0x73, 0x11, 0x32, 0x33, 0xA4, 0x77, 0xF8, 0xB0, 0x14, 0xCB, 0x57, 0xEE, 0x35, +0x1B, 0x3C, 0x3C, 0xF9, 0x7C, 0x40, 0x88, 0x50, 0x34, 0x5D, 0x04, 0x3E, 0x5C, 0x42, 0xEE, 0x33, +0xA2, 0xFC, 0xE1, 0x8D, 0x16, 0xF6, 0xE1, 0x30, 0x72, 0x01, 0x0F, 0x4F, 0xA4, 0x1F, 0xF9, 0xD2, +0x6E, 0xCB, 0x8C, 0xEF, 0x20, 0x43, 0xCC, 0xFA, 0x3C, 0x64, 0x99, 0x93, 0xEF, 0x1F, 0xFA, 0x9B, +0xF0, 0xE1, 0xE5, 0x21, 0xF7, 0x19, 0xBD, 0xBA, 0x7F, 0x99, 0xBA, 0xA4, 0x7E, 0xF9, 0x90, 0x54, +0x1C, 0xCA, 0xD5, 0xDE, 0x39, 0xC1, 0x87, 0x29, 0xCB, 0x3F, 0x28, 0xCF, 0xF0, 0xCB, 0x7A, 0x62, +0x79, 0xD7, 0x12, 0xE5, 0x0F, 0xAF, 0x4D, 0x4D, 0x84, 0xCB, 0x65, 0x99, 0x13, 0xE5, 0x8F, 0x3C, +0x3F, 0xEF, 0x6D, 0xC0, 0x77, 0x10, 0x30, 0x4B, 0x69, 0x69, 0xFF, 0x0A, 0x06, 0xE2, 0x5A, 0xC8, +0xD4, 0x75, 0x63, 0xDD, 0x26, 0xCE, 0x39, 0x0E, 0x62, 0x0B, 0x07, 0xB1, 0x24, 0x07, 0xF1, 0x67, +0xE4, 0xAC, 0x85, 0xCC, 0x3B, 0x88, 0xED, 0x1F, 0xE2, 0x63, 0x12, 0x90, 0x1F, 0x24, 0x20, 0x8E, +0x88, 0xB0, 0xAC, 0xB6, 0x5D, 0xE7, 0xAE, 0x95, 0x6F, 0xE7, 0x01, 0x81, 0x10, 0x72, 0xE7, 0x93, +0xA4, 0xE1, 0x11, 0x07, 0x49, 0x5E, 0x03, 0x4D, 0x37, 0x07, 0xE1, 0xE9, 0x10, 0x72, 0x10, 0x87, +0x8F, 0x6D, 0xBB, 0x4E, 0x45, 0x58, 0x10, 0x62, 0x65, 0xE9, 0xAF, 0x21, 0xC4, 0x0A, 0xB1, 0xE4, +0x21, 0x36, 0x1F, 0x53, 0x84, 0x7C, 0x3C, 0xF0, 0x00, 0x10, 0x3F, 0x07, 0xF1, 0x23, 0xAC, 0x39, +0x42, 0x28, 0xA1, 0xCF, 0xE4, 0x20, 0x3E, 0x20, 0xDB, 0xA6, 0x21, 0xB6, 0xF9, 0x20, 0xC6, 0xF2, +0xD2, 0xF4, 0x40, 0xE4, 0x6C, 0x42, 0xB7, 0x7F, 0xE8, 0x3B, 0x08, 0x06, 0x51, 0xC7, 0x58, 0xBB, +0x84, 0x07, 0x84, 0x58, 0x7C, 0x88, 0x90, 0x8B, 0x79, 0x52, 0xAE, 0x3B, 0x1E, 0xEF, 0xD6, 0x19, +0x3E, 0x20, 0xC4, 0xCA, 0x40, 0x20, 0xC4, 0x5C, 0xC5, 0x12, 0x21, 0x2E, 0x1F, 0xFF, 0x7D, 0x15, +0x4B, 0x72, 0x53, 0x22, 0xBD, 0xF9, 0x09, 0x44, 0x5E, 0xFF, 0x38, 0x34, 0xC3, 0x87, 0x08, 0xB1, +0xF1, 0x58, 0xB7, 0x2B, 0x84, 0x18, 0x7C, 0x4C, 0x27, 0xE9, 0x7B, 0xCF, 0x6A, 0xE8, 0xCF, 0xD3, +0x66, 0x3A, 0x08, 0x10, 0x8C, 0x62, 0x2C, 0xED, 0x77, 0x36, 0x40, 0xC4, 0xE4, 0x03, 0x0F, 0xF1, +0xFC, 0x63, 0xDB, 0xB7, 0x6E, 0x7C, 0x15, 0xB2, 0xFD, 0x43, 0x7A, 0x6F, 0xE6, 0x21, 0x9A, 0x5D, +0x51, 0x47, 0xB7, 0xF9, 0xF0, 0x09, 0x11, 0x1B, 0x10, 0xE2, 0x17, 0x42, 0x5C, 0xFF, 0xD0, 0x7B, +0xF7, 0x01, 0xB9, 0xFF, 0x80, 0x10, 0x9B, 0x0F, 0xDF, 0x43, 0xD6, 0x2D, 0x46, 0xF7, 0x62, 0x4C, +0x04, 0xF1, 0x21, 0xF9, 0x78, 0x74, 0x84, 0x30, 0x6D, 0xD3, 0xEA, 0xB7, 0xED, 0x20, 0x19, 0x16, +0xA7, 0x9C, 0x1C, 0xEF, 0x21, 0xBA, 0xCF, 0x87, 0x08, 0x21, 0x11, 0x29, 0xD3, 0x8F, 0xED, 0xE8, +0xEB, 0xDE, 0xDC, 0x2A, 0x88, 0xEA, 0x20, 0xDB, 0x53, 0xDB, 0x3F, 0x64, 0x21, 0xF7, 0x1F, 0x0E, +0x22, 0x1F, 0x42, 0x5F, 0x0E, 0x42, 0xFE, 0x5B, 0x25, 0x5D, 0x8C, 0xF8, 0x7C, 0xF8, 0x1E, 0xF2, +0x01, 0x39, 0x78, 0x7C, 0x8F, 0x93, 0xE3, 0x12, 0x12, 0xA7, 0xFE, 0x90, 0x45, 0xC8, 0x2F, 0x38, +0x14, 0x65, 0x39, 0x53, 0x41, 0x7C, 0x48, 0x73, 0x7C, 0x2C, 0x5C, 0xCF, 0xB3, 0xA4, 0x01, 0x64, +0x1C, 0x07, 0x99, 0xAF, 0x15, 0x2E, 0x00, 0xF2, 0xDC, 0xE5, 0x43, 0x1A, 0x2E, 0xF6, 0xEA, 0xA4, +0x89, 0x0D, 0x39, 0xF1, 0x3B, 0x33, 0xBE, 0x42, 0xB6, 0x7F, 0x10, 0x66, 0x19, 0x7C, 0xC4, 0xD6, +0xF0, 0x10, 0x81, 0xE1, 0x13, 0x22, 0x2C, 0xD4, 0x25, 0x17, 0x0F, 0x33, 0xCA, 0xDA, 0x9B, 0xDE, +0xFB, 0x1B, 0x75, 0x87, 0x10, 0xA1, 0x21, 0x59, 0x84, 0x04, 0x1B, 0xDA, 0x39, 0x61, 0x96, 0x86, +0x56, 0x88, 0x10, 0x66, 0xD5, 0x0B, 0xBC, 0x93, 0xB7, 0x9A, 0xB4, 0x84, 0x60, 0x16, 0xE9, 0xC4, +0x46, 0x73, 0x0E, 0x52, 0x16, 0x56, 0x94, 0x9E, 0x37, 0xDD, 0xE2, 0xC3, 0xF5, 0x90, 0xC0, 0x03, +0x0B, 0xD9, 0x0C, 0xFF, 0xE0, 0xD3, 0x60, 0xB7, 0x21, 0x21, 0xF8, 0x87, 0x47, 0x48, 0xE0, 0xB1, +0x4F, 0x30, 0x6D, 0xBC, 0xF8, 0x4A, 0x33, 0xF8, 0x60, 0xC9, 0xF4, 0x0F, 0xA2, 0x2C, 0xD3, 0x3E, +0xF8, 0x11, 0x83, 0x8A, 0x8C, 0xDE, 0x37, 0xB2, 0x8A, 0xE8, 0x20, 0xF2, 0xDE, 0xB2, 0x8F, 0xBD, +0x85, 0xAE, 0x43, 0xFB, 0x38, 0xFA, 0xBA, 0xED, 0x5A, 0x87, 0x1E, 0x72, 0x59, 0xE1, 0x43, 0xB2, +0xFC, 0x83, 0x9E, 0xB0, 0xD1, 0xEC, 0x1F, 0x7A, 0x1E, 0x44, 0x0D, 0x41, 0xA3, 0xFC, 0xC3, 0x27, +0x84, 0xFC, 0x5C, 0x5F, 0x3A, 0x84, 0x90, 0x94, 0x0F, 0x9D, 0x45, 0x49, 0x47, 0xEB, 0x36, 0xE4, +0x43, 0xC2, 0xE9, 0x2D, 0xFB, 0x60, 0x26, 0x0C, 0xF9, 0x40, 0x42, 0xA5, 0x08, 0xFD, 0xF1, 0x0F, +0x34, 0xE2, 0x03, 0x07, 0x89, 0x4D, 0x2D, 0x9E, 0xBA, 0x95, 0x46, 0xCB, 0xBD, 0x62, 0x1B, 0xC4, +0x47, 0x84, 0x40, 0x47, 0xC8, 0x4B, 0x3F, 0xE0, 0x64, 0x90, 0x7E, 0x08, 0x0C, 0x0D, 0xEA, 0x6A, +0x78, 0x08, 0x53, 0xC6, 0x43, 0xA4, 0x9F, 0x96, 0x14, 0xD4, 0x69, 0x0F, 0xDD, 0x8B, 0x85, 0x72, +0x33, 0x8A, 0x3B, 0x79, 0xF5, 0x46, 0x9A, 0x6E, 0xD8, 0x87, 0xEE, 0xE9, 0x1F, 0x7A, 0x08, 0xE9, +0x79, 0x34, 0xB9, 0xC8, 0x20, 0xBC, 0x8A, 0xFB, 0xDD, 0xF1, 0x7A, 0xCB, 0x3F, 0x38, 0x18, 0xF1, +0xF1, 0x26, 0xBE, 0x7E, 0xC3, 0x52, 0x04, 0x59, 0x88, 0xA7, 0x0A, 0xBD, 0xFC, 0x1C, 0x79, 0xFE, +0x81, 0x87, 0x14, 0x7C, 0x00, 0x06, 0xF2, 0xF8, 0x00, 0x93, 0x92, 0x8F, 0x78, 0x88, 0x53, 0xFB, +0xE1, 0x62, 0xD6, 0x11, 0x12, 0x88, 0x0A, 0x0D, 0x6A, 0x1C, 0x9C, 0x4F, 0x05, 0xF8, 0xE0, 0x93, +0xE3, 0x3C, 0x3E, 0xE8, 0x55, 0xC1, 0x02, 0xCD, 0x3A, 0x08, 0x2C, 0xF4, 0x8D, 0xF8, 0xCA, 0xF7, +0x10, 0x3E, 0x21, 0xEF, 0x38, 0x1C, 0x2E, 0xF7, 0xCA, 0x37, 0xE2, 0x04, 0xAA, 0xEB, 0xA8, 0x5E, +0xBE, 0x92, 0x6E, 0xA0, 0x52, 0x3C, 0x93, 0x8E, 0x2C, 0x42, 0x3E, 0x20, 0x48, 0x39, 0x21, 0x24, +0xEA, 0x83, 0x13, 0x1E, 0x42, 0x7E, 0x4E, 0xAF, 0x08, 0x09, 0xE0, 0x4C, 0x0F, 0xD9, 0x1B, 0xEB, +0x0B, 0x96, 0x87, 0x80, 0x85, 0x65, 0x22, 0xD8, 0x36, 0x17, 0x27, 0x11, 0x52, 0xC5, 0x57, 0xBF, +0xC8, 0x88, 0x23, 0x3C, 0xA4, 0xE0, 0x83, 0x47, 0xD2, 0x6B, 0x44, 0xD2, 0x99, 0x09, 0x19, 0xF6, +0x33, 0xB7, 0x38, 0x88, 0x81, 0x88, 0xD4, 0x3D, 0x91, 0x9E, 0xF7, 0xD1, 0x5D, 0xBC, 0x0B, 0x2E, +0x42, 0xA6, 0x9E, 0xAE, 0x5F, 0x71, 0x79, 0x51, 0xA7, 0x20, 0x92, 0xFA, 0x07, 0x8F, 0x23, 0x48, +0xB5, 0x87, 0x00, 0x45, 0x6C, 0x63, 0x3F, 0xF2, 0x8F, 0x2F, 0x5E, 0x94, 0x75, 0x08, 0x44, 0x98, +0xC4, 0xA6, 0x7F, 0xA0, 0x8F, 0x8E, 0x7F, 0xD4, 0x89, 0xC8, 0xDE, 0xF4, 0x66, 0xE3, 0xFD, 0x6B, +0x37, 0x30, 0x11, 0xCE, 0x4E, 0xAB, 0xFA, 0x49, 0x10, 0x74, 0x2B, 0x3D, 0x64, 0x1F, 0xC6, 0x6B, +0xE0, 0x41, 0x8C, 0xB0, 0x51, 0x54, 0x4F, 0xCB, 0x1F, 0x68, 0xC1, 0x44, 0x6C, 0xFF, 0x50, 0x2D, +0x22, 0x09, 0x86, 0xE6, 0x9F, 0x28, 0xF4, 0x6B, 0xEA, 0xFC, 0x6C, 0xCB, 0x43, 0xB8, 0x02, 0x90, +0xA3, 0xE3, 0x21, 0x59, 0x79, 0x30, 0x32, 0x73, 0xCC, 0x23, 0x3C, 0x65, 0xE0, 0x1F, 0xFD, 0xFF, +0xDC, 0x32, 0xCA, 0x3F, 0xAC, 0x4C, 0xBD, 0x75, 0x8F, 0xA8, 0x86, 0x48, 0x56, 0xFA, 0x81, 0x0C, +0xFB, 0xA8, 0x4D, 0x04, 0x3E, 0x20, 0x2F, 0x0E, 0xA5, 0x0C, 0x10, 0xC1, 0xD1, 0xAA, 0xA8, 0x18, +0x7E, 0xD0, 0xC9, 0x20, 0xC0, 0x1A, 0x12, 0xD2, 0x9C, 0xF8, 0x9B, 0x76, 0xAC, 0x65, 0xA5, 0xFE, +0x41, 0x74, 0xC0, 0xD8, 0x46, 0xAA, 0x9E, 0xF0, 0x81, 0x7D, 0x68, 0xFA, 0x20, 0x0B, 0x0F, 0x3A, +0x7E, 0xD1, 0x38, 0x89, 0xE7, 0x20, 0xB5, 0xAC, 0xF0, 0x8A, 0x5E, 0xF8, 0x07, 0x57, 0x00, 0x40, +0x21, 0xFA, 0x6C, 0xF8, 0x08, 0x0F, 0x69, 0xDA, 0xF1, 0xF2, 0xF5, 0x84, 0x8F, 0x17, 0xD1, 0x7B, +0x56, 0x2C, 0xFF, 0x00, 0x94, 0x13, 0x3C, 0xD8, 0x34, 0xC9, 0x88, 0x08, 0x19, 0xFB, 0x07, 0x53, +0xD8, 0xB3, 0x0F, 0xE4, 0xE4, 0x1F, 0xB5, 0x87, 0x7C, 0x6C, 0x99, 0x08, 0x33, 0xD9, 0xBB, 0x94, +0xDA, 0x47, 0x0F, 0x07, 0xDF, 0x9D, 0xF9, 0x07, 0x58, 0x68, 0x07, 0x21, 0x67, 0xE5, 0x73, 0x16, +0x28, 0x89, 0xB7, 0x44, 0x48, 0x5E, 0xFE, 0x40, 0xFD, 0x07, 0xF3, 0xFA, 0x7C, 0x2C, 0x22, 0xC4, +0xF0, 0x0F, 0xDB, 0x41, 0x8A, 0x7B, 0x50, 0x96, 0x39, 0x42, 0xBA, 0x2B, 0x40, 0xA4, 0x5A, 0xDA, +0xF4, 0x45, 0x75, 0xD1, 0xA2, 0x53, 0x48, 0x88, 0x15, 0x67, 0x55, 0x81, 0x2A, 0x05, 0x11, 0x6E, +0xDF, 0x6D, 0x75, 0x63, 0x80, 0x24, 0xC3, 0x3F, 0x98, 0x01, 0x09, 0x21, 0x2D, 0x15, 0xB8, 0x09, +0x1E, 0x92, 0xF8, 0x07, 0x5B, 0xF6, 0x39, 0x21, 0xB0, 0xE0, 0x78, 0x08, 0xFE, 0x01, 0x75, 0xDA, +0xE1, 0x21, 0x49, 0xF9, 0x83, 0xF7, 0xAF, 0x5E, 0x9A, 0x08, 0xF6, 0x61, 0x79, 0x48, 0x1F, 0x58, +0x71, 0xDE, 0x75, 0xD8, 0x13, 0x82, 0x6D, 0x44, 0x86, 0x1E, 0x07, 0x41, 0x4A, 0x3F, 0x15, 0xF0, +0x0F, 0xE6, 0x4F, 0xE5, 0x21, 0xF9, 0x7C, 0x64, 0x31, 0x0B, 0x42, 0x66, 0x3E, 0x7A, 0xD4, 0x51, +0x5F, 0x3E, 0xAF, 0xFB, 0xB9, 0x7F, 0x04, 0xFD, 0x27, 0x05, 0x11, 0xFC, 0x03, 0x30, 0x8E, 0x2F, +0x75, 0x1D, 0x2B, 0x82, 0x6D, 0x01, 0xC1, 0xDE, 0xFB, 0x50, 0x38, 0xF7, 0x90, 0x0E, 0x08, 0x8E, +0x75, 0x40, 0x51, 0x1D, 0x3E, 0x9A, 0xD0, 0x5D, 0x47, 0x24, 0xBC, 0x14, 0x44, 0xE0, 0x03, 0x01, +0x09, 0xC7, 0x89, 0x7F, 0xA8, 0x9F, 0xC9, 0xF2, 0x0F, 0x04, 0x21, 0x22, 0x37, 0x72, 0x72, 0xC0, +0x06, 0x8D, 0xCC, 0x43, 0xAA, 0x8B, 0x87, 0xB6, 0x3D, 0x1E, 0x5B, 0x9B, 0x9B, 0x6B, 0xF3, 0x89, +0x81, 0xE8, 0x08, 0x89, 0xCB, 0x5C, 0x93, 0x82, 0xD0, 0x28, 0x88, 0xB4, 0xE9, 0x39, 0x5A, 0xBB, +0xEF, 0x3D, 0xFF, 0xA0, 0xF7, 0xA9, 0xB4, 0xEF, 0x20, 0x3E, 0x20, 0xF8, 0x87, 0x4B, 0x48, 0xEB, +0x8F, 0xFA, 0x35, 0x69, 0x6D, 0xAA, 0xDE, 0x56, 0xCF, 0x7F, 0x1F, 0xB1, 0x8E, 0x15, 0xAF, 0x74, +0xFE, 0xC1, 0x18, 0x01, 0x0B, 0x5E, 0xBF, 0x35, 0x84, 0xBC, 0x67, 0xAC, 0x51, 0x87, 0x4C, 0xC7, +0x07, 0x02, 0x12, 0x75, 0x8A, 0xEA, 0x9D, 0x7F, 0xA8, 0x13, 0x66, 0xB5, 0x3A, 0x2B, 0x0F, 0x16, +0x1E, 0x52, 0xE4, 0x1F, 0x1C, 0xE1, 0x21, 0x20, 0x12, 0xF9, 0x79, 0xB2, 0x86, 0xF5, 0x06, 0x50, +0xF2, 0xE5, 0x5D, 0xC7, 0x43, 0x9A, 0x70, 0x16, 0x1B, 0xE1, 0x95, 0xEE, 0x09, 0xDC, 0x66, 0x6C, +0x05, 0x07, 0x43, 0x4B, 0x51, 0xBD, 0x2F, 0x9F, 0x2F, 0x2B, 0x8D, 0xEF, 0x88, 0xB2, 0x1C, 0x3E, +0xF0, 0x10, 0xDA, 0x3F, 0xFF, 0x74, 0x77, 0x09, 0xFB, 0x30, 0xA3, 0xAC, 0x3E, 0xC5, 0xC2, 0x40, +0x7A, 0x0F, 0x61, 0xF9, 0x2A, 0xF2, 0x36, 0xF6, 0xB8, 0x48, 0x93, 0xA9, 0xC7, 0x13, 0xB6, 0x78, +0x46, 0xCB, 0x09, 0x62, 0x4C, 0x53, 0x22, 0x7A, 0x50, 0xF0, 0x10, 0xAE, 0xB6, 0x84, 0xEE, 0xAC, +0x99, 0xC6, 0x96, 0xE5, 0xDE, 0x44, 0x49, 0x44, 0xE4, 0xF9, 0x07, 0x4A, 0xEC, 0x03, 0x1E, 0xC0, +0x23, 0x29, 0x88, 0x28, 0x24, 0xC4, 0xEC, 0x50, 0xBC, 0x28, 0xB5, 0x7C, 0xE8, 0x0B, 0x25, 0x98, +0xF4, 0xE5, 0x8F, 0xF0, 0x8B, 0xE6, 0xD4, 0xF3, 0x1D, 0x84, 0x10, 0x29, 0x33, 0x94, 0x31, 0xB2, +0x7F, 0x5E, 0xA4, 0x20, 0x92, 0xF8, 0x07, 0xCB, 0x9F, 0xC8, 0xE3, 0x83, 0x4E, 0x02, 0xE2, 0xE9, +0xC9, 0x4F, 0x06, 0x78, 0xF0, 0xB8, 0x1C, 0xC0, 0x2B, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, +0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82 +}; \ No newline at end of file diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Protos.pb.cc b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Protos.pb.cc new file mode 100644 index 0000000000..45c6e35936 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Protos.pb.cc @@ -0,0 +1,838 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: Protos.proto + +#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION +#include "Protos.pb.h" + +#include + +#include +#include +#include +#include +// @@protoc_insertion_point(includes) + +namespace runtime { + +void protobuf_ShutdownFile_Protos_2eproto() { + delete FileSendProtos::default_instance_; + delete FileSendComplete::default_instance_; +} + +#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER +void protobuf_AddDesc_Protos_2eproto_impl() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + +#else +void protobuf_AddDesc_Protos_2eproto() { + static bool already_here = false; + if (already_here) return; + already_here = true; + GOOGLE_PROTOBUF_VERIFY_VERSION; + +#endif + FileSendProtos::default_instance_ = new FileSendProtos(); + FileSendComplete::default_instance_ = new FileSendComplete(); + FileSendProtos::default_instance_->InitAsDefaultInstance(); + FileSendComplete::default_instance_->InitAsDefaultInstance(); + ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_Protos_2eproto); +} + +#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER +GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AddDesc_Protos_2eproto_once_); +void protobuf_AddDesc_Protos_2eproto() { + ::google::protobuf::::google::protobuf::GoogleOnceInit(&protobuf_AddDesc_Protos_2eproto_once_, + &protobuf_AddDesc_Protos_2eproto_impl); +} +#else +// Force AddDescriptors() to be called at static initialization time. +struct StaticDescriptorInitializer_Protos_2eproto { + StaticDescriptorInitializer_Protos_2eproto() { + protobuf_AddDesc_Protos_2eproto(); + } +} static_descriptor_initializer_Protos_2eproto_; +#endif + +// =================================================================== + +bool FileSendProtos_CompressType_IsValid(int value) { + switch(value) { + case 0: + case 1: + return true; + default: + return false; + } +} + +#ifndef _MSC_VER +const FileSendProtos_CompressType FileSendProtos::NO_COMPRESS; +const FileSendProtos_CompressType FileSendProtos::ZIP; +const FileSendProtos_CompressType FileSendProtos::CompressType_MIN; +const FileSendProtos_CompressType FileSendProtos::CompressType_MAX; +const int FileSendProtos::CompressType_ARRAYSIZE; +#endif // _MSC_VER +bool FileSendProtos_VerifyMode_IsValid(int value) { + switch(value) { + case 0: + case 1: + case 2: + return true; + default: + return false; + } +} + +#ifndef _MSC_VER +const FileSendProtos_VerifyMode FileSendProtos::NO_VERIFY; +const FileSendProtos_VerifyMode FileSendProtos::CRC; +const FileSendProtos_VerifyMode FileSendProtos::MD5; +const FileSendProtos_VerifyMode FileSendProtos::VerifyMode_MIN; +const FileSendProtos_VerifyMode FileSendProtos::VerifyMode_MAX; +const int FileSendProtos::VerifyMode_ARRAYSIZE; +#endif // _MSC_VER +#ifndef _MSC_VER +const int FileSendProtos::kFileNameFieldNumber; +const int FileSendProtos::kPackageSeqFieldNumber; +const int FileSendProtos::kPackageSumFieldNumber; +const int FileSendProtos::kContentSizeFieldNumber; +const int FileSendProtos::kCompressTypeFieldNumber; +const int FileSendProtos::kModifiedTimeFieldNumber; +const int FileSendProtos::kVerifyModeFieldNumber; +const int FileSendProtos::kVerifySignFieldNumber; +const int FileSendProtos::kUncompressSizeFieldNumber; +#endif // !_MSC_VER + +FileSendProtos::FileSendProtos() + : ::google::protobuf::MessageLite() { + SharedCtor(); +} + +void FileSendProtos::InitAsDefaultInstance() { +} + +FileSendProtos::FileSendProtos(const FileSendProtos& from) + : ::google::protobuf::MessageLite() { + SharedCtor(); + MergeFrom(from); +} + +void FileSendProtos::SharedCtor() { + _cached_size_ = 0; + file_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + package_seq_ = 0; + package_sum_ = 0; + content_size_ = GOOGLE_ULONGLONG(0); + compress_type_ = 0; + modified_time_ = GOOGLE_ULONGLONG(0); + verify_mode_ = 0; + verify_sign_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + uncompress_size_ = GOOGLE_ULONGLONG(0); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +FileSendProtos::~FileSendProtos() { + SharedDtor(); +} + +void FileSendProtos::SharedDtor() { + if (file_name_ != &::google::protobuf::internal::kEmptyString) { + delete file_name_; + } + if (verify_sign_ != &::google::protobuf::internal::kEmptyString) { + delete verify_sign_; + } + #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER + if (this != &default_instance()) { + #else + if (this != default_instance_) { + #endif + } +} + +void FileSendProtos::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const FileSendProtos& FileSendProtos::default_instance() { +#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER + protobuf_AddDesc_Protos_2eproto(); +#else + if (default_instance_ == NULL) protobuf_AddDesc_Protos_2eproto(); +#endif + return *default_instance_; +} + +FileSendProtos* FileSendProtos::default_instance_ = NULL; + +FileSendProtos* FileSendProtos::New() const { + return new FileSendProtos; +} + +void FileSendProtos::Clear() { + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (has_file_name()) { + if (file_name_ != &::google::protobuf::internal::kEmptyString) { + file_name_->clear(); + } + } + package_seq_ = 0; + package_sum_ = 0; + content_size_ = GOOGLE_ULONGLONG(0); + compress_type_ = 0; + modified_time_ = GOOGLE_ULONGLONG(0); + verify_mode_ = 0; + if (has_verify_sign()) { + if (verify_sign_ != &::google::protobuf::internal::kEmptyString) { + verify_sign_->clear(); + } + } + } + if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) { + uncompress_size_ = GOOGLE_ULONGLONG(0); + } + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +bool FileSendProtos::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!(EXPRESSION)) return false + ::google::protobuf::uint32 tag; + while ((tag = input->ReadTag()) != 0) { + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // required string file_name = 1; + case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_file_name())); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(16)) goto parse_package_seq; + break; + } + + // required int32 package_seq = 2; + case 2: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_package_seq: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &package_seq_))); + set_has_package_seq(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(24)) goto parse_package_sum; + break; + } + + // required int32 package_sum = 3; + case 3: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_package_sum: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &package_sum_))); + set_has_package_sum(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(32)) goto parse_content_size; + break; + } + + // required uint64 content_size = 4; + case 4: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_content_size: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>( + input, &content_size_))); + set_has_content_size(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(40)) goto parse_compress_type; + break; + } + + // required .runtime.FileSendProtos.CompressType compress_type = 5; + case 5: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_compress_type: + int value; + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( + input, &value))); + if (::runtime::FileSendProtos_CompressType_IsValid(value)) { + set_compress_type(static_cast< ::runtime::FileSendProtos_CompressType >(value)); + } + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(48)) goto parse_modified_time; + break; + } + + // optional uint64 modified_time = 6; + case 6: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_modified_time: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>( + input, &modified_time_))); + set_has_modified_time(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(56)) goto parse_verify_mode; + break; + } + + // optional .runtime.FileSendProtos.VerifyMode verify_mode = 7; + case 7: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_verify_mode: + int value; + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( + input, &value))); + if (::runtime::FileSendProtos_VerifyMode_IsValid(value)) { + set_verify_mode(static_cast< ::runtime::FileSendProtos_VerifyMode >(value)); + } + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(66)) goto parse_verify_sign; + break; + } + + // optional string verify_sign = 8; + case 8: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_verify_sign: + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_verify_sign())); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(72)) goto parse_uncompress_size; + break; + } + + // optional uint64 uncompress_size = 9; + case 9: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_uncompress_size: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>( + input, &uncompress_size_))); + set_has_uncompress_size(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectAtEnd()) return true; + break; + } + + default: { + handle_uninterpreted: + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + return true; + } + DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag)); + break; + } + } + } + return true; +#undef DO_ +} + +void FileSendProtos::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // required string file_name = 1; + if (has_file_name()) { + ::google::protobuf::internal::WireFormatLite::WriteString( + 1, this->file_name(), output); + } + + // required int32 package_seq = 2; + if (has_package_seq()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->package_seq(), output); + } + + // required int32 package_sum = 3; + if (has_package_sum()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->package_sum(), output); + } + + // required uint64 content_size = 4; + if (has_content_size()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt64(4, this->content_size(), output); + } + + // required .runtime.FileSendProtos.CompressType compress_type = 5; + if (has_compress_type()) { + ::google::protobuf::internal::WireFormatLite::WriteEnum( + 5, this->compress_type(), output); + } + + // optional uint64 modified_time = 6; + if (has_modified_time()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt64(6, this->modified_time(), output); + } + + // optional .runtime.FileSendProtos.VerifyMode verify_mode = 7; + if (has_verify_mode()) { + ::google::protobuf::internal::WireFormatLite::WriteEnum( + 7, this->verify_mode(), output); + } + + // optional string verify_sign = 8; + if (has_verify_sign()) { + ::google::protobuf::internal::WireFormatLite::WriteString( + 8, this->verify_sign(), output); + } + + // optional uint64 uncompress_size = 9; + if (has_uncompress_size()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt64(9, this->uncompress_size(), output); + } + +} + +int FileSendProtos::ByteSize() const { + int total_size = 0; + + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required string file_name = 1; + if (has_file_name()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->file_name()); + } + + // required int32 package_seq = 2; + if (has_package_seq()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->package_seq()); + } + + // required int32 package_sum = 3; + if (has_package_sum()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->package_sum()); + } + + // required uint64 content_size = 4; + if (has_content_size()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt64Size( + this->content_size()); + } + + // required .runtime.FileSendProtos.CompressType compress_type = 5; + if (has_compress_type()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->compress_type()); + } + + // optional uint64 modified_time = 6; + if (has_modified_time()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt64Size( + this->modified_time()); + } + + // optional .runtime.FileSendProtos.VerifyMode verify_mode = 7; + if (has_verify_mode()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->verify_mode()); + } + + // optional string verify_sign = 8; + if (has_verify_sign()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->verify_sign()); + } + + } + if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) { + // optional uint64 uncompress_size = 9; + if (has_uncompress_size()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt64Size( + this->uncompress_size()); + } + + } + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = total_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + return total_size; +} + +void FileSendProtos::CheckTypeAndMergeFrom( + const ::google::protobuf::MessageLite& from) { + MergeFrom(*::google::protobuf::down_cast(&from)); +} + +void FileSendProtos::MergeFrom(const FileSendProtos& from) { + GOOGLE_CHECK_NE(&from, this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_file_name()) { + set_file_name(from.file_name()); + } + if (from.has_package_seq()) { + set_package_seq(from.package_seq()); + } + if (from.has_package_sum()) { + set_package_sum(from.package_sum()); + } + if (from.has_content_size()) { + set_content_size(from.content_size()); + } + if (from.has_compress_type()) { + set_compress_type(from.compress_type()); + } + if (from.has_modified_time()) { + set_modified_time(from.modified_time()); + } + if (from.has_verify_mode()) { + set_verify_mode(from.verify_mode()); + } + if (from.has_verify_sign()) { + set_verify_sign(from.verify_sign()); + } + } + if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) { + if (from.has_uncompress_size()) { + set_uncompress_size(from.uncompress_size()); + } + } +} + +void FileSendProtos::CopyFrom(const FileSendProtos& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool FileSendProtos::IsInitialized() const { + if ((_has_bits_[0] & 0x0000001f) != 0x0000001f) return false; + + return true; +} + +void FileSendProtos::Swap(FileSendProtos* other) { + if (other != this) { + std::swap(file_name_, other->file_name_); + std::swap(package_seq_, other->package_seq_); + std::swap(package_sum_, other->package_sum_); + std::swap(content_size_, other->content_size_); + std::swap(compress_type_, other->compress_type_); + std::swap(modified_time_, other->modified_time_); + std::swap(verify_mode_, other->verify_mode_); + std::swap(verify_sign_, other->verify_sign_); + std::swap(uncompress_size_, other->uncompress_size_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + std::swap(_cached_size_, other->_cached_size_); + } +} + +::std::string FileSendProtos::GetTypeName() const { + return "runtime.FileSendProtos"; +} + + +// =================================================================== + +bool FileSendComplete_RESULTTYPE_IsValid(int value) { + switch(value) { + case 0: + case 1: + case 2: + case 3: + case 4: + return true; + default: + return false; + } +} + +#ifndef _MSC_VER +const FileSendComplete_RESULTTYPE FileSendComplete::SUCCESS; +const FileSendComplete_RESULTTYPE FileSendComplete::RECV_ERROR; +const FileSendComplete_RESULTTYPE FileSendComplete::UNCOMPRESS_ERROR; +const FileSendComplete_RESULTTYPE FileSendComplete::FOPEN_ERROR; +const FileSendComplete_RESULTTYPE FileSendComplete::FWRITE_ERROR; +const FileSendComplete_RESULTTYPE FileSendComplete::RESULTTYPE_MIN; +const FileSendComplete_RESULTTYPE FileSendComplete::RESULTTYPE_MAX; +const int FileSendComplete::RESULTTYPE_ARRAYSIZE; +#endif // _MSC_VER +#ifndef _MSC_VER +const int FileSendComplete::kFileNameFieldNumber; +const int FileSendComplete::kResultFieldNumber; +const int FileSendComplete::kErrorNumFieldNumber; +#endif // !_MSC_VER + +FileSendComplete::FileSendComplete() + : ::google::protobuf::MessageLite() { + SharedCtor(); +} + +void FileSendComplete::InitAsDefaultInstance() { +} + +FileSendComplete::FileSendComplete(const FileSendComplete& from) + : ::google::protobuf::MessageLite() { + SharedCtor(); + MergeFrom(from); +} + +void FileSendComplete::SharedCtor() { + _cached_size_ = 0; + file_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + result_ = 0; + error_num_ = 0; + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +FileSendComplete::~FileSendComplete() { + SharedDtor(); +} + +void FileSendComplete::SharedDtor() { + if (file_name_ != &::google::protobuf::internal::kEmptyString) { + delete file_name_; + } + #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER + if (this != &default_instance()) { + #else + if (this != default_instance_) { + #endif + } +} + +void FileSendComplete::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const FileSendComplete& FileSendComplete::default_instance() { +#ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER + protobuf_AddDesc_Protos_2eproto(); +#else + if (default_instance_ == NULL) protobuf_AddDesc_Protos_2eproto(); +#endif + return *default_instance_; +} + +FileSendComplete* FileSendComplete::default_instance_ = NULL; + +FileSendComplete* FileSendComplete::New() const { + return new FileSendComplete; +} + +void FileSendComplete::Clear() { + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (has_file_name()) { + if (file_name_ != &::google::protobuf::internal::kEmptyString) { + file_name_->clear(); + } + } + result_ = 0; + error_num_ = 0; + } + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +bool FileSendComplete::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!(EXPRESSION)) return false + ::google::protobuf::uint32 tag; + while ((tag = input->ReadTag()) != 0) { + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // required string file_name = 1; + case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_file_name())); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(16)) goto parse_result; + break; + } + + // required .runtime.FileSendComplete.RESULTTYPE result = 2; + case 2: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_result: + int value; + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( + input, &value))); + if (::runtime::FileSendComplete_RESULTTYPE_IsValid(value)) { + set_result(static_cast< ::runtime::FileSendComplete_RESULTTYPE >(value)); + } + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(24)) goto parse_error_num; + break; + } + + // required int32 error_num = 3; + case 3: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_error_num: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>( + input, &error_num_))); + set_has_error_num(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectAtEnd()) return true; + break; + } + + default: { + handle_uninterpreted: + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + return true; + } + DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag)); + break; + } + } + } + return true; +#undef DO_ +} + +void FileSendComplete::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // required string file_name = 1; + if (has_file_name()) { + ::google::protobuf::internal::WireFormatLite::WriteString( + 1, this->file_name(), output); + } + + // required .runtime.FileSendComplete.RESULTTYPE result = 2; + if (has_result()) { + ::google::protobuf::internal::WireFormatLite::WriteEnum( + 2, this->result(), output); + } + + // required int32 error_num = 3; + if (has_error_num()) { + ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->error_num(), output); + } + +} + +int FileSendComplete::ByteSize() const { + int total_size = 0; + + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required string file_name = 1; + if (has_file_name()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->file_name()); + } + + // required .runtime.FileSendComplete.RESULTTYPE result = 2; + if (has_result()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->result()); + } + + // required int32 error_num = 3; + if (has_error_num()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::Int32Size( + this->error_num()); + } + + } + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = total_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + return total_size; +} + +void FileSendComplete::CheckTypeAndMergeFrom( + const ::google::protobuf::MessageLite& from) { + MergeFrom(*::google::protobuf::down_cast(&from)); +} + +void FileSendComplete::MergeFrom(const FileSendComplete& from) { + GOOGLE_CHECK_NE(&from, this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_file_name()) { + set_file_name(from.file_name()); + } + if (from.has_result()) { + set_result(from.result()); + } + if (from.has_error_num()) { + set_error_num(from.error_num()); + } + } +} + +void FileSendComplete::CopyFrom(const FileSendComplete& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool FileSendComplete::IsInitialized() const { + if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false; + + return true; +} + +void FileSendComplete::Swap(FileSendComplete* other) { + if (other != this) { + std::swap(file_name_, other->file_name_); + std::swap(result_, other->result_); + std::swap(error_num_, other->error_num_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + std::swap(_cached_size_, other->_cached_size_); + } +} + +::std::string FileSendComplete::GetTypeName() const { + return "runtime.FileSendComplete"; +} + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace runtime + +// @@protoc_insertion_point(global_scope) diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Protos.pb.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Protos.pb.h new file mode 100644 index 0000000000..2f6b33016e --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Protos.pb.h @@ -0,0 +1,822 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: Protos.proto + +#ifndef PROTOBUF_Protos_2eproto__INCLUDED +#define PROTOBUF_Protos_2eproto__INCLUDED + +#include + +#include + +#if GOOGLE_PROTOBUF_VERSION < 2005000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 2005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +// @@protoc_insertion_point(includes) + +namespace runtime { + +// Internal implementation detail -- do not call these. +void protobuf_AddDesc_Protos_2eproto(); +void protobuf_AssignDesc_Protos_2eproto(); +void protobuf_ShutdownFile_Protos_2eproto(); + +class FileSendProtos; +class FileSendComplete; + +enum FileSendProtos_CompressType { + FileSendProtos_CompressType_NO_COMPRESS = 0, + FileSendProtos_CompressType_ZIP = 1 +}; +bool FileSendProtos_CompressType_IsValid(int value); +const FileSendProtos_CompressType FileSendProtos_CompressType_CompressType_MIN = FileSendProtos_CompressType_NO_COMPRESS; +const FileSendProtos_CompressType FileSendProtos_CompressType_CompressType_MAX = FileSendProtos_CompressType_ZIP; +const int FileSendProtos_CompressType_CompressType_ARRAYSIZE = FileSendProtos_CompressType_CompressType_MAX + 1; + +enum FileSendProtos_VerifyMode { + FileSendProtos_VerifyMode_NO_VERIFY = 0, + FileSendProtos_VerifyMode_CRC = 1, + FileSendProtos_VerifyMode_MD5 = 2 +}; +bool FileSendProtos_VerifyMode_IsValid(int value); +const FileSendProtos_VerifyMode FileSendProtos_VerifyMode_VerifyMode_MIN = FileSendProtos_VerifyMode_NO_VERIFY; +const FileSendProtos_VerifyMode FileSendProtos_VerifyMode_VerifyMode_MAX = FileSendProtos_VerifyMode_MD5; +const int FileSendProtos_VerifyMode_VerifyMode_ARRAYSIZE = FileSendProtos_VerifyMode_VerifyMode_MAX + 1; + +enum FileSendComplete_RESULTTYPE { + FileSendComplete_RESULTTYPE_SUCCESS = 0, + FileSendComplete_RESULTTYPE_RECV_ERROR = 1, + FileSendComplete_RESULTTYPE_UNCOMPRESS_ERROR = 2, + FileSendComplete_RESULTTYPE_FOPEN_ERROR = 3, + FileSendComplete_RESULTTYPE_FWRITE_ERROR = 4 +}; +bool FileSendComplete_RESULTTYPE_IsValid(int value); +const FileSendComplete_RESULTTYPE FileSendComplete_RESULTTYPE_RESULTTYPE_MIN = FileSendComplete_RESULTTYPE_SUCCESS; +const FileSendComplete_RESULTTYPE FileSendComplete_RESULTTYPE_RESULTTYPE_MAX = FileSendComplete_RESULTTYPE_FWRITE_ERROR; +const int FileSendComplete_RESULTTYPE_RESULTTYPE_ARRAYSIZE = FileSendComplete_RESULTTYPE_RESULTTYPE_MAX + 1; + +// =================================================================== + +class FileSendProtos : public ::google::protobuf::MessageLite { + public: + FileSendProtos(); + virtual ~FileSendProtos(); + + FileSendProtos(const FileSendProtos& from); + + inline FileSendProtos& operator=(const FileSendProtos& from) { + CopyFrom(from); + return *this; + } + + static const FileSendProtos& default_instance(); + + #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER + // Returns the internal default instance pointer. This function can + // return NULL thus should not be used by the user. This is intended + // for Protobuf internal code. Please use default_instance() declared + // above instead. + static inline const FileSendProtos* internal_default_instance() { + return default_instance_; + } + #endif + + void Swap(FileSendProtos* other); + + // implements Message ---------------------------------------------- + + FileSendProtos* New() const; + void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from); + void CopyFrom(const FileSendProtos& from); + void MergeFrom(const FileSendProtos& from); + void Clear(); + bool IsInitialized() const; + + int ByteSize() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + + ::std::string GetTypeName() const; + + // nested types ---------------------------------------------------- + + typedef FileSendProtos_CompressType CompressType; + static const CompressType NO_COMPRESS = FileSendProtos_CompressType_NO_COMPRESS; + static const CompressType ZIP = FileSendProtos_CompressType_ZIP; + static inline bool CompressType_IsValid(int value) { + return FileSendProtos_CompressType_IsValid(value); + } + static const CompressType CompressType_MIN = + FileSendProtos_CompressType_CompressType_MIN; + static const CompressType CompressType_MAX = + FileSendProtos_CompressType_CompressType_MAX; + static const int CompressType_ARRAYSIZE = + FileSendProtos_CompressType_CompressType_ARRAYSIZE; + + typedef FileSendProtos_VerifyMode VerifyMode; + static const VerifyMode NO_VERIFY = FileSendProtos_VerifyMode_NO_VERIFY; + static const VerifyMode CRC = FileSendProtos_VerifyMode_CRC; + static const VerifyMode MD5 = FileSendProtos_VerifyMode_MD5; + static inline bool VerifyMode_IsValid(int value) { + return FileSendProtos_VerifyMode_IsValid(value); + } + static const VerifyMode VerifyMode_MIN = + FileSendProtos_VerifyMode_VerifyMode_MIN; + static const VerifyMode VerifyMode_MAX = + FileSendProtos_VerifyMode_VerifyMode_MAX; + static const int VerifyMode_ARRAYSIZE = + FileSendProtos_VerifyMode_VerifyMode_ARRAYSIZE; + + // accessors ------------------------------------------------------- + + // required string file_name = 1; + inline bool has_file_name() const; + inline void clear_file_name(); + static const int kFileNameFieldNumber = 1; + inline const ::std::string& file_name() const; + inline void set_file_name(const ::std::string& value); + inline void set_file_name(const char* value); + inline void set_file_name(const char* value, size_t size); + inline ::std::string* mutable_file_name(); + inline ::std::string* release_file_name(); + inline void set_allocated_file_name(::std::string* file_name); + + // required int32 package_seq = 2; + inline bool has_package_seq() const; + inline void clear_package_seq(); + static const int kPackageSeqFieldNumber = 2; + inline ::google::protobuf::int32 package_seq() const; + inline void set_package_seq(::google::protobuf::int32 value); + + // required int32 package_sum = 3; + inline bool has_package_sum() const; + inline void clear_package_sum(); + static const int kPackageSumFieldNumber = 3; + inline ::google::protobuf::int32 package_sum() const; + inline void set_package_sum(::google::protobuf::int32 value); + + // required uint64 content_size = 4; + inline bool has_content_size() const; + inline void clear_content_size(); + static const int kContentSizeFieldNumber = 4; + inline ::google::protobuf::uint64 content_size() const; + inline void set_content_size(::google::protobuf::uint64 value); + + // required .runtime.FileSendProtos.CompressType compress_type = 5; + inline bool has_compress_type() const; + inline void clear_compress_type(); + static const int kCompressTypeFieldNumber = 5; + inline ::runtime::FileSendProtos_CompressType compress_type() const; + inline void set_compress_type(::runtime::FileSendProtos_CompressType value); + + // optional uint64 modified_time = 6; + inline bool has_modified_time() const; + inline void clear_modified_time(); + static const int kModifiedTimeFieldNumber = 6; + inline ::google::protobuf::uint64 modified_time() const; + inline void set_modified_time(::google::protobuf::uint64 value); + + // optional .runtime.FileSendProtos.VerifyMode verify_mode = 7; + inline bool has_verify_mode() const; + inline void clear_verify_mode(); + static const int kVerifyModeFieldNumber = 7; + inline ::runtime::FileSendProtos_VerifyMode verify_mode() const; + inline void set_verify_mode(::runtime::FileSendProtos_VerifyMode value); + + // optional string verify_sign = 8; + inline bool has_verify_sign() const; + inline void clear_verify_sign(); + static const int kVerifySignFieldNumber = 8; + inline const ::std::string& verify_sign() const; + inline void set_verify_sign(const ::std::string& value); + inline void set_verify_sign(const char* value); + inline void set_verify_sign(const char* value, size_t size); + inline ::std::string* mutable_verify_sign(); + inline ::std::string* release_verify_sign(); + inline void set_allocated_verify_sign(::std::string* verify_sign); + + // optional uint64 uncompress_size = 9; + inline bool has_uncompress_size() const; + inline void clear_uncompress_size(); + static const int kUncompressSizeFieldNumber = 9; + inline ::google::protobuf::uint64 uncompress_size() const; + inline void set_uncompress_size(::google::protobuf::uint64 value); + + // @@protoc_insertion_point(class_scope:runtime.FileSendProtos) + private: + inline void set_has_file_name(); + inline void clear_has_file_name(); + inline void set_has_package_seq(); + inline void clear_has_package_seq(); + inline void set_has_package_sum(); + inline void clear_has_package_sum(); + inline void set_has_content_size(); + inline void clear_has_content_size(); + inline void set_has_compress_type(); + inline void clear_has_compress_type(); + inline void set_has_modified_time(); + inline void clear_has_modified_time(); + inline void set_has_verify_mode(); + inline void clear_has_verify_mode(); + inline void set_has_verify_sign(); + inline void clear_has_verify_sign(); + inline void set_has_uncompress_size(); + inline void clear_has_uncompress_size(); + + ::std::string* file_name_; + ::google::protobuf::int32 package_seq_; + ::google::protobuf::int32 package_sum_; + ::google::protobuf::uint64 content_size_; + ::google::protobuf::uint64 modified_time_; + int compress_type_; + int verify_mode_; + ::std::string* verify_sign_; + ::google::protobuf::uint64 uncompress_size_; + + mutable int _cached_size_; + ::google::protobuf::uint32 _has_bits_[(9 + 31) / 32]; + + #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER + friend void protobuf_AddDesc_Protos_2eproto_impl(); + #else + friend void protobuf_AddDesc_Protos_2eproto(); + #endif + friend void protobuf_AssignDesc_Protos_2eproto(); + friend void protobuf_ShutdownFile_Protos_2eproto(); + + void InitAsDefaultInstance(); + static FileSendProtos* default_instance_; +}; +// ------------------------------------------------------------------- + +class FileSendComplete : public ::google::protobuf::MessageLite { + public: + FileSendComplete(); + virtual ~FileSendComplete(); + + FileSendComplete(const FileSendComplete& from); + + inline FileSendComplete& operator=(const FileSendComplete& from) { + CopyFrom(from); + return *this; + } + + static const FileSendComplete& default_instance(); + + #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER + // Returns the internal default instance pointer. This function can + // return NULL thus should not be used by the user. This is intended + // for Protobuf internal code. Please use default_instance() declared + // above instead. + static inline const FileSendComplete* internal_default_instance() { + return default_instance_; + } + #endif + + void Swap(FileSendComplete* other); + + // implements Message ---------------------------------------------- + + FileSendComplete* New() const; + void CheckTypeAndMergeFrom(const ::google::protobuf::MessageLite& from); + void CopyFrom(const FileSendComplete& from); + void MergeFrom(const FileSendComplete& from); + void Clear(); + bool IsInitialized() const; + + int ByteSize() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + + ::std::string GetTypeName() const; + + // nested types ---------------------------------------------------- + + typedef FileSendComplete_RESULTTYPE RESULTTYPE; + static const RESULTTYPE SUCCESS = FileSendComplete_RESULTTYPE_SUCCESS; + static const RESULTTYPE RECV_ERROR = FileSendComplete_RESULTTYPE_RECV_ERROR; + static const RESULTTYPE UNCOMPRESS_ERROR = FileSendComplete_RESULTTYPE_UNCOMPRESS_ERROR; + static const RESULTTYPE FOPEN_ERROR = FileSendComplete_RESULTTYPE_FOPEN_ERROR; + static const RESULTTYPE FWRITE_ERROR = FileSendComplete_RESULTTYPE_FWRITE_ERROR; + static inline bool RESULTTYPE_IsValid(int value) { + return FileSendComplete_RESULTTYPE_IsValid(value); + } + static const RESULTTYPE RESULTTYPE_MIN = + FileSendComplete_RESULTTYPE_RESULTTYPE_MIN; + static const RESULTTYPE RESULTTYPE_MAX = + FileSendComplete_RESULTTYPE_RESULTTYPE_MAX; + static const int RESULTTYPE_ARRAYSIZE = + FileSendComplete_RESULTTYPE_RESULTTYPE_ARRAYSIZE; + + // accessors ------------------------------------------------------- + + // required string file_name = 1; + inline bool has_file_name() const; + inline void clear_file_name(); + static const int kFileNameFieldNumber = 1; + inline const ::std::string& file_name() const; + inline void set_file_name(const ::std::string& value); + inline void set_file_name(const char* value); + inline void set_file_name(const char* value, size_t size); + inline ::std::string* mutable_file_name(); + inline ::std::string* release_file_name(); + inline void set_allocated_file_name(::std::string* file_name); + + // required .runtime.FileSendComplete.RESULTTYPE result = 2; + inline bool has_result() const; + inline void clear_result(); + static const int kResultFieldNumber = 2; + inline ::runtime::FileSendComplete_RESULTTYPE result() const; + inline void set_result(::runtime::FileSendComplete_RESULTTYPE value); + + // required int32 error_num = 3; + inline bool has_error_num() const; + inline void clear_error_num(); + static const int kErrorNumFieldNumber = 3; + inline ::google::protobuf::int32 error_num() const; + inline void set_error_num(::google::protobuf::int32 value); + + // @@protoc_insertion_point(class_scope:runtime.FileSendComplete) + private: + inline void set_has_file_name(); + inline void clear_has_file_name(); + inline void set_has_result(); + inline void clear_has_result(); + inline void set_has_error_num(); + inline void clear_has_error_num(); + + ::std::string* file_name_; + int result_; + ::google::protobuf::int32 error_num_; + + mutable int _cached_size_; + ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32]; + + #ifdef GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER + friend void protobuf_AddDesc_Protos_2eproto_impl(); + #else + friend void protobuf_AddDesc_Protos_2eproto(); + #endif + friend void protobuf_AssignDesc_Protos_2eproto(); + friend void protobuf_ShutdownFile_Protos_2eproto(); + + void InitAsDefaultInstance(); + static FileSendComplete* default_instance_; +}; +// =================================================================== + + +// =================================================================== + +// FileSendProtos + +// required string file_name = 1; +inline bool FileSendProtos::has_file_name() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void FileSendProtos::set_has_file_name() { + _has_bits_[0] |= 0x00000001u; +} +inline void FileSendProtos::clear_has_file_name() { + _has_bits_[0] &= ~0x00000001u; +} +inline void FileSendProtos::clear_file_name() { + if (file_name_ != &::google::protobuf::internal::kEmptyString) { + file_name_->clear(); + } + clear_has_file_name(); +} +inline const ::std::string& FileSendProtos::file_name() const { + return *file_name_; +} +inline void FileSendProtos::set_file_name(const ::std::string& value) { + set_has_file_name(); + if (file_name_ == &::google::protobuf::internal::kEmptyString) { + file_name_ = new ::std::string; + } + file_name_->assign(value); +} +inline void FileSendProtos::set_file_name(const char* value) { + set_has_file_name(); + if (file_name_ == &::google::protobuf::internal::kEmptyString) { + file_name_ = new ::std::string; + } + file_name_->assign(value); +} +inline void FileSendProtos::set_file_name(const char* value, size_t size) { + set_has_file_name(); + if (file_name_ == &::google::protobuf::internal::kEmptyString) { + file_name_ = new ::std::string; + } + file_name_->assign(reinterpret_cast(value), size); +} +inline ::std::string* FileSendProtos::mutable_file_name() { + set_has_file_name(); + if (file_name_ == &::google::protobuf::internal::kEmptyString) { + file_name_ = new ::std::string; + } + return file_name_; +} +inline ::std::string* FileSendProtos::release_file_name() { + clear_has_file_name(); + if (file_name_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = file_name_; + file_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} +inline void FileSendProtos::set_allocated_file_name(::std::string* file_name) { + if (file_name_ != &::google::protobuf::internal::kEmptyString) { + delete file_name_; + } + if (file_name) { + set_has_file_name(); + file_name_ = file_name; + } else { + clear_has_file_name(); + file_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + } +} + +// required int32 package_seq = 2; +inline bool FileSendProtos::has_package_seq() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void FileSendProtos::set_has_package_seq() { + _has_bits_[0] |= 0x00000002u; +} +inline void FileSendProtos::clear_has_package_seq() { + _has_bits_[0] &= ~0x00000002u; +} +inline void FileSendProtos::clear_package_seq() { + package_seq_ = 0; + clear_has_package_seq(); +} +inline ::google::protobuf::int32 FileSendProtos::package_seq() const { + return package_seq_; +} +inline void FileSendProtos::set_package_seq(::google::protobuf::int32 value) { + set_has_package_seq(); + package_seq_ = value; +} + +// required int32 package_sum = 3; +inline bool FileSendProtos::has_package_sum() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void FileSendProtos::set_has_package_sum() { + _has_bits_[0] |= 0x00000004u; +} +inline void FileSendProtos::clear_has_package_sum() { + _has_bits_[0] &= ~0x00000004u; +} +inline void FileSendProtos::clear_package_sum() { + package_sum_ = 0; + clear_has_package_sum(); +} +inline ::google::protobuf::int32 FileSendProtos::package_sum() const { + return package_sum_; +} +inline void FileSendProtos::set_package_sum(::google::protobuf::int32 value) { + set_has_package_sum(); + package_sum_ = value; +} + +// required uint64 content_size = 4; +inline bool FileSendProtos::has_content_size() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +inline void FileSendProtos::set_has_content_size() { + _has_bits_[0] |= 0x00000008u; +} +inline void FileSendProtos::clear_has_content_size() { + _has_bits_[0] &= ~0x00000008u; +} +inline void FileSendProtos::clear_content_size() { + content_size_ = GOOGLE_ULONGLONG(0); + clear_has_content_size(); +} +inline ::google::protobuf::uint64 FileSendProtos::content_size() const { + return content_size_; +} +inline void FileSendProtos::set_content_size(::google::protobuf::uint64 value) { + set_has_content_size(); + content_size_ = value; +} + +// required .runtime.FileSendProtos.CompressType compress_type = 5; +inline bool FileSendProtos::has_compress_type() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +inline void FileSendProtos::set_has_compress_type() { + _has_bits_[0] |= 0x00000010u; +} +inline void FileSendProtos::clear_has_compress_type() { + _has_bits_[0] &= ~0x00000010u; +} +inline void FileSendProtos::clear_compress_type() { + compress_type_ = 0; + clear_has_compress_type(); +} +inline ::runtime::FileSendProtos_CompressType FileSendProtos::compress_type() const { + return static_cast< ::runtime::FileSendProtos_CompressType >(compress_type_); +} +inline void FileSendProtos::set_compress_type(::runtime::FileSendProtos_CompressType value) { + assert(::runtime::FileSendProtos_CompressType_IsValid(value)); + set_has_compress_type(); + compress_type_ = value; +} + +// optional uint64 modified_time = 6; +inline bool FileSendProtos::has_modified_time() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +inline void FileSendProtos::set_has_modified_time() { + _has_bits_[0] |= 0x00000020u; +} +inline void FileSendProtos::clear_has_modified_time() { + _has_bits_[0] &= ~0x00000020u; +} +inline void FileSendProtos::clear_modified_time() { + modified_time_ = GOOGLE_ULONGLONG(0); + clear_has_modified_time(); +} +inline ::google::protobuf::uint64 FileSendProtos::modified_time() const { + return modified_time_; +} +inline void FileSendProtos::set_modified_time(::google::protobuf::uint64 value) { + set_has_modified_time(); + modified_time_ = value; +} + +// optional .runtime.FileSendProtos.VerifyMode verify_mode = 7; +inline bool FileSendProtos::has_verify_mode() const { + return (_has_bits_[0] & 0x00000040u) != 0; +} +inline void FileSendProtos::set_has_verify_mode() { + _has_bits_[0] |= 0x00000040u; +} +inline void FileSendProtos::clear_has_verify_mode() { + _has_bits_[0] &= ~0x00000040u; +} +inline void FileSendProtos::clear_verify_mode() { + verify_mode_ = 0; + clear_has_verify_mode(); +} +inline ::runtime::FileSendProtos_VerifyMode FileSendProtos::verify_mode() const { + return static_cast< ::runtime::FileSendProtos_VerifyMode >(verify_mode_); +} +inline void FileSendProtos::set_verify_mode(::runtime::FileSendProtos_VerifyMode value) { + assert(::runtime::FileSendProtos_VerifyMode_IsValid(value)); + set_has_verify_mode(); + verify_mode_ = value; +} + +// optional string verify_sign = 8; +inline bool FileSendProtos::has_verify_sign() const { + return (_has_bits_[0] & 0x00000080u) != 0; +} +inline void FileSendProtos::set_has_verify_sign() { + _has_bits_[0] |= 0x00000080u; +} +inline void FileSendProtos::clear_has_verify_sign() { + _has_bits_[0] &= ~0x00000080u; +} +inline void FileSendProtos::clear_verify_sign() { + if (verify_sign_ != &::google::protobuf::internal::kEmptyString) { + verify_sign_->clear(); + } + clear_has_verify_sign(); +} +inline const ::std::string& FileSendProtos::verify_sign() const { + return *verify_sign_; +} +inline void FileSendProtos::set_verify_sign(const ::std::string& value) { + set_has_verify_sign(); + if (verify_sign_ == &::google::protobuf::internal::kEmptyString) { + verify_sign_ = new ::std::string; + } + verify_sign_->assign(value); +} +inline void FileSendProtos::set_verify_sign(const char* value) { + set_has_verify_sign(); + if (verify_sign_ == &::google::protobuf::internal::kEmptyString) { + verify_sign_ = new ::std::string; + } + verify_sign_->assign(value); +} +inline void FileSendProtos::set_verify_sign(const char* value, size_t size) { + set_has_verify_sign(); + if (verify_sign_ == &::google::protobuf::internal::kEmptyString) { + verify_sign_ = new ::std::string; + } + verify_sign_->assign(reinterpret_cast(value), size); +} +inline ::std::string* FileSendProtos::mutable_verify_sign() { + set_has_verify_sign(); + if (verify_sign_ == &::google::protobuf::internal::kEmptyString) { + verify_sign_ = new ::std::string; + } + return verify_sign_; +} +inline ::std::string* FileSendProtos::release_verify_sign() { + clear_has_verify_sign(); + if (verify_sign_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = verify_sign_; + verify_sign_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} +inline void FileSendProtos::set_allocated_verify_sign(::std::string* verify_sign) { + if (verify_sign_ != &::google::protobuf::internal::kEmptyString) { + delete verify_sign_; + } + if (verify_sign) { + set_has_verify_sign(); + verify_sign_ = verify_sign; + } else { + clear_has_verify_sign(); + verify_sign_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + } +} + +// optional uint64 uncompress_size = 9; +inline bool FileSendProtos::has_uncompress_size() const { + return (_has_bits_[0] & 0x00000100u) != 0; +} +inline void FileSendProtos::set_has_uncompress_size() { + _has_bits_[0] |= 0x00000100u; +} +inline void FileSendProtos::clear_has_uncompress_size() { + _has_bits_[0] &= ~0x00000100u; +} +inline void FileSendProtos::clear_uncompress_size() { + uncompress_size_ = GOOGLE_ULONGLONG(0); + clear_has_uncompress_size(); +} +inline ::google::protobuf::uint64 FileSendProtos::uncompress_size() const { + return uncompress_size_; +} +inline void FileSendProtos::set_uncompress_size(::google::protobuf::uint64 value) { + set_has_uncompress_size(); + uncompress_size_ = value; +} + +// ------------------------------------------------------------------- + +// FileSendComplete + +// required string file_name = 1; +inline bool FileSendComplete::has_file_name() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void FileSendComplete::set_has_file_name() { + _has_bits_[0] |= 0x00000001u; +} +inline void FileSendComplete::clear_has_file_name() { + _has_bits_[0] &= ~0x00000001u; +} +inline void FileSendComplete::clear_file_name() { + if (file_name_ != &::google::protobuf::internal::kEmptyString) { + file_name_->clear(); + } + clear_has_file_name(); +} +inline const ::std::string& FileSendComplete::file_name() const { + return *file_name_; +} +inline void FileSendComplete::set_file_name(const ::std::string& value) { + set_has_file_name(); + if (file_name_ == &::google::protobuf::internal::kEmptyString) { + file_name_ = new ::std::string; + } + file_name_->assign(value); +} +inline void FileSendComplete::set_file_name(const char* value) { + set_has_file_name(); + if (file_name_ == &::google::protobuf::internal::kEmptyString) { + file_name_ = new ::std::string; + } + file_name_->assign(value); +} +inline void FileSendComplete::set_file_name(const char* value, size_t size) { + set_has_file_name(); + if (file_name_ == &::google::protobuf::internal::kEmptyString) { + file_name_ = new ::std::string; + } + file_name_->assign(reinterpret_cast(value), size); +} +inline ::std::string* FileSendComplete::mutable_file_name() { + set_has_file_name(); + if (file_name_ == &::google::protobuf::internal::kEmptyString) { + file_name_ = new ::std::string; + } + return file_name_; +} +inline ::std::string* FileSendComplete::release_file_name() { + clear_has_file_name(); + if (file_name_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = file_name_; + file_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} +inline void FileSendComplete::set_allocated_file_name(::std::string* file_name) { + if (file_name_ != &::google::protobuf::internal::kEmptyString) { + delete file_name_; + } + if (file_name) { + set_has_file_name(); + file_name_ = file_name; + } else { + clear_has_file_name(); + file_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + } +} + +// required .runtime.FileSendComplete.RESULTTYPE result = 2; +inline bool FileSendComplete::has_result() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void FileSendComplete::set_has_result() { + _has_bits_[0] |= 0x00000002u; +} +inline void FileSendComplete::clear_has_result() { + _has_bits_[0] &= ~0x00000002u; +} +inline void FileSendComplete::clear_result() { + result_ = 0; + clear_has_result(); +} +inline ::runtime::FileSendComplete_RESULTTYPE FileSendComplete::result() const { + return static_cast< ::runtime::FileSendComplete_RESULTTYPE >(result_); +} +inline void FileSendComplete::set_result(::runtime::FileSendComplete_RESULTTYPE value) { + assert(::runtime::FileSendComplete_RESULTTYPE_IsValid(value)); + set_has_result(); + result_ = value; +} + +// required int32 error_num = 3; +inline bool FileSendComplete::has_error_num() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void FileSendComplete::set_has_error_num() { + _has_bits_[0] |= 0x00000004u; +} +inline void FileSendComplete::clear_has_error_num() { + _has_bits_[0] &= ~0x00000004u; +} +inline void FileSendComplete::clear_error_num() { + error_num_ = 0; + clear_has_error_num(); +} +inline ::google::protobuf::int32 FileSendComplete::error_num() const { + return error_num_; +} +inline void FileSendComplete::set_error_num(::google::protobuf::int32 value) { + set_has_error_num(); + error_num_ = value; +} + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace runtime + +// @@protoc_insertion_point(global_scope) + +#endif // PROTOBUF_Protos_2eproto__INCLUDED diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/ResData.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/ResData.h new file mode 100644 index 0000000000..884f717f46 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/ResData.h @@ -0,0 +1,9 @@ +#ifndef _RESDATA__H_ +#define _RESDATA__H_ + +extern const unsigned char __shinePngData[11776]; +extern const unsigned char __portraitPngData[122214]; +extern const unsigned char __playEnablePngData[20254]; +extern const unsigned char __landscapePngData[115832]; + +#endif // _RESDATA__H_ \ No newline at end of file diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Runtime.cpp b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Runtime.cpp new file mode 100644 index 0000000000..1dddcd2832 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Runtime.cpp @@ -0,0 +1,1096 @@ +/**************************************************************************** +Copyright (c) 2013 cocos2d-x.org + +http://www.cocos2d-x.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +****************************************************************************/ + +#include "Runtime.h" +#include "lua_debugger.h" +#include "CCLuaEngine.h" +#include "cocos2d.h" +#include "json/document.h" +#include "json/filestream.h" +#include "json/stringbuffer.h" +#include "json/writer.h" +#include "LuaBasicConversions.h" +#include "VisibleRect.h" +#include "ConfigParser.h" +#include "Protos.pb.h" +#include "zlib.h" + +#ifdef _WIN32 +#include +#else +#include +#endif + +#include +#include + +using namespace std; +using namespace cocos2d; + +std::string g_resourcePath; +extern string getIPAddress(); + +//1M size +#define MAXPROTOLENGTH 1048576 +#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) +#define usleep(t) Sleep(t) +#else +#include +#define usleep(t) usleep(t) +#endif + +const char* getRuntimeVersion() +{ + return "1.2"; +} + +void startScript(string strDebugArg) +{ + // register lua engine + auto engine = LuaEngine::getInstance(); + if (!strDebugArg.empty()) + { + engine->executeString(strDebugArg.c_str()); + } + cocos2d::log("debug args = %s",strDebugArg.c_str()); + engine->executeScriptFile(ConfigParser::getInstance()->getEntryFile().c_str()); +} + +bool reloadScript(const string& modulefile) +{ + string strfile = modulefile; + if (strfile.empty()) + { + strfile = ConfigParser::getInstance()->getEntryFile().c_str(); + } + + auto director = Director::getInstance(); + FontFNT::purgeCachedData(); + if (director->getOpenGLView()) + { + SpriteFrameCache::getInstance()->removeSpriteFrames(); + director->getTextureCache()->removeAllTextures(); + } + FileUtils::getInstance()->purgeCachedEntries(); + + director->getScheduler()->unscheduleAll(); + director->getScheduler()->scheduleUpdate(director->getActionManager(), Scheduler::PRIORITY_SYSTEM, false); + + return (LuaEngine::getInstance()->reload(strfile.c_str())==0); +} + +#if defined(_MSC_VER) || defined(__MINGW32__) +#include +#include + +#define bzero(a, b) memset(a, 0, b); + +#else +#include +#include +#include +#include +#include +#include +#endif + +class FileServer +{ + static FileServer *s_sharedFileServer; +public: + static FileServer* getShareInstance(){ + if (s_sharedFileServer == nullptr){ + s_sharedFileServer=new FileServer(); + } + return s_sharedFileServer; + } + bool listenOnTCP(int port); + void stop(); + + void readResFileFinfo(); + void addResFileInfo(const char* filename,uint64_t u64); + void removeResFileInfo(const char *filename); + rapidjson::Document* getFileCfgJson(){ + return &_filecfgjson; + }; + string getTransingFileName(){ + _fileNameMutex.lock(); + string filename = _strFileName; + _fileNameMutex.unlock(); + return filename; + } +protected: + FileServer(){ + _listenfd = -1; + _running = false; + _endThread = false; + _protoBuf =nullptr; + } + ~FileServer(){ + CC_SAFE_DELETE_ARRAY(_protoBuf); + } +private: + void loopReceiveFile(); + void loopWriteFile(); + void loopResponse(); + void addResponse(int fd, string filename,int errortype,int errornum); + enum PROTONUM + { + FILEPROTO=1, + FILESENDCOMPLETE=2, + DIRPROTO=3, + DIRSENDCOMPLETE=4 + }; + + struct RecvBufStruct + { + runtime::FileSendProtos fileProto; + std::string contentBuf; + int fd; + }; + + struct ResponseStruct + { + runtime::FileSendComplete fileResponseProto; + int fd; + }; + + // file descriptor: socket, console, etc. + int _listenfd; + int _maxfd; + std::vector _fds; + std::thread _responseThread; + std::thread _receiveThread; + std::thread _writeThread; + fd_set _read_set; + bool _running; + bool _endThread; + char *_protoBuf; + + std::list _recvBufList; + std::list _responseBufList; + std::mutex _recvBufListMutex; + std::mutex _responseBufListMutex; + + rapidjson::Document _filecfgjson; + + string _strFileName; + std::mutex _fileNameMutex; + + string _recvErrorFile; + string _writeErrorFile; +}; + +FileServer* FileServer::s_sharedFileServer =nullptr; +void FileServer::readResFileFinfo() +{ + string filecfg = g_resourcePath; + filecfg.append("/"); + filecfg.append("fileinfo_debug.json"); + FILE * pFile = fopen (filecfg.c_str() , "r"); + if(pFile){ + rapidjson::FileStream inputStream(pFile); + _filecfgjson.ParseStream<0>(inputStream); + fclose(pFile); + } + if(!_filecfgjson.IsObject()){ + _filecfgjson.SetObject(); + } + + //save file info to disk every ten second + Director::getInstance()->getScheduler()->schedule([&](float){ + rapidjson::StringBuffer buffer; + rapidjson::Writer< rapidjson::StringBuffer > writer(buffer); + _filecfgjson.Accept(writer); + const char* str = buffer.GetString(); + string filecfg = g_resourcePath; + filecfg.append("/"); + filecfg.append("fileinfo_debug.json"); + FILE * pFile = fopen (filecfg.c_str() , "w"); + if (!pFile) return ; + fwrite(str,sizeof(char),strlen(str),pFile); + fclose(pFile); + },this, 10.0f, false, "fileinfo"); +} + +void FileServer::addResFileInfo(const char* filename,uint64_t u64) +{ + if (_filecfgjson.HasMember(filename)){ + _filecfgjson.RemoveMember(filename); + } + char filetime[512]= {0}; + sprintf(filetime,"%llu",u64); + rapidjson::Value filetimeValue(rapidjson::kStringType); + filetimeValue.SetString(filetime,_filecfgjson.GetAllocator()); + rapidjson::Value filenameValue(rapidjson::kStringType); + filenameValue.SetString(filename,_filecfgjson.GetAllocator()); + _filecfgjson.AddMember(filenameValue.GetString(),filetimeValue,_filecfgjson.GetAllocator()); +} + +void FileServer::removeResFileInfo(const char *filename) +{ + if (_filecfgjson.HasMember(filename)) { + _filecfgjson.RemoveMember(filename); + } +} + +bool FileServer::listenOnTCP(int port) +{ + int listenfd, n; + const int on = 1; + struct addrinfo hints, *res, *ressave; + char serv[30]; + + snprintf(serv, sizeof(serv)-1, "%d", port ); + serv[sizeof(serv)-1]=0; + + bzero(&hints, sizeof(struct addrinfo)); + hints.ai_flags = AI_PASSIVE; + hints.ai_family = AF_INET; // AF_UNSPEC: Do we need IPv6 ? + hints.ai_socktype = SOCK_STREAM; + +#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) + WSADATA wsaData; + n = WSAStartup(MAKEWORD(2, 2),&wsaData); +#endif + + if ( (n = getaddrinfo(NULL, serv, &hints, &res)) != 0) { + fprintf(stderr,"net_listen error for %s: %s", serv, gai_strerror(n)); + return false; + } + + ressave = res; + do { + listenfd = socket(res->ai_family, res->ai_socktype, res->ai_protocol); + if (listenfd < 0) + continue; /* error, try next one */ + + setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, (const char*)&on, sizeof(on)); + //setsockopt(listenfd, IPPROTO_TCP, TCP_NODELAY, (const char*)&on, sizeof(on)); + if (::bind(listenfd, res->ai_addr, res->ai_addrlen) == 0) + break; /* success */ + + close(listenfd); /* bind error, close and try next one */ + } while ( (res = res->ai_next) != NULL); + + if (res == NULL) { + perror("net_listen:"); + freeaddrinfo(ressave); + return false; + } + + listen(listenfd, 1); + + if (res->ai_family == AF_INET) + { + char buf[INET_ADDRSTRLEN] = ""; + struct sockaddr_in *sin = (struct sockaddr_in*) res->ai_addr; + if( inet_ntop(res->ai_family, &sin->sin_addr, buf, sizeof(buf)) != NULL ) + cocos2d::log("Console: listening on %s : %d", buf, ntohs(sin->sin_port)); + else + perror("inet_ntop"); + } else if (res->ai_family == AF_INET6) + { + char buf[INET6_ADDRSTRLEN] = ""; + struct sockaddr_in6 *sin = (struct sockaddr_in6*) res->ai_addr; + if( inet_ntop(res->ai_family, &sin->sin6_addr, buf, sizeof(buf)) != NULL ) + cocos2d::log("Console: listening on %s : %d", buf, ntohs(sin->sin6_port)); + else + perror("inet_ntop"); + } + freeaddrinfo(ressave); + _listenfd = listenfd; + _receiveThread = std::thread( std::bind( &FileServer::loopReceiveFile, this) ); + _writeThread = std::thread(std::bind(&FileServer::loopWriteFile, this)); + _responseThread = std::thread(std::bind(&FileServer::loopResponse, this)); + return true; +} + +void FileServer::stop() +{ + if( _running ) { + _endThread = true; + _receiveThread.join(); + _writeThread.join(); + _responseThread.join(); + } +} + +string& replaceAll(string& str,const string& old_value,const string& new_value) +{ + while(true) + { + int pos=0; + if((pos=str.find(old_value,0))!=string::npos) + str.replace(pos,old_value.length(),new_value); + else break; + } + return str; +} + +bool CreateDir(const char *sPathName) +{ + char DirName[256]={0}; + strcpy(DirName, sPathName); + int i,len = strlen(DirName); + if(DirName[len-1]!='/') + strcat(DirName, "/"); + + len = strlen(DirName); + for(i=1; i0){ + //recv body data + Bytef *contentbuf= new Bytef[contentSize+1]; + memset(contentbuf,0,contentSize+1); + int recvTotalLen = contentSize; + while (recvTotalLen != 0){ + int recvLen = MAXPROTOLENGTH; + if(recvTotalLen < MAXPROTOLENGTH) + recvLen = recvTotalLen; + memset(_protoBuf,0,MAXPROTOLENGTH); + int result= recv(fd, _protoBuf, recvLen,0); + //cocos2d::log("recv fullfilename = %s,file size:%d",recvDataBuf.fileProto.file_name().c_str(),result); + if (result<=0) { + usleep(1); + continue; + } + memcpy(contentbuf+contentSize-recvTotalLen,_protoBuf,result); + recvTotalLen -= result; + } + + if (recvDataBuf.fileProto.compress_type() == runtime::FileSendProtos_CompressType::FileSendProtos_CompressType_ZIP){ + unsigned long uncompressSize = recvDataBuf.fileProto.uncompress_size(); + Bytef *buff = new Bytef[uncompressSize * sizeof(Bytef)]; + memset(buff, 0, uncompressSize * sizeof(Bytef)); + int err = ::uncompress(buff, &uncompressSize,contentbuf, contentSize * sizeof(Bytef)); + if (err != Z_OK){ + CC_SAFE_DELETE_ARRAY(buff); + CC_SAFE_DELETE_ARRAY(contentbuf); + addResponse(recvDataBuf.fd,recvDataBuf.fileProto.file_name(),runtime::FileSendComplete::RESULTTYPE::FileSendComplete_RESULTTYPE_UNCOMPRESS_ERROR,err); + continue; + } + CC_SAFE_DELETE_ARRAY(contentbuf); + contentbuf = buff; + contentSize = uncompressSize; + } + recvDataBuf.contentBuf.assign((const char*)contentbuf,contentSize); + CC_SAFE_DELETE_ARRAY(contentbuf); + + _recvBufListMutex.lock(); + _recvBufList.push_back(recvDataBuf); + _recvBufListMutex.unlock(); + } + } +} + +void FileServer::loopWriteFile() +{ + while(!_endThread) { + _recvBufListMutex.lock(); + int recvSize = _recvBufList.size(); + _recvBufListMutex.unlock(); + if(0 == recvSize){ + usleep(500); + continue; + } + + _recvBufListMutex.lock(); + RecvBufStruct recvDataBuf = _recvBufList.front(); + _recvBufList.pop_front(); + _recvBufListMutex.unlock(); + string filename = recvDataBuf.fileProto.file_name(); + string fullfilename = g_resourcePath; + fullfilename += filename; + _fileNameMutex.lock(); + _strFileName = filename; + _fileNameMutex.unlock(); + cocos2d::log("WriteFile:: fullfilename = %s",filename.c_str()); + CreateDir(fullfilename.substr(0,fullfilename.find_last_of("/")).c_str()); + + FILE *fp= nullptr; + if (1 == recvDataBuf.fileProto.package_seq()){ + _writeErrorFile =""; + fp=fopen(fullfilename.c_str(), "wb"); + }else{ + if (_writeErrorFile == filename){ + continue; + } + fp=fopen(fullfilename.c_str(), "ab"); + } + if (nullptr == fp){ + addResponse(recvDataBuf.fd,filename,runtime::FileSendComplete::RESULTTYPE::FileSendComplete_RESULTTYPE_FOPEN_ERROR,errno); + continue; + } + if (fp){ + if (0 == fwrite(recvDataBuf.contentBuf.c_str(), sizeof(char), recvDataBuf.contentBuf.size(),fp)){ + addResponse(recvDataBuf.fd,filename,runtime::FileSendComplete::RESULTTYPE::FileSendComplete_RESULTTYPE_FWRITE_ERROR,errno); + fclose(fp); + continue; + } + fclose(fp); + } + + if (1 == recvDataBuf.fileProto.package_seq()){ // == recvDataBuf.fileProto.package_sum() + //record new file modify + addResFileInfo(filename.c_str(),recvDataBuf.fileProto.modified_time()); + addResponse(recvDataBuf.fd,filename,runtime::FileSendComplete::RESULTTYPE::FileSendComplete_RESULTTYPE_SUCCESS,0); + } + } +} + +void FileServer::addResponse(int fd, string filename,int errortype,int errornum) +{ + switch (errortype) + { + case runtime::FileSendComplete::RESULTTYPE::FileSendComplete_RESULTTYPE_UNCOMPRESS_ERROR: + case runtime::FileSendComplete::RESULTTYPE::FileSendComplete_RESULTTYPE_RECV_ERROR: + _recvErrorFile = filename; + break; + case runtime::FileSendComplete::RESULTTYPE::FileSendComplete_RESULTTYPE_FOPEN_ERROR: + case runtime::FileSendComplete::RESULTTYPE::FileSendComplete_RESULTTYPE_FWRITE_ERROR: + _writeErrorFile = filename; + break; + default: + break; + } + + ResponseStruct responseBuf; + responseBuf.fd = fd; + responseBuf.fileResponseProto.set_file_name(filename.c_str()); + responseBuf.fileResponseProto.set_result((::runtime::FileSendComplete_RESULTTYPE)errortype); + responseBuf.fileResponseProto.set_error_num(errornum); + + // push Response struct + _responseBufListMutex.lock(); + _responseBufList.push_back(responseBuf); + _responseBufListMutex.unlock(); +} + +void FileServer::loopResponse() +{ + while(!_endThread) { + _responseBufListMutex.lock(); + int responseSize = _responseBufList.size(); + _responseBufListMutex.unlock(); + if(0 == responseSize){ + usleep(500); + continue; + } + + _responseBufListMutex.lock(); + ResponseStruct responseBuf = _responseBufList.front(); + _responseBufList.pop_front(); + _responseBufListMutex.unlock(); + //send response + string responseString; + runtime::FileSendComplete fileSendProtoComplete; + fileSendProtoComplete.set_file_name(responseBuf.fileResponseProto.file_name()); + fileSendProtoComplete.set_result(responseBuf.fileResponseProto.result()); + fileSendProtoComplete.set_error_num(responseBuf.fileResponseProto.error_num()); + fileSendProtoComplete.SerializeToString(&responseString); + char dataBuf[1024] ={0}; + struct ResponseStruct + { + char startFlag[12]; + unsigned short protoNum; + unsigned short protoBufLen; + }; + ResponseStruct responseData; + strcpy(responseData.startFlag,"RuntimeSend:"); + responseData.protoNum=PROTONUM::FILESENDCOMPLETE; + responseData.protoBufLen= (unsigned short)responseString.size(); + memcpy(dataBuf,&responseData,sizeof(responseData)); + memcpy(dataBuf+sizeof(responseData),responseString.c_str(),responseString.size()); + cocos2d::log("responseFile:%s,result:%d",fileSendProtoComplete.file_name().c_str(),fileSendProtoComplete.result()); + int sendLen = send(responseBuf.fd, dataBuf, sizeof(responseData)+responseString.size(),0); + //pop response buf + } +} + +class ConnectWaitLayer: public Layer +{ +private: + Label* _labelUploadFile; + string _transferTip; +public: + ConnectWaitLayer() + { +#include "ResData.h" + int designWidth = 1280; + int designHeight = 800; + Director::getInstance()->getOpenGLView()->setDesignResolutionSize(designWidth,designHeight,ResolutionPolicy::EXACT_FIT); + Image* imagebg = new Image(); + imagebg->initWithImageData(__landscapePngData, sizeof(__landscapePngData)); + if (!ConfigParser::getInstance()->isLanscape()){ + imagebg->initWithImageData(__portraitPngData, sizeof(__portraitPngData)); + Director::getInstance()->getOpenGLView()->setDesignResolutionSize(designHeight,designWidth,ResolutionPolicy::EXACT_FIT); + } + Texture2D* texturebg = Director::getInstance()->getTextureCache()->addImage(imagebg, "play_background"); + auto background = Sprite::createWithTexture(texturebg); + background->setAnchorPoint(Vec2(0,0)); + addChild(background,9000); + + + // variable of below is"play" button position. + int portraitX = 400; + int portraitY = 500; + int lanscaptX = 902; + int lanscaptY = 400; + Image* imageplay = new Image(); + imageplay->initWithImageData(__playEnablePngData, sizeof(__playEnablePngData)); + Texture2D* textureplay = Director::getInstance()->getTextureCache()->addImage(imageplay, "play_enable"); + auto playSprite = Sprite::createWithTexture(textureplay); + playSprite->setPosition(Vec2(lanscaptX,lanscaptY)); + addChild(playSprite,9999); + + + Image* imageShine = new Image(); + imageShine->initWithImageData(__shinePngData, sizeof(__shinePngData)); + Texture2D* textureShine = Director::getInstance()->getTextureCache()->addImage(imageShine, "Shine"); + auto shineSprite = Sprite::createWithTexture(textureShine); + shineSprite->setOpacity(0); + shineSprite->setPosition(Vec2(lanscaptX,lanscaptY)); + Vector arrayOfActions; + arrayOfActions.pushBack(DelayTime::create(0.4f)); + arrayOfActions.pushBack(FadeTo::create(0.8f,200)); + arrayOfActions.pushBack(FadeTo::create(0.8f,255)); + arrayOfActions.pushBack(FadeTo::create(0.8f,200)); + arrayOfActions.pushBack(FadeTo::create(0.8f,0)); + arrayOfActions.pushBack(DelayTime::create(0.4f)); + Sequence * arrayAction = Sequence::create(arrayOfActions); + shineSprite->runAction(RepeatForever::create(Sequence::create(arrayOfActions))); + addChild(shineSprite,9998); + + string strip = getIPAddress(); + char szIPAddress[512]={0}; + sprintf(szIPAddress, "IP: %s",strip.c_str()); + auto IPlabel = Label::createWithSystemFont(szIPAddress,"",72); + IPlabel->setAnchorPoint(Vec2(0,0)); + int spaceSizex = 72; + int spaceSizey = 200; + IPlabel->setPosition( Point(VisibleRect::leftTop().x+spaceSizex, VisibleRect::top().y -spaceSizey) ); + addChild(IPlabel, 9001); + + _transferTip = "waiting for file transfer ..."; + if (CC_PLATFORM_WIN32 == CC_TARGET_PLATFORM || CC_PLATFORM_MAC == CC_TARGET_PLATFORM){ + _transferTip = "waiting for debugger to connect ..."; + } + + char szVersion[1024]={0}; + sprintf(szVersion,"runtimeVersion:%s \ncocos2dVersion:%s",getRuntimeVersion(),cocos2dVersion()); + Label* verLable = Label::createWithSystemFont(szVersion,"",24); + verLable->setAnchorPoint(Vec2(0,0)); + int width = verLable->getBoundingBox().size.width; + int height = verLable->getBoundingBox().size.height; + verLable->setPosition( Point(VisibleRect::right().x-width, VisibleRect::rightBottom().y) ); + verLable->setAlignment(TextHAlignment::LEFT); + addChild(verLable, 9002); + _labelUploadFile = Label::createWithSystemFont(_transferTip,"",36); + _labelUploadFile->setAnchorPoint(Vec2(0,0)); + _labelUploadFile->setPosition( Point(VisibleRect::leftTop().x+spaceSizex, IPlabel->getPositionY()-spaceSizex) ); + _labelUploadFile->setAlignment(TextHAlignment::LEFT); + addChild(_labelUploadFile, 9003); + + if (!ConfigParser::getInstance()->isLanscape()) + { + if (playSprite) playSprite->setPosition(portraitX,portraitY); + if (shineSprite) shineSprite->setPosition(portraitX,portraitY); + _labelUploadFile->setAlignment(TextHAlignment::LEFT); + } + + auto listener = EventListenerTouchOneByOne::create(); + listener->onTouchBegan = [](Touch* touch, Event *event)->bool{ + auto target = static_cast(event->getCurrentTarget()); + Vec2 point = target->convertToNodeSpace(Director::getInstance()->convertToGL(touch->getLocationInView())); + auto rect = Rect(0, 0, target->getContentSize().width, target->getContentSize().height); + if (!rect.containsPoint(point)) return false; + target->stopAllActions(); + target->runAction(Sequence::createWithTwoActions(ScaleBy::create(0.05f, 0.9f),ScaleTo::create(0.125f, 1))); + return true; + }; + listener->onTouchEnded = [](Touch* touch, Event *event){ + auto target = static_cast(event->getCurrentTarget()); + Vec2 point = target->convertToNodeSpace(Director::getInstance()->convertToGL(touch->getLocationInView())); + auto rect = Rect(0, 0, target->getContentSize().width, target->getContentSize().height); + if (!rect.containsPoint(point)) return; + startScript(""); + }; + _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, playSprite); + + this->scheduleUpdate(); + } + + void update( float fDelta ) + { + _transferTip=FileServer::getShareInstance()->getTransingFileName(); + if (_transferTip.empty()){ + return; + } + _labelUploadFile->setString(_transferTip); + } +}; + +class ConsoleCustomCommand +{ +public: + void init() + { + cocos2d::Console *_console = Director::getInstance()->getConsole(); + static struct Console::Command commands[] = { + {"sendrequest","send command to runtime.Args[json format]",std::bind(&ConsoleCustomCommand::onSendCommand, this, std::placeholders::_1, std::placeholders::_2)}, + }; + for (int i=0;i< sizeof(commands)/sizeof(Console::Command);i++) { + _console->addCommand(commands[i]); + } + _console->listenOnTCP(6010); + + _fileserver= FileServer::getShareInstance(); + _fileserver->listenOnTCP(6020); + _fileserver->readResFileFinfo(); + } + + ~ConsoleCustomCommand() + { + Director::getInstance()->getConsole()->stop(); + _fileserver->stop(); + } + + void onSendCommand(int fd, const std::string &args) + { + Director::getInstance()->getScheduler()->performFunctionInCocosThread([=](){ + rapidjson::Document dArgParse; + dArgParse.Parse<0>(args.c_str()); + if (dArgParse.HasMember("cmd")) + { + string strcmd = dArgParse["cmd"].GetString(); + + rapidjson::Document dReplyParse; + dReplyParse.SetObject(); + dReplyParse.AddMember("cmd",strcmd.c_str(),dReplyParse.GetAllocator()); + if (dArgParse.HasMember("seq")) { + dReplyParse.AddMember("seq",dArgParse["seq"],dReplyParse.GetAllocator()); + } + + if(strcmp(strcmd.c_str(),"start-logic")==0){ + char szDebugArg[1024]={0}; + sprintf(szDebugArg, "require('debugger')(%s,'%s')",dArgParse["debugcfg"].GetString(),g_resourcePath.c_str()); + startScript(szDebugArg); + dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); + + }else if(strcmp(strcmd.c_str(),"reload")==0) + { + if (dArgParse.HasMember("modulefiles")){ + rapidjson::Value bodyvalue(rapidjson::kObjectType); + const rapidjson::Value& objectfiles = dArgParse["modulefiles"]; + for (rapidjson::SizeType i = 0; i < objectfiles.Size(); i++){ + if (!reloadScript(objectfiles[i].GetString())) { + bodyvalue.AddMember(objectfiles[i].GetString(),1,dReplyParse.GetAllocator()); + } + } + if (0 == objectfiles.Size()){ + reloadScript(""); + } + dReplyParse.AddMember("body",bodyvalue,dReplyParse.GetAllocator()); + } + dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); + }else if(strcmp(strcmd.c_str(),"getversion")==0) + { + rapidjson::Value bodyvalue(rapidjson::kObjectType); + bodyvalue.AddMember("version",getRuntimeVersion(),dReplyParse.GetAllocator()); + dReplyParse.AddMember("body",bodyvalue,dReplyParse.GetAllocator()); + dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); + }else if(strcmp(strcmd.c_str(),"getfileinfo")==0){ + rapidjson::Value bodyvalue(rapidjson::kObjectType); + rapidjson::Document* filecfgjson = _fileserver->getFileCfgJson(); + for (auto it=filecfgjson->MemberonBegin();it!=filecfgjson->MemberonEnd();++it){ + bodyvalue.AddMember(it->name.GetString(),it->value.GetString(),dReplyParse.GetAllocator()); + } + dReplyParse.AddMember("body",bodyvalue,dReplyParse.GetAllocator()); + dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); + + }else if (strcmp(strcmd.c_str(),"getEntryfile")==0){ + rapidjson::Value bodyvalue(rapidjson::kObjectType); + rapidjson::Value entryFileValue(rapidjson::kStringType); + entryFileValue.SetString(ConfigParser::getInstance()->getEntryFile().c_str(),dReplyParse.GetAllocator()); + bodyvalue.AddMember("entryfile",entryFileValue,dReplyParse.GetAllocator()); + dReplyParse.AddMember("body",bodyvalue,dReplyParse.GetAllocator()); + dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); + }else if(strcmp(strcmd.c_str(),"getIP")==0){ + rapidjson::Value bodyvalue(rapidjson::kObjectType); + rapidjson::Value IPValue(rapidjson::kStringType); + IPValue.SetString(getIPAddress().c_str(),dReplyParse.GetAllocator()); + bodyvalue.AddMember("IP",IPValue,dReplyParse.GetAllocator()); + dReplyParse.AddMember("body",bodyvalue,dReplyParse.GetAllocator()); + dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); + + }else if(strcmp(strcmd.c_str(),"remove")==0) + { + if (dArgParse.HasMember("files")) + { + rapidjson::Value bodyvalue(rapidjson::kObjectType); + const rapidjson::Value& objectfiles = dArgParse["files"]; + for (rapidjson::SizeType i = 0; i < objectfiles.Size(); i++) + { + string filename(g_resourcePath); + filename.append("/"); + filename.append(objectfiles[i].GetString()); + if (FileUtils::getInstance()->isFileExist(filename)) { + if(remove(filename.c_str())==0){ + if (_fileserver) + _fileserver->removeResFileInfo(objectfiles[i].GetString()); + } + else{ + bodyvalue.AddMember(objectfiles[i].GetString(),2,dReplyParse.GetAllocator()); + } + }else{ + bodyvalue.AddMember(objectfiles[i].GetString(),1,dReplyParse.GetAllocator()); + } + + } + dReplyParse.AddMember("body",bodyvalue,dReplyParse.GetAllocator()); + } + dReplyParse.AddMember("code",0,dReplyParse.GetAllocator()); + + }else if(strcmp(strcmd.c_str(),"shutdownapp")==0) + { +#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) + extern void shutDownApp(); + shutDownApp(); +#else + exit(0); +#endif + } + + rapidjson::StringBuffer buffer; + rapidjson::Writer< rapidjson::StringBuffer > writer(buffer); + dReplyParse.Accept(writer); + const char* str = buffer.GetString(); + char msgSize[64]={0x1,0}; + sprintf(msgSize+1,"%d:",strlen(str)); + string replymsg(msgSize); + replymsg.append(str); + send(fd,replymsg.c_str(),replymsg.size(),0); + } + }); + } +private: + FileServer* _fileserver; +}; + +int lua_cocos2dx_runtime_addSearchPath(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::FileUtils* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.FileUtils",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::FileUtils*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_FileUtils_addSearchPath'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + std::string arg0; + + ok &= luaval_to_std_string(tolua_S, 2,&arg0); + if(!ok) + return 0; + std::string argtmp = arg0; + if (!FileUtils::getInstance()->isAbsolutePath(arg0)) + arg0 = g_resourcePath+arg0; + cobj->addSearchPath(arg0); +#if(CC_TARGET_PLATFORM == CC_PLATFORM_IOS) + if (!FileUtils::getInstance()->isAbsolutePath(argtmp)) + cobj->addSearchPath(argtmp); +#endif + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "addSearchPath",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 +tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_FileUtils_addSearchPath'.",&tolua_err); +#endif + + return 0; +} + +int lua_cocos2dx_runtime_setSearchPaths(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::FileUtils* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.FileUtils",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::FileUtils*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_runtime_setSearchPaths'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + std::vector vecPaths; + + ok &= luaval_to_std_vector_string(tolua_S, 2,&vecPaths); + if(!ok) + return 0; + std::vector argtmp; + for (int i = 0; i < vecPaths.size(); i++) + { + if (!FileUtils::getInstance()->isAbsolutePath(vecPaths[i])) + { + argtmp.push_back(vecPaths[i]); + vecPaths[i] = g_resourcePath + vecPaths[i]; + } + } +#if(CC_TARGET_PLATFORM == CC_PLATFORM_IOS) + vecPaths.insert(vecPaths.end(),argtmp.begin(),argtmp.end()); +#endif + cobj->setSearchPaths(vecPaths); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "setSearchPaths",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 +tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_runtime_setSearchPaths'.",&tolua_err); +#endif + + return 0; +} + +static void register_runtime_override_function(lua_State* tolua_S) +{ + lua_pushstring(tolua_S, "cc.FileUtils"); + lua_rawget(tolua_S, LUA_REGISTRYINDEX); + if (lua_istable(tolua_S,-1)){ + tolua_function(tolua_S,"addSearchPath",lua_cocos2dx_runtime_addSearchPath); + tolua_function(tolua_S,"setSearchPaths",lua_cocos2dx_runtime_setSearchPaths); + + } + lua_pop(tolua_S, 1); +} + +bool initRuntime() +{ +#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) +#ifndef _DEBUG + return false; +#endif +#elif(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) +#ifdef NDEBUG + return false; +#endif +#elif(CC_TARGET_PLATFORM == CC_PLATFORM_MAC || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) +#ifndef COCOS2D_DEBUG + return false; +#endif +#endif + + vector searchPathArray; + searchPathArray=FileUtils::getInstance()->getSearchPaths(); +#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32 || CC_TARGET_PLATFORM == CC_PLATFORM_MAC) + if (g_resourcePath.empty()) + { + extern std::string getCurAppPath(); + string resourcePath = getCurAppPath(); +#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) + resourcePath.append("/../../"); +#elif (CC_TARGET_PLATFORM == CC_PLATFORM_MAC) + resourcePath.append("/../../../"); +#endif + resourcePath =replaceAll(resourcePath,"\\","/"); + g_resourcePath = resourcePath; + } + +#else + g_resourcePath = FileUtils::getInstance()->getWritablePath(); + g_resourcePath += "debugruntime/"; +#endif + + g_resourcePath=replaceAll(g_resourcePath,"\\","/"); + if (g_resourcePath.at(g_resourcePath.length()-1) != '/'){ + g_resourcePath.append("/"); + } + + searchPathArray.insert(searchPathArray.begin(),g_resourcePath); + FileUtils::getInstance()->setSearchPaths(searchPathArray); + + return true; +} + +bool startRuntime() +{ +#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) +#ifndef _DEBUG + return false; +#endif +#elif(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) +#ifdef NDEBUG + return false; +#endif +#elif(CC_TARGET_PLATFORM == CC_PLATFORM_MAC || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) +#ifndef COCOS2D_DEBUG + return false; +#endif +#endif + + static ConsoleCustomCommand s_customCommand; + s_customCommand.init(); + auto engine = LuaEngine::getInstance(); + ScriptEngineManager::getInstance()->setScriptEngine(engine); + + LuaStack* stack = engine->getLuaStack(); + register_runtime_override_function(stack->getLuaState()); + + luaopen_debugger(engine->getLuaStack()->getLuaState()); + + auto scene = Scene::create(); + auto connectLayer = new ConnectWaitLayer(); + connectLayer->autorelease(); + auto director = Director::getInstance(); + scene->addChild(connectLayer); + director->runWithScene(scene); + + return true; +} diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/Runtime.h b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Runtime.h similarity index 100% rename from templates/lua-template-runtime/frameworks/runtime-src/Classes/Runtime.h rename to templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Runtime.h diff --git a/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Shine_png.cpp b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Shine_png.cpp new file mode 100644 index 0000000000..b2a3470045 --- /dev/null +++ b/templates/lua-template-runtime/frameworks/runtime-src/Classes/runtime/Shine_png.cpp @@ -0,0 +1,739 @@ +#include "ResData.h" +const unsigned char __shinePngData[11776] = { +0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52, +0x00, 0x00, 0x01, 0xC4, 0x00, 0x00, 0x02, 0x20, 0x04, 0x03, 0x00, 0x00, 0x00, 0xE9, 0x4C, 0x04, +0x25, 0x00, 0x00, 0x00, 0x1E, 0x50, 0x4C, 0x54, 0x45, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x24, 0x7C, 0x9B, 0x95, 0x00, 0x00, 0x00, 0x0A, 0x74, +0x52, 0x4E, 0x53, 0x00, 0x01, 0x05, 0x09, 0x0E, 0x13, 0x19, 0x24, 0x2B, 0x1E, 0x3A, 0xC3, 0xFD, +0x9D, 0x00, 0x00, 0x2D, 0x87, 0x49, 0x44, 0x41, 0x54, 0x78, 0xDA, 0xDC, 0x9A, 0x4B, 0xB2, 0xD4, +0x30, 0x0C, 0x45, 0x3B, 0xAC, 0x00, 0x04, 0x0B, 0xC0, 0x36, 0x0B, 0xA0, 0x9C, 0x66, 0x0E, 0x24, +0x30, 0x87, 0xA2, 0xD9, 0x01, 0xEC, 0x7F, 0x09, 0x58, 0x96, 0xAD, 0x2B, 0xC7, 0xFC, 0x26, 0x14, +0x4A, 0x94, 0xA6, 0xAA, 0xD3, 0x2F, 0x50, 0x1C, 0x8E, 0x7E, 0xE6, 0xBD, 0xDB, 0xBF, 0x8C, 0xE5, +0x99, 0x8D, 0xA7, 0xB7, 0xAB, 0x45, 0x27, 0xBB, 0x2A, 0x26, 0xA0, 0xE6, 0xB8, 0x5D, 0x20, 0x24, +0x3F, 0x2F, 0x4C, 0x39, 0x01, 0x5E, 0x2D, 0x63, 0x01, 0x78, 0x55, 0x95, 0xCF, 0x4A, 0x5C, 0x1A, +0xD2, 0x2A, 0xBC, 0x66, 0xBA, 0x0A, 0xE1, 0x95, 0x45, 0x0A, 0xE1, 0x95, 0x45, 0x0A, 0xE1, 0x95, +0x45, 0xFE, 0x82, 0x90, 0x9E, 0x05, 0xBC, 0x4E, 0xCE, 0xF8, 0x6C, 0x8E, 0x19, 0x2A, 0x9C, 0x99, +0x11, 0x12, 0x21, 0x50, 0x24, 0x96, 0x8B, 0xCA, 0xC5, 0x6F, 0x44, 0xEA, 0x59, 0x19, 0x67, 0x3E, +0x06, 0x52, 0x56, 0x26, 0xD4, 0xFB, 0x70, 0x4A, 0xC6, 0x59, 0xA2, 0xA0, 0x04, 0x32, 0x80, 0x5D, +0x2A, 0x7F, 0x7C, 0x3E, 0xC6, 0x03, 0x1B, 0xA3, 0x90, 0xBD, 0x15, 0xAB, 0xA1, 0x0B, 0x3E, 0xE1, +0xEC, 0x98, 0x25, 0x42, 0x56, 0x18, 0x53, 0x95, 0xF0, 0xAF, 0x70, 0x2A, 0xC6, 0x11, 0x4E, 0x40, +0x04, 0xC1, 0x02, 0x52, 0xFF, 0x88, 0xCE, 0x57, 0x8E, 0x56, 0x62, 0x47, 0x22, 0x6D, 0x39, 0x14, +0x62, 0x09, 0x8A, 0xA1, 0xDB, 0x05, 0x28, 0x9D, 0x46, 0xA3, 0x45, 0x0C, 0x3A, 0x20, 0x84, 0x34, +0xC4, 0x10, 0xA9, 0x44, 0xA8, 0xA0, 0xF2, 0xB1, 0x54, 0xE7, 0xA9, 0xCA, 0xF1, 0xE8, 0x10, 0xA3, +0xA1, 0xD8, 0x1B, 0x23, 0x46, 0xF3, 0x44, 0xB9, 0xE8, 0x1C, 0xA9, 0xBA, 0x4C, 0x0E, 0xA9, 0xB9, +0x6A, 0x80, 0xC1, 0x46, 0x8C, 0x66, 0x6C, 0x84, 0x93, 0x94, 0x23, 0x10, 0xD1, 0x63, 0x38, 0xA8, +0x31, 0x69, 0x40, 0xA5, 0xE8, 0x6E, 0xFB, 0xCF, 0x09, 0x52, 0x15, 0x39, 0x0A, 0x48, 0x56, 0x18, +0xA2, 0xF0, 0x50, 0x23, 0x64, 0xD8, 0xAE, 0x32, 0xC8, 0x73, 0x74, 0x92, 0xAE, 0x7A, 0x28, 0xC4, +0x40, 0x50, 0xD8, 0xEC, 0x85, 0xFA, 0x1A, 0x5C, 0x46, 0xB3, 0xE8, 0x04, 0xEF, 0x8C, 0xC8, 0x53, +0x4C, 0x04, 0x51, 0xC8, 0x50, 0x82, 0xA6, 0xA8, 0x35, 0x84, 0x5E, 0x25, 0x06, 0xF7, 0x5D, 0x55, +0x11, 0x09, 0xA0, 0x4D, 0x21, 0x09, 0x1F, 0x82, 0x75, 0x76, 0xC8, 0x08, 0x48, 0x72, 0xAE, 0x11, +0x0E, 0xB4, 0x77, 0x44, 0xC9, 0xC5, 0x9F, 0x87, 0x80, 0x57, 0xC9, 0x92, 0xA5, 0xE4, 0xBE, 0x1C, +0x9F, 0xD9, 0x00, 0x61, 0x75, 0xF6, 0xEB, 0x20, 0x59, 0x08, 0x7A, 0x76, 0x07, 0xD7, 0xA9, 0x0A, +0x83, 0xD4, 0x09, 0x43, 0x08, 0xBF, 0x07, 0xAC, 0x5F, 0xAE, 0x4F, 0x9D, 0x61, 0x57, 0x5D, 0x8E, +0xC7, 0x28, 0xC2, 0xA8, 0xF8, 0x43, 0xF4, 0xF1, 0x41, 0x3C, 0x23, 0x1D, 0x6B, 0x6C, 0x88, 0x18, +0xF8, 0x62, 0xE7, 0x8F, 0xD1, 0x0B, 0xF2, 0x04, 0xBB, 0xEA, 0x71, 0x22, 0xB6, 0x61, 0x01, 0x89, +0x39, 0xD9, 0xD7, 0x01, 0xB2, 0x4D, 0x8F, 0xC0, 0x97, 0xDB, 0x54, 0x3D, 0xEC, 0x36, 0x71, 0xCC, +0xD2, 0x42, 0xF5, 0xDB, 0x54, 0xAD, 0x73, 0xD3, 0xFB, 0xE9, 0x78, 0x5C, 0x6D, 0xA8, 0x96, 0xD7, +0xC8, 0x91, 0xE3, 0xDA, 0x82, 0xDF, 0xB3, 0x4B, 0x68, 0x6C, 0x1E, 0xB9, 0x18, 0xDD, 0x76, 0x9C, +0xC5, 0x4C, 0xC4, 0xF2, 0x6B, 0xA8, 0x43, 0xC9, 0xCB, 0xB4, 0xAE, 0x49, 0x82, 0xDF, 0xE5, 0xA3, +0x46, 0xD6, 0xCE, 0x19, 0xEE, 0x77, 0x8F, 0x1B, 0xD7, 0x37, 0x8A, 0x14, 0x4C, 0x9A, 0x2A, 0xA0, +0x48, 0xCC, 0x39, 0xAF, 0xA9, 0xB8, 0x54, 0x93, 0x60, 0xE4, 0xDF, 0xED, 0x75, 0x38, 0x8E, 0xEB, +0xDB, 0x40, 0x98, 0x63, 0x8A, 0x15, 0xCB, 0x84, 0xDC, 0x4F, 0xC3, 0x23, 0x7A, 0x3E, 0x39, 0x0E, +0x79, 0x4A, 0x25, 0xC6, 0x22, 0x2C, 0x02, 0x11, 0x2A, 0x53, 0x4C, 0xC2, 0x23, 0x33, 0xCA, 0x99, +0xC3, 0xA3, 0xC6, 0x71, 0x73, 0x43, 0xAF, 0xE1, 0x4C, 0x64, 0x42, 0x90, 0x21, 0xF8, 0xE3, 0x7C, +0x58, 0xE6, 0x82, 0xDF, 0x6A, 0xB4, 0x2B, 0xF8, 0xC1, 0x61, 0xE1, 0x58, 0xCB, 0x6B, 0x8A, 0x2C, +0x90, 0x10, 0xC9, 0x94, 0xE4, 0x76, 0x8F, 0x5B, 0xEC, 0x7E, 0xCA, 0xED, 0x94, 0xD4, 0x61, 0xCA, +0x86, 0x70, 0x8E, 0xA3, 0x48, 0x2E, 0x47, 0xF2, 0xD8, 0x71, 0xEC, 0x86, 0x2A, 0x12, 0xE1, 0x30, +0xA5, 0x21, 0x47, 0xE7, 0x6C, 0xCD, 0x92, 0xCE, 0x6D, 0x25, 0x2F, 0x13, 0xC7, 0xA5, 0x46, 0x20, +0x06, 0x62, 0x89, 0x28, 0xC4, 0x3C, 0x0B, 0x9C, 0x45, 0x5A, 0x8F, 0xE4, 0x74, 0x55, 0x35, 0x79, +0x3A, 0x6E, 0x6E, 0x63, 0x8A, 0xDE, 0x25, 0xF4, 0x5E, 0x5B, 0x6B, 0xF7, 0x48, 0xEC, 0x51, 0x0E, +0x2A, 0xDE, 0x34, 0x0E, 0x07, 0x61, 0x34, 0xD3, 0x71, 0x5A, 0x6C, 0xDB, 0xB6, 0xD6, 0x0B, 0x98, +0x93, 0x47, 0x5E, 0x6E, 0x5D, 0xAE, 0xAA, 0xA6, 0x14, 0xC9, 0x0E, 0x8C, 0x94, 0x0D, 0x20, 0x93, +0xED, 0x72, 0xED, 0x7C, 0x33, 0x79, 0xEC, 0x90, 0x2E, 0x53, 0x75, 0x19, 0x0E, 0xC2, 0x2A, 0x71, +0x20, 0x5C, 0xF7, 0xAD, 0x90, 0xED, 0x1C, 0x77, 0x86, 0xDD, 0x4A, 0xD8, 0x09, 0x12, 0x21, 0xB2, +0xFE, 0x41, 0xCE, 0x4E, 0x55, 0xC6, 0x22, 0x24, 0xDA, 0x56, 0x53, 0x99, 0x76, 0x1B, 0xDB, 0x7E, +0x17, 0x93, 0x60, 0x4C, 0x9E, 0x3B, 0x8E, 0xC9, 0xD3, 0x5E, 0x8A, 0x89, 0x0B, 0x51, 0x09, 0xD7, +0x42, 0xB4, 0x1F, 0xE3, 0xCE, 0x22, 0x95, 0x30, 0x23, 0x51, 0x29, 0xFA, 0x9B, 0xFF, 0x68, 0xA8, +0xE6, 0x10, 0x95, 0x54, 0xE2, 0xA6, 0x02, 0x27, 0xCA, 0x15, 0xD9, 0x9A, 0xB2, 0x9E, 0x3B, 0xA8, +0xA6, 0xAA, 0xA7, 0x55, 0x75, 0xCC, 0xD3, 0x26, 0x31, 0x65, 0x38, 0x84, 0xC2, 0x29, 0xB6, 0xBB, +0x76, 0xD5, 0xA4, 0x84, 0xE4, 0xEE, 0x9B, 0x1C, 0x40, 0x24, 0xA2, 0x3E, 0x13, 0xD7, 0xF4, 0x37, +0x84, 0xE5, 0x4B, 0xA8, 0x48, 0x1C, 0x1F, 0xDD, 0x0D, 0x0E, 0xE4, 0x69, 0x84, 0xC4, 0xD4, 0x18, +0xC7, 0x32, 0xFC, 0xC0, 0x71, 0x60, 0x5C, 0xB5, 0x20, 0x41, 0x18, 0x9D, 0xCD, 0x7F, 0xD3, 0x6D, +0x30, 0xF7, 0xB3, 0xF6, 0x52, 0x25, 0xFC, 0x52, 0x62, 0x2F, 0xD7, 0x88, 0xB9, 0xC1, 0x63, 0x6A, +0x87, 0x0E, 0xDE, 0x01, 0x5D, 0x69, 0x34, 0x79, 0x0A, 0x89, 0xE8, 0xA6, 0x46, 0xE0, 0xE3, 0xF1, +0xA1, 0x5E, 0x8F, 0x07, 0xD3, 0x82, 0x51, 0x7B, 0x0E, 0x13, 0x36, 0x48, 0x57, 0xA9, 0xBA, 0x20, +0x4F, 0x55, 0xE2, 0x9A, 0xBA, 0x44, 0xEE, 0xA6, 0x6B, 0x05, 0xFC, 0x52, 0xE0, 0x34, 0x3E, 0x30, +0xA5, 0x29, 0xC8, 0x9E, 0xAA, 0x1D, 0xD2, 0x57, 0xAA, 0x0E, 0x69, 0x0A, 0x89, 0x20, 0xDC, 0x5F, +0x3F, 0xDF, 0xF7, 0xC7, 0x17, 0xF0, 0x01, 0x12, 0x23, 0xB2, 0x9F, 0x1E, 0x5D, 0xAE, 0xAA, 0x66, +0x64, 0xC4, 0x16, 0x87, 0x89, 0xF8, 0xEE, 0xF6, 0xCA, 0x1A, 0xFC, 0x52, 0x2E, 0x81, 0xDC, 0x95, +0x71, 0x6D, 0x8C, 0xDA, 0x55, 0x3D, 0x0D, 0x0E, 0x94, 0x62, 0x24, 0x95, 0x28, 0x8C, 0x7D, 0xE4, +0xBF, 0xBF, 0xDD, 0xDE, 0x80, 0x70, 0x60, 0x85, 0xC8, 0xB1, 0xAB, 0x52, 0x5B, 0x55, 0x5D, 0x68, +0x54, 0x44, 0x1C, 0x86, 0x33, 0xD2, 0x94, 0xE3, 0xC3, 0x56, 0x9E, 0x9A, 0x19, 0x45, 0x64, 0xEB, +0xAD, 0x5B, 0x67, 0x3C, 0x6A, 0xF4, 0x50, 0x8D, 0xF3, 0xFF, 0x68, 0xA4, 0x35, 0xB7, 0xCD, 0xB4, +0x0F, 0x8B, 0xF2, 0xD8, 0x13, 0xCE, 0xD4, 0xAF, 0x8F, 0x6F, 0xF2, 0x82, 0xC8, 0xEE, 0x51, 0xF7, +0xD5, 0x4E, 0x18, 0x79, 0x55, 0xF5, 0xF1, 0xB3, 0x2A, 0x73, 0x9E, 0xAE, 0x69, 0x48, 0xD3, 0x52, +0x78, 0xFC, 0xD7, 0x7B, 0x5E, 0xD8, 0x4C, 0xC0, 0x24, 0x7B, 0x14, 0xC8, 0x3E, 0x1C, 0xB1, 0xAA, +0xBA, 0xD0, 0xB8, 0x4C, 0xCD, 0x26, 0xA5, 0x3E, 0xF4, 0x3B, 0xE1, 0xE3, 0x25, 0x3F, 0xF9, 0xE2, +0xF1, 0x0D, 0xF1, 0xD5, 0xA8, 0x6C, 0x1E, 0xEF, 0x9A, 0xAA, 0x66, 0xFE, 0x93, 0x83, 0xA6, 0x6A, +0xF3, 0x94, 0x4C, 0x25, 0x6A, 0x96, 0xF2, 0xC4, 0x7F, 0x5D, 0x1F, 0x7D, 0x53, 0xE4, 0x7D, 0xAF, +0x31, 0x9A, 0xD4, 0x5D, 0xE7, 0xAE, 0xC3, 0x11, 0xF3, 0x9F, 0xFE, 0xBB, 0xC6, 0x65, 0x3E, 0x64, +0xA4, 0x5C, 0x09, 0x9B, 0xC4, 0x3A, 0x2C, 0xDE, 0xCA, 0xB3, 0x1F, 0xBF, 0x4B, 0x7C, 0x13, 0xCA, +0x62, 0x15, 0x1E, 0x51, 0x8E, 0xD8, 0x71, 0xC8, 0xC5, 0x1A, 0x07, 0x44, 0x1A, 0x66, 0xE2, 0x7D, +0x15, 0x40, 0x19, 0x87, 0x9F, 0xE4, 0xE1, 0x27, 0x2C, 0x11, 0xC1, 0x90, 0xF0, 0x38, 0x6B, 0x24, +0xAE, 0xC6, 0xFF, 0xAF, 0x51, 0x09, 0xB1, 0xBB, 0x65, 0x7B, 0xBE, 0x90, 0x21, 0xFF, 0xB9, 0x3D, +0xFD, 0x02, 0x7C, 0xEC, 0xD2, 0x26, 0xEB, 0xD0, 0x55, 0xA3, 0x84, 0x8B, 0x6D, 0xFC, 0x07, 0x33, +0xE7, 0xCE, 0xEB, 0x34, 0x10, 0x44, 0xE1, 0x0D, 0x8F, 0x1E, 0x21, 0xA0, 0xC6, 0x44, 0x3C, 0x4A, +0x84, 0x23, 0x01, 0x1D, 0x12, 0x41, 0x40, 0x47, 0x61, 0x10, 0x74, 0x20, 0xE0, 0x82, 0x3B, 0x10, +0x02, 0x3B, 0x25, 0x2F, 0x79, 0xE9, 0xA0, 0x20, 0x26, 0xFF, 0x96, 0xAC, 0x67, 0xBD, 0x67, 0xD6, +0x63, 0xB3, 0x91, 0xF1, 0x62, 0xE6, 0x07, 0x5C, 0xDD, 0x93, 0x6F, 0x1E, 0x67, 0x76, 0x37, 0xE1, +0x73, 0x3F, 0xF1, 0x9B, 0x0D, 0x04, 0x3E, 0x7C, 0xF9, 0x5C, 0xD9, 0xB8, 0x78, 0xE4, 0x85, 0xE9, +0x3B, 0x2E, 0x55, 0xD1, 0x55, 0xAF, 0xA1, 0xE5, 0xCC, 0x8F, 0x51, 0xEE, 0xFB, 0xF0, 0x35, 0xC8, +0xD3, 0x47, 0x0F, 0x95, 0x09, 0x2A, 0xC7, 0xED, 0x76, 0xEB, 0x25, 0xAB, 0xA7, 0x71, 0xD5, 0xA6, +0xAA, 0xBB, 0xAB, 0x9A, 0x13, 0xA3, 0xDC, 0xA3, 0x00, 0x71, 0xE5, 0x41, 0xDC, 0xB3, 0x72, 0xFF, +0xDB, 0xB1, 0x27, 0xBB, 0x5D, 0xBE, 0x0F, 0x2E, 0x12, 0xA9, 0x4A, 0x18, 0xE1, 0x71, 0x4E, 0xCF, +0x8F, 0x91, 0x2F, 0xC3, 0x83, 0x10, 0x5F, 0xEE, 0x1B, 0xE8, 0x79, 0xD5, 0xC6, 0x99, 0x5D, 0x13, +0x8E, 0xE5, 0x23, 0x33, 0x25, 0xA1, 0x11, 0x56, 0xD5, 0xC6, 0x5C, 0x18, 0x01, 0x11, 0xA5, 0x48, +0x1A, 0x79, 0x25, 0x52, 0x96, 0x36, 0xC3, 0xF0, 0x96, 0x72, 0x71, 0xC9, 0x28, 0x24, 0x95, 0xE0, +0xC8, 0x1D, 0x80, 0x2D, 0xC6, 0x6B, 0xFF, 0x45, 0x35, 0x4A, 0x88, 0xCB, 0x74, 0x09, 0x85, 0x99, +0x53, 0x78, 0xF4, 0x80, 0x7D, 0x2E, 0x4F, 0xAC, 0xC4, 0x7C, 0x47, 0xE9, 0x4A, 0x18, 0x49, 0x23, +0x75, 0x55, 0x60, 0x4C, 0x66, 0xC6, 0xB8, 0x90, 0x97, 0x8A, 0xE9, 0x12, 0x6B, 0x62, 0x66, 0x0B, +0xD1, 0xC8, 0x78, 0xA6, 0x10, 0xC7, 0xF3, 0x1D, 0x40, 0x7A, 0x1C, 0xD7, 0x0C, 0x63, 0x7A, 0xE1, +0x7F, 0x68, 0xAA, 0x50, 0xC8, 0xFA, 0x29, 0x20, 0x32, 0x85, 0x47, 0xCF, 0x15, 0x8B, 0xB3, 0x3B, +0x17, 0x47, 0xA4, 0xB1, 0xE5, 0xE8, 0xBB, 0xF1, 0xF9, 0xAB, 0x91, 0x5F, 0x0D, 0xBB, 0x3C, 0x25, +0x88, 0x74, 0x1A, 0x65, 0x14, 0x52, 0x9E, 0xE6, 0x2F, 0x14, 0x8F, 0xFB, 0x9B, 0xDA, 0x89, 0xCC, +0x99, 0xC6, 0x8C, 0x38, 0xAE, 0x98, 0x8D, 0x4B, 0x80, 0x71, 0x06, 0x89, 0x5C, 0x21, 0x51, 0xE4, +0x10, 0xD7, 0x0D, 0x16, 0xEB, 0xBB, 0xB7, 0x3F, 0x15, 0x8F, 0x63, 0xAF, 0x76, 0x1B, 0xA7, 0x32, +0xC7, 0x78, 0x44, 0x35, 0x9A, 0x18, 0x68, 0xAA, 0x2A, 0x7E, 0x48, 0x88, 0x58, 0x15, 0x89, 0x22, +0x20, 0xDA, 0xD5, 0x62, 0x5F, 0x7C, 0xFE, 0x87, 0x7F, 0xB6, 0x28, 0x48, 0x23, 0xEA, 0x91, 0x34, +0xFE, 0x5F, 0x18, 0x9D, 0x3E, 0xAC, 0x8A, 0x4B, 0x0E, 0x11, 0x95, 0xB8, 0xDD, 0x0B, 0xB9, 0xAA, +0xBC, 0xB8, 0x59, 0x18, 0x91, 0x1B, 0x70, 0x34, 0xA9, 0x8A, 0x95, 0x23, 0xA5, 0x98, 0x19, 0xE3, +0xA2, 0x3F, 0x4F, 0x01, 0x11, 0xBD, 0xC6, 0xC8, 0xB8, 0xA5, 0x3A, 0xA9, 0x5A, 0x6C, 0xF6, 0x2A, +0x6B, 0xC7, 0xD1, 0x61, 0xA4, 0xE1, 0x68, 0x1F, 0x91, 0xCD, 0x80, 0x31, 0x00, 0x91, 0x26, 0x46, +0xA7, 0x12, 0xF3, 0x66, 0x46, 0x3C, 0x55, 0x7E, 0x9C, 0x30, 0x02, 0xEB, 0x16, 0x24, 0x52, 0xD5, +0xB3, 0xAA, 0xCB, 0xD9, 0x30, 0x4A, 0x89, 0x56, 0x23, 0xF2, 0x94, 0x41, 0xDC, 0x1A, 0x0D, 0xF5, +0x0F, 0xA5, 0x64, 0xAA, 0x32, 0x8E, 0x98, 0x1C, 0x19, 0x26, 0xC7, 0x0C, 0x18, 0x03, 0x8F, 0x89, +0xD2, 0x6B, 0x6E, 0x62, 0xB0, 0x76, 0xDA, 0x68, 0xD8, 0xBC, 0x53, 0x4A, 0xA4, 0xAA, 0x51, 0x28, +0x35, 0xAE, 0xB3, 0xFF, 0x04, 0xE3, 0x60, 0x9E, 0x76, 0x21, 0xE6, 0x8D, 0xC2, 0xE2, 0xBD, 0xEA, +0xC6, 0xC9, 0x82, 0x34, 0x52, 0xAE, 0x52, 0x39, 0x52, 0x53, 0x75, 0x18, 0x97, 0xB3, 0x61, 0x94, +0x10, 0x21, 0x71, 0xB5, 0x6A, 0x14, 0x12, 0x44, 0x97, 0xA6, 0x45, 0xF1, 0x41, 0x89, 0xB8, 0xDE, +0x68, 0xDC, 0x58, 0x8E, 0xB9, 0xDF, 0x55, 0x57, 0xE9, 0x9C, 0x18, 0xE5, 0xE3, 0x4C, 0x0A, 0x76, +0x8B, 0xF1, 0xD0, 0x83, 0x58, 0xD7, 0x9B, 0xA2, 0x90, 0x9F, 0xFC, 0xB1, 0xBA, 0x2C, 0x48, 0xE5, +0x26, 0x8C, 0xF1, 0x42, 0xF0, 0xF5, 0x7F, 0x24, 0x88, 0xD8, 0xA3, 0x00, 0x11, 0xED, 0xD4, 0x15, +0xA2, 0xD1, 0x81, 0xC1, 0xC8, 0x0C, 0x40, 0xC5, 0x38, 0xB2, 0x8E, 0xD3, 0xD3, 0x54, 0xE9, 0x14, +0x27, 0x90, 0xA9, 0xB1, 0x20, 0x9E, 0x96, 0x27, 0x1A, 0x19, 0x6F, 0xA7, 0xA4, 0xB0, 0x78, 0xA0, +0x64, 0xDC, 0xAD, 0xAA, 0x8A, 0x38, 0xC2, 0xC9, 0x39, 0xAB, 0x2A, 0xAA, 0xF1, 0x9F, 0xBE, 0xFE, +0x5F, 0xF4, 0x4E, 0x0C, 0x52, 0x28, 0x21, 0xD6, 0x46, 0x63, 0xF5, 0x5D, 0xC9, 0x38, 0xF6, 0xAB, +0x6A, 0x40, 0xD6, 0xD4, 0x72, 0x50, 0x8D, 0x6B, 0xBF, 0x1A, 0x29, 0x02, 0xFB, 0x46, 0x74, 0x88, +0xC8, 0x53, 0x0E, 0x31, 0x77, 0x10, 0xCB, 0xB7, 0xAA, 0x27, 0xCE, 0x69, 0x5D, 0x10, 0x47, 0x93, +0xA9, 0x3B, 0x5E, 0x8E, 0x12, 0xE3, 0x05, 0xBA, 0x8A, 0x8E, 0x8E, 0x11, 0x12, 0xD1, 0x4F, 0xBB, +0xE6, 0xCD, 0x83, 0x58, 0x37, 0x02, 0xCB, 0xEA, 0xB3, 0xEA, 0x8B, 0xC7, 0x5A, 0xD3, 0xEC, 0xA8, +0x69, 0x38, 0x5A, 0x8F, 0x73, 0x47, 0xB8, 0x71, 0xDC, 0xA9, 0xC6, 0xC7, 0x28, 0x9B, 0x0D, 0xB7, +0xE0, 0x46, 0xE1, 0x1A, 0x10, 0xA9, 0x9B, 0x9A, 0x3C, 0xD5, 0x5F, 0x55, 0x5F, 0x1C, 0x2F, 0xB5, +0xA6, 0x7A, 0x6C, 0xBB, 0x2A, 0x96, 0xE3, 0xDB, 0xC0, 0x68, 0x0F, 0xE3, 0x92, 0xC0, 0xDC, 0x88, +0x05, 0x51, 0x2C, 0x19, 0x7E, 0x25, 0x16, 0xB5, 0x11, 0x58, 0xEA, 0x6F, 0xAA, 0x37, 0x2E, 0x6B, +0x5D, 0x16, 0x6E, 0xED, 0xC8, 0x7D, 0x8C, 0x69, 0x17, 0x23, 0x32, 0x55, 0x62, 0x8C, 0xD7, 0x6C, +0xF8, 0x92, 0x71, 0xDB, 0x1D, 0x68, 0x00, 0x22, 0x55, 0xA2, 0xD6, 0xBA, 0xFF, 0x7F, 0x5A, 0xFC, +0xD2, 0x15, 0x89, 0x2C, 0x5C, 0xC7, 0x71, 0xD5, 0x28, 0x30, 0x06, 0xC6, 0x7F, 0xD4, 0x4A, 0x5C, +0x3A, 0x8A, 0x77, 0x32, 0x52, 0x68, 0x21, 0x52, 0x96, 0x9A, 0xA0, 0xC1, 0x28, 0x7D, 0x9C, 0xC9, +0x54, 0x94, 0xA3, 0xDB, 0x38, 0x66, 0xAB, 0x46, 0x09, 0x91, 0x5B, 0x9B, 0xB5, 0x73, 0x36, 0x8F, +0x38, 0xC4, 0xB2, 0x34, 0x12, 0x1F, 0x0C, 0xFC, 0xB9, 0x7B, 0xDA, 0x8A, 0x24, 0xAF, 0x1A, 0xA8, +0xC6, 0x40, 0x53, 0x8D, 0x64, 0x4F, 0xB1, 0x64, 0xC8, 0x4A, 0x24, 0x81, 0x4D, 0xBC, 0x51, 0x6A, +0xB0, 0xE3, 0x50, 0xA6, 0xD6, 0xCE, 0xAA, 0x1A, 0x8C, 0x4D, 0x39, 0xA6, 0xB3, 0x60, 0xEC, 0x40, +0xEC, 0x9A, 0xB7, 0x3B, 0x46, 0xA1, 0x07, 0x51, 0x93, 0xC6, 0x8F, 0x4A, 0x0D, 0x76, 0x9C, 0xB6, +0xE7, 0x98, 0x6A, 0x74, 0x1A, 0x7B, 0xAA, 0xF1, 0x42, 0xA0, 0x1A, 0x63, 0x41, 0xC4, 0x50, 0x74, +0x47, 0x36, 0x0E, 0x22, 0x14, 0xEA, 0x2F, 0x83, 0x7F, 0xF1, 0x17, 0x65, 0x2A, 0xAA, 0x91, 0xAE, +0x56, 0xEF, 0xF4, 0x54, 0x63, 0xEC, 0xA7, 0xB8, 0x72, 0xC7, 0xB0, 0x10, 0x31, 0x14, 0xD7, 0x59, +0x0B, 0x71, 0xDB, 0x42, 0xAC, 0x34, 0x05, 0x66, 0xBF, 0xF0, 0x38, 0xC0, 0xE8, 0x34, 0x5A, 0x8C, +0xB7, 0x7B, 0x31, 0x26, 0x12, 0x63, 0xFC, 0xB1, 0xBF, 0xA4, 0x3C, 0xA5, 0x89, 0x41, 0x0A, 0x5D, +0x25, 0x52, 0x54, 0xE7, 0xD5, 0x60, 0x3C, 0xA6, 0x8E, 0x43, 0xC3, 0x11, 0x8B, 0xE3, 0x0C, 0xD5, +0x28, 0xF2, 0x94, 0x20, 0xF2, 0xA1, 0xE8, 0x9C, 0x0D, 0x2A, 0xD1, 0x06, 0x1A, 0xAA, 0x8C, 0x13, +0x84, 0x11, 0xB3, 0xD1, 0x62, 0x94, 0xD5, 0x48, 0xCF, 0xC6, 0xE3, 0x62, 0x94, 0x13, 0x03, 0x43, +0x91, 0xDB, 0x53, 0x40, 0x94, 0x69, 0x2A, 0xE3, 0x46, 0xAB, 0xD1, 0x60, 0xDC, 0x6E, 0x81, 0x11, +0xD5, 0x28, 0x6E, 0xFF, 0xA1, 0x31, 0x2A, 0x44, 0xDE, 0x6C, 0xE8, 0xCC, 0x66, 0x00, 0xE2, 0xB7, +0x3F, 0xE7, 0xD4, 0x31, 0xF3, 0x49, 0x90, 0x01, 0x70, 0x18, 0x45, 0x35, 0xE2, 0x2D, 0x4E, 0x12, +0xB3, 0xE3, 0x88, 0x5E, 0x83, 0xB1, 0xBF, 0x62, 0x43, 0x31, 0x07, 0xC4, 0x40, 0x9A, 0x62, 0x70, +0x40, 0x23, 0x30, 0x8A, 0x6A, 0xC4, 0xF7, 0xFF, 0xA3, 0x61, 0x14, 0x13, 0x03, 0x79, 0x0A, 0x88, +0xFB, 0x20, 0x88, 0x65, 0x11, 0x4E, 0x53, 0x0C, 0x0E, 0x5D, 0x56, 0x7B, 0x85, 0xA2, 0xA9, 0xAE, +0x43, 0x18, 0x63, 0xE7, 0xA9, 0x74, 0xE0, 0x47, 0x80, 0xD8, 0x2A, 0xAC, 0xF0, 0x8F, 0x84, 0x07, +0x47, 0x8D, 0xA6, 0x2A, 0xAB, 0x51, 0x7E, 0x89, 0x23, 0x0A, 0x44, 0x4C, 0x8C, 0xD3, 0x72, 0x8D, +0xA2, 0xA1, 0x68, 0x2B, 0xB1, 0xB2, 0x33, 0xF1, 0xA9, 0x0A, 0xC7, 0x6B, 0xCF, 0xAA, 0x1E, 0x56, +0x8D, 0xD0, 0xF8, 0xAF, 0x9D, 0x4D, 0x9E, 0x5B, 0x88, 0x21, 0x5F, 0xE3, 0x6F, 0x1C, 0xA4, 0x91, +0xAA, 0x31, 0x30, 0x1B, 0xE5, 0x70, 0x8C, 0x73, 0xA5, 0x28, 0xEF, 0x6A, 0x00, 0x71, 0x57, 0x33, +0x5F, 0x23, 0x86, 0xFE, 0xE0, 0xFC, 0xD7, 0x85, 0xC0, 0x28, 0x4E, 0x71, 0xE2, 0x62, 0xE4, 0x10, +0x69, 0xEE, 0xBB, 0x37, 0x1A, 0xD8, 0x85, 0x69, 0x62, 0x30, 0x88, 0x3F, 0xD4, 0x41, 0x71, 0x02, +0x4D, 0x55, 0x60, 0x94, 0x37, 0x1C, 0x3C, 0x22, 0x41, 0x4C, 0x64, 0xB3, 0xC9, 0x30, 0xF6, 0xA9, +0x14, 0x49, 0x21, 0x3F, 0xB4, 0x09, 0xCF, 0xFF, 0x40, 0x35, 0x12, 0x46, 0xFA, 0xDD, 0x4A, 0x74, +0xD5, 0xC8, 0x79, 0x8A, 0x6E, 0xD3, 0x42, 0xEC, 0xB4, 0xD3, 0x5B, 0xEA, 0xC0, 0x38, 0x4E, 0xC5, +0x18, 0xAC, 0x46, 0xFA, 0x9E, 0x4A, 0x9C, 0x67, 0xE3, 0xFE, 0xC4, 0x20, 0x8C, 0x29, 0x9C, 0x4D, +0xD7, 0x9E, 0x56, 0x62, 0x24, 0x06, 0x31, 0x9A, 0x38, 0xB4, 0x1A, 0x79, 0xC4, 0xCA, 0x53, 0x40, +0x5C, 0xAF, 0x90, 0xA7, 0x80, 0x18, 0xEA, 0x35, 0xD2, 0xC6, 0x61, 0x36, 0x06, 0xAA, 0x31, 0x89, +0xF4, 0x23, 0x0E, 0xC3, 0xF6, 0x94, 0x14, 0x76, 0x9C, 0x4D, 0xD9, 0xD7, 0x6B, 0xC2, 0x36, 0xAE, +0x1A, 0xC6, 0x88, 0x47, 0x9C, 0xA4, 0x71, 0xFA, 0xC9, 0xE1, 0xDB, 0xD3, 0x04, 0x67, 0x36, 0x70, +0x36, 0xA4, 0x10, 0xC7, 0x6E, 0xF2, 0xF4, 0x34, 0xE0, 0xC6, 0x87, 0x31, 0xA6, 0x14, 0x96, 0x62, +0x9C, 0x54, 0x5D, 0x88, 0x03, 0x62, 0x71, 0xE1, 0xC6, 0x2B, 0xD1, 0xD9, 0xEF, 0x08, 0x18, 0x71, +0xC4, 0x81, 0xF1, 0x11, 0x37, 0x4F, 0x6F, 0x77, 0x76, 0x8C, 0x82, 0x0F, 0x8C, 0xC9, 0x30, 0xAE, +0x1C, 0x46, 0x67, 0xE3, 0xA6, 0x4E, 0xD5, 0x21, 0x7B, 0x9A, 0xAE, 0xBA, 0xCE, 0xA6, 0xB9, 0x6C, +0x1B, 0x1C, 0x18, 0xE1, 0xA5, 0x2A, 0x80, 0xD1, 0x2D, 0x55, 0x7E, 0x4C, 0x96, 0xA7, 0xF2, 0x4B, +0x27, 0x2B, 0xEE, 0x6C, 0x72, 0x78, 0x37, 0x32, 0xA7, 0x63, 0x30, 0x56, 0xD5, 0x41, 0x18, 0x29, +0x51, 0x11, 0x71, 0x9F, 0x12, 0xC1, 0xD9, 0xE4, 0x04, 0xB1, 0xC0, 0xC0, 0x18, 0x81, 0xB1, 0x94, +0x18, 0x9D, 0x46, 0x87, 0x31, 0x21, 0x8C, 0x10, 0x79, 0x6A, 0xCA, 0x3C, 0x95, 0x4F, 0x88, 0x79, +0xB3, 0x71, 0xEE, 0xF4, 0x93, 0x52, 0xE3, 0x30, 0x6A, 0x59, 0x8D, 0xEC, 0x85, 0xA3, 0x6B, 0x38, +0x34, 0x1A, 0x11, 0x13, 0xE6, 0xA9, 0x29, 0x04, 0xB9, 0x0B, 0x8B, 0x4A, 0xAC, 0x00, 0x71, 0x92, +0x6A, 0x04, 0x46, 0x68, 0x34, 0x31, 0x95, 0x01, 0x18, 0x3E, 0x78, 0x73, 0x73, 0x1F, 0x5B, 0x14, +0x8D, 0x7D, 0x5C, 0x7D, 0x4F, 0xD4, 0x54, 0x2D, 0xC5, 0xD4, 0x2A, 0x34, 0x0B, 0x87, 0xCF, 0x71, +0x32, 0x89, 0xB2, 0xD9, 0x64, 0x1D, 0x7B, 0x5A, 0xBA, 0xD3, 0x8C, 0x11, 0x71, 0xE5, 0x50, 0x8C, +0xB0, 0x38, 0xC0, 0x38, 0x55, 0x9E, 0x72, 0x88, 0x69, 0xF7, 0xCC, 0xC6, 0x40, 0xAC, 0x46, 0x42, +0x84, 0x53, 0xAD, 0xAA, 0x70, 0x35, 0x1A, 0x8B, 0xD5, 0xE1, 0x38, 0x65, 0x9E, 0xE2, 0xDD, 0x22, +0x9A, 0x0D, 0xEE, 0x31, 0x4A, 0x40, 0x1C, 0x83, 0x31, 0xD8, 0x54, 0xF1, 0x16, 0x37, 0x11, 0x56, +0x75, 0x1A, 0x7F, 0xCA, 0xEC, 0x69, 0xEA, 0x5D, 0x29, 0xC2, 0xD9, 0x00, 0xE2, 0x48, 0x8C, 0x7A, +0xB8, 0x1A, 0x31, 0x38, 0x92, 0x64, 0xBA, 0xF9, 0xBF, 0x18, 0xBE, 0xFA, 0x76, 0xCE, 0x06, 0x95, +0x18, 0x82, 0x38, 0x7E, 0x6F, 0x94, 0x97, 0x71, 0x89, 0x6F, 0x55, 0x4F, 0x4D, 0xF4, 0x8B, 0x36, +0x21, 0x67, 0x33, 0x1E, 0x22, 0xD6, 0x7F, 0xD9, 0x54, 0xE9, 0x88, 0x43, 0xBA, 0x71, 0x3F, 0xA6, +0xF9, 0xE6, 0x10, 0x45, 0x9F, 0xB3, 0xC1, 0x8E, 0x01, 0x88, 0x63, 0xE2, 0x5E, 0x2F, 0xC6, 0x3B, +0x19, 0xFB, 0x4A, 0x15, 0xAA, 0x51, 0xB8, 0xF1, 0x09, 0x7E, 0x04, 0x0D, 0xCE, 0x86, 0x35, 0x1B, +0xF4, 0x53, 0x5D, 0x02, 0xE2, 0xC8, 0x38, 0xD1, 0xDF, 0x54, 0xD7, 0xA2, 0x1A, 0xCD, 0x7F, 0x33, +0xCD, 0x52, 0xB5, 0x90, 0xE6, 0xED, 0x9A, 0x3C, 0xB3, 0xB1, 0x79, 0x5A, 0x00, 0xE2, 0xE8, 0x78, +0x2C, 0x9B, 0xAA, 0x09, 0x89, 0x71, 0xB2, 0x63, 0x1C, 0xD1, 0x6C, 0xE4, 0x99, 0x0D, 0x9C, 0x0D, +0xDC, 0xE9, 0xF8, 0x38, 0xD9, 0xDB, 0x54, 0x33, 0xBE, 0x54, 0x59, 0x85, 0xF2, 0x27, 0xD5, 0x26, +0x18, 0x19, 0x14, 0xD8, 0x14, 0xE1, 0x6C, 0x60, 0x4F, 0xCF, 0xFF, 0xAD, 0x23, 0xFE, 0x4D, 0xDC, +0xD9, 0xEB, 0x36, 0x11, 0x05, 0x51, 0x78, 0x11, 0x24, 0x28, 0x9D, 0x71, 0xE3, 0x16, 0x27, 0x05, +0x29, 0x51, 0x48, 0x01, 0x35, 0x58, 0x49, 0x0D, 0x76, 0x78, 0x03, 0x7E, 0x4A, 0x24, 0xC4, 0xDA, +0x1D, 0x12, 0x88, 0x85, 0x07, 0x40, 0xF0, 0xB8, 0x44, 0x77, 0xCD, 0x7C, 0x3B, 0x1C, 0x7B, 0x75, +0xB3, 0x93, 0xBB, 0xCC, 0x0B, 0x58, 0x57, 0x67, 0x7E, 0xCE, 0x9C, 0x9D, 0x19, 0xBF, 0xB3, 0x68, +0x14, 0x18, 0xCF, 0x13, 0x8C, 0xB6, 0x6E, 0x24, 0xAE, 0x1A, 0xF7, 0xD3, 0xB9, 0xCC, 0xD9, 0xC0, +0x6C, 0x52, 0xC5, 0x00, 0xC4, 0x80, 0x1D, 0x91, 0x54, 0x15, 0x46, 0xEA, 0x06, 0x30, 0x62, 0x51, +0x3F, 0xD5, 0x61, 0xFE, 0x25, 0xCC, 0x26, 0x91, 0x37, 0x66, 0xC1, 0x42, 0x30, 0xAE, 0xF7, 0xC2, +0x08, 0x53, 0xCD, 0x38, 0x37, 0x16, 0x0C, 0xC5, 0xF3, 0xE7, 0xB4, 0x51, 0x08, 0x6F, 0x34, 0xFB, +0x21, 0x7B, 0xD4, 0x03, 0xA3, 0x67, 0xAA, 0x78, 0x2A, 0x4F, 0x8C, 0xE7, 0x53, 0x34, 0xF0, 0xC5, +0x3F, 0xCC, 0xA6, 0x11, 0xC5, 0x26, 0x44, 0xC6, 0xF7, 0x46, 0x23, 0x30, 0x6A, 0x52, 0x0D, 0x3C, +0x71, 0xAF, 0xB6, 0x78, 0xD5, 0xE9, 0x14, 0x91, 0xDD, 0x82, 0xF6, 0xB4, 0x37, 0x1A, 0x75, 0x31, +0x0E, 0x8B, 0x76, 0x19, 0x52, 0x14, 0xBD, 0x66, 0x23, 0xDF, 0x84, 0x83, 0xE5, 0x3F, 0x27, 0x1A, +0xE7, 0x9C, 0x1B, 0x15, 0x4F, 0x8D, 0xF9, 0x29, 0xEB, 0x0A, 0x80, 0x28, 0x02, 0x78, 0xA8, 0xFC, +0xEB, 0xD7, 0x7F, 0xB7, 0xA7, 0xAA, 0x30, 0xC6, 0x9F, 0x48, 0xB2, 0x91, 0x76, 0x1F, 0xE1, 0x0D, +0xEE, 0x16, 0xAD, 0x1B, 0x7D, 0x30, 0x76, 0x58, 0xDC, 0x5C, 0xE6, 0x8D, 0x62, 0x14, 0x7C, 0x8A, +0x2C, 0xF5, 0x7C, 0x47, 0xBB, 0x2F, 0x65, 0x3F, 0x54, 0x37, 0xFA, 0x60, 0xA4, 0x36, 0xEA, 0xB5, +0xD1, 0xE8, 0xA5, 0x10, 0xE6, 0x16, 0x61, 0xE0, 0x30, 0x1B, 0xBE, 0x27, 0xC6, 0xED, 0x74, 0x1F, +0x8C, 0xF2, 0xBD, 0x71, 0x2A, 0xD3, 0x7F, 0x81, 0x50, 0x44, 0x3E, 0x4D, 0x20, 0xA6, 0xF9, 0x5A, +0xC7, 0x6C, 0xA8, 0x18, 0x61, 0xBB, 0x6B, 0x44, 0x55, 0x60, 0x74, 0xAD, 0xB1, 0xD4, 0x8D, 0x49, +0x84, 0xDA, 0xA8, 0x7C, 0x7A, 0xE5, 0x14, 0x0D, 0xAD, 0x18, 0xF1, 0xB6, 0xB1, 0x11, 0x18, 0x77, +0x7E, 0xA8, 0xC2, 0x53, 0x07, 0x3F, 0x11, 0xD1, 0xE6, 0xCC, 0xCF, 0x2D, 0x7A, 0xCD, 0x46, 0x56, +0xA3, 0xA2, 0xFD, 0x86, 0x46, 0x23, 0xFB, 0x8D, 0x68, 0x71, 0xBE, 0xFA, 0x07, 0x54, 0x1B, 0xB7, +0x74, 0x82, 0x9F, 0xBE, 0xC1, 0x4F, 0xA5, 0x51, 0x0C, 0xD9, 0xEF, 0x84, 0x62, 0x0F, 0x8C, 0x27, +0x5D, 0xF5, 0x1F, 0x8B, 0xFB, 0x29, 0xCA, 0x9B, 0x2B, 0x8A, 0x8D, 0xF4, 0x18, 0x51, 0x9B, 0x99, +0xA7, 0x7A, 0x18, 0x17, 0xBB, 0x64, 0xE3, 0xC1, 0xC5, 0x5F, 0xFA, 0xA8, 0x2E, 0x8A, 0xA2, 0x81, +0x4B, 0x8F, 0x11, 0x26, 0xAA, 0xFD, 0xB3, 0x38, 0xF4, 0x54, 0xD7, 0xC6, 0x77, 0xAA, 0xC9, 0x40, +0x3F, 0xD5, 0x8A, 0x41, 0x51, 0x0C, 0xD0, 0xD3, 0x8C, 0x69, 0x23, 0x81, 0x71, 0xC5, 0x46, 0x15, +0x09, 0x67, 0x68, 0x4A, 0xF5, 0xBA, 0x14, 0xF9, 0x14, 0xF9, 0xD4, 0x3A, 0xC5, 0x46, 0xE9, 0x69, +0x3C, 0xE1, 0x18, 0x8C, 0xBF, 0xBA, 0x30, 0x2E, 0x57, 0xAE, 0x6E, 0xA8, 0xA7, 0x0E, 0x06, 0x91, +0x27, 0x22, 0x9F, 0x5A, 0x3E, 0x25, 0xD9, 0xDC, 0x7A, 0xC2, 0xD1, 0xA4, 0xAA, 0x22, 0xCE, 0xD4, +0x25, 0x9C, 0x10, 0x88, 0x7C, 0xAB, 0x69, 0xA7, 0x4F, 0xD9, 0x34, 0xB5, 0x64, 0x53, 0x20, 0xE1, +0x74, 0x61, 0x6C, 0x37, 0xAA, 0x10, 0x71, 0x10, 0xAA, 0x08, 0xC6, 0x50, 0xBF, 0x4F, 0xDD, 0xF7, +0x20, 0xD6, 0xF4, 0xC2, 0x85, 0x12, 0x0E, 0x30, 0xDA, 0x5E, 0xBC, 0x7A, 0x2A, 0xC1, 0x38, 0x8C, +0xBC, 0xD1, 0x64, 0x9C, 0x77, 0x87, 0xF9, 0xAD, 0x28, 0x7E, 0xAB, 0x6E, 0xDF, 0x2E, 0x89, 0x46, +0xDB, 0xE1, 0x94, 0xB6, 0x11, 0x12, 0x07, 0xBF, 0x09, 0x5C, 0x08, 0xF3, 0xCD, 0x30, 0x45, 0x91, +0x36, 0xEA, 0x56, 0xED, 0x70, 0xEB, 0xA9, 0x4D, 0xBB, 0xC3, 0xC1, 0xB6, 0xB1, 0xEB, 0x37, 0x44, +0x8A, 0x0B, 0xCC, 0xF5, 0x9D, 0xF9, 0xD1, 0x4C, 0x5F, 0x14, 0x1F, 0x56, 0x05, 0x6C, 0xFD, 0x1D, +0xD9, 0x98, 0x35, 0x55, 0xA7, 0xFE, 0x3B, 0x4F, 0x25, 0x18, 0xF3, 0x41, 0x54, 0x3F, 0x85, 0xBC, +0xB9, 0x4E, 0xF1, 0x6B, 0x55, 0xC2, 0x4E, 0x5D, 0xF9, 0x07, 0x46, 0x3C, 0xF5, 0xC4, 0xA6, 0x8D, +0xC8, 0xA9, 0x03, 0xE8, 0xA9, 0x5F, 0x36, 0xF5, 0x4D, 0xC6, 0xA6, 0x48, 0x51, 0x44, 0xC3, 0xE1, +0x8D, 0xDB, 0xE5, 0x3F, 0x3B, 0x36, 0x02, 0xC3, 0x19, 0x18, 0x8C, 0xFB, 0x2F, 0x30, 0xD0, 0x64, +0xBC, 0x2F, 0xC0, 0xC0, 0x45, 0xC3, 0x81, 0x8C, 0xFF, 0x64, 0x4D, 0xC5, 0x31, 0x1C, 0x19, 0x6F, +0x98, 0x0C, 0x9A, 0x5C, 0xD4, 0x65, 0xD3, 0xA4, 0xBC, 0x59, 0xC9, 0xF8, 0x52, 0x95, 0xB1, 0xFB, +0x1D, 0x18, 0x5F, 0x02, 0x63, 0xBB, 0x6C, 0xDC, 0xBE, 0xD1, 0xCE, 0xA9, 0xDB, 0x39, 0x95, 0xC9, +0x80, 0xC9, 0x45, 0x27, 0xDA, 0xC8, 0xB4, 0x54, 0xDF, 0x5C, 0x66, 0xBC, 0x34, 0x02, 0xE3, 0xE3, +0xF7, 0xC0, 0x68, 0x8A, 0x2A, 0xE3, 0x0D, 0x32, 0x2C, 0x36, 0x60, 0xD6, 0x9D, 0xB3, 0x44, 0xD4, +0xFD, 0x4D, 0xEB, 0xA7, 0x3F, 0xAA, 0x52, 0x76, 0x09, 0x8C, 0x93, 0x67, 0x0E, 0x46, 0x29, 0x8D, +0x5C, 0xE1, 0x1E, 0x32, 0x4B, 0x84, 0x68, 0x43, 0x51, 0xA4, 0xC9, 0x28, 0x40, 0xDE, 0x50, 0x1B, +0x0D, 0xC6, 0x4F, 0xD5, 0x61, 0x47, 0x19, 0xEF, 0x9C, 0x8C, 0x35, 0x9E, 0x6A, 0x93, 0xFF, 0x37, +0x5F, 0x19, 0xD6, 0x95, 0x8C, 0xAB, 0x4E, 0xC9, 0x68, 0x4A, 0x90, 0x37, 0xFC, 0x69, 0x8B, 0xE2, +0xBA, 0xF9, 0x58, 0xDD, 0x4B, 0x28, 0x6E, 0x89, 0xAA, 0x0A, 0x1C, 0xE8, 0x1B, 0xD9, 0x6E, 0x4A, +0x33, 0xAC, 0x2B, 0x19, 0xBC, 0xB0, 0x9C, 0x9F, 0xD2, 0x35, 0x26, 0x18, 0x3F, 0x54, 0x77, 0xBA, +0x57, 0x2A, 0x16, 0xBE, 0x34, 0xA6, 0x60, 0x94, 0xC6, 0x3F, 0xFF, 0xA2, 0x0D, 0xE3, 0x52, 0x3A, +0xB8, 0xB8, 0x96, 0xAD, 0x7D, 0xB5, 0x38, 0x89, 0x6B, 0x2B, 0xEF, 0x6B, 0xDA, 0x46, 0x0E, 0x38, +0xB8, 0x60, 0x6C, 0xB9, 0xF8, 0x64, 0xD8, 0x59, 0xA2, 0xE4, 0xA8, 0xF2, 0x25, 0xA3, 0xB4, 0x9F, +0x42, 0xE2, 0x9A, 0xEB, 0x1F, 0x79, 0x04, 0x51, 0x75, 0x07, 0x1C, 0x68, 0xA8, 0x40, 0x31, 0xEF, +0x85, 0x5A, 0x14, 0xCF, 0xF9, 0xBC, 0xCF, 0xA0, 0x4D, 0x81, 0x26, 0x43, 0x49, 0x5C, 0x3A, 0xB6, +0x72, 0xF0, 0x97, 0xC5, 0x69, 0xBB, 0xE1, 0x97, 0x1B, 0xF2, 0xDC, 0x94, 0xA2, 0xA8, 0xCA, 0xDB, +0x8A, 0xE5, 0xA8, 0xEF, 0x45, 0xFD, 0x14, 0x7D, 0x23, 0xC5, 0xFB, 0xDD, 0x9A, 0x45, 0x5C, 0x3C, +0x95, 0x8F, 0x54, 0x36, 0xD9, 0x78, 0x13, 0x10, 0x8F, 0xF5, 0x68, 0x0F, 0xE7, 0x5E, 0x52, 0xC9, +0xC0, 0x4F, 0x4B, 0xD9, 0x9A, 0x95, 0x88, 0xB7, 0x1B, 0x4A, 0xE3, 0x72, 0x85, 0xA7, 0x12, 0x8C, +0xAD, 0x65, 0xBD, 0x50, 0x8B, 0xA2, 0x26, 0x9B, 0xF4, 0xC2, 0x62, 0xF9, 0x14, 0x4F, 0x65, 0xD6, +0xFC, 0xA2, 0x85, 0x11, 0x0D, 0x67, 0x4B, 0xC5, 0xCF, 0x6E, 0x12, 0x8C, 0x0F, 0x04, 0x44, 0xBD, +0xC0, 0xE0, 0x3E, 0xEF, 0x17, 0xF3, 0x53, 0x3C, 0x95, 0x73, 0x32, 0xB3, 0xBA, 0x36, 0x0D, 0x87, +0x37, 0x12, 0x8C, 0xC7, 0xA4, 0xD4, 0x0C, 0x10, 0xB9, 0xF7, 0x42, 0x51, 0x54, 0xE5, 0x0D, 0x3F, +0x2D, 0x68, 0x1C, 0x05, 0x3A, 0xF8, 0x7B, 0x32, 0x46, 0x3F, 0x6F, 0x24, 0x03, 0xC5, 0xBC, 0x17, +0x6A, 0x51, 0x44, 0x04, 0x87, 0x82, 0x97, 0xF5, 0x53, 0x3C, 0xF5, 0x61, 0x62, 0xE5, 0xA9, 0x35, +0xB6, 0xD2, 0x48, 0xF5, 0xCF, 0x0F, 0x46, 0x5E, 0x07, 0x77, 0xD3, 0x19, 0x62, 0x44, 0x9B, 0xEC, +0x91, 0xB7, 0xB8, 0xA7, 0x56, 0xC9, 0xDE, 0xD6, 0x1B, 0x72, 0xAA, 0x13, 0x54, 0xD3, 0x0B, 0x6D, +0x02, 0x27, 0x1B, 0xC4, 0x6B, 0xA3, 0x28, 0x5A, 0xB6, 0x41, 0xB4, 0x59, 0xAF, 0xE9, 0xA3, 0x4A, +0x1A, 0x02, 0xDF, 0x45, 0x5D, 0xBB, 0x76, 0x83, 0xCA, 0x28, 0x28, 0xE6, 0x81, 0x08, 0x03, 0xEF, +0x19, 0x04, 0xAF, 0xCA, 0xDB, 0xA9, 0xF5, 0xDC, 0xB3, 0x76, 0x12, 0xC7, 0xDA, 0x0D, 0x8B, 0x46, +0xC6, 0xC5, 0x12, 0x8C, 0xD9, 0x20, 0x6A, 0x51, 0xA4, 0xC9, 0xD8, 0xA4, 0x92, 0x51, 0xA8, 0xDF, +0x57, 0x9E, 0xFA, 0x79, 0xEB, 0xB3, 0xA6, 0x53, 0x59, 0xEF, 0xEF, 0x15, 0x1C, 0xC9, 0x37, 0x02, +0xA2, 0x26, 0x1B, 0x8A, 0xA2, 0x8A, 0x36, 0xD9, 0x5F, 0x86, 0xE3, 0xF3, 0x1B, 0x49, 0xFE, 0x4A, +0xF9, 0xA6, 0xEE, 0xF0, 0xD4, 0x25, 0xC1, 0x68, 0x0B, 0x71, 0x3C, 0xB1, 0x17, 0x44, 0xDA, 0x28, +0x2D, 0x8A, 0x88, 0x36, 0x6B, 0xF4, 0xD3, 0xC2, 0xF6, 0xD4, 0xBE, 0x5D, 0xFE, 0x4A, 0x30, 0x9A, +0x12, 0x67, 0x67, 0xC6, 0x69, 0xA8, 0x28, 0x8C, 0xBD, 0x20, 0xE2, 0xA7, 0x28, 0xC4, 0x7A, 0x81, +0xA1, 0x49, 0xBC, 0x6A, 0x0C, 0x3B, 0xB2, 0x88, 0xBF, 0x48, 0xC2, 0xB8, 0xEF, 0xA8, 0x08, 0x46, +0x4E, 0xC5, 0xE6, 0x81, 0xE8, 0x65, 0x7E, 0x2B, 0x8A, 0xAC, 0xB8, 0x19, 0xE9, 0x28, 0x6E, 0x77, +0xAC, 0x99, 0x99, 0xD5, 0xE4, 0x54, 0xF3, 0x54, 0x82, 0x91, 0x94, 0x9A, 0x95, 0x6C, 0x44, 0xD1, +0x58, 0xC9, 0xB8, 0x14, 0xD4, 0xA6, 0xB0, 0xBD, 0xB2, 0xCC, 0xD3, 0x8A, 0xC6, 0x76, 0x12, 0x2F, +0x39, 0x2A, 0xC1, 0x68, 0x30, 0xE6, 0xF8, 0x29, 0xDF, 0xBE, 0x29, 0x8A, 0x2A, 0x82, 0xFF, 0xA8, +0x46, 0xB6, 0xBB, 0x35, 0x04, 0xC7, 0xE4, 0x0D, 0xB7, 0xD8, 0x00, 0x8A, 0x59, 0x7E, 0xCA, 0x38, +0x3F, 0x17, 0x6D, 0x64, 0x10, 0x7C, 0x5C, 0x4B, 0xD7, 0xD4, 0xF6, 0x07, 0xE3, 0xB1, 0xE4, 0x1B, +0x7D, 0xA2, 0xDE, 0xD1, 0xF0, 0x45, 0x11, 0x0A, 0xCE, 0xF8, 0xE9, 0x98, 0xF6, 0x7A, 0xFB, 0xB1, +0x11, 0x4F, 0x75, 0xC1, 0xC8, 0x10, 0x55, 0x06, 0xB3, 0x99, 0x03, 0xA2, 0x2B, 0x8A, 0xE4, 0xD3, +0xA4, 0x36, 0x8C, 0x6D, 0xA7, 0xB5, 0x27, 0x38, 0x04, 0x23, 0x6B, 0x54, 0x19, 0x4F, 0x94, 0xCB, +0x4B, 0xDC, 0xEA, 0xE3, 0xB6, 0x14, 0x8B, 0xED, 0xA3, 0xDA, 0x11, 0xC1, 0x68, 0xAA, 0x38, 0xC1, +0x88, 0xA3, 0xE6, 0xB6, 0x51, 0x9C, 0x79, 0xE3, 0x56, 0x1F, 0xA2, 0x8D, 0xD1, 0xAA, 0x31, 0xED, +0xA0, 0x21, 0x18, 0xAF, 0x70, 0x54, 0x04, 0x63, 0x2D, 0x8C, 0xFA, 0x44, 0xFD, 0x2B, 0xBE, 0x4E, +0xA7, 0x68, 0xF9, 0xB4, 0x0E, 0xEC, 0x64, 0xC4, 0x3E, 0xE4, 0x00, 0xA3, 0x9F, 0x33, 0xF6, 0x2C, +0x35, 0xD7, 0x4F, 0xB5, 0x28, 0x26, 0x14, 0x6D, 0x29, 0xBA, 0xFA, 0x0F, 0xF6, 0x7B, 0x47, 0x30, +0xA6, 0x7C, 0x03, 0x83, 0xCB, 0x79, 0xE2, 0x5C, 0x66, 0x88, 0xF5, 0x4B, 0x06, 0x25, 0x63, 0x5C, +0xBB, 0x34, 0x4F, 0x25, 0x18, 0x9F, 0x68, 0x30, 0x66, 0xC8, 0x52, 0x32, 0xD5, 0xE7, 0x44, 0x70, +0xBA, 0x8C, 0xD1, 0x6D, 0x96, 0xE6, 0x37, 0xF6, 0x06, 0x23, 0x29, 0xB5, 0x27, 0x14, 0x99, 0x96, +0xE2, 0xB3, 0xE9, 0xE2, 0x85, 0x6C, 0x9B, 0xD2, 0x65, 0x8C, 0x6B, 0x87, 0xBB, 0x83, 0x11, 0x14, +0xA7, 0x39, 0x4F, 0x9C, 0xCB, 0x02, 0x98, 0xBD, 0x90, 0x7C, 0x3A, 0x36, 0x7B, 0x63, 0xC4, 0xC1, +0x05, 0xE3, 0x72, 0x99, 0x82, 0x51, 0xF2, 0x8D, 0x3E, 0x51, 0x92, 0x8D, 0x4E, 0x30, 0x30, 0x9C, +0x19, 0x13, 0xA6, 0xE2, 0xFD, 0xF1, 0xEE, 0x60, 0x3C, 0xB1, 0x27, 0xCE, 0x79, 0x62, 0xCF, 0x87, +0x0C, 0x94, 0x37, 0x16, 0x6B, 0x5C, 0x93, 0x31, 0x3E, 0x7B, 0xE3, 0x46, 0xA5, 0x0B, 0xC6, 0x85, +0xD7, 0x6F, 0xA6, 0x74, 0x8C, 0xFA, 0x44, 0xFD, 0x53, 0xCC, 0x33, 0xFC, 0x94, 0x45, 0xC5, 0xCD, +0x26, 0xE5, 0xD3, 0xF1, 0xD9, 0x1B, 0x29, 0xB5, 0xF1, 0xC1, 0xE8, 0x9B, 0x8D, 0x7D, 0x85, 0x51, +0xFD, 0x14, 0x7E, 0x8A, 0xF2, 0xE6, 0xF3, 0xE9, 0xB7, 0xEA, 0xFF, 0xD8, 0x1F, 0xE6, 0xCE, 0x5E, +0xB9, 0x89, 0x20, 0x08, 0xC2, 0x5B, 0x70, 0x50, 0x10, 0x42, 0xA4, 0x98, 0x80, 0x9F, 0x14, 0x25, +0xE4, 0x86, 0xDC, 0x81, 0xA5, 0x32, 0x99, 0xA8, 0x02, 0x97, 0xF5, 0x04, 0x27, 0x87, 0x44, 0xA7, +0x90, 0x08, 0x9B, 0xB7, 0x85, 0xDB, 0x5B, 0xEF, 0x77, 0xA3, 0x5E, 0xED, 0x91, 0xED, 0xEC, 0x1B, +0x74, 0xF5, 0xED, 0x74, 0xCF, 0xCF, 0xCE, 0xAD, 0x8E, 0x03, 0x97, 0x71, 0x3E, 0xBC, 0x61, 0x0B, +0x8D, 0xF5, 0x68, 0xA3, 0x7F, 0x1D, 0x42, 0x14, 0x89, 0xA7, 0x3F, 0x43, 0x9B, 0xF3, 0xFC, 0x78, +0x38, 0x93, 0x50, 0x19, 0xD5, 0x58, 0xFA, 0xE9, 0x10, 0xF1, 0x54, 0x16, 0x82, 0x47, 0x84, 0x2D, +0xAE, 0x22, 0x21, 0x75, 0xA6, 0x8C, 0x84, 0x9B, 0x14, 0x6F, 0xA8, 0x33, 0x2E, 0xED, 0xE8, 0x85, +0x45, 0x7D, 0x93, 0xD1, 0xF7, 0x6D, 0xAE, 0x22, 0x43, 0x1C, 0x83, 0x29, 0x8A, 0xF3, 0xA5, 0xF2, +0xBA, 0xB8, 0x0E, 0x31, 0xBD, 0x71, 0x23, 0x9E, 0x32, 0x43, 0x4C, 0x3C, 0x6D, 0x70, 0x15, 0x71, +0xA9, 0x71, 0x24, 0xCE, 0xD4, 0xA8, 0x2E, 0x62, 0xBC, 0xA9, 0x09, 0x63, 0x51, 0xF7, 0x53, 0x71, +0x51, 0x93, 0x8C, 0xA1, 0xD1, 0x55, 0x64, 0xA2, 0x0A, 0x65, 0xDC, 0xCC, 0x59, 0xFC, 0x58, 0x61, +0xD1, 0x92, 0x58, 0xCC, 0xF7, 0x6F, 0x4C, 0x3C, 0x6D, 0x62, 0x50, 0x09, 0xA9, 0xBD, 0xB9, 0x8C, +0x57, 0x74, 0x52, 0x97, 0x59, 0xD4, 0x78, 0x5A, 0x48, 0x32, 0x7A, 0x16, 0x83, 0xB6, 0x39, 0x2F, +0xF3, 0x65, 0xA4, 0x0C, 0x37, 0x61, 0xAC, 0x84, 0x54, 0x89, 0xA7, 0xA5, 0x31, 0xE9, 0xFD, 0x7E, +0xFA, 0xF9, 0xD7, 0xB1, 0x95, 0x41, 0xA5, 0xDF, 0xC8, 0x65, 0x8C, 0xC9, 0x06, 0x16, 0xEE, 0x7C, +0x52, 0xAC, 0x24, 0x92, 0x47, 0xB1, 0xD2, 0x86, 0xD5, 0xFC, 0x6D, 0x0C, 0x2A, 0x89, 0x7F, 0xC4, +0x68, 0xFC, 0x4D, 0x41, 0x18, 0x97, 0x57, 0x2E, 0x22, 0x19, 0xE2, 0x4F, 0xA9, 0xF4, 0xB7, 0x39, +0x07, 0xA3, 0x1A, 0x69, 0xC8, 0x08, 0x23, 0x7E, 0x0E, 0xA2, 0xB2, 0x28, 0x92, 0x41, 0x3C, 0x6D, +0x50, 0xB6, 0xD1, 0x3F, 0xA9, 0x15, 0xE2, 0x8D, 0x86, 0x54, 0x85, 0xA8, 0x2B, 0x17, 0x19, 0xE7, +0x37, 0xF1, 0x74, 0x08, 0x0D, 0xCF, 0xA7, 0x38, 0x66, 0x6C, 0xCB, 0xFE, 0x92, 0x31, 0x0A, 0x44, +0xF2, 0xFD, 0x79, 0xE9, 0xAD, 0xFC, 0x66, 0xB8, 0x41, 0x05, 0x55, 0x26, 0xC6, 0x11, 0x7F, 0x4A, +0xE2, 0x55, 0x16, 0x97, 0x4A, 0x6F, 0xDB, 0xEF, 0x89, 0xC4, 0x88, 0xB0, 0x41, 0x05, 0x55, 0x1A, +0xE3, 0x83, 0x69, 0xA5, 0xE6, 0x71, 0x7F, 0x1A, 0x70, 0x02, 0x51, 0x4B, 0x1A, 0xD6, 0xDA, 0x7C, +0xDB, 0xE6, 0x1F, 0x2C, 0xB0, 0x87, 0xB8, 0xD9, 0xE9, 0x8E, 0x24, 0x1B, 0xB4, 0x19, 0xB3, 0x6A, +0xBC, 0x29, 0x40, 0xAC, 0x94, 0xDE, 0x52, 0xFD, 0x74, 0xF7, 0x96, 0x21, 0xE2, 0xB6, 0xC2, 0x8F, +0x11, 0x9F, 0x35, 0x6F, 0x22, 0xC2, 0xAA, 0xF6, 0xEB, 0xFF, 0x5C, 0xD2, 0xAC, 0x7B, 0x9E, 0x5C, +0xDC, 0x75, 0x74, 0xDC, 0xDA, 0x79, 0x70, 0x8C, 0xB8, 0x84, 0x54, 0x54, 0xA3, 0x9C, 0x14, 0x9F, +0xEB, 0xD6, 0x50, 0x7A, 0xDB, 0x85, 0xAF, 0xE9, 0x6F, 0x8A, 0xFC, 0xCC, 0xA5, 0xE1, 0xB9, 0x96, +0x90, 0x0A, 0x8D, 0x35, 0x16, 0xB5, 0x35, 0x8C, 0x64, 0xEC, 0xC2, 0x87, 0x14, 0x4F, 0xDB, 0x0B, +0x7F, 0x9C, 0x35, 0xD2, 0x90, 0x4A, 0x2D, 0xB5, 0xC2, 0xA2, 0xB4, 0x86, 0xB1, 0x36, 0x97, 0xA1, +0x23, 0x9E, 0xC6, 0x16, 0x7F, 0x93, 0x83, 0x6A, 0xA4, 0xCC, 0x3F, 0x85, 0xD4, 0xCF, 0x57, 0xB1, +0x96, 0x4A, 0x52, 0x2C, 0x10, 0xF5, 0x2A, 0xE6, 0x39, 0x94, 0x0C, 0x31, 0xEC, 0xE7, 0xFF, 0x3A, +0x09, 0x6D, 0xCF, 0xCB, 0x18, 0x52, 0x89, 0x37, 0x34, 0x36, 0xD0, 0x7E, 0x85, 0xA8, 0x57, 0x91, +0x61, 0xA2, 0x08, 0xF1, 0x43, 0xEF, 0x26, 0xDA, 0x84, 0x2E, 0x19, 0x71, 0x20, 0x32, 0xB5, 0x59, +0x6E, 0x6B, 0x94, 0xAF, 0xE2, 0x88, 0xF1, 0x0A, 0x88, 0x1D, 0x08, 0x9B, 0x65, 0xFC, 0xE4, 0x1A, +0x23, 0xC6, 0xFB, 0x1C, 0x52, 0xB3, 0x30, 0xAE, 0xC5, 0xC1, 0xA1, 0xFC, 0xB0, 0x58, 0xBA, 0x8A, +0x37, 0xBB, 0x38, 0x0B, 0xDA, 0x0F, 0x3E, 0xA2, 0x4D, 0x08, 0x87, 0xCC, 0x22, 0x46, 0x9C, 0x5C, +0xE3, 0xB5, 0x42, 0xD4, 0x84, 0xDF, 0x66, 0xC3, 0x91, 0xC5, 0xF0, 0x6E, 0x8C, 0x36, 0xED, 0xD3, +0x8C, 0x78, 0x6E, 0xE7, 0x16, 0xCE, 0x18, 0x71, 0x84, 0xB1, 0x08, 0xF1, 0x8D, 0xBD, 0x8A, 0x64, +0x19, 0x7F, 0x46, 0x88, 0x5D, 0x44, 0xD8, 0xAC, 0xBE, 0xA8, 0x15, 0x2A, 0x12, 0x7F, 0xD2, 0xA9, +0x65, 0x16, 0x67, 0x53, 0xC4, 0xEB, 0xF9, 0x3B, 0xBE, 0xCB, 0x69, 0x6A, 0xF9, 0xC8, 0x6F, 0x24, +0x1A, 0x1D, 0x84, 0x51, 0xAB, 0x70, 0x62, 0xC4, 0x15, 0x22, 0xAF, 0x32, 0xE4, 0x7D, 0xD4, 0x25, +0xEB, 0xE7, 0x9B, 0x16, 0x35, 0x34, 0x9D, 0x22, 0xF1, 0x5F, 0xC7, 0x74, 0x4A, 0xAA, 0x37, 0x72, +0x17, 0xB5, 0xBC, 0x08, 0xC4, 0xEE, 0xE8, 0x25, 0xDA, 0x8C, 0xE9, 0x54, 0xC4, 0x68, 0xDA, 0x53, +0x52, 0x4A, 0x55, 0x88, 0x92, 0x2B, 0xB2, 0x84, 0xE1, 0x72, 0xBA, 0xE4, 0x3E, 0xBC, 0x4D, 0x12, +0xC6, 0x21, 0x6B, 0xFF, 0x8F, 0xE4, 0xC3, 0xC9, 0xFB, 0x15, 0xA2, 0xF5, 0x36, 0xFA, 0xF4, 0x3B, +0x41, 0x7C, 0xE7, 0x25, 0xDA, 0x44, 0x61, 0x34, 0x2E, 0x15, 0x61, 0xAC, 0xB2, 0x98, 0x11, 0x8E, +0x07, 0xC9, 0x80, 0xC5, 0xAE, 0x79, 0x09, 0x15, 0x61, 0x3C, 0x49, 0xA7, 0x3E, 0x23, 0x8C, 0xB5, +0x70, 0x43, 0xD9, 0x86, 0xA2, 0x86, 0x81, 0x18, 0x1E, 0x3C, 0x64, 0x52, 0xF9, 0xCE, 0xF4, 0x77, +0xB0, 0xB8, 0x11, 0x7B, 0x53, 0x65, 0x51, 0x9E, 0x7E, 0x67, 0x88, 0xEF, 0x5D, 0xD8, 0xB7, 0x99, +0x30, 0xDE, 0x4D, 0xC2, 0x48, 0x1B, 0x55, 0xED, 0x0D, 0x10, 0x69, 0x2C, 0xAE, 0x19, 0x7B, 0x3B, +0x85, 0xD8, 0xA5, 0xDE, 0x69, 0xFB, 0x33, 0x09, 0xE3, 0x9D, 0x0A, 0x63, 0xD9, 0xDE, 0xE8, 0x6E, +0xA2, 0x98, 0x0E, 0x23, 0x19, 0x19, 0x62, 0x78, 0x70, 0x61, 0xDF, 0x72, 0xC6, 0xD8, 0x67, 0x61, +0xFC, 0x92, 0x84, 0x91, 0xBC, 0xBF, 0x0C, 0xF1, 0x64, 0xEE, 0xED, 0x4A, 0x21, 0xAE, 0x1C, 0x24, +0x8B, 0x79, 0xA5, 0x81, 0xED, 0x6B, 0x90, 0xF7, 0x57, 0x58, 0x64, 0x87, 0x16, 0x0B, 0xA5, 0xD3, +0x0C, 0xC3, 0x23, 0xC4, 0xCE, 0x41, 0xB2, 0x18, 0xCF, 0xB3, 0xB4, 0x77, 0xEB, 0x8C, 0x30, 0x56, +0x59, 0x24, 0x93, 0x62, 0x8C, 0x18, 0x88, 0xE1, 0xC1, 0x83, 0x7D, 0x1B, 0x27, 0xFD, 0x33, 0x8B, +0x56, 0x18, 0x3F, 0x56, 0x3F, 0x54, 0x34, 0x83, 0x21, 0x86, 0x4D, 0x2A, 0xF4, 0x67, 0x88, 0x2B, +0x1F, 0x01, 0x35, 0x2E, 0xA6, 0xC8, 0x4F, 0x36, 0xB6, 0x19, 0x21, 0xA5, 0x8D, 0x1A, 0x8B, 0x24, +0x8B, 0x34, 0x87, 0x61, 0xB1, 0xF3, 0x11, 0x50, 0x47, 0xED, 0x27, 0x63, 0xDC, 0x8C, 0x87, 0x52, +0x6A, 0xC1, 0xDE, 0xE0, 0xDF, 0x08, 0xA8, 0x66, 0x2B, 0xF8, 0x3D, 0x2C, 0x86, 0x5B, 0x17, 0x01, +0x35, 0x6A, 0xFF, 0xE1, 0x71, 0x88, 0x6A, 0x5B, 0x2D, 0x50, 0x29, 0x8B, 0x0C, 0x68, 0x12, 0x50, +0x67, 0x10, 0x57, 0x2E, 0x02, 0x6A, 0x08, 0xD7, 0xB0, 0x48, 0x11, 0x2E, 0x6B, 0xFF, 0x59, 0x16, +0x91, 0xC5, 0x0B, 0xFB, 0xBC, 0x7D, 0x06, 0xF1, 0xA9, 0x07, 0x87, 0x3A, 0x6D, 0x50, 0x39, 0x50, +0x4A, 0xC5, 0xDE, 0x10, 0x6E, 0x8A, 0x2C, 0xCA, 0x3E, 0xBB, 0x02, 0xC4, 0xF0, 0x3D, 0xB8, 0x38, +0x2F, 0x4C, 0xC3, 0x9F, 0xBB, 0x88, 0x49, 0x2D, 0xB3, 0x68, 0x1D, 0x2A, 0x01, 0x75, 0x0E, 0xF1, +0x55, 0x70, 0x71, 0xFE, 0xD9, 0x9B, 0x34, 0x97, 0x4A, 0xDE, 0x6F, 0xAA, 0x37, 0x02, 0x11, 0xFF, +0x36, 0x6B, 0x2C, 0x6E, 0x67, 0x2C, 0x7A, 0x3B, 0xCF, 0x27, 0xED, 0xD7, 0xB1, 0x0D, 0xEC, 0x8D, +0x42, 0x84, 0xC5, 0x24, 0xFC, 0x04, 0x54, 0x87, 0x10, 0xBB, 0x24, 0x8C, 0xD8, 0x1B, 0xDE, 0x32, +0x28, 0x8B, 0x2A, 0x8B, 0x6B, 0x1B, 0x50, 0x3D, 0x42, 0x7C, 0x92, 0x58, 0x94, 0xBC, 0xDF, 0x9A, +0x54, 0x65, 0x51, 0x65, 0x71, 0xEF, 0x94, 0xC5, 0x20, 0xF6, 0xC6, 0x3C, 0x0F, 0x13, 0x88, 0x65, +0x59, 0x8C, 0x0E, 0x75, 0xEF, 0x94, 0x45, 0xEC, 0x4D, 0xB1, 0x06, 0xB7, 0xC8, 0xE2, 0xC5, 0x49, +0x40, 0xED, 0x7D, 0x98, 0xB6, 0x53, 0x7B, 0xD3, 0x57, 0xEC, 0x4D, 0x95, 0x45, 0x95, 0x45, 0x97, +0x10, 0xAF, 0x27, 0xD5, 0x48, 0x10, 0xC5, 0xA4, 0x56, 0x58, 0x5C, 0x9F, 0xC8, 0xE2, 0xDE, 0x2B, +0x8B, 0x9F, 0x0A, 0xD5, 0x9B, 0x45, 0x16, 0xC9, 0x16, 0x91, 0xC5, 0x51, 0x33, 0x7C, 0xB2, 0xB8, +0x2A, 0x55, 0x6F, 0x96, 0x59, 0x64, 0xBA, 0xCF, 0xEE, 0xEC, 0x3B, 0x38, 0x84, 0x18, 0x1D, 0xDC, +0x39, 0x93, 0xAA, 0xA2, 0x11, 0x0F, 0xCA, 0x3F, 0xCF, 0x33, 0xF6, 0x71, 0x7C, 0xF1, 0x57, 0x70, +0x77, 0x46, 0x07, 0x97, 0x0B, 0x54, 0x4B, 0x26, 0x95, 0x2A, 0x2A, 0x2D, 0x9B, 0x13, 0x16, 0x1D, +0x42, 0x8C, 0x83, 0x70, 0x6A, 0x52, 0x61, 0x51, 0x21, 0x52, 0x45, 0x85, 0xC5, 0x29, 0xA0, 0xFA, +0x64, 0x71, 0x5C, 0xD7, 0x34, 0x30, 0xD2, 0x20, 0x26, 0xB5, 0xC2, 0x22, 0xE6, 0x66, 0xBB, 0x99, +0x20, 0xFA, 0x64, 0xF1, 0x69, 0x44, 0xB8, 0x68, 0x52, 0x95, 0x45, 0xD2, 0xC5, 0x49, 0x16, 0x7F, +0x4F, 0x8B, 0xC1, 0xDB, 0x77, 0x14, 0xCB, 0x53, 0x1B, 0x6A, 0x52, 0x97, 0x59, 0xCC, 0xB3, 0xC4, +0xE6, 0x49, 0xE6, 0xE0, 0x10, 0xE2, 0xA2, 0x49, 0x55, 0x88, 0xF8, 0x37, 0x63, 0x6E, 0xDC, 0xB2, +0xF8, 0x7F, 0x26, 0x55, 0x58, 0x24, 0x21, 0xB6, 0x16, 0xD5, 0x41, 0xEB, 0xFB, 0x2F, 0x75, 0x67, +0xAF, 0x1B, 0x45, 0x10, 0x04, 0x61, 0x16, 0xE3, 0x03, 0x32, 0x84, 0x84, 0x80, 0xD0, 0x22, 0x00, +0x52, 0x83, 0x84, 0x09, 0xD1, 0x61, 0x61, 0x52, 0x38, 0x10, 0xC4, 0x88, 0xBF, 0x90, 0x84, 0x5B, +0x9E, 0x60, 0x97, 0x07, 0x00, 0xE3, 0xB7, 0xC5, 0xCB, 0xCC, 0xFA, 0xBB, 0xBE, 0xDA, 0xD9, 0xDD, +0xEC, 0x8A, 0x8D, 0x1C, 0xBA, 0x55, 0xD3, 0xD3, 0xD5, 0xD5, 0xD5, 0x73, 0xFA, 0xFD, 0x19, 0x25, +0xA9, 0x21, 0x44, 0x45, 0x71, 0x09, 0x8A, 0x67, 0xBE, 0x28, 0x7E, 0x99, 0x4F, 0x52, 0x15, 0xC5, +0xDE, 0xC8, 0xF0, 0x36, 0xA3, 0x58, 0x9F, 0x5B, 0xC1, 0xFD, 0xBE, 0x77, 0x33, 0x49, 0xAA, 0xA2, +0x48, 0x8C, 0x5D, 0x59, 0x4C, 0xE4, 0xA6, 0x76, 0x0C, 0xF1, 0x68, 0x36, 0x49, 0x55, 0x14, 0x99, +0x4A, 0xF5, 0x28, 0x7A, 0xCC, 0x31, 0x64, 0x8A, 0x1A, 0x46, 0x8C, 0x63, 0xEE, 0x22, 0x45, 0x31, +0xCD, 0x6C, 0x92, 0x72, 0x93, 0x50, 0x74, 0x0C, 0xF1, 0x0E, 0x23, 0xC6, 0xB0, 0xE0, 0xAF, 0x24, +0x55, 0x51, 0xD4, 0x46, 0xC3, 0x63, 0xE0, 0x56, 0x68, 0x35, 0x36, 0x57, 0x19, 0xC4, 0xE6, 0x5F, +0xCC, 0x45, 0x1A, 0x8D, 0x44, 0x51, 0x2D, 0x43, 0xBC, 0xBA, 0x4D, 0x52, 0x9F, 0x0B, 0x49, 0x9D, +0x44, 0x11, 0x8A, 0x6A, 0xE1, 0x43, 0x91, 0x59, 0x38, 0x24, 0x15, 0xEF, 0x8D, 0x92, 0x54, 0x45, +0x51, 0x1A, 0x8D, 0x2E, 0x17, 0x2D, 0x43, 0x5C, 0x6C, 0x91, 0xD4, 0x55, 0x49, 0x49, 0x2D, 0xA3, +0x48, 0x2F, 0xD5, 0x6D, 0x81, 0xF9, 0x7D, 0xFB, 0x58, 0xFD, 0x04, 0x45, 0xE8, 0x4D, 0x44, 0x11, +0x1A, 0x8E, 0x8A, 0x9A, 0x16, 0xA5, 0x2C, 0x43, 0xBC, 0x92, 0x50, 0x14, 0x1F, 0x9C, 0x92, 0x54, +0x45, 0x91, 0xBD, 0xCC, 0xBC, 0x03, 0xEE, 0x60, 0xB2, 0x2D, 0x3A, 0x1A, 0x20, 0xA9, 0xC7, 0x42, +0x6F, 0xC6, 0x51, 0xCC, 0x1E, 0xC6, 0x84, 0xA2, 0x65, 0x88, 0x97, 0x5B, 0x48, 0x6A, 0xDF, 0x6A, +0xE8, 0xB8, 0x7F, 0x3C, 0x17, 0x3F, 0x79, 0xA3, 0x58, 0xE5, 0x5C, 0x44, 0x83, 0xE3, 0xA0, 0x52, +0xFB, 0x0B, 0x28, 0x3E, 0xDF, 0x46, 0xD1, 0xC3, 0x4E, 0x24, 0x21, 0x0A, 0x49, 0x95, 0xAD, 0xE9, +0xD9, 0x28, 0x9A, 0x38, 0xA6, 0x86, 0xDA, 0xFE, 0x48, 0x52, 0xF5, 0xBA, 0x99, 0x46, 0x31, 0xDF, +0xA8, 0x16, 0x2E, 0x5B, 0xF9, 0x6A, 0xB5, 0xF9, 0x2B, 0x49, 0x1D, 0xBD, 0x51, 0x99, 0x2E, 0x7A, +0x18, 0x89, 0x35, 0xC4, 0x39, 0x24, 0xF5, 0x86, 0xA2, 0x48, 0x8C, 0xA0, 0x58, 0xB7, 0xCD, 0x25, +0xC3, 0xEF, 0x0F, 0x24, 0x15, 0x67, 0xB1, 0xD0, 0x9B, 0x02, 0x8A, 0xAC, 0xD9, 0x24, 0x14, 0x3D, +0x43, 0xFC, 0x52, 0x26, 0xA9, 0xD3, 0x28, 0x22, 0xC0, 0xA5, 0x1D, 0x69, 0x0F, 0x0F, 0xAA, 0x84, +0x58, 0x22, 0xA9, 0x3A, 0xB9, 0xA9, 0x86, 0x51, 0x64, 0xBA, 0x68, 0x62, 0xB3, 0x15, 0xF1, 0xA6, +0x84, 0xA2, 0xAE, 0xDC, 0x54, 0xE5, 0x5C, 0xCC, 0xCD, 0x94, 0xC3, 0x6A, 0xC6, 0x60, 0x88, 0x28, +0xA9, 0x4A, 0x52, 0x35, 0x44, 0x45, 0x11, 0x19, 0xB5, 0xDB, 0xE3, 0xF7, 0xFB, 0x4E, 0xA6, 0x49, +0x2A, 0x21, 0xFE, 0xFB, 0x46, 0x72, 0xD1, 0xC3, 0xF2, 0x2E, 0x21, 0xCE, 0x23, 0xA9, 0x84, 0x78, +0xB3, 0x5C, 0x17, 0x4D, 0x5C, 0xFD, 0xAA, 0x32, 0xAA, 0x92, 0xFA, 0x7C, 0x1E, 0x8A, 0x5A, 0x17, +0x1D, 0x36, 0xC1, 0x06, 0x43, 0x2C, 0x2B, 0xA9, 0x34, 0xC5, 0xDB, 0x28, 0x1E, 0x82, 0xE2, 0x66, +0x5D, 0x6C, 0x0D, 0xBD, 0x45, 0xA0, 0x38, 0xEA, 0x49, 0xBD, 0xA1, 0x28, 0xD2, 0x2F, 0xC2, 0x51, +0x3D, 0x43, 0x7C, 0x40, 0x2E, 0x8E, 0x78, 0x52, 0x15, 0x45, 0x3A, 0x0D, 0xC6, 0x8B, 0x26, 0x4B, +0x44, 0x1A, 0xA2, 0xAC, 0xDC, 0x88, 0x27, 0xB5, 0x84, 0xE2, 0x73, 0x45, 0xD1, 0x70, 0x12, 0x9E, +0x50, 0x0C, 0x7A, 0xF8, 0x4A, 0x16, 0xA7, 0x26, 0x50, 0xA4, 0x5F, 0xF4, 0x0D, 0xB1, 0xA9, 0x69, +0x35, 0xD8, 0x28, 0x8E, 0xB5, 0x1F, 0x14, 0xB1, 0x16, 0x89, 0x76, 0xE3, 0xB0, 0x3E, 0x5C, 0x40, +0x91, 0x47, 0x61, 0x40, 0x91, 0x56, 0x23, 0x86, 0xA8, 0x28, 0xBE, 0xE9, 0x51, 0xB4, 0xD8, 0x90, +0x1E, 0x9E, 0xDB, 0x34, 0x23, 0xE3, 0xFE, 0x32, 0x8A, 0x78, 0x8A, 0x41, 0xD1, 0x72, 0x86, 0x7A, +0x07, 0x14, 0x0B, 0x4A, 0xEA, 0x14, 0x8A, 0xE8, 0xA8, 0x26, 0x9B, 0xA7, 0x32, 0x9A, 0x12, 0x14, +0x45, 0x0F, 0x1F, 0xCF, 0xC5, 0xCD, 0xF9, 0xA2, 0xC9, 0xBA, 0x9B, 0xA2, 0x18, 0x4C, 0x1B, 0xC4, +0xA8, 0xEF, 0xC1, 0x6D, 0x85, 0x28, 0xCE, 0xF0, 0xDA, 0x63, 0x45, 0x5A, 0x43, 0x64, 0xC3, 0x2F, +0xA1, 0xB8, 0x0A, 0xAD, 0x86, 0x86, 0xB8, 0xB1, 0xA6, 0x11, 0x2D, 0x70, 0xAE, 0x73, 0x9B, 0x07, +0x6D, 0x8E, 0x51, 0x4D, 0x1B, 0xA3, 0x28, 0xDE, 0x63, 0xC9, 0xF6, 0xE2, 0xC1, 0x50, 0x8B, 0x97, +0x43, 0x46, 0x4A, 0xBF, 0x58, 0x6F, 0xE6, 0xA1, 0x78, 0xCC, 0x96, 0x86, 0xAB, 0x56, 0x9C, 0x50, +0x84, 0xC1, 0xCD, 0x46, 0x11, 0x83, 0x3F, 0x53, 0xE2, 0xDA, 0x52, 0x48, 0x4D, 0x28, 0xE2, 0x2E, +0x12, 0x67, 0x71, 0xFE, 0x82, 0x39, 0x7C, 0x18, 0x45, 0x57, 0x95, 0x11, 0x14, 0xE3, 0xCB, 0x85, +0xFA, 0xA2, 0xAF, 0xA2, 0xF8, 0x18, 0xF7, 0x54, 0x42, 0xD1, 0x53, 0x65, 0x3C, 0x02, 0x45, 0x1A, +0xC6, 0x99, 0x28, 0x22, 0xDE, 0x64, 0x14, 0x2D, 0x5E, 0x47, 0xD1, 0x10, 0x43, 0x2E, 0x16, 0xDE, +0x68, 0x10, 0x14, 0x91, 0xE0, 0x68, 0xFB, 0x7F, 0x9C, 0xA3, 0x68, 0x29, 0xC1, 0x0D, 0xA1, 0xA8, +0x53, 0x0D, 0x45, 0xF1, 0xDE, 0x10, 0x8A, 0x16, 0xCF, 0xF8, 0x0C, 0x2A, 0x70, 0xBA, 0xC4, 0xA8, +0x28, 0xDE, 0xD8, 0x0A, 0xF1, 0x50, 0xE5, 0x70, 0x57, 0xF1, 0xE6, 0x44, 0xAE, 0x1B, 0xF1, 0x87, +0xE7, 0x10, 0xB5, 0xED, 0x57, 0x39, 0xDC, 0xB2, 0x27, 0x7E, 0x97, 0x43, 0x3C, 0x4D, 0x3D, 0xB1, +0xAE, 0xA2, 0x12, 0xA2, 0x4A, 0x70, 0x69, 0x4F, 0x03, 0x39, 0xBC, 0xB1, 0x6C, 0x18, 0xFF, 0x85, +0xD8, 0x6C, 0xA3, 0xB8, 0x54, 0x14, 0x4B, 0x0D, 0x63, 0x5A, 0x62, 0xC8, 0x55, 0xC3, 0xB2, 0x61, +0xEC, 0x26, 0x53, 0xFD, 0xDB, 0x8C, 0xBF, 0x75, 0x57, 0x83, 0x77, 0x99, 0xE7, 0x34, 0x8C, 0x8D, +0x65, 0x37, 0xF5, 0x07, 0x14, 0x7F, 0x87, 0xF7, 0x52, 0x98, 0x4D, 0x11, 0xE2, 0x54, 0xC3, 0x58, +0x5B, 0xB6, 0x1A, 0x5D, 0x88, 0xE3, 0x06, 0xAA, 0xFC, 0x49, 0x88, 0xD2, 0x6A, 0x9C, 0x87, 0x68, +0xD9, 0x6A, 0xD4, 0x01, 0x45, 0x11, 0x6F, 0x80, 0x91, 0x10, 0xF3, 0x46, 0xD1, 0x7F, 0xD3, 0x6A, +0xD4, 0x83, 0x28, 0x2E, 0xA5, 0xED, 0x57, 0x14, 0x69, 0x35, 0x28, 0x1A, 0x96, 0x86, 0x86, 0x16, +0x14, 0x11, 0x6F, 0x28, 0xFD, 0xF3, 0x50, 0x7C, 0xEB, 0x3C, 0x0A, 0xAF, 0xDA, 0x76, 0x5A, 0xBC, +0x51, 0x92, 0xCA, 0xDC, 0x26, 0x93, 0xD4, 0x6C, 0x0E, 0x77, 0x1C, 0xA2, 0x5E, 0x1E, 0x46, 0x71, +0x29, 0x28, 0x96, 0x49, 0x2A, 0xF4, 0xC6, 0x93, 0xA4, 0xEE, 0x81, 0x22, 0xE2, 0xCD, 0x34, 0x8A, +0x71, 0x4E, 0x0C, 0x49, 0xAD, 0x0D, 0x67, 0x53, 0xE9, 0xDD, 0x3D, 0x8C, 0xC5, 0x48, 0x70, 0xF4, +0xC4, 0xCA, 0xC3, 0xCB, 0x24, 0xD5, 0x90, 0xC1, 0xDD, 0xEA, 0x51, 0xE4, 0x69, 0x46, 0xDE, 0x4A, +0x03, 0x45, 0x09, 0x51, 0xE8, 0x4D, 0x26, 0xA9, 0x86, 0x7A, 0xF8, 0xF5, 0x14, 0x21, 0x07, 0x95, +0x66, 0x8A, 0x07, 0x36, 0x09, 0x51, 0xE8, 0x0D, 0x27, 0xD5, 0x56, 0x2C, 0xBE, 0xDA, 0x6A, 0x5D, +0x3C, 0x06, 0xC5, 0xF2, 0x41, 0x45, 0x0F, 0xE7, 0xA0, 0x9E, 0x5A, 0xD2, 0x9B, 0x6B, 0x39, 0x17, +0x9B, 0x0D, 0xE7, 0x0D, 0xB9, 0x58, 0x42, 0xB1, 0xAC, 0xA4, 0x1A, 0xCA, 0x8C, 0x77, 0x40, 0xF1, +0xF7, 0x92, 0xBA, 0x58, 0x40, 0xB1, 0x1A, 0xD0, 0xC3, 0x8F, 0x03, 0x49, 0x35, 0x94, 0x19, 0x8F, +0xFA, 0x1B, 0xF5, 0xC7, 0xEB, 0x1B, 0x7B, 0x08, 0xA9, 0xE4, 0xA2, 0x34, 0x8C, 0xE8, 0xE1, 0xDD, +0x07, 0xBD, 0x49, 0x28, 0x1A, 0x0A, 0x54, 0x27, 0x19, 0xC5, 0x8F, 0xE7, 0xFF, 0xD8, 0xFE, 0x19, +0x75, 0x11, 0x14, 0xA5, 0x61, 0x14, 0x25, 0xD5, 0x5C, 0xA0, 0x4A, 0x1D, 0xF1, 0xF7, 0x67, 0xDD, +0xDF, 0x0F, 0x83, 0x1C, 0x5E, 0x42, 0x51, 0xF5, 0x70, 0xEE, 0x1B, 0xCB, 0xDA, 0xDF, 0xB5, 0x8B, +0x3F, 0x5F, 0xA5, 0xBF, 0xDF, 0xFF, 0x0E, 0x72, 0xF8, 0x38, 0x8A, 0xBC, 0x3E, 0xD5, 0x6B, 0x70, +0xAE, 0xEA, 0x4D, 0xDD, 0xB6, 0x1F, 0xB2, 0x80, 0x5D, 0x9D, 0x15, 0x50, 0xD4, 0x56, 0x03, 0x22, +0x8E, 0x7A, 0x93, 0x51, 0xB4, 0x93, 0x36, 0xAA, 0xF6, 0xD7, 0xC5, 0xED, 0x70, 0x85, 0xA1, 0x86, +0x0A, 0xA9, 0x84, 0xA8, 0xF4, 0x86, 0x29, 0xAA, 0xA3, 0xB4, 0x51, 0x6D, 0xB4, 0x3E, 0x77, 0xF1, +0x32, 0x16, 0x50, 0xE4, 0xC9, 0x9B, 0x48, 0x6F, 0xEC, 0xFB, 0xFE, 0xFE, 0x7B, 0x19, 0xC7, 0xC4, +0x8A, 0xA2, 0xD0, 0x9B, 0x58, 0x18, 0x8D, 0xFB, 0xFE, 0xFE, 0xFB, 0xBA, 0x39, 0x26, 0x1E, 0x47, +0xF1, 0x40, 0xFB, 0x7E, 0x73, 0xF3, 0x74, 0xEA, 0x1C, 0x71, 0xC1, 0xCD, 0x46, 0x31, 0x16, 0x46, +0xE3, 0xB1, 0x46, 0xFA, 0x16, 0x8C, 0x89, 0xA7, 0x73, 0xF1, 0x66, 0x42, 0x31, 0xD3, 0x1B, 0xFF, +0xB1, 0x46, 0xFA, 0x9E, 0x76, 0x21, 0x4E, 0xA2, 0x38, 0xD9, 0xF7, 0x37, 0x96, 0x9A, 0x7F, 0x4E, +0x45, 0xB1, 0x6C, 0x28, 0x8A, 0x54, 0x0D, 0x1D, 0x6B, 0xFC, 0x53, 0xA8, 0x3C, 0x3B, 0xC6, 0x3E, +0x15, 0x51, 0xE0, 0xCA, 0x28, 0x2A, 0xBD, 0xD1, 0xC2, 0xE8, 0x5B, 0x35, 0x16, 0x67, 0x61, 0xDF, +0x66, 0x02, 0xC5, 0x83, 0x52, 0x61, 0xB4, 0x5D, 0x7F, 0x3B, 0xFF, 0x9E, 0xE0, 0x2D, 0x1A, 0x47, +0x51, 0x0B, 0xE3, 0xF3, 0x50, 0x18, 0x7D, 0xAB, 0xC6, 0x67, 0x55, 0xC3, 0x41, 0x11, 0xEF, 0xB4, +0x14, 0xC6, 0xA5, 0x74, 0x8C, 0xAE, 0x55, 0x63, 0x2F, 0x4B, 0xC5, 0x1F, 0x91, 0xA7, 0xA4, 0xD3, +0x18, 0xBC, 0x6E, 0x28, 0x8C, 0x39, 0x19, 0x1B, 0xD7, 0xAA, 0xB1, 0xC8, 0x53, 0x62, 0xD4, 0x70, +0x45, 0x51, 0x0A, 0xE3, 0xA0, 0xCD, 0xBF, 0x36, 0xD4, 0x19, 0x53, 0x2A, 0xAE, 0xC3, 0x94, 0xB8, +0xD0, 0x2F, 0x0E, 0x15, 0xC6, 0xC7, 0x48, 0xA9, 0xA6, 0xBD, 0x46, 0x9F, 0x8A, 0xD8, 0xFC, 0x50, +0xA7, 0x4A, 0x28, 0x6A, 0x61, 0xE4, 0x4A, 0xB5, 0x5D, 0x9A, 0xDE, 0xC3, 0x3D, 0x15, 0xE6, 0x8B, +0x28, 0x70, 0x84, 0xA8, 0x7D, 0x7F, 0x9C, 0x14, 0x9B, 0x2E, 0x6A, 0x2E, 0x70, 0x4F, 0xC5, 0x73, +0x8A, 0x8E, 0x1A, 0x51, 0x3C, 0x00, 0xC5, 0x7C, 0xA5, 0x3A, 0x2B, 0x54, 0x29, 0x15, 0x71, 0x4F, +0xAD, 0x32, 0x8A, 0x87, 0x82, 0xA2, 0x5C, 0xA9, 0x2A, 0xC2, 0xFD, 0xB0, 0x25, 0xE2, 0xA7, 0x03, +0x1E, 0xB8, 0x47, 0x39, 0x15, 0x35, 0x44, 0xEE, 0x1B, 0xED, 0x35, 0x3C, 0x47, 0x37, 0xE7, 0xB2, +0x0D, 0x6B, 0xA8, 0xD0, 0xF0, 0x39, 0x28, 0x72, 0x50, 0x33, 0x4B, 0x5D, 0xBB, 0x5E, 0xA9, 0x77, +0x19, 0x12, 0x4F, 0xA3, 0x98, 0x0B, 0x23, 0x28, 0xE2, 0xF3, 0x37, 0xBE, 0x52, 0x5F, 0x30, 0x41, +0x0D, 0x02, 0x5C, 0x01, 0x45, 0xED, 0x35, 0xEC, 0xAF, 0xD4, 0x6A, 0x1D, 0x50, 0x0C, 0x43, 0xE2, +0x78, 0xA3, 0x6A, 0x61, 0x44, 0xBE, 0xB1, 0xD6, 0x36, 0xF6, 0xD7, 0x58, 0xE0, 0x28, 0xFD, 0x62, +0x67, 0x90, 0xC2, 0x88, 0x08, 0x07, 0x4B, 0xFD, 0xE1, 0x39, 0x0D, 0xBF, 0x8F, 0x05, 0xAE, 0xD8, +0x68, 0x10, 0x22, 0x85, 0x51, 0xE5, 0x1B, 0x5B, 0xB3, 0xDF, 0xE7, 0xB0, 0x4B, 0xBC, 0x4A, 0x20, +0x6A, 0xBB, 0x38, 0xC6, 0xE0, 0x18, 0xF8, 0x5B, 0x36, 0xFE, 0x7B, 0xFD, 0x03, 0xF0, 0x90, 0x9B, +0x65, 0x19, 0xC5, 0xFC, 0x6D, 0xA2, 0xE8, 0xDF, 0xF8, 0x5F, 0x4F, 0x4F, 0xFA, 0xE4, 0xE9, 0x22, +0x6B, 0x61, 0x82, 0x62, 0x28, 0x8C, 0xFC, 0x1E, 0x83, 0xF8, 0x19, 0xFD, 0x5E, 0x69, 0x38, 0xE1, +0x61, 0xA6, 0x44, 0x6E, 0x30, 0x32, 0x46, 0x14, 0xB5, 0x30, 0x1E, 0x6E, 0x5F, 0xA9, 0x9E, 0x5A, +0x6A, 0x55, 0xAF, 0x63, 0x59, 0x9C, 0x83, 0x22, 0x0C, 0x2E, 0x5E, 0xA9, 0x9E, 0xEE, 0x9B, 0xFD, +0x46, 0xCA, 0x22, 0x28, 0xF6, 0x11, 0x6A, 0x88, 0xC3, 0x2C, 0xD5, 0xD3, 0x79, 0x7B, 0xBF, 0xC9, +0x4F, 0x6C, 0x48, 0xCF, 0x2F, 0xE4, 0x46, 0xAF, 0x54, 0x65, 0xA9, 0xA7, 0x86, 0x8F, 0x50, 0xFD, +0x91, 0x0B, 0x55, 0xCE, 0xA9, 0x86, 0xC8, 0x49, 0x8D, 0x5A, 0xAA, 0xA5, 0x67, 0xF3, 0x0A, 0xEB, +0x44, 0xC1, 0x8D, 0x7A, 0x6F, 0x0A, 0xC5, 0x03, 0x58, 0x2A, 0x4F, 0x89, 0x75, 0x07, 0xD5, 0xEE, +0xBE, 0xB9, 0xCD, 0x0E, 0xEA, 0x1B, 0x76, 0x6D, 0x58, 0x99, 0x1A, 0x47, 0x91, 0x17, 0x53, 0x7C, +0xF9, 0x4D, 0xF5, 0xAE, 0x5F, 0xB5, 0xC1, 0xE3, 0x87, 0x72, 0x13, 0x74, 0x0D, 0xB9, 0x52, 0x21, +0xE2, 0xF8, 0x36, 0x0C, 0xF9, 0xCD, 0xE5, 0x56, 0x2E, 0x54, 0xF5, 0xF7, 0x6B, 0x88, 0xB0, 0x54, +0x8A, 0xFF, 0xDB, 0x7E, 0xB3, 0xC8, 0xEC, 0x2D, 0xB1, 0xEB, 0x6D, 0x1B, 0x2E, 0xD4, 0xE3, 0xA9, +0x83, 0x5A, 0x15, 0xDA, 0x29, 0x5E, 0xD7, 0x76, 0xEB, 0xA7, 0x4E, 0xDA, 0xB5, 0x32, 0x54, 0x36, +0xA6, 0x2E, 0x50, 0xE4, 0x64, 0x6B, 0x32, 0x2E, 0x49, 0xC6, 0x0E, 0x45, 0xB3, 0x37, 0x53, 0x2E, +0xD7, 0x38, 0x8A, 0x59, 0x5E, 0xA4, 0x2C, 0xC6, 0x10, 0xF5, 0x4A, 0x8D, 0xDA, 0x06, 0x8B, 0x8C, +0x46, 0xFA, 0xCD, 0x82, 0x54, 0xE4, 0x42, 0x0D, 0x7D, 0x86, 0x86, 0xA8, 0x72, 0xF1, 0xE6, 0xAC, +0xD8, 0xCE, 0x97, 0x7A, 0xD4, 0x06, 0x86, 0x4A, 0x43, 0xAC, 0x28, 0x6A, 0x88, 0x58, 0x53, 0xFA, +0x96, 0xD1, 0xB0, 0xD9, 0xA8, 0xEA, 0x36, 0xD0, 0xB7, 0x15, 0xE7, 0x14, 0x72, 0xA3, 0x21, 0xEA, +0xEF, 0xDB, 0x45, 0x7E, 0xE3, 0xF4, 0x0C, 0xD5, 0xE2, 0xDF, 0x7D, 0xCA, 0x4A, 0x98, 0xB6, 0x52, +0x84, 0xA8, 0x57, 0xEA, 0x16, 0x11, 0x0F, 0x3B, 0x29, 0x36, 0xC5, 0xFF, 0x28, 0xA5, 0x62, 0xF0, +0xA3, 0x2C, 0x41, 0x51, 0xCB, 0x22, 0x21, 0xEA, 0xAF, 0xDC, 0x30, 0x65, 0x34, 0x4A, 0xC6, 0xAA, +0x4E, 0xA9, 0xC8, 0x6D, 0x13, 0x18, 0xEA, 0x01, 0x28, 0x6A, 0x88, 0x5C, 0xA9, 0x3D, 0x85, 0xE3, +0xA4, 0x1A, 0x8D, 0xFC, 0xF7, 0xF3, 0xFA, 0x82, 0x2A, 0xE1, 0x87, 0x82, 0x62, 0xE1, 0xBE, 0xA1, +0x2D, 0x8E, 0x0F, 0x18, 0xAD, 0x4D, 0xEC, 0xC5, 0x47, 0xA4, 0x62, 0xE2, 0x36, 0xD8, 0x8A, 0xE6, +0x86, 0x88, 0x44, 0xB5, 0xEA, 0x8B, 0xBF, 0x53, 0x32, 0x56, 0x35, 0xA9, 0x18, 0x9A, 0x45, 0xBA, +0xC5, 0x10, 0xA2, 0x5E, 0xA9, 0x9C, 0x54, 0x4D, 0x46, 0x0B, 0x26, 0xBE, 0x68, 0x63, 0x55, 0x0C, +0x4B, 0xB6, 0x5A, 0x16, 0x35, 0x19, 0xE3, 0x2F, 0xF9, 0xF4, 0x9D, 0xBF, 0x53, 0x32, 0x76, 0xE7, +0x54, 0x52, 0x71, 0xB9, 0x94, 0xB2, 0x58, 0x0C, 0x11, 0x87, 0xD1, 0xA3, 0x98, 0x8C, 0x2E, 0x95, +0xB1, 0x3B, 0xA7, 0x0D, 0xA9, 0x48, 0xCD, 0xE0, 0x42, 0x1D, 0x0B, 0x51, 0xF9, 0x4D, 0x4C, 0x46, +0x07, 0xBF, 0xDF, 0xF5, 0xEE, 0x9C, 0x92, 0x8A, 0x38, 0x51, 0xE5, 0x42, 0x95, 0x10, 0x95, 0xDF, +0x3C, 0xB6, 0xAC, 0x8C, 0x27, 0x6D, 0xDB, 0x88, 0x84, 0x4A, 0x2A, 0x6A, 0x88, 0x7A, 0xA5, 0xC6, +0x64, 0xEC, 0x2D, 0x8D, 0x36, 0xB6, 0x86, 0xCB, 0x5D, 0x84, 0x4D, 0x07, 0x22, 0xA9, 0x08, 0xB7, +0x91, 0x0B, 0xB5, 0x74, 0xA5, 0x92, 0x8C, 0x4A, 0x53, 0xBF, 0x5D, 0xDA, 0xED, 0x77, 0x7B, 0xEB, +0x77, 0x26, 0xC4, 0x32, 0x0D, 0x8A, 0x12, 0x22, 0xFC, 0xA6, 0x9C, 0x8C, 0xCD, 0xEE, 0x05, 0xE3, +0xFC, 0xA3, 0x7D, 0x85, 0x54, 0x14, 0x14, 0xCB, 0xF7, 0x8D, 0x26, 0xA3, 0xC9, 0x40, 0x7C, 0xAF, +0xCD, 0xB7, 0xCD, 0xF6, 0x90, 0x9F, 0x36, 0xE3, 0xE6, 0xBC, 0x10, 0x19, 0xA4, 0x5E, 0xD0, 0x54, +0x8F, 0xF5, 0xF0, 0x07, 0x2D, 0xD4, 0x46, 0xAA, 0xA2, 0xDE, 0x36, 0xA3, 0x57, 0x6A, 0x4C, 0x46, +0x97, 0xA7, 0x61, 0xAA, 0x3A, 0x81, 0x78, 0x2A, 0x55, 0x11, 0x14, 0x25, 0x44, 0x4D, 0xC6, 0xED, +0xDF, 0xB8, 0x63, 0x40, 0xB5, 0x7B, 0x77, 0xCA, 0x7E, 0xBF, 0x07, 0x2E, 0x22, 0x31, 0xB7, 0xCD, +0x54, 0x88, 0xF0, 0x1B, 0x4D, 0xC6, 0xB3, 0xF5, 0xCE, 0x5F, 0x83, 0xCF, 0x3F, 0x4F, 0xD0, 0x9B, +0x89, 0xB1, 0x6A, 0x70, 0x50, 0x25, 0x15, 0x09, 0x71, 0x2C, 0x19, 0x51, 0x53, 0x9B, 0x9D, 0x94, +0x0D, 0x8A, 0x62, 0xB8, 0x4F, 0xA9, 0x8A, 0x72, 0x4E, 0x25, 0xC4, 0xF9, 0xC9, 0x58, 0xD7, 0xBB, +0x28, 0x1B, 0x14, 0x45, 0xBA, 0x0C, 0x74, 0xF0, 0xE0, 0x63, 0x38, 0x98, 0x0C, 0x51, 0x93, 0x71, +0x15, 0x04, 0x9C, 0xDD, 0xFE, 0x34, 0xC3, 0x97, 0x8B, 0x8A, 0xA1, 0xA9, 0x78, 0xC8, 0x39, 0x25, +0x15, 0x67, 0x24, 0x23, 0xBA, 0xBF, 0x83, 0x28, 0xFE, 0x97, 0xB8, 0x33, 0xD7, 0x95, 0x1A, 0x88, +0x82, 0x28, 0x6B, 0x40, 0x46, 0xC0, 0x22, 0x32, 0x20, 0x60, 0xC9, 0x10, 0x02, 0x41, 0xCA, 0x4E, +0xCE, 0x1E, 0xB3, 0x88, 0x89, 0x01, 0xE1, 0xF9, 0x01, 0x66, 0x52, 0x90, 0xB0, 0x79, 0x7F, 0x8B, +0xDC, 0xD5, 0x9E, 0xE3, 0xA6, 0x34, 0xB8, 0x69, 0xEC, 0x7E, 0x7C, 0x00, 0xA8, 0x54, 0xDB, 0xBD, +0xD7, 0x36, 0xA3, 0x1F, 0xEC, 0xD3, 0x73, 0x45, 0x48, 0x64, 0x40, 0xCD, 0x86, 0x98, 0x9A, 0x31, +0x3E, 0x66, 0x94, 0x19, 0x0F, 0x79, 0xC0, 0xB9, 0xBB, 0x43, 0x48, 0xD8, 0xA8, 0xF7, 0x09, 0x9B, +0x4B, 0x13, 0x10, 0xF7, 0x9B, 0x31, 0x19, 0x70, 0x6A, 0xEF, 0xC5, 0x84, 0x8D, 0x56, 0xC5, 0x64, +0xB4, 0x11, 0xC6, 0x29, 0x2B, 0xFA, 0x7C, 0x93, 0xBE, 0x9C, 0x42, 0x6D, 0x1C, 0xEA, 0xE3, 0xE2, +0xF3, 0x81, 0x44, 0x56, 0x45, 0x7E, 0xEB, 0xCD, 0xAC, 0x38, 0x01, 0xD1, 0xCC, 0xF8, 0x3C, 0x35, +0x63, 0xFD, 0x4C, 0x25, 0x6C, 0xB6, 0xF4, 0x3E, 0xEF, 0x12, 0xF3, 0xD4, 0x2D, 0x1F, 0x62, 0x6A, +0x46, 0xD1, 0xC8, 0xE3, 0xE2, 0xC3, 0xBA, 0xE0, 0x9C, 0xA4, 0xF6, 0xDB, 0x70, 0x23, 0x26, 0x4F, +0xB9, 0x83, 0x9B, 0x15, 0xF7, 0x94, 0xFF, 0x5E, 0x33, 0x8A, 0xC6, 0xCA, 0x4A, 0x65, 0xB2, 0x49, +0xE6, 0xD3, 0x50, 0x19, 0x1A, 0x6D, 0x98, 0xDE, 0x32, 0x20, 0xBA, 0x19, 0x05, 0x91, 0x27, 0xE2, +0x87, 0xD6, 0xFE, 0xC7, 0x21, 0x51, 0x79, 0x2A, 0x84, 0x13, 0x56, 0x9C, 0x32, 0x63, 0x7A, 0x14, +0x3F, 0xE4, 0xF6, 0xBF, 0x9A, 0x90, 0xC8, 0x8B, 0x6F, 0x41, 0xA8, 0xEC, 0x8A, 0xB9, 0x10, 0xA1, +0x51, 0x8F, 0x36, 0x2C, 0x53, 0xEB, 0xCE, 0xA9, 0xAC, 0x51, 0x90, 0xF8, 0x82, 0x27, 0xA7, 0x19, +0x3A, 0x05, 0x22, 0x66, 0xE4, 0xBD, 0x06, 0x1B, 0x70, 0x0E, 0xE7, 0x2A, 0x7E, 0x8A, 0x9F, 0x97, +0x08, 0xA5, 0xC8, 0x36, 0x2C, 0x12, 0x27, 0x8A, 0xDF, 0xCD, 0x48, 0xA6, 0xF2, 0x1E, 0x55, 0xCC, +0xD4, 0xEE, 0x6B, 0x53, 0xF9, 0x93, 0x4D, 0x7E, 0x71, 0x91, 0xFF, 0x15, 0x8D, 0x09, 0xDC, 0x46, +0x1B, 0xD3, 0xA9, 0x41, 0xC4, 0x8C, 0xBC, 0x0D, 0x27, 0xA9, 0xA2, 0xD4, 0x9A, 0x3F, 0x8E, 0x4E, +0x63, 0x34, 0x0C, 0x6F, 0x71, 0x04, 0x27, 0x4F, 0xB1, 0x22, 0x24, 0xE6, 0x99, 0x51, 0x5F, 0x33, +0x4A, 0xA8, 0xC9, 0x28, 0xBE, 0xA9, 0x7C, 0xA5, 0x7A, 0x1A, 0xD7, 0x7D, 0x85, 0x4D, 0xF2, 0x09, +0x11, 0x2F, 0x14, 0x99, 0x15, 0xF3, 0xCC, 0xA8, 0xF6, 0x7F, 0x4E, 0xA6, 0xD6, 0x7F, 0xEC, 0xCF, +0x8E, 0xC1, 0xBA, 0xAF, 0xDE, 0x17, 0xC6, 0xAC, 0xD1, 0x06, 0x88, 0x6E, 0xC6, 0x5B, 0xF6, 0xD5, +0x46, 0xCD, 0x75, 0xC3, 0x77, 0x8C, 0x56, 0x1F, 0xB9, 0x53, 0xFB, 0x3C, 0x39, 0x35, 0x2B, 0x66, +0x9A, 0x51, 0x34, 0x72, 0xDE, 0x10, 0x8D, 0x75, 0x4F, 0x38, 0xC7, 0xB5, 0x63, 0x10, 0x36, 0xEF, +0xED, 0xA4, 0x31, 0x59, 0x19, 0x40, 0x74, 0x33, 0x3E, 0x90, 0x52, 0x95, 0xA9, 0x91, 0xC6, 0x6D, +0xDD, 0xC0, 0xB9, 0x06, 0x89, 0xC9, 0xA6, 0xF8, 0x40, 0x2C, 0x12, 0x36, 0x06, 0x31, 0xCF, 0x8C, +0xEA, 0x8D, 0x90, 0xA9, 0x49, 0xE0, 0xD4, 0x9B, 0xC5, 0x8F, 0x35, 0x22, 0x91, 0xD7, 0x88, 0xD9, +0x14, 0x3D, 0x4F, 0xD1, 0x69, 0xBE, 0x19, 0x55, 0x1B, 0x64, 0xEA, 0x57, 0xBD, 0x4B, 0xF5, 0xFD, +0x48, 0xAD, 0x3F, 0x57, 0x77, 0x59, 0x43, 0xD8, 0x3C, 0x7C, 0xBE, 0x3B, 0xDA, 0x64, 0xE5, 0xA9, +0x2B, 0x95, 0x6D, 0x63, 0x9C, 0xA9, 0xBB, 0x6A, 0x6C, 0xEA, 0x3C, 0x6A, 0x84, 0xC4, 0x06, 0x12, +0x43, 0xD8, 0x78, 0x29, 0x5E, 0x36, 0x9D, 0x66, 0xE5, 0x8D, 0x67, 0x2A, 0x4A, 0xAD, 0xF1, 0x74, +0x03, 0x12, 0x37, 0x23, 0x12, 0xF5, 0x0B, 0xB6, 0x94, 0x62, 0x6E, 0x9E, 0xBA, 0x52, 0xF7, 0x64, +0xEA, 0xAA, 0xF6, 0xF2, 0x0F, 0x89, 0xEC, 0xC2, 0x90, 0x68, 0x79, 0x9A, 0x0B, 0xD1, 0x33, 0x95, +0x6A, 0xD4, 0x25, 0xAE, 0xA9, 0x74, 0xFA, 0x77, 0x12, 0xF5, 0xAC, 0xC6, 0x4A, 0xF1, 0xF2, 0xA4, +0x4E, 0x51, 0xAA, 0x67, 0x2A, 0xB3, 0xF8, 0x8B, 0x51, 0x35, 0x36, 0x8B, 0xBF, 0x82, 0xEB, 0x24, +0xB6, 0x8C, 0xA7, 0x94, 0x62, 0x2E, 0x89, 0x40, 0xDC, 0x9F, 0xA9, 0x2C, 0xC6, 0xFD, 0x87, 0xA9, +0x9B, 0xA5, 0x37, 0x63, 0x27, 0xB1, 0x1D, 0x16, 0xC5, 0x47, 0x22, 0xD1, 0x4A, 0x31, 0x13, 0x22, +0x4A, 0xC5, 0x8C, 0x16, 0x38, 0xD5, 0xF6, 0x8D, 0xE3, 0xC3, 0x74, 0xDA, 0xD1, 0x18, 0x6C, 0x8A, +0x13, 0x79, 0x3A, 0x65, 0xC6, 0xF4, 0xD9, 0x06, 0x34, 0xAA, 0x37, 0x6A, 0xD1, 0x78, 0x37, 0xED, +0x44, 0xC6, 0xD3, 0x07, 0x69, 0xED, 0x67, 0xE8, 0x14, 0x88, 0xAE, 0x54, 0x49, 0x55, 0xDF, 0x6D, +0xC4, 0xD3, 0x7F, 0x85, 0xB5, 0x91, 0x15, 0x43, 0xDB, 0x7E, 0xD4, 0x29, 0x24, 0xA2, 0x53, 0xAB, +0x8C, 0x3C, 0xA5, 0x5E, 0xF6, 0x4C, 0x1D, 0x2E, 0x71, 0x6D, 0x54, 0xEA, 0x66, 0xBB, 0x59, 0x9A, +0xC6, 0xD7, 0x90, 0xA8, 0xDA, 0x7F, 0x69, 0x08, 0x5D, 0xA7, 0x39, 0x10, 0x3D, 0x53, 0xFF, 0x08, +0x9C, 0x5A, 0xDB, 0xFF, 0x49, 0x48, 0x1C, 0x0D, 0xE0, 0x76, 0x96, 0x72, 0x12, 0xF3, 0xCD, 0x28, +0xA5, 0x42, 0x23, 0x81, 0xB3, 0xAE, 0xE1, 0xC6, 0xA3, 0x1F, 0x21, 0x71, 0x54, 0xFB, 0x90, 0x78, +0x13, 0x12, 0x0B, 0x20, 0x32, 0xE0, 0x58, 0x35, 0x42, 0xE3, 0xC2, 0xDD, 0x78, 0x01, 0x12, 0x99, +0xDD, 0x34, 0xBC, 0x31, 0xD9, 0x4C, 0xF4, 0xFE, 0x74, 0x6D, 0x78, 0x35, 0x26, 0x34, 0x2E, 0x75, +0x8B, 0xA3, 0xF5, 0xF5, 0x71, 0xD4, 0xF8, 0x3E, 0xCC, 0xAB, 0xE0, 0x25, 0x24, 0xA6, 0x34, 0xF2, +0x26, 0x95, 0xBB, 0x71, 0xD9, 0xE3, 0x3F, 0x85, 0x61, 0x5B, 0x54, 0x20, 0xF1, 0xD6, 0xAD, 0xB1, +0x4E, 0x45, 0x62, 0x09, 0xC4, 0x88, 0x90, 0x6A, 0x8C, 0x07, 0x55, 0x68, 0x5C, 0x6C, 0x6F, 0xE4, +0xB0, 0xD8, 0xDF, 0x4E, 0x0F, 0xD6, 0xEA, 0x44, 0x15, 0x86, 0x3F, 0x53, 0x84, 0x44, 0x74, 0x9A, +0xA9, 0x54, 0x32, 0x95, 0x95, 0x6A, 0xE7, 0x46, 0xF6, 0xC6, 0xD9, 0xD7, 0x7F, 0xB2, 0x66, 0xFB, +0x35, 0xEA, 0x74, 0xD5, 0xEE, 0x73, 0xA2, 0xE7, 0x69, 0x81, 0x19, 0x45, 0xA3, 0x16, 0xE3, 0xD4, +0x8D, 0xDA, 0x1B, 0x3F, 0xCD, 0x8C, 0x8D, 0xE1, 0x54, 0x08, 0x83, 0x4C, 0xCD, 0x89, 0xD4, 0xBE, +0x59, 0xB1, 0xC0, 0x8C, 0xD0, 0x68, 0x6E, 0x5C, 0xE4, 0x7D, 0x2A, 0xDE, 0x59, 0x1C, 0xC2, 0xA6, +0xD5, 0xDD, 0xCD, 0x6F, 0x36, 0x62, 0x31, 0x4F, 0xA7, 0x40, 0x74, 0x1A, 0xA9, 0x46, 0x21, 0x4C, +0xBA, 0x71, 0xA9, 0xC4, 0x79, 0xCD, 0x49, 0x0A, 0x27, 0x22, 0x53, 0xAF, 0x7D, 0x48, 0xCC, 0x57, +0xAA, 0x67, 0xEA, 0x70, 0x6D, 0xC4, 0x8D, 0xBA, 0x1B, 0xFF, 0x98, 0x1F, 0xE1, 0x75, 0x6D, 0x18, +0x91, 0xC4, 0xA1, 0x13, 0x59, 0x14, 0x19, 0xDE, 0x0A, 0x21, 0x92, 0xA9, 0x36, 0xE1, 0x98, 0x1B, +0x9B, 0x66, 0x81, 0x51, 0xF5, 0xB8, 0x2A, 0x51, 0x7D, 0x81, 0x13, 0x21, 0xD1, 0x6A, 0xDF, 0x74, +0x9A, 0xA9, 0x54, 0x68, 0xE4, 0x68, 0x9C, 0xB8, 0xB1, 0xE3, 0xFC, 0x3F, 0xFB, 0xE4, 0x96, 0x92, +0xA8, 0xF1, 0xD4, 0x16, 0x45, 0x5B, 0x86, 0xF3, 0x69, 0x64, 0x4E, 0xA5, 0x1A, 0xD5, 0x8D, 0xA9, +0x1B, 0x97, 0x91, 0xEA, 0x9D, 0x2D, 0x24, 0x0A, 0x21, 0x71, 0x1A, 0x48, 0xA4, 0x14, 0x3D, 0x6C, +0xCA, 0x95, 0x8A, 0x54, 0xA3, 0x1B, 0x3F, 0x88, 0xC6, 0x05, 0x4E, 0x55, 0x67, 0x85, 0x30, 0x3E, +0xD9, 0xD7, 0x67, 0x8A, 0x0A, 0x1B, 0x23, 0x91, 0xC6, 0x30, 0x88, 0x99, 0x4A, 0x75, 0x1A, 0xE9, +0xC6, 0x55, 0xBF, 0x37, 0x76, 0xA2, 0x91, 0x01, 0x60, 0x26, 0x23, 0x92, 0xA6, 0x92, 0xA9, 0x93, +0x88, 0x4C, 0xD1, 0x69, 0x01, 0x44, 0x68, 0x4C, 0x06, 0x55, 0xB9, 0x51, 0x34, 0xAE, 0x23, 0xC6, +0xCF, 0xB3, 0xF6, 0x05, 0x24, 0xC6, 0xAC, 0x99, 0x93, 0x44, 0x94, 0xCA, 0xEE, 0x0F, 0x8D, 0xFD, +0x23, 0x63, 0xDC, 0xA8, 0xB3, 0x71, 0x94, 0xEA, 0x8F, 0x39, 0x8D, 0xF8, 0x35, 0xAC, 0x50, 0x38, +0xF1, 0xE5, 0x3E, 0x12, 0xAD, 0x31, 0x0A, 0x68, 0x64, 0xC2, 0xD1, 0x14, 0xC7, 0xA4, 0x2A, 0x1A, +0x35, 0xAA, 0xCE, 0xF8, 0x8A, 0xC3, 0x39, 0x2D, 0x89, 0x51, 0xA7, 0xAB, 0xD8, 0xFA, 0x90, 0x68, +0xE3, 0x69, 0x29, 0x44, 0x0F, 0x1C, 0x66, 0x71, 0xF1, 0x28, 0x1A, 0x29, 0xC7, 0x99, 0xDA, 0xF1, +0x44, 0xFF, 0x37, 0xA5, 0x95, 0xF8, 0x82, 0x73, 0x06, 0x9D, 0x28, 0x12, 0x0B, 0x74, 0x8A, 0x52, +0xA9, 0x46, 0x30, 0x9A, 0x1B, 0x29, 0xC7, 0xB9, 0x22, 0xE7, 0xD8, 0xAF, 0xC1, 0x88, 0x5D, 0x87, +0x4C, 0xC5, 0x21, 0x07, 0x8D, 0x12, 0x12, 0x1D, 0x22, 0x99, 0xEA, 0xB3, 0x38, 0x7B, 0x63, 0x7B, +0xA0, 0x54, 0x8D, 0x13, 0xC0, 0xE9, 0xFF, 0x46, 0x38, 0xEE, 0x7C, 0x21, 0xD4, 0x5C, 0xF3, 0x62, +0x46, 0x12, 0xDD, 0x8C, 0xBC, 0xF6, 0x97, 0xD0, 0x88, 0x54, 0xB1, 0xE3, 0x97, 0xFF, 0xC4, 0x78, +0x74, 0x17, 0xA6, 0xEB, 0xA0, 0xD3, 0x55, 0x28, 0x0C, 0x27, 0x91, 0xF1, 0xD4, 0x20, 0x16, 0xD1, +0x88, 0x1B, 0xA1, 0x91, 0xFE, 0x6F, 0xC7, 0x34, 0x6E, 0x3F, 0xFF, 0x1F, 0xC6, 0x27, 0x01, 0x61, +0xE3, 0x69, 0xAA, 0x38, 0x85, 0x44, 0x0E, 0x1A, 0xE8, 0xB4, 0x04, 0x22, 0x99, 0xCA, 0xA0, 0x0A, +0x8D, 0x3D, 0x48, 0xA5, 0x2A, 0xD5, 0x01, 0xC6, 0x52, 0x84, 0x92, 0x29, 0x08, 0x95, 0x35, 0xBC, +0x82, 0xE2, 0x4E, 0x84, 0xC4, 0x52, 0xA5, 0x3A, 0x8D, 0xAC, 0xC6, 0x21, 0x71, 0x48, 0xD5, 0xC0, +0x23, 0x5A, 0x2D, 0xE4, 0xB0, 0xAF, 0xC4, 0xB5, 0xB6, 0x44, 0x93, 0x29, 0x24, 0x52, 0xFB, 0x90, +0x58, 0x4E, 0xE3, 0xE5, 0x00, 0x12, 0x1A, 0x83, 0x52, 0x03, 0xC6, 0x5E, 0xAA, 0xD8, 0x31, 0x6A, +0xF5, 0xCB, 0xC5, 0x42, 0x1F, 0x8A, 0xC3, 0x66, 0xF0, 0x61, 0xAB, 0xAC, 0x89, 0xCF, 0x69, 0x66, +0x26, 0xD1, 0x95, 0xEA, 0x34, 0x3E, 0x12, 0x8D, 0x92, 0x6A, 0xB0, 0x63, 0x37, 0xF0, 0xF8, 0xED, +0x46, 0x11, 0xC2, 0x57, 0xE2, 0x30, 0x64, 0x4D, 0x97, 0xCA, 0xF4, 0xC5, 0x04, 0x89, 0x40, 0x2C, +0x56, 0xAA, 0xD1, 0xA8, 0xC4, 0x51, 0x39, 0x32, 0xE4, 0x0C, 0x3C, 0x6E, 0xEE, 0x95, 0xB4, 0x45, +0xE0, 0xB0, 0x57, 0x69, 0xB7, 0x56, 0x98, 0x5A, 0xD6, 0xA4, 0x17, 0x1B, 0x0B, 0x9B, 0x39, 0x69, +0x64, 0xE3, 0x88, 0x37, 0x8E, 0x30, 0xAB, 0x0A, 0x63, 0xD3, 0x67, 0xCE, 0xF6, 0xED, 0xBF, 0xFE, +0x73, 0x67, 0x62, 0xE3, 0x6F, 0x06, 0x0E, 0x0F, 0x84, 0x50, 0x51, 0x63, 0x85, 0x51, 0x4E, 0xA2, +0xD3, 0x48, 0xFD, 0x3B, 0x8D, 0xA4, 0xAA, 0x22, 0xA7, 0xEB, 0x22, 0xC8, 0x7F, 0x37, 0xE4, 0x95, +0x46, 0x3E, 0xD4, 0x64, 0x2A, 0x84, 0x6C, 0x89, 0x8F, 0x66, 0x27, 0x11, 0x88, 0xFB, 0x69, 0x64, +0x1A, 0x97, 0x1D, 0xDB, 0x03, 0x19, 0x52, 0x7E, 0xE4, 0x17, 0x20, 0xF3, 0x44, 0xDA, 0xDB, 0x30, +0xFA, 0x70, 0x0D, 0x87, 0x32, 0x22, 0xD7, 0x8C, 0x59, 0x9D, 0x88, 0x52, 0xF9, 0x14, 0xDE, 0x69, +0x8C, 0xCB, 0x31, 0x76, 0xEC, 0xBB, 0x03, 0x90, 0x3F, 0x2F, 0xE6, 0x8B, 0x74, 0xA7, 0xD2, 0x4E, +0xC3, 0x77, 0x4B, 0xE9, 0x3F, 0x07, 0xE1, 0x7C, 0x24, 0x3A, 0x8D, 0x42, 0xE8, 0x34, 0x2A, 0x71, +0xD4, 0x1C, 0x1A, 0xC8, 0x63, 0xE6, 0x04, 0x8C, 0x9B, 0x77, 0xA7, 0x73, 0x28, 0x7C, 0xB3, 0x55, +0xD0, 0x88, 0xC5, 0x83, 0x38, 0x9A, 0x46, 0x23, 0xAA, 0x13, 0xB9, 0x9D, 0x1A, 0x89, 0x06, 0xB1, +0x3C, 0x70, 0xA0, 0x71, 0x6C, 0x47, 0xB9, 0x11, 0xA9, 0x4A, 0xAB, 0x0A, 0x9D, 0x5E, 0xAD, 0xCF, +0x26, 0x9F, 0x67, 0x3E, 0x6E, 0x06, 0x0A, 0xF1, 0xE1, 0x0A, 0x23, 0xD2, 0x17, 0xFA, 0x03, 0x89, +0xA6, 0xD3, 0x22, 0x88, 0x1E, 0x38, 0x1C, 0xAA, 0x74, 0x70, 0xEC, 0xA5, 0x1A, 0xDE, 0x71, 0x80, +0x47, 0x88, 0x14, 0x93, 0x17, 0xFF, 0x06, 0xF0, 0xF6, 0x2F, 0x51, 0xA8, 0xA0, 0x89, 0x3E, 0x6C, +0x93, 0xC1, 0x4D, 0x1C, 0x72, 0x00, 0x9F, 0x89, 0x44, 0x94, 0xEA, 0x34, 0xB2, 0x37, 0x8A, 0x46, +0xEC, 0xB8, 0x92, 0x1F, 0xB5, 0x3D, 0xF6, 0x44, 0x0A, 0xE4, 0xCF, 0xFB, 0x7B, 0xFE, 0x81, 0xDF, +0xD4, 0x9D, 0xE1, 0x8D, 0xD3, 0x40, 0x10, 0x46, 0x5B, 0x00, 0x53, 0x81, 0x49, 0x07, 0xF1, 0x75, +0x10, 0xD2, 0x41, 0x72, 0x1D, 0x18, 0x89, 0x0A, 0x42, 0x2A, 0x08, 0x15, 0x1C, 0xA2, 0x5B, 0x3C, +0x3B, 0xB3, 0x7E, 0x5E, 0x7D, 0xB2, 0x2C, 0x24, 0xAF, 0xB5, 0xCC, 0x59, 0x70, 0x90, 0xFB, 0x71, +0x8F, 0xF7, 0xCD, 0xCC, 0x6E, 0xEE, 0x07, 0x5F, 0xDE, 0xFD, 0x2B, 0x7E, 0xE6, 0x85, 0xFF, 0xF8, +0x8D, 0x43, 0x6F, 0x44, 0x52, 0xEA, 0x35, 0x13, 0xCA, 0xB0, 0xD9, 0x55, 0xE3, 0x80, 0x46, 0xDA, +0x71, 0xC9, 0xF8, 0x28, 0x45, 0x1A, 0xE5, 0xE5, 0x93, 0xF0, 0x5D, 0x7F, 0xDB, 0x4B, 0xFE, 0x13, +0xC4, 0xF9, 0x0A, 0x8C, 0xC3, 0x04, 0xC8, 0x4A, 0x2C, 0x67, 0xCD, 0x54, 0x22, 0xB1, 0x82, 0x46, +0xF6, 0xBF, 0x9F, 0x00, 0x98, 0xAB, 0x7F, 0x1E, 0x21, 0xD2, 0x4D, 0x7A, 0x3D, 0xC7, 0xDB, 0xF0, +0xD5, 0xFF, 0xEF, 0xAE, 0xD3, 0xDB, 0xFD, 0xC7, 0x23, 0xD3, 0xBF, 0x96, 0x0A, 0x71, 0x38, 0x95, +0x4C, 0xD3, 0xF3, 0x79, 0x6F, 0x89, 0x20, 0xAA, 0xC6, 0x60, 0x04, 0x72, 0x5C, 0xB6, 0xA3, 0x31, +0x06, 0xE4, 0xCB, 0x55, 0x6A, 0x31, 0x46, 0xF3, 0x0D, 0xF8, 0xE9, 0x0E, 0x49, 0xA9, 0xC7, 0x94, +0x6B, 0xE2, 0x30, 0x03, 0xF6, 0xD2, 0x89, 0x7B, 0x24, 0x55, 0x35, 0x92, 0x54, 0x4E, 0x00, 0xC9, +0x23, 0x1B, 0x32, 0x65, 0xF0, 0x85, 0x4B, 0xCA, 0x5B, 0xD0, 0xBB, 0xD0, 0x09, 0x71, 0x58, 0x10, +0x22, 0x91, 0xA3, 0x1B, 0x31, 0x45, 0xE2, 0x8E, 0x1A, 0x79, 0x8B, 0x03, 0x48, 0x8F, 0x6A, 0x78, +0xFC, 0xE1, 0x33, 0x27, 0x4F, 0xD6, 0xC4, 0xF8, 0x0A, 0x99, 0xF6, 0x5B, 0xD0, 0xBD, 0xA2, 0x05, +0x99, 0xA4, 0x76, 0xA6, 0x31, 0x87, 0x7E, 0x81, 0xA2, 0x11, 0x07, 0xEE, 0xFA, 0x21, 0x51, 0xC6, +0x69, 0x35, 0x8D, 0x24, 0xD5, 0x6A, 0x0C, 0x8F, 0x1F, 0xC6, 0xC8, 0x91, 0x35, 0x83, 0xBA, 0xCE, +0x5F, 0x3F, 0xA7, 0xDE, 0xB3, 0xC7, 0x19, 0x69, 0x43, 0x0F, 0xA9, 0x13, 0xDE, 0xCB, 0x94, 0x72, +0x38, 0x0D, 0x87, 0x22, 0xB1, 0xB6, 0x46, 0x66, 0xCE, 0x3D, 0x18, 0x3F, 0xFE, 0xE4, 0x8E, 0xF4, +0xB8, 0xDA, 0xD4, 0x71, 0xC6, 0x47, 0x66, 0x0B, 0x3C, 0x06, 0xA9, 0xA7, 0x94, 0x95, 0xAF, 0x27, +0xB7, 0x3A, 0x12, 0xD7, 0x35, 0x9E, 0x5D, 0xE3, 0x10, 0xE7, 0xB8, 0xBC, 0x1E, 0x63, 0xAE, 0x3A, +0x63, 0xC4, 0x15, 0x8F, 0x13, 0x98, 0xC1, 0x39, 0x63, 0x08, 0x34, 0x42, 0x8E, 0x34, 0x6B, 0xEB, +0xC2, 0x6A, 0x5D, 0x62, 0x1D, 0x8D, 0x43, 0x30, 0x5A, 0x56, 0x99, 0x39, 0x71, 0x94, 0xB3, 0x8E, +0x0C, 0x46, 0x43, 0x78, 0xAC, 0x95, 0x59, 0x76, 0x3E, 0x08, 0xC7, 0xEC, 0xF0, 0x1A, 0x4B, 0x9F, +0x46, 0xAC, 0x20, 0x11, 0x44, 0xDE, 0xFC, 0x97, 0xCD, 0xC1, 0x9D, 0x03, 0x8F, 0x9C, 0x02, 0x8C, +0xD2, 0x54, 0x3E, 0x15, 0xCF, 0x04, 0x3E, 0xDD, 0xA0, 0xEF, 0x0A, 0x66, 0x29, 0x8D, 0xA8, 0xD3, +0xB4, 0xDF, 0x55, 0x22, 0x49, 0x85, 0x91, 0x1B, 0x07, 0x87, 0x1C, 0x3C, 0xFA, 0x19, 0x20, 0x86, +0xCE, 0x02, 0xF2, 0x99, 0x78, 0x8C, 0xCA, 0xD1, 0xCC, 0xAD, 0x05, 0x74, 0xEE, 0x42, 0x42, 0x5A, +0x12, 0xCE, 0x80, 0x67, 0x39, 0x9C, 0x22, 0x71, 0x5F, 0x8D, 0x1D, 0x59, 0x3D, 0x9F, 0x79, 0x5B, +0x35, 0x1F, 0xC8, 0x59, 0x1E, 0xDE, 0x91, 0x94, 0xF1, 0x18, 0xE9, 0x54, 0x46, 0x68, 0xD8, 0x26, +0x10, 0x85, 0xBE, 0x2C, 0xC4, 0xE1, 0x85, 0xA5, 0xCF, 0x0D, 0x43, 0x24, 0x56, 0xD0, 0xC8, 0xAD, +0xCA, 0xDB, 0x91, 0xAC, 0x46, 0x43, 0x0A, 0xA4, 0x19, 0x9B, 0x98, 0x42, 0x1E, 0x74, 0x00, 0xFA, +0x28, 0x65, 0x96, 0x5A, 0x0D, 0x8C, 0x9A, 0x7A, 0x12, 0x55, 0xA3, 0x6E, 0x0E, 0x63, 0x24, 0xAB, +0x34, 0x24, 0x90, 0x94, 0xC3, 0x29, 0x20, 0x83, 0x06, 0x87, 0x6C, 0xC4, 0x13, 0x84, 0x9D, 0x48, +0xAC, 0xA0, 0x91, 0x76, 0x0C, 0xC6, 0xCB, 0x5B, 0x91, 0xD5, 0x77, 0x1A, 0x12, 0x48, 0x29, 0x7A, +0x90, 0x36, 0x8C, 0x94, 0xDE, 0x5C, 0x22, 0x37, 0xA8, 0x33, 0x80, 0x7A, 0x3A, 0xAD, 0xA1, 0xD1, +0x2C, 0x32, 0x55, 0x19, 0x39, 0x78, 0xB4, 0xB1, 0x98, 0x21, 0x39, 0xD3, 0x29, 0x9F, 0x01, 0x12, +0x52, 0x71, 0x38, 0x44, 0x23, 0x32, 0x6B, 0x98, 0xA6, 0x48, 0xAC, 0xA0, 0xB1, 0x5B, 0x4E, 0xD5, +0x53, 0xD9, 0x8F, 0xB7, 0x60, 0x9C, 0x8C, 0x10, 0x56, 0x1F, 0xAF, 0x8E, 0xA9, 0x78, 0x7E, 0xB1, +0xF0, 0x90, 0x06, 0xA1, 0xEC, 0x7C, 0x24, 0x56, 0xE8, 0x44, 0x34, 0x52, 0xA6, 0x91, 0x91, 0xC3, +0x49, 0x0E, 0x46, 0x87, 0x9C, 0x1E, 0x20, 0xD2, 0x6F, 0x1F, 0xB9, 0xD2, 0x1F, 0xA9, 0x31, 0x67, +0x14, 0x87, 0x10, 0xD2, 0x88, 0x7D, 0x05, 0x89, 0xA2, 0x51, 0x27, 0xCE, 0x39, 0x34, 0x8A, 0xC7, +0xF1, 0xDD, 0x20, 0x47, 0x67, 0x20, 0xB3, 0xE9, 0x23, 0x98, 0xE3, 0x93, 0xD4, 0xBB, 0x63, 0x6E, +0xC3, 0x99, 0x90, 0x9F, 0xD1, 0xE8, 0x34, 0x45, 0x62, 0x05, 0x8D, 0x2C, 0x0E, 0xDA, 0x11, 0x8F, +0x2C, 0x0F, 0x9F, 0xAC, 0x13, 0xE7, 0x18, 0x6C, 0xE9, 0x01, 0x15, 0x83, 0x36, 0x66, 0x20, 0xBC, +0x42, 0x48, 0x23, 0xB2, 0x12, 0xEB, 0x48, 0x44, 0xA3, 0xFE, 0x30, 0x8E, 0xCD, 0x81, 0xC7, 0x2B, +0x8C, 0x49, 0xE4, 0xFD, 0x7B, 0x5E, 0x93, 0x5A, 0xEF, 0x00, 0x7A, 0x48, 0x21, 0xCC, 0x31, 0x5D, +0x38, 0xAC, 0x22, 0x11, 0x8D, 0xEA, 0x91, 0x91, 0x23, 0x1E, 0x81, 0x0C, 0x82, 0xD1, 0x31, 0x85, +0x6F, 0xBC, 0xC7, 0xED, 0x97, 0x41, 0x53, 0x12, 0xE2, 0x90, 0x69, 0x8A, 0xC4, 0x5D, 0x4B, 0x10, +0x61, 0x34, 0x42, 0x3C, 0x3A, 0x61, 0xDC, 0xAE, 0xA2, 0x27, 0x1D, 0x73, 0x42, 0x5A, 0x3E, 0xFE, +0x8A, 0xF3, 0x31, 0x67, 0x20, 0xD4, 0x51, 0xF3, 0xB5, 0x96, 0x44, 0x34, 0xEA, 0x76, 0x24, 0xAB, +0xDA, 0x8F, 0x33, 0x23, 0x94, 0x3C, 0x2E, 0xD6, 0x13, 0xAA, 0x21, 0x85, 0x70, 0x58, 0xC6, 0xB4, +0xAF, 0x42, 0x48, 0x29, 0x22, 0x8C, 0x83, 0xF4, 0x23, 0xD7, 0x64, 0x28, 0xCB, 0x1A, 0x47, 0xBF, +0xF9, 0x72, 0x9E, 0xB9, 0xCD, 0x1B, 0x5F, 0x53, 0x6A, 0x80, 0x1A, 0xD3, 0x8A, 0x8C, 0x3A, 0x56, +0x99, 0xAB, 0xDF, 0x12, 0x23, 0x90, 0x54, 0x52, 0x37, 0xFF, 0x5A, 0xD4, 0xD5, 0x15, 0xE2, 0x90, +0x51, 0x73, 0xCC, 0xAC, 0x21, 0xAA, 0xDA, 0x8E, 0x72, 0xB1, 0x1A, 0xF0, 0x78, 0x8B, 0x43, 0xAB, +0x96, 0x00, 0xD2, 0x86, 0x5C, 0x2E, 0x58, 0x17, 0xEC, 0xFC, 0x5A, 0x12, 0xD1, 0xA8, 0xED, 0xA8, +0x1E, 0x2F, 0x34, 0x24, 0x26, 0x37, 0x00, 0x6F, 0x0C, 0x9A, 0xE1, 0x92, 0x09, 0xD3, 0xCE, 0x87, +0xB1, 0xB2, 0x44, 0x34, 0x6A, 0x3B, 0xE2, 0x11, 0x46, 0x20, 0x6F, 0x06, 0x09, 0xA5, 0xF2, 0x01, +0x48, 0x1B, 0x92, 0x52, 0x8E, 0xA6, 0xD5, 0x09, 0xD1, 0xA8, 0xED, 0x88, 0x47, 0xC2, 0x0A, 0xA3, +0x01, 0x18, 0x89, 0xE2, 0xDD, 0xA6, 0x32, 0x3A, 0x00, 0x8D, 0x90, 0x94, 0xA2, 0x90, 0x46, 0xAC, +0x19, 0x53, 0x18, 0xB5, 0x1D, 0xF1, 0x28, 0x22, 0x09, 0xAC, 0xD7, 0x92, 0xEE, 0xEE, 0xAF, 0x40, +0xE8, 0x21, 0xE5, 0x8D, 0x0C, 0x2C, 0xF6, 0xC7, 0x48, 0x24, 0xAA, 0x54, 0x67, 0x90, 0xEA, 0x11, +0x91, 0xB8, 0x0C, 0x9D, 0x51, 0xDF, 0xEC, 0x43, 0x15, 0x8A, 0xC3, 0xE3, 0x62, 0x8A, 0x46, 0x3D, +0xAC, 0x8A, 0x47, 0x15, 0x09, 0x27, 0x1F, 0x65, 0xBD, 0xA1, 0x90, 0x33, 0xCD, 0x31, 0xD3, 0x74, +0x9B, 0xB1, 0x9C, 0xAB, 0x85, 0x48, 0x20, 0xA5, 0x14, 0x10, 0x85, 0x4A, 0xB8, 0x21, 0xF1, 0xA8, +0xA8, 0x2A, 0xA3, 0x69, 0xB9, 0x40, 0xB9, 0x01, 0x28, 0x21, 0xE5, 0x64, 0x7A, 0x14, 0x21, 0x1A, +0x75, 0x75, 0x68, 0x58, 0x31, 0xF9, 0x6D, 0x05, 0x92, 0xC3, 0x8C, 0xFD, 0x4B, 0x08, 0xA1, 0xBC, +0x1D, 0x75, 0x48, 0x4C, 0x61, 0x54, 0x8F, 0xCA, 0x88, 0xC9, 0x37, 0xAB, 0x15, 0x7F, 0x0C, 0x99, +0xB5, 0x90, 0x1E, 0x4E, 0x48, 0x54, 0xD5, 0xA3, 0x42, 0x5E, 0xDC, 0xE4, 0x94, 0x43, 0x93, 0x55, +0xD8, 0xF4, 0xBF, 0x70, 0xD1, 0xD2, 0x86, 0xE2, 0xF0, 0x90, 0x98, 0x2A, 0xA3, 0x7A, 0xA4, 0x21, +0x13, 0x23, 0xE5, 0xAA, 0x92, 0x34, 0xCA, 0xE1, 0x45, 0xA1, 0x38, 0x3C, 0x94, 0x90, 0xA8, 0x6E, +0x7B, 0xE4, 0x38, 0x97, 0x31, 0x01, 0x8A, 0xB7, 0x97, 0xE3, 0x65, 0x00, 0x9D, 0x10, 0x87, 0x10, +0x6E, 0xC5, 0xF4, 0x18, 0xC6, 0xE4, 0x91, 0x1A, 0x02, 0x92, 0x02, 0xB5, 0x28, 0x08, 0x99, 0x33, +0xCC, 0xD2, 0x03, 0x09, 0x35, 0xAA, 0xBA, 0x1F, 0x4B, 0x91, 0xA7, 0xA9, 0x06, 0x54, 0x66, 0x67, +0x17, 0x82, 0x4B, 0xA1, 0x50, 0x1C, 0x1E, 0x16, 0xD3, 0x6D, 0x46, 0x08, 0x05, 0x52, 0x8A, 0x70, +0xB2, 0x28, 0xDC, 0x20, 0x0A, 0x71, 0x78, 0x18, 0xE1, 0xB6, 0xC7, 0xDE, 0x4A, 0x21, 0x95, 0x52, +0x01, 0xB9, 0x38, 0xC1, 0x78, 0xB8, 0x43, 0x6D, 0x47, 0x2D, 0x08, 0xA9, 0x89, 0xB0, 0xA0, 0x54, +0x3E, 0x0C, 0x92, 0x51, 0xAB, 0xCF, 0x3B, 0x34, 0xE2, 0xFE, 0x8C, 0x1D, 0x93, 0xB5, 0xDC, 0x92, +0x50, 0x2A, 0x1E, 0x80, 0x5C, 0x0F, 0x9B, 0x20, 0x5C, 0x67, 0xC4, 0x24, 0x75, 0x8E, 0x82, 0xEE, +0x14, 0xC5, 0xD7, 0x10, 0x51, 0x9B, 0x34, 0x2D, 0x10, 0x3A, 0xA3, 0x54, 0xCF, 0x64, 0x95, 0xC8, +0x52, 0xE0, 0x69, 0x75, 0x5F, 0xFB, 0x56, 0x08, 0x95, 0x51, 0x45, 0x6E, 0x97, 0x46, 0x54, 0x00, +0x8F, 0x1F, 0x35, 0xCA, 0xA8, 0x22, 0x2D, 0x6C, 0xCB, 0x9C, 0x9E, 0xEC, 0xA1, 0xF4, 0xEF, 0x49, +0x69, 0x5B, 0x84, 0x30, 0xAA, 0xC8, 0xCE, 0x18, 0x05, 0xA8, 0x7C, 0xA4, 0x09, 0x1D, 0xB0, 0x29, +0x42, 0x18, 0x65, 0x7D, 0xE0, 0x71, 0xAB, 0xD8, 0x14, 0xD6, 0xC6, 0xCD, 0x11, 0xC2, 0xA8, 0x90, +0x56, 0xFF, 0x42, 0x98, 0x15, 0xB6, 0x32, 0x69, 0x84, 0x71, 0x65, 0xEE, 0x6C, 0x43, 0xB2, 0xEB, +0x27, 0xC0, 0x26, 0x09, 0xE5, 0x2C, 0x27, 0x26, 0x37, 0x29, 0xFB, 0xDC, 0x84, 0xAD, 0x12, 0x16, +0x8C, 0x6A, 0x32, 0x63, 0x76, 0xEB, 0xFE, 0xE2, 0xB8, 0xD6, 0x30, 0x61, 0x11, 0x56, 0xAD, 0x80, +0x08, 0x9F, 0x74, 0x5E, 0x86, 0x83, 0xAF, 0xBD, 0x41, 0xB3, 0xCD, 0x88, 0xCB, 0xA8, 0x7E, 0xAE, +0x98, 0x2E, 0x71, 0x65, 0x6A, 0x5D, 0xA1, 0x86, 0xB5, 0xFB, 0xDC, 0xCF, 0x4F, 0xD1, 0x98, 0x52, +0xF9, 0xB5, 0x6E, 0xF1, 0x34, 0x4A, 0xB8, 0x2E, 0x52, 0xBF, 0x6B, 0x95, 0xDC, 0x7C, 0x48, 0x55, +0x64, 0x7C, 0xE3, 0x5D, 0xE2, 0xB3, 0x2A, 0x28, 0x45, 0x77, 0xFE, 0xDA, 0xCF, 0x7D, 0xB3, 0x21, +0x9D, 0x4B, 0x08, 0x02, 0x35, 0x68, 0xF4, 0xC9, 0xA2, 0xED, 0xF5, 0xE6, 0x15, 0xAE, 0xA5, 0xD5, +0x31, 0xFA, 0xB5, 0x30, 0xF6, 0xF1, 0x52, 0xFF, 0xBF, 0x00, 0x06, 0xA4, 0x52, 0xD8, 0x43, 0x1A, +0xF9, 0x24, 0xF0, 0x9B, 0x1E, 0xA4, 0xDB, 0x90, 0x4C, 0x1D, 0x22, 0xC9, 0x27, 0x5D, 0xEB, 0x9B, +0xE2, 0xEF, 0x48, 0xF1, 0x24, 0xA6, 0x07, 0x87, 0x4A, 0x31, 0x4A, 0x7A, 0x9B, 0x4E, 0x70, 0xA8, +0x54, 0xF5, 0xE4, 0xFB, 0x72, 0x28, 0x34, 0xD6, 0x48, 0xF0, 0xE5, 0xB0, 0x8D, 0x3F, 0x54, 0x6F, +0x0E, 0xD3, 0xE8, 0xC3, 0x00, 0xC3, 0x31, 0xF2, 0x06, 0x15, 0x00, 0x00, 0x30, 0x6F, 0xE5, 0x21, +0x41, 0x39, 0x13, 0x54, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82 +}; \ No newline at end of file diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.android/build-cfg.json b/templates/lua-template-runtime/frameworks/runtime-src/proj.android/build-cfg.json index 864fbb9975..ad111cc1f2 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.android/build-cfg.json +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.android/build-cfg.json @@ -30,10 +30,6 @@ "from": "../../../config.json", "to": "" }, - { - "from": "../../../runtime/rtres", - "to": "rtres" - }, { "from": "../../cocos2d-x/external/lua/luasocket", "to": "", diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Android.mk b/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Android.mk index 09f72ea811..d4ea0d1d11 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Android.mk +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Android.mk @@ -6,15 +6,36 @@ LOCAL_MODULE := cocos2dlua_shared LOCAL_MODULE_FILENAME := libcocos2dlua -LOCAL_SRC_FILES := lua/main.cpp \ - lua/Runtime_android.cpp \ - ../../Classes/VisibleRect.cpp \ - ../../Classes/AppDelegate.cpp \ - ../../Classes/ConfigParser.cpp \ - ../../Classes/Runtime.cpp +LOCAL_SRC_FILES := \ +../../Classes/protobuf-lite/google/protobuf/io/coded_stream.cc \ +../../Classes/protobuf-lite/google/protobuf/stubs/common.cc \ +../../Classes/protobuf-lite/google/protobuf/extension_set.cc \ +../../Classes/protobuf-lite/google/protobuf/generated_message_util.cc \ +../../Classes/protobuf-lite/google/protobuf/message_lite.cc \ +../../Classes/protobuf-lite/google/protobuf/stubs/once.cc \ +../../Classes/protobuf-lite/google/protobuf/repeated_field.cc \ +../../Classes/protobuf-lite/google/protobuf/wire_format_lite.cc \ +../../Classes/protobuf-lite/google/protobuf/io/zero_copy_stream.cc \ +../../Classes/protobuf-lite/google/protobuf/io/zero_copy_stream_impl_lite.cc \ +../../Classes/protobuf-lite/google/protobuf/stubs/stringprintf.cc \ +../../Classes/runtime/Landscape_png.cpp \ +../../Classes/runtime/PlayDisable_png.cpp \ +../../Classes/runtime/PlayEnable_png.cpp \ +../../Classes/runtime/Portrait_png.cpp \ +../../Classes/runtime/Shine_png.cpp \ +../../Classes/runtime/Runtime.cpp \ +../../Classes/runtime/Protos.pb.cc \ +../../Classes/VisibleRect.cpp \ +../../Classes/AppDelegate.cpp \ +../../Classes/ConfigParser.cpp \ +lua/Runtime_android.cpp \ +lua/main.cpp -LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes +LOCAL_C_INCLUDES := \ +$(LOCAL_PATH)/../../Classes/protobuf-lite \ +$(LOCAL_PATH)/../../Classes/runtime \ +$(LOCAL_PATH)/../../Classes LOCAL_STATIC_LIBRARIES := curl_static_prebuilt @@ -23,3 +44,4 @@ LOCAL_WHOLE_STATIC_LIBRARIES := cocos_lua_static include $(BUILD_SHARED_LIBRARY) $(call import-module,scripting/lua-bindings) + diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Application.mk b/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Application.mk index edd61073c3..93c859c1b0 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Application.mk +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.android/jni/Application.mk @@ -1,5 +1,9 @@ -APP_STL := gnustl_static +APP_STL := c++_static +NDK_TOOLCHAIN_VERSION=clang + APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char +APP_LDFLAGS := -latomic + APP_DEBUG := $(strip $(NDK_DEBUG)) ifeq ($(APP_DEBUG),1) @@ -8,4 +12,4 @@ ifeq ($(APP_DEBUG),1) else APP_CPPFLAGS += -DNDEBUG APP_OPTIM := release -endif +endif \ No newline at end of file diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj b/templates/lua-template-runtime/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj index 1da7ca1f30..7f79759d56 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.ios_mac/HelloLua.xcodeproj/project.pbxproj @@ -18,6 +18,32 @@ 15A8A4851834C73500142BE0 /* libCocosDenshion Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A41F1834BDA200142BE0 /* libCocosDenshion Mac.a */; }; 15A8A4881834C90F00142BE0 /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A8A4871834C90E00142BE0 /* libcurl.dylib */; }; 1AF4C403178663F200122817 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AF4C402178663F200122817 /* libz.dylib */; }; + 3EB5152C19528284006966AA /* Protos.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB5152A19528284006966AA /* Protos.pb.cc */; }; + 3EB5152D19528284006966AA /* Protos.pb.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB5152A19528284006966AA /* Protos.pb.cc */; }; + 3EB515581952865D006966AA /* extension_set.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515321952865D006966AA /* extension_set.cc */; }; + 3EB515591952865D006966AA /* extension_set.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515321952865D006966AA /* extension_set.cc */; }; + 3EB5155A1952865D006966AA /* generated_message_util.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515341952865D006966AA /* generated_message_util.cc */; }; + 3EB5155B1952865D006966AA /* generated_message_util.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515341952865D006966AA /* generated_message_util.cc */; }; + 3EB5155C1952865D006966AA /* coded_stream.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515371952865D006966AA /* coded_stream.cc */; }; + 3EB5155D1952865D006966AA /* coded_stream.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515371952865D006966AA /* coded_stream.cc */; }; + 3EB5155E1952865D006966AA /* zero_copy_stream.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB5153A1952865D006966AA /* zero_copy_stream.cc */; }; + 3EB5155F1952865D006966AA /* zero_copy_stream.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB5153A1952865D006966AA /* zero_copy_stream.cc */; }; + 3EB515601952865D006966AA /* zero_copy_stream_impl_lite.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB5153D1952865D006966AA /* zero_copy_stream_impl_lite.cc */; }; + 3EB515611952865D006966AA /* zero_copy_stream_impl_lite.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB5153D1952865D006966AA /* zero_copy_stream_impl_lite.cc */; }; + 3EB515621952865D006966AA /* message_lite.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB5153F1952865D006966AA /* message_lite.cc */; }; + 3EB515631952865D006966AA /* message_lite.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB5153F1952865D006966AA /* message_lite.cc */; }; + 3EB515641952865D006966AA /* repeated_field.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515411952865D006966AA /* repeated_field.cc */; }; + 3EB515651952865D006966AA /* repeated_field.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515411952865D006966AA /* repeated_field.cc */; }; + 3EB515661952865D006966AA /* atomicops_internals_x86_msvc.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515471952865D006966AA /* atomicops_internals_x86_msvc.cc */; }; + 3EB515671952865D006966AA /* atomicops_internals_x86_msvc.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515471952865D006966AA /* atomicops_internals_x86_msvc.cc */; }; + 3EB515681952865D006966AA /* common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515491952865D006966AA /* common.cc */; }; + 3EB515691952865D006966AA /* common.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515491952865D006966AA /* common.cc */; }; + 3EB5156A1952865D006966AA /* once.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB5154D1952865D006966AA /* once.cc */; }; + 3EB5156B1952865D006966AA /* once.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB5154D1952865D006966AA /* once.cc */; }; + 3EB5156C1952865D006966AA /* stringprintf.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515511952865D006966AA /* stringprintf.cc */; }; + 3EB5156D1952865D006966AA /* stringprintf.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515511952865D006966AA /* stringprintf.cc */; }; + 3EB5156E1952865D006966AA /* wire_format_lite.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515551952865D006966AA /* wire_format_lite.cc */; }; + 3EB5156F1952865D006966AA /* wire_format_lite.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3EB515551952865D006966AA /* wire_format_lite.cc */; }; 5023811817EBBCAC00990C9B /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5023810817EBBCAC00990C9B /* AppController.mm */; }; 5023811917EBBCAC00990C9B /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5023810917EBBCAC00990C9B /* Default-568h@2x.png */; }; 5023811A17EBBCAC00990C9B /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 5023810A17EBBCAC00990C9B /* Default.png */; }; @@ -50,6 +76,18 @@ 50D7C96C17EBBEDF005D0B91 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50D7C96B17EBBEDF005D0B91 /* OpenGL.framework */; }; 50D7C96E17EBBEE6005D0B91 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50D7C96D17EBBEE6005D0B91 /* AppKit.framework */; }; 50D7C97017EBBEEC005D0B91 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50D7C96F17EBBEEC005D0B91 /* IOKit.framework */; }; + C00FD4921938512100C6382D /* Landscape_png.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C00FD48A1938512100C6382D /* Landscape_png.cpp */; }; + C00FD4931938512100C6382D /* Landscape_png.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C00FD48A1938512100C6382D /* Landscape_png.cpp */; }; + C00FD4941938512100C6382D /* PlayDisable_png.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C00FD48B1938512100C6382D /* PlayDisable_png.cpp */; }; + C00FD4951938512100C6382D /* PlayDisable_png.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C00FD48B1938512100C6382D /* PlayDisable_png.cpp */; }; + C00FD4961938512100C6382D /* PlayEnable_png.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C00FD48C1938512100C6382D /* PlayEnable_png.cpp */; }; + C00FD4971938512100C6382D /* PlayEnable_png.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C00FD48C1938512100C6382D /* PlayEnable_png.cpp */; }; + C00FD4981938512100C6382D /* Portrait_png.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C00FD48D1938512100C6382D /* Portrait_png.cpp */; }; + C00FD4991938512100C6382D /* Portrait_png.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C00FD48D1938512100C6382D /* Portrait_png.cpp */; }; + C00FD49A1938512100C6382D /* Runtime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C00FD48F1938512100C6382D /* Runtime.cpp */; }; + C00FD49B1938512100C6382D /* Runtime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C00FD48F1938512100C6382D /* Runtime.cpp */; }; + C00FD49C1938512100C6382D /* Shine_png.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C00FD4911938512100C6382D /* Shine_png.cpp */; }; + C00FD49D1938512100C6382D /* Shine_png.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C00FD4911938512100C6382D /* Shine_png.cpp */; }; C033B51C191B337200D06937 /* VisibleRect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C033B51A191B337200D06937 /* VisibleRect.cpp */; }; C033B51D191B337200D06937 /* VisibleRect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C033B51A191B337200D06937 /* VisibleRect.cpp */; }; C03781B918BF655400FE4F13 /* res in Resources */ = {isa = PBXBuildFile; fileRef = C03781B718BF655400FE4F13 /* res */; }; @@ -103,8 +141,6 @@ C07828F818B4D72E00BD2287 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C07828F418B4D72E00BD2287 /* main.m */; }; C07828F918B4D72E00BD2287 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = C07828F518B4D72E00BD2287 /* MainMenu.xib */; }; C07828FA18B4D72E00BD2287 /* SimulatorApp.mm in Sources */ = {isa = PBXBuildFile; fileRef = C07828F718B4D72E00BD2287 /* SimulatorApp.mm */; }; - C07828FD18B4DC6F00BD2287 /* Runtime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C07828FB18B4DC6F00BD2287 /* Runtime.cpp */; }; - C07828FE18B4DC7000BD2287 /* Runtime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C07828FB18B4DC6F00BD2287 /* Runtime.cpp */; }; C08D5D5618E567C6009071A4 /* ftp.lua in Resources */ = {isa = PBXBuildFile; fileRef = C08D5D4C18E567C6009071A4 /* ftp.lua */; }; C08D5D5718E567C6009071A4 /* ftp.lua in Resources */ = {isa = PBXBuildFile; fileRef = C08D5D4C18E567C6009071A4 /* ftp.lua */; }; C08D5D5818E567C6009071A4 /* headers.lua in Resources */ = {isa = PBXBuildFile; fileRef = C08D5D4D18E567C6009071A4 /* headers.lua */; }; @@ -128,8 +164,6 @@ C09BA7E718BC929700A85A3E /* WorkSpaceDialog.xib in Resources */ = {isa = PBXBuildFile; fileRef = C09BA7E418BC929700A85A3E /* WorkSpaceDialog.xib */; }; C09BA7E818BC929700A85A3E /* WorkSpaceDialogController.mm in Sources */ = {isa = PBXBuildFile; fileRef = C09BA7E618BC929700A85A3E /* WorkSpaceDialogController.mm */; }; C09BA7EE18BCA49600A85A3E /* NSAppSheetAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = C09BA7ED18BCA49600A85A3E /* NSAppSheetAdditions.m */; }; - C0F9D4BC192F3E6A0066134A /* rtres in Resources */ = {isa = PBXBuildFile; fileRef = C0F9D4BB192F3E6A0066134A /* rtres */; }; - C0F9D4BD192F3E6A0066134A /* rtres in Resources */ = {isa = PBXBuildFile; fileRef = C0F9D4BB192F3E6A0066134A /* rtres */; }; D6B061351803AC000077942B /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D6B061341803AC000077942B /* CoreMotion.framework */; }; F293B3CD15EB7BE500256477 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F293B3CC15EB7BE500256477 /* QuartzCore.framework */; }; F293B3D115EB7BE500256477 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F293B3D015EB7BE500256477 /* OpenAL.framework */; }; @@ -316,6 +350,46 @@ 15A8A4871834C90E00142BE0 /* libcurl.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libcurl.dylib; path = usr/lib/libcurl.dylib; sourceTree = SDKROOT; }; 15C1568D1683131500D239F2 /* libcurl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcurl.a; path = "../../cocos2d-x/cocos2dx/platform/third_party/ios/libraries/libcurl.a"; sourceTree = ""; }; 1AF4C402178663F200122817 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; + 3EB51526195187AF006966AA /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; + 3EB5152A19528284006966AA /* Protos.pb.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Protos.pb.cc; sourceTree = ""; }; + 3EB5152B19528284006966AA /* Protos.pb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Protos.pb.h; sourceTree = ""; }; + 3EB5152F1952865D006966AA /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; + 3EB515321952865D006966AA /* extension_set.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = extension_set.cc; sourceTree = ""; }; + 3EB515331952865D006966AA /* extension_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = extension_set.h; sourceTree = ""; }; + 3EB515341952865D006966AA /* generated_message_util.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = generated_message_util.cc; sourceTree = ""; }; + 3EB515351952865D006966AA /* generated_message_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = generated_message_util.h; sourceTree = ""; }; + 3EB515371952865D006966AA /* coded_stream.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = coded_stream.cc; sourceTree = ""; }; + 3EB515381952865D006966AA /* coded_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = coded_stream.h; sourceTree = ""; }; + 3EB515391952865D006966AA /* coded_stream_inl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = coded_stream_inl.h; sourceTree = ""; }; + 3EB5153A1952865D006966AA /* zero_copy_stream.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = zero_copy_stream.cc; sourceTree = ""; }; + 3EB5153B1952865D006966AA /* zero_copy_stream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zero_copy_stream.h; sourceTree = ""; }; + 3EB5153C1952865D006966AA /* zero_copy_stream_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zero_copy_stream_impl.h; sourceTree = ""; }; + 3EB5153D1952865D006966AA /* zero_copy_stream_impl_lite.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = zero_copy_stream_impl_lite.cc; sourceTree = ""; }; + 3EB5153E1952865D006966AA /* zero_copy_stream_impl_lite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zero_copy_stream_impl_lite.h; sourceTree = ""; }; + 3EB5153F1952865D006966AA /* message_lite.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = message_lite.cc; sourceTree = ""; }; + 3EB515401952865D006966AA /* message_lite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = message_lite.h; sourceTree = ""; }; + 3EB515411952865D006966AA /* repeated_field.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = repeated_field.cc; sourceTree = ""; }; + 3EB515421952865D006966AA /* repeated_field.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = repeated_field.h; sourceTree = ""; }; + 3EB515441952865D006966AA /* atomicops.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = atomicops.h; sourceTree = ""; }; + 3EB515451952865D006966AA /* atomicops_internals_atomicword_compat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = atomicops_internals_atomicword_compat.h; sourceTree = ""; }; + 3EB515461952865D006966AA /* atomicops_internals_macosx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = atomicops_internals_macosx.h; sourceTree = ""; }; + 3EB515471952865D006966AA /* atomicops_internals_x86_msvc.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = atomicops_internals_x86_msvc.cc; sourceTree = ""; }; + 3EB515481952865D006966AA /* atomicops_internals_x86_msvc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = atomicops_internals_x86_msvc.h; sourceTree = ""; }; + 3EB515491952865D006966AA /* common.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = common.cc; sourceTree = ""; }; + 3EB5154A1952865D006966AA /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = ""; }; + 3EB5154B1952865D006966AA /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hash.h; sourceTree = ""; }; + 3EB5154C1952865D006966AA /* map-util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "map-util.h"; sourceTree = ""; }; + 3EB5154D1952865D006966AA /* once.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = once.cc; sourceTree = ""; }; + 3EB5154E1952865D006966AA /* once.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = once.h; sourceTree = ""; }; + 3EB5154F1952865D006966AA /* platform_macros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = platform_macros.h; sourceTree = ""; }; + 3EB515501952865D006966AA /* stl_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stl_util.h; sourceTree = ""; }; + 3EB515511952865D006966AA /* stringprintf.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stringprintf.cc; sourceTree = ""; }; + 3EB515521952865D006966AA /* stringprintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringprintf.h; sourceTree = ""; }; + 3EB515531952865D006966AA /* template_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = template_util.h; sourceTree = ""; }; + 3EB515541952865D006966AA /* type_traits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = type_traits.h; sourceTree = ""; }; + 3EB515551952865D006966AA /* wire_format_lite.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = wire_format_lite.cc; sourceTree = ""; }; + 3EB515561952865D006966AA /* wire_format_lite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wire_format_lite.h; sourceTree = ""; }; + 3EB515571952865D006966AA /* wire_format_lite_inl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = wire_format_lite_inl.h; sourceTree = ""; }; 5023810717EBBCAC00990C9B /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = ""; }; 5023810817EBBCAC00990C9B /* AppController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AppController.mm; sourceTree = ""; }; 5023810917EBBCAC00990C9B /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; @@ -348,6 +422,14 @@ 50D7C96B17EBBEDF005D0B91 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; 50D7C96D17EBBEE6005D0B91 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; 50D7C96F17EBBEEC005D0B91 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; + C00FD48A1938512100C6382D /* Landscape_png.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Landscape_png.cpp; sourceTree = ""; }; + C00FD48B1938512100C6382D /* PlayDisable_png.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlayDisable_png.cpp; sourceTree = ""; }; + C00FD48C1938512100C6382D /* PlayEnable_png.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlayEnable_png.cpp; sourceTree = ""; }; + C00FD48D1938512100C6382D /* Portrait_png.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Portrait_png.cpp; sourceTree = ""; }; + C00FD48E1938512100C6382D /* ResData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResData.h; sourceTree = ""; }; + C00FD48F1938512100C6382D /* Runtime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Runtime.cpp; sourceTree = ""; }; + C00FD4901938512100C6382D /* Runtime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Runtime.h; sourceTree = ""; }; + C00FD4911938512100C6382D /* Shine_png.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Shine_png.cpp; sourceTree = ""; }; C033B51A191B337200D06937 /* VisibleRect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VisibleRect.cpp; path = ../Classes/VisibleRect.cpp; sourceTree = ""; }; C033B51B191B337200D06937 /* VisibleRect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VisibleRect.h; path = ../Classes/VisibleRect.h; sourceTree = ""; }; C03781AE18BF654500FE4F13 /* cocos2d_lua_bindings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = cocos2d_lua_bindings.xcodeproj; path = "../../cocos2d-x/cocos/scripting/lua-bindings/proj.ios_mac/cocos2d_lua_bindings.xcodeproj"; sourceTree = ""; }; @@ -379,8 +461,6 @@ C07828F518B4D72E00BD2287 /* MainMenu.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = ""; }; C07828F618B4D72E00BD2287 /* SimulatorApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SimulatorApp.h; sourceTree = ""; }; C07828F718B4D72E00BD2287 /* SimulatorApp.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SimulatorApp.mm; sourceTree = ""; }; - C07828FB18B4DC6F00BD2287 /* Runtime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Runtime.cpp; path = ../Classes/Runtime.cpp; sourceTree = ""; }; - C07828FC18B4DC6F00BD2287 /* Runtime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Runtime.h; path = ../Classes/Runtime.h; sourceTree = ""; }; C08D5D4C18E567C6009071A4 /* ftp.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = ftp.lua; path = "../../cocos2d-x/external/lua/luasocket/ftp.lua"; sourceTree = ""; }; C08D5D4D18E567C6009071A4 /* headers.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = headers.lua; path = "../../cocos2d-x/external/lua/luasocket/headers.lua"; sourceTree = ""; }; C08D5D4E18E567C6009071A4 /* http.lua */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = http.lua; path = "../../cocos2d-x/external/lua/luasocket/http.lua"; sourceTree = ""; }; @@ -396,7 +476,6 @@ C09BA7E618BC929700A85A3E /* WorkSpaceDialogController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WorkSpaceDialogController.mm; sourceTree = ""; }; C09BA7EC18BCA49600A85A3E /* NSAppSheetAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSAppSheetAdditions.h; sourceTree = ""; }; C09BA7ED18BCA49600A85A3E /* NSAppSheetAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSAppSheetAdditions.m; sourceTree = ""; }; - C0F9D4BB192F3E6A0066134A /* rtres */ = {isa = PBXFileReference; lastKnownFileType = folder; name = rtres; path = ../../../runtime/rtres; sourceTree = ""; }; D6B061341803AC000077942B /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks/CoreMotion.framework; sourceTree = DEVELOPER_DIR; }; F293B3C815EB7BE500256477 /* HelloLua iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "HelloLua iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; F293B3CC15EB7BE500256477 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; @@ -512,6 +591,83 @@ name = "Lua Common"; sourceTree = ""; }; + 3EB5152E1952865D006966AA /* protobuf-lite */ = { + isa = PBXGroup; + children = ( + 3EB5152F1952865D006966AA /* config.h */, + 3EB515301952865D006966AA /* google */, + ); + name = "protobuf-lite"; + path = "../protobuf-lite"; + sourceTree = ""; + }; + 3EB515301952865D006966AA /* google */ = { + isa = PBXGroup; + children = ( + 3EB515311952865D006966AA /* protobuf */, + ); + path = google; + sourceTree = ""; + }; + 3EB515311952865D006966AA /* protobuf */ = { + isa = PBXGroup; + children = ( + 3EB515321952865D006966AA /* extension_set.cc */, + 3EB515331952865D006966AA /* extension_set.h */, + 3EB515341952865D006966AA /* generated_message_util.cc */, + 3EB515351952865D006966AA /* generated_message_util.h */, + 3EB515361952865D006966AA /* io */, + 3EB5153F1952865D006966AA /* message_lite.cc */, + 3EB515401952865D006966AA /* message_lite.h */, + 3EB515411952865D006966AA /* repeated_field.cc */, + 3EB515421952865D006966AA /* repeated_field.h */, + 3EB515431952865D006966AA /* stubs */, + 3EB515551952865D006966AA /* wire_format_lite.cc */, + 3EB515561952865D006966AA /* wire_format_lite.h */, + 3EB515571952865D006966AA /* wire_format_lite_inl.h */, + ); + path = protobuf; + sourceTree = ""; + }; + 3EB515361952865D006966AA /* io */ = { + isa = PBXGroup; + children = ( + 3EB515371952865D006966AA /* coded_stream.cc */, + 3EB515381952865D006966AA /* coded_stream.h */, + 3EB515391952865D006966AA /* coded_stream_inl.h */, + 3EB5153A1952865D006966AA /* zero_copy_stream.cc */, + 3EB5153B1952865D006966AA /* zero_copy_stream.h */, + 3EB5153C1952865D006966AA /* zero_copy_stream_impl.h */, + 3EB5153D1952865D006966AA /* zero_copy_stream_impl_lite.cc */, + 3EB5153E1952865D006966AA /* zero_copy_stream_impl_lite.h */, + ); + path = io; + sourceTree = ""; + }; + 3EB515431952865D006966AA /* stubs */ = { + isa = PBXGroup; + children = ( + 3EB515441952865D006966AA /* atomicops.h */, + 3EB515451952865D006966AA /* atomicops_internals_atomicword_compat.h */, + 3EB515461952865D006966AA /* atomicops_internals_macosx.h */, + 3EB515471952865D006966AA /* atomicops_internals_x86_msvc.cc */, + 3EB515481952865D006966AA /* atomicops_internals_x86_msvc.h */, + 3EB515491952865D006966AA /* common.cc */, + 3EB5154A1952865D006966AA /* common.h */, + 3EB5154B1952865D006966AA /* hash.h */, + 3EB5154C1952865D006966AA /* map-util.h */, + 3EB5154D1952865D006966AA /* once.cc */, + 3EB5154E1952865D006966AA /* once.h */, + 3EB5154F1952865D006966AA /* platform_macros.h */, + 3EB515501952865D006966AA /* stl_util.h */, + 3EB515511952865D006966AA /* stringprintf.cc */, + 3EB515521952865D006966AA /* stringprintf.h */, + 3EB515531952865D006966AA /* template_util.h */, + 3EB515541952865D006966AA /* type_traits.h */, + ); + path = stubs; + sourceTree = ""; + }; 5023810617EBBCAC00990C9B /* ios */ = { isa = PBXGroup; children = ( @@ -569,6 +725,25 @@ name = Icons; sourceTree = ""; }; + C00FD4891938512100C6382D /* runtime */ = { + isa = PBXGroup; + children = ( + 3EB5152E1952865D006966AA /* protobuf-lite */, + 3EB5152A19528284006966AA /* Protos.pb.cc */, + 3EB5152B19528284006966AA /* Protos.pb.h */, + C00FD48A1938512100C6382D /* Landscape_png.cpp */, + C00FD48B1938512100C6382D /* PlayDisable_png.cpp */, + C00FD48C1938512100C6382D /* PlayEnable_png.cpp */, + C00FD48D1938512100C6382D /* Portrait_png.cpp */, + C00FD48E1938512100C6382D /* ResData.h */, + C00FD48F1938512100C6382D /* Runtime.cpp */, + C00FD4901938512100C6382D /* Runtime.h */, + C00FD4911938512100C6382D /* Shine_png.cpp */, + ); + name = runtime; + path = ../Classes/runtime; + sourceTree = ""; + }; C03781AF18BF654500FE4F13 /* Products */ = { isa = PBXGroup; children = ( @@ -605,6 +780,7 @@ F293B3CB15EB7BE500256477 /* Frameworks */ = { isa = PBXGroup; children = ( + 3EB51526195187AF006966AA /* CFNetwork.framework */, 15A8A4871834C90E00142BE0 /* libcurl.dylib */, D6B061341803AC000077942B /* CoreMotion.framework */, 50D7C96F17EBBEEC005D0B91 /* IOKit.framework */, @@ -629,12 +805,11 @@ F293BB7C15EB830F00256477 /* Classes */ = { isa = PBXGroup; children = ( + C00FD4891938512100C6382D /* runtime */, C033B51A191B337200D06937 /* VisibleRect.cpp */, C033B51B191B337200D06937 /* VisibleRect.h */, C06C3794191A1D1E00617BED /* ConfigParser.cpp */, C06C3795191A1D1E00617BED /* ConfigParser.h */, - C07828FB18B4DC6F00BD2287 /* Runtime.cpp */, - C07828FC18B4DC6F00BD2287 /* Runtime.h */, C0619CD61896894800872C26 /* Runtime_ios-mac.mm */, F293BB7E15EB831F00256477 /* AppDelegate.cpp */, F293BB7F15EB831F00256477 /* AppDelegate.h */, @@ -645,7 +820,6 @@ F293BC4615EB859D00256477 /* Resources */ = { isa = PBXGroup; children = ( - C0F9D4BB192F3E6A0066134A /* rtres */, C05D1C111923449100B808A4 /* config.json */, C03781B718BF655400FE4F13 /* res */, C03781B818BF655400FE4F13 /* src */, @@ -664,6 +838,7 @@ 5023813117EBBCE400990C9B /* Sources */, 5023813617EBBCE400990C9B /* Frameworks */, 5023814617EBBCE400990C9B /* Resources */, + 3EC9881D1966432600A45E0E /* ShellScript */, ); buildRules = ( ); @@ -687,6 +862,7 @@ F293B3C415EB7BE500256477 /* Sources */, F293B3C515EB7BE500256477 /* Frameworks */, F293B3C615EB7BE500256477 /* Resources */, + 3EC988201966433500A45E0E /* ShellScript */, ); buildRules = ( ); @@ -856,7 +1032,6 @@ C08D5D5D18E567C6009071A4 /* ltn12.lua in Resources */, C03781EC18BF656A00FE4F13 /* luaoc.lua in Resources */, C07828F918B4D72E00BD2287 /* MainMenu.xib in Resources */, - C0F9D4BD192F3E6A0066134A /* rtres in Resources */, 5023817617EBBE3400990C9B /* Icon.icns in Resources */, C03781D218BF656A00FE4F13 /* CCBReaderLoad.lua in Resources */, C08D5D5F18E567C6009071A4 /* mbox.lua in Resources */, @@ -899,7 +1074,6 @@ C03781F118BF656A00FE4F13 /* StudioConstants.lua in Resources */, 5023811F17EBBCAC00990C9B /* Icon-152.png in Resources */, C03781D118BF656A00FE4F13 /* CCBReaderLoad.lua in Resources */, - C0F9D4BC192F3E6A0066134A /* rtres in Resources */, 5023812017EBBCAC00990C9B /* Icon-57.png in Resources */, C03781CF18BF656A00FE4F13 /* AudioEngine.lua in Resources */, C03781B918BF655400FE4F13 /* res in Resources */, @@ -931,6 +1105,35 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 3EC9881D1966432600A45E0E /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "find ${SRCROOT}/../../../src/ -name \"*\" -exec touch -cm {} \\;\nfind ${SRCROOT}/../../../res/ -name \"*\" -exec touch -cm {} \\;"; + }; + 3EC988201966433500A45E0E /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "find ${SRCROOT}/../../../src/ -name \"*\" -exec touch -cm {} \\;\nfind ${SRCROOT}/../../../res/ -name \"*\" -exec touch -cm {} \\;"; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 5023813117EBBCE400990C9B /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -938,13 +1141,31 @@ files = ( C07828FA18B4D72E00BD2287 /* SimulatorApp.mm in Sources */, 5023813317EBBCE400990C9B /* AppDelegate.cpp in Sources */, + C00FD4971938512100C6382D /* PlayEnable_png.cpp in Sources */, + C00FD4951938512100C6382D /* PlayDisable_png.cpp in Sources */, C033B51D191B337200D06937 /* VisibleRect.cpp in Sources */, + C00FD49D1938512100C6382D /* Shine_png.cpp in Sources */, + 3EB515691952865D006966AA /* common.cc in Sources */, + 3EB515651952865D006966AA /* repeated_field.cc in Sources */, + 3EB5156B1952865D006966AA /* once.cc in Sources */, C09BA7EE18BCA49600A85A3E /* NSAppSheetAdditions.m in Sources */, - C07828FE18B4DC7000BD2287 /* Runtime.cpp in Sources */, + 3EB5155D1952865D006966AA /* coded_stream.cc in Sources */, + C00FD4991938512100C6382D /* Portrait_png.cpp in Sources */, C06C3797191A1D1E00617BED /* ConfigParser.cpp in Sources */, + 3EB5156D1952865D006966AA /* stringprintf.cc in Sources */, C09BA7E818BC929700A85A3E /* WorkSpaceDialogController.mm in Sources */, C07828F818B4D72E00BD2287 /* main.m in Sources */, + 3EB515611952865D006966AA /* zero_copy_stream_impl_lite.cc in Sources */, + 3EB5156F1952865D006966AA /* wire_format_lite.cc in Sources */, + 3EB515631952865D006966AA /* message_lite.cc in Sources */, + C00FD49B1938512100C6382D /* Runtime.cpp in Sources */, + 3EB515591952865D006966AA /* extension_set.cc in Sources */, + 3EB5155B1952865D006966AA /* generated_message_util.cc in Sources */, C0619CD81896894800872C26 /* Runtime_ios-mac.mm in Sources */, + 3EB5152D19528284006966AA /* Protos.pb.cc in Sources */, + C00FD4931938512100C6382D /* Landscape_png.cpp in Sources */, + 3EB5155F1952865D006966AA /* zero_copy_stream.cc in Sources */, + 3EB515671952865D006966AA /* atomicops_internals_x86_msvc.cc in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -952,13 +1173,31 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 3EB5156A1952865D006966AA /* once.cc in Sources */, + C00FD4981938512100C6382D /* Portrait_png.cpp in Sources */, 5023812517EBBCAC00990C9B /* RootViewController.mm in Sources */, + C00FD4921938512100C6382D /* Landscape_png.cpp in Sources */, F293BB9C15EB831F00256477 /* AppDelegate.cpp in Sources */, + C00FD49A1938512100C6382D /* Runtime.cpp in Sources */, + 3EB515621952865D006966AA /* message_lite.cc in Sources */, C06C3796191A1D1E00617BED /* ConfigParser.cpp in Sources */, + 3EB515601952865D006966AA /* zero_copy_stream_impl_lite.cc in Sources */, + C00FD4961938512100C6382D /* PlayEnable_png.cpp in Sources */, + 3EB5152C19528284006966AA /* Protos.pb.cc in Sources */, + 3EB515661952865D006966AA /* atomicops_internals_x86_msvc.cc in Sources */, + 3EB515641952865D006966AA /* repeated_field.cc in Sources */, + C00FD4941938512100C6382D /* PlayDisable_png.cpp in Sources */, + C00FD49C1938512100C6382D /* Shine_png.cpp in Sources */, + 3EB5156E1952865D006966AA /* wire_format_lite.cc in Sources */, + 3EB515581952865D006966AA /* extension_set.cc in Sources */, 5023812417EBBCAC00990C9B /* main.m in Sources */, + 3EB5156C1952865D006966AA /* stringprintf.cc in Sources */, + 3EB515681952865D006966AA /* common.cc in Sources */, C033B51C191B337200D06937 /* VisibleRect.cpp in Sources */, + 3EB5155A1952865D006966AA /* generated_message_util.cc in Sources */, + 3EB5155E1952865D006966AA /* zero_copy_stream.cc in Sources */, + 3EB5155C1952865D006966AA /* coded_stream.cc in Sources */, C0619CD71896894800872C26 /* Runtime_ios-mac.mm in Sources */, - C07828FD18B4DC6F00BD2287 /* Runtime.cpp in Sources */, 5023811817EBBCAC00990C9B /* AppController.mm in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1035,6 +1274,7 @@ ALWAYS_SEARCH_USER_PATHS = YES; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = ../../../runtime/mac; GCC_DYNAMIC_NO_PIC = NO; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = mac/Prefix.pch; @@ -1044,7 +1284,7 @@ CC_TARGET_OS_MAC, "$(inherited)", ); - HEADER_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = "$(SRCROOT)/../Classes/protobuf-lite"; INFOPLIST_FILE = mac/Info.plist; LIBRARY_SEARCH_PATHS = ""; MACOSX_DEPLOYMENT_TARGET = 10.8; @@ -1073,7 +1313,7 @@ CC_TARGET_OS_MAC, "$(inherited)", ); - HEADER_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = "$(SRCROOT)/../Classes/protobuf-lite"; INFOPLIST_FILE = mac/Info.plist; LIBRARY_SEARCH_PATHS = ""; MACOSX_DEPLOYMENT_TARGET = 10.8; @@ -1149,7 +1389,7 @@ CC_TARGET_OS_IPHONE, "$(inherited)", ); - HEADER_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = "$(SRCROOT)/../Classes/protobuf-lite"; INFOPLIST_FILE = ios/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 5.0; LIBRARY_SEARCH_PATHS = ""; @@ -1171,7 +1411,7 @@ CC_TARGET_OS_IPHONE, "$(inherited)", ); - HEADER_SEARCH_PATHS = ""; + HEADER_SEARCH_PATHS = "$(SRCROOT)/../Classes/protobuf-lite"; INFOPLIST_FILE = ios/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 5.0; LIBRARY_SEARCH_PATHS = ""; diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.ios_mac/Runtime_ios-mac.mm b/templates/lua-template-runtime/frameworks/runtime-src/proj.ios_mac/Runtime_ios-mac.mm index f89ad9bc02..ffa8f82acc 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.ios_mac/Runtime_ios-mac.mm +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.ios_mac/Runtime_ios-mac.mm @@ -21,8 +21,12 @@ string getIPAddress() if (cursor->ifa_addr->sa_family == AF_INET && (cursor->ifa_flags & IFF_LOOPBACK) == 0) { NSString *name = [NSString stringWithUTF8String:cursor->ifa_name]; - if ([name isEqualToString:@"en0"]) // Wi-Fi adapter - return [[NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)cursor->ifa_addr)->sin_addr)]UTF8String]; + if ([name rangeOfString:@"en" options:NSCaseInsensitiveSearch].length > 0) { + string ipaddr = [[NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)cursor->ifa_addr)->sin_addr)]UTF8String]; + if (!ipaddr.empty()) { + return ipaddr; + } + } } cursor = cursor->ifa_next; } diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj b/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj index 7b1faa92eb..57cb693bc5 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj @@ -66,7 +66,7 @@ - $(ProjectDir)..\Classes;$(EngineRoot)cocos\scripting\lua-bindings\auto;$(EngineRoot)cocos\scripting\lua-bindings\manual;$(EngineRoot)cocos\audio\include;$(EngineRoot)external;$(EngineRoot)external\lua\lua;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;$(EngineRoot);%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(ProjectDir)..\Classes\runtime;$(ProjectDir)..\Classes\protobuf-lite;$(EngineRoot)external\win32-specific\zlib\include;$(EngineRoot)cocos\scripting\lua-bindings\auto;$(EngineRoot)cocos\scripting\lua-bindings\manual;$(EngineRoot)cocos\audio\include;$(EngineRoot)external;$(EngineRoot)external\lua\lua;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;$(EngineRoot);%(AdditionalIncludeDirectories) Level3 @@ -78,6 +78,8 @@ WIN32;_WINDOWS;STRICT;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS_DEBUG;COCOS2D_DEBUG=1;GLFW_EXPOSE_NATIVE_WIN32;GLFW_EXPOSE_NATIVE_WGL;%(PreprocessorDefinitions) 4267;4251;4244;%(DisableSpecificWarnings) true + $(IntDir)vc$(PlatformToolsetVersion).pdb + algorithm Windows @@ -85,6 +87,8 @@ true $(OutDir);%(AdditionalLibraryDirectories) libcurl_imp.lib;lua51.lib;websockets.lib;%(AdditionalDependencies) + $(ProjectDir)../../../runtime/win32/$(TargetName).pdb + $(ProjectDir)../../../runtime/win32/$(TargetName)$(TargetExt) 0x0409 @@ -105,27 +109,21 @@ if not exist "$(OutDir)" mkdir "$(OutDir)" -if exist "$(OutDir)\Resource" rd /s /q "$(OutDir)\Resource" -mkdir "$(OutDir)\Resource" -mkdir "$(OutDir)\Resource\src" -mkdir "$(OutDir)\Resource\res" -mkdir "$(OutDir)\Resource\rtres" -xcopy "$(ProjectDir)..\..\cocos2d-x\cocos\scripting\lua-bindings\script" "$(OutDir)\Resource" /e /Y -xcopy "$(ProjectDir)..\..\..\src" "$(OutDir)\Resource\src" /e /Y -xcopy "$(ProjectDir)..\..\..\res" "$(OutDir)\Resource\res" /e /Y -xcopy "$(ProjectDir)..\..\..\runtime\rtres" "$(OutDir)\Resource\rtres" /e /Y -copy "$(ProjectDir)..\..\..\config.json" "$(OutDir)\Resource\config.json" /Y -xcopy "$(ProjectDir)..\..\cocos2d-x\external\lua\luasocket\*.lua" "$(OutDir)\Resource" /e /Y +xcopy "$(ProjectDir)..\..\cocos2d-x\cocos\scripting\lua-bindings\script" "$(ProjectDir)..\..\..\runtime\win32\" /e /Y +xcopy "$(ProjectDir)..\..\cocos2d-x\external\lua\luasocket\*.lua" "$(ProjectDir)..\..\..\runtime\win32\" /e /Y copy files if not exist "$(OutDir)" mkdir "$(OutDir)" xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)" + + xcopy /Y /Q "$(OutDir)*.dll" "$(ProjectDir)..\..\..\runtime\win32\" + - $(ProjectDir)..\Classes;$(EngineRoot)cocos\scripting\lua-bindings\auto;$(EngineRoot)cocos\scripting\lua-bindings\manual;$(EngineRoot)cocos\audio\include;$(EngineRoot)external;$(EngineRoot)external\lua\lua;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;$(EngineRoot);%(AdditionalIncludeDirectories) + $(ProjectDir)..\Classes;$(ProjectDir)..\Classes\runtime;$(ProjectDir)..\Classes\protobuf-lite;$(EngineRoot)external\win32-specific\zlib\include;$(EngineRoot)cocos\scripting\lua-bindings\auto;$(EngineRoot)cocos\scripting\lua-bindings\manual;$(EngineRoot)cocos\audio\include;$(EngineRoot)external;$(EngineRoot)external\lua\lua;$(EngineRoot)external\lua\tolua;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;$(EngineRoot);%(AdditionalIncludeDirectories) Level3 @@ -136,6 +134,8 @@ xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)"WIN32;_WINDOWS;STRICT;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGSNDEBUG;GLFW_EXPOSE_NATIVE_WIN32;GLFW_EXPOSE_NATIVE_WGL;%(PreprocessorDefinitions) 4267;4251;4244;%(DisableSpecificWarnings) true + $(IntDir)vc$(PlatformToolsetVersion).pdb + algorithm Windows @@ -167,11 +167,9 @@ if exist "$(OutDir)\Resource" rd /s /q "$(OutDir)\Resource" mkdir "$(OutDir)\Resource" mkdir "$(OutDir)\Resource\src" mkdir "$(OutDir)\Resource\res" -mkdir "$(OutDir)\Resource\rtres" xcopy "$(ProjectDir)..\..\cocos2d-x\cocos\scripting\lua-bindings\script" "$(OutDir)\Resource" /e /Y xcopy "$(ProjectDir)..\..\..\src" "$(OutDir)\Resource\src" /e /Y xcopy "$(ProjectDir)..\..\..\res" "$(OutDir)\Resource\res" /e /Y -xcopy "$(ProjectDir)..\..\..\runtime\rtres" "$(OutDir)\Resource\rtres" /e /Y copy "$(ProjectDir)..\..\..\config.json" "$(OutDir)\Resource\config.json" /Y xcopy "$(ProjectDir)..\..\cocos2d-x\external\lua\luasocket\*.lua" "$(OutDir)\Resource" /e /Y copy files @@ -184,7 +182,30 @@ xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)" - + + + + + + + + + + + + + + + + + + + + + + + + @@ -193,7 +214,25 @@ xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)" - + + + + + + + + + + + + + + + + + + + diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj.filters b/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj.filters index 4bbc2cd7a7..184060831e 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj.filters +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj.filters @@ -10,6 +10,12 @@ {2d1d0979-58cd-4ab6-b91c-13650158f1fa} + + {44c0d166-6d84-43b5-8be7-a440c1c0f1ae} + + + {28edb895-7c19-408b-abd6-130196087d96} + @@ -21,9 +27,6 @@ win32 - - Classes - Classes @@ -31,6 +34,78 @@ Classes + + Classes\runtime + + + Classes\runtime + + + Classes\runtime + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + @@ -45,15 +120,69 @@ win32 - - Classes - Classes Classes + + Classes\runtime + + + Classes\runtime + + + Classes\runtime + + + Classes\runtime + + + Classes\runtime + + + Classes\runtime + + + Classes\runtime + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + + + Classes\runtime\protobuf-lite + diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj.user b/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj.user index 16617e63da..f8c4805a71 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj.user +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/HelloLua.vcxproj.user @@ -2,9 +2,12 @@ false - $(OutDir)/Resource $(OutDir)/Resource WindowsLocalDebugger WindowsLocalDebugger + + $(OutDir)../../../../runtime/win32 + $(OutDir)../../../../runtime/win32/$(TargetFileName) + \ No newline at end of file diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/SimulatorWindow.cpp b/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/SimulatorWindow.cpp index b9fcb0ef9f..d4ed7258a9 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/SimulatorWindow.cpp +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/SimulatorWindow.cpp @@ -27,7 +27,7 @@ THE SOFTWARE. #include "cocos2d.h" #include "glfw3native.h" #include "resource.h" -#include "Runtime.h" +#include "runtime/Runtime.h" #include "ConfigParser.h" #include diff --git a/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/build-cfg.json b/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/build-cfg.json index 4763bcf7e7..37fecf9b02 100644 --- a/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/build-cfg.json +++ b/templates/lua-template-runtime/frameworks/runtime-src/proj.win32/build-cfg.json @@ -14,10 +14,6 @@ } ], "must_copy_resources": [ - { - "from": "../../../runtime/rtres", - "to": "rtres" - }, { "from": "../../cocos2d-x/cocos/scripting/lua-bindings/script", "to": "" diff --git a/templates/lua-template-runtime/runtime/config.json b/templates/lua-template-runtime/runtime/config.json index 8a77b47f54..7d3a94ae77 100644 --- a/templates/lua-template-runtime/runtime/config.json +++ b/templates/lua-template-runtime/runtime/config.json @@ -1,6 +1,6 @@ { - "version":"v3-lua-runtime-1.1.3", - "zip_file_size":"21522933", + "version":"v3-lua-runtime-1.2", + "zip_file_size":"24461574 ", "repo_name":"cocos-runtime-bin", "repo_parent":"https://github.com/chukong/" } diff --git a/templates/lua-template-runtime/runtime/rtres/Play0.png b/templates/lua-template-runtime/runtime/rtres/Play0.png deleted file mode 100644 index 32ed88a4eb..0000000000 Binary files a/templates/lua-template-runtime/runtime/rtres/Play0.png and /dev/null differ diff --git a/templates/lua-template-runtime/runtime/rtres/Play1.png b/templates/lua-template-runtime/runtime/rtres/Play1.png deleted file mode 100644 index 705636477e..0000000000 Binary files a/templates/lua-template-runtime/runtime/rtres/Play1.png and /dev/null differ diff --git a/templates/lua-template-runtime/runtime/rtres/landscape.png b/templates/lua-template-runtime/runtime/rtres/landscape.png deleted file mode 100644 index 41df8f35ee..0000000000 Binary files a/templates/lua-template-runtime/runtime/rtres/landscape.png and /dev/null differ diff --git a/templates/lua-template-runtime/runtime/rtres/portrait.png b/templates/lua-template-runtime/runtime/rtres/portrait.png deleted file mode 100644 index 6d16b43f02..0000000000 Binary files a/templates/lua-template-runtime/runtime/rtres/portrait.png and /dev/null differ diff --git a/templates/lua-template-runtime/runtime/rtres/shine.png b/templates/lua-template-runtime/runtime/rtres/shine.png deleted file mode 100644 index 865eb12c69..0000000000 Binary files a/templates/lua-template-runtime/runtime/rtres/shine.png and /dev/null differ diff --git a/tests/cpp-empty-test/proj.android/jni/Application.mk b/tests/cpp-empty-test/proj.android/jni/Application.mk index 2ccd787827..93c859c1b0 100644 --- a/tests/cpp-empty-test/proj.android/jni/Application.mk +++ b/tests/cpp-empty-test/proj.android/jni/Application.mk @@ -1,8 +1,9 @@ -APP_STL := gnustl_static +APP_STL := c++_static +NDK_TOOLCHAIN_VERSION=clang + +APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char +APP_LDFLAGS := -latomic -# add -Wno-literal-suffix to avoid warning: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix] -# in NDK_ROOT/arch-arm/usr/include/sys/cdefs_elf.h:35:28: when using ndk-r9 -APP_CPPFLAGS := -frtti -std=c++11 -Wno-literal-suffix -fsigned-char APP_DEBUG := $(strip $(NDK_DEBUG)) ifeq ($(APP_DEBUG),1) @@ -11,4 +12,4 @@ ifeq ($(APP_DEBUG),1) else APP_CPPFLAGS += -DNDEBUG APP_OPTIM := release -endif +endif \ No newline at end of file diff --git a/tests/cpp-tests/Classes/CurlTest/CurlTest.cpp b/tests/cpp-tests/Classes/CurlTest/CurlTest.cpp index 5d8544dcd7..ee1dd9f4e3 100644 --- a/tests/cpp-tests/Classes/CurlTest/CurlTest.cpp +++ b/tests/cpp-tests/Classes/CurlTest/CurlTest.cpp @@ -33,13 +33,13 @@ void CurlTest::onTouchesEnded(const std::vector& touches, Event *event) curl = curl_easy_init(); if (curl) { - curl_easy_setopt(curl, CURLOPT_URL, "baidu.com"); + curl_easy_setopt(curl, CURLOPT_URL, "http://webtest.cocos2d-x.org/curltest"); res = curl_easy_perform(curl); /* always cleanup */ curl_easy_cleanup(curl); if (res == 0) { - _label->setString("0 response"); + _label->setString("Connect successfully!"); } else { diff --git a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioSceneTest/TriggerCode/acts.cpp b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioSceneTest/TriggerCode/acts.cpp index d637c7c9c6..f9c9f39337 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioSceneTest/TriggerCode/acts.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioSceneTest/TriggerCode/acts.cpp @@ -69,15 +69,15 @@ void PlayMusic::serialize(cocostudio::CocoLoader *pCocoLoader, cocostudio::stExp { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "Tag") { if (str != NULL) @@ -169,15 +169,15 @@ void TMoveTo::serialize(cocostudio::CocoLoader *pCocoLoader, cocostudio::stExpCo { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "Tag") { if (str != NULL) @@ -291,15 +291,15 @@ void TMoveBy::serialize(cocostudio::CocoLoader *pCocoLoader, cocostudio::stExpCo { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "Tag") { if (str != NULL) @@ -404,15 +404,15 @@ void TRotateTo::serialize(cocostudio::CocoLoader *pCocoLoader, cocostudio::stExp { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "Tag") { if (str != NULL) @@ -517,15 +517,15 @@ void TRotateBy::serialize(cocostudio::CocoLoader *pCocoLoader, cocostudio::stExp { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "Tag") { if (str != NULL) @@ -627,15 +627,15 @@ void TScaleTo::serialize(cocostudio::CocoLoader *pCocoLoader, cocostudio::stExpC { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "Tag") { if (str != NULL) @@ -751,15 +751,15 @@ void TScaleBy::serialize(cocostudio::CocoLoader *pCocoLoader, cocostudio::stExpC { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "Tag") { if (str != NULL) @@ -869,15 +869,15 @@ void TSkewTo::serialize(cocostudio::CocoLoader *pCocoLoader, cocostudio::stExpCo { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "Tag") { if (str != NULL) @@ -992,15 +992,15 @@ void TSkewBy::serialize(cocostudio::CocoLoader *pCocoLoader, cocostudio::stExpCo { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "Tag") { if (str != NULL) @@ -1106,15 +1106,15 @@ void TriggerState::serialize(cocostudio::CocoLoader *pCocoLoader, cocostudio::st { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "ID") { if (str != NULL) @@ -1195,15 +1195,15 @@ void ArmaturePlayAction::serialize(cocostudio::CocoLoader *pCocoLoader, cocostud { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "Tag") { if (str != NULL) diff --git a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioSceneTest/TriggerCode/cons.cpp b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioSceneTest/TriggerCode/cons.cpp index 18beb3cae4..a33b2bd455 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioSceneTest/TriggerCode/cons.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioSceneTest/TriggerCode/cons.cpp @@ -51,15 +51,15 @@ void TimeElapsed::serialize(cocostudio::CocoLoader *pCocoLoader, cocostudio::stE { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "TotalTime") { if (str != NULL) @@ -151,15 +151,15 @@ void ArmatureActionState::serialize(cocostudio::CocoLoader *pCocoLoader, cocostu { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "Tag") { if (str != NULL) @@ -279,15 +279,15 @@ void NodeInRect::serialize(cocostudio::CocoLoader *pCocoLoader, cocostudio::stEx { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "Tag") { if (str != NULL) @@ -381,15 +381,15 @@ void NodeVisible::serialize(cocostudio::CocoLoader *pCocoLoader, cocostudio::stE { int length = pCocoNode->GetChildNum(); int count = 0; - stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(); + stExpCocoNode *pDataItemsArray = pCocoNode->GetChildArray(pCocoLoader); std::string key; const char *str = NULL; for (int i = 0; i < length; ++i) { count = pDataItemsArray[i].GetChildNum(); - stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(); - key = pDataItemArray[0].GetValue(); - str = pDataItemArray[1].GetValue(); + stExpCocoNode *pDataItemArray = pDataItemsArray[i].GetChildArray(pCocoLoader); + key = pDataItemArray[0].GetValue(pCocoLoader); + str = pDataItemArray[1].GetValue(pCocoLoader); if (key == "Tag") { if (str != NULL) diff --git a/tests/cpp-tests/Classes/NodeTest/NodeTest.cpp b/tests/cpp-tests/Classes/NodeTest/NodeTest.cpp index 6424599248..1ad294deec 100644 --- a/tests/cpp-tests/Classes/NodeTest/NodeTest.cpp +++ b/tests/cpp-tests/Classes/NodeTest/NodeTest.cpp @@ -24,6 +24,7 @@ ****************************************************************************/ #include "NodeTest.h" +#include #include "../testResource.h" enum @@ -1274,28 +1275,28 @@ void NodeNameTest::test(float dt) // enumerateChildren() // name = regular expression int i = 0; -// parent = Node::create(); -// for (int i = 0; i < 100; ++i) -// { -// auto node = Node::create(); -// sprintf(name, "node%d", i); -// node->setName(name); -// parent->addChild(node); -// } -// -// i = 0; -// parent->enumerateChildren("node[[:digit:]]+", [&i](Node* node) -> bool { -// ++i; -// return false; -// }); -// CCAssert(i == 100, ""); -// -// i = 0; -// parent->enumerateChildren("node[[:digit:]]+", [&i](Node* node) -> bool { -// ++i; -// return true; -// }); -// CCAssert(i == 1, ""); + parent = Node::create(); + for (int i = 0; i < 100; ++i) + { + auto node = Node::create(); + sprintf(name, "node%d", i); + node->setName(name); + parent->addChild(node); + } + + i = 0; + parent->enumerateChildren("node[[:digit:]]+", [&i](Node* node) -> bool { + ++i; + return false; + }); + CCAssert(i == 100, ""); + + i = 0; + parent->enumerateChildren("node[[:digit:]]+", [&i](Node* node) -> bool { + ++i; + return true; + }); + CCAssert(i == 1, ""); // enumerateChildren @@ -1332,118 +1333,105 @@ void NodeNameTest::test(float dt) CCAssert(i == 1, ""); // search from root - parent = getScene(); + parent = Node::create(); for (int i = 0; i < 100; ++i) { auto node = Node::create(); - node->setName("node"); + sprintf(name, "node%d", i); + node->setName(name); parent->addChild(node); for (int j = 0; j < 100; ++j) { auto child = Node::create(); - child->setName("child"); + child->setName("node"); node->addChild(child); } } i = 0; - parent->enumerateChildren("/node", [&i](Node* node) -> bool { + parent->enumerateChildren("node[[:digit:]]+/node", [&i](Node* node) -> bool { + ++i; + return false; + }); + CCAssert(i == 10000, ""); + + i = 0; + parent->enumerateChildren("node[[:digit:]]+/node", [&i](Node* node) -> bool { + ++i; + return true; + }); + CCAssert(i == 1, ""); + + // search from parent + // name is xxx/.. + i = 0; + parent->enumerateChildren("node/..", [&i](Node* node) -> bool { + ++i; + return true; + }); + CCAssert(i == 1, ""); + + i = 0; + parent->enumerateChildren("node/..", [&i](Node* node) -> bool { + ++i; + return false; + }); + CCAssert(i == 10000, ""); + + // name = /xxx : search from root + parent = getScene(); + for (int j = 0; j < 100; j++) + { + auto node = Node::create(); + sprintf(name, "node%d", j); + node->setName(name); + parent->addChild(node); + + for (int k = 0; k < 100; ++k) + { + auto child = Node::create(); + sprintf(name, "node%d", k); + child->setName(name); + node->addChild(child); + } + } + + i = 0; + enumerateChildren("/node[[:digit:]]+", [&i](Node* node) -> bool { ++i; return false; }); CCAssert(i == 100, ""); i = 0; - parent->enumerateChildren("//child", [&i](Node* node) -> bool { + enumerateChildren("/node[[:digit:]]+", [&i](Node* node) -> bool { + ++i; + return true; + }); + CCAssert(i == 1, ""); + + i = 0; + enumerateChildren("//node[[:digit:]]+", [&i](Node* node) -> bool { + ++i; + return false; + }); + CCAssert(i == 10100, ""); // 10000(children) + 100(parent) + + i = 0; + enumerateChildren("//node[[:digit:]]+", [&i](Node* node) -> bool { + ++i; + return true; + }); + CCAssert(i == 1, ""); + + i = 0; + enumerateChildren("//node[[:digit:]]+/..", [&i](Node* node) -> bool { ++i; return false; }); CCAssert(i == 10000, ""); -// i = 0; -// parent->enumerateChildren("node[[:digit:]]+/node", [&i](Node* node) -> bool { -// ++i; -// return false; -// }); -// CCAssert(i == 10000, ""); -// -// i = 0; -// parent->enumerateChildren("node[[:digit:]]+/node", [&i](Node* node) -> bool { -// ++i; -// return true; -// }); -// CCAssert(i == 1, ""); - - // search from parent - // name is xxx/.. -// i = 0; -// parent->enumerateChildren("node/..", [&i](Node* node) -> bool { -// ++i; -// return true; -// }); -// CCAssert(i == 1, ""); -// -// i = 0; -// parent->enumerateChildren("node/..", [&i](Node* node) -> bool { -// ++i; -// return false; -// }); -// CCAssert(i == 10000, ""); - - // name = /xxx : search from root -// parent = getScene(); -// for (int j = 0; j < 100; j++) -// { -// auto node = Node::create(); -// sprintf(name, "node%d", j); -// node->setName(name); -// parent->addChild(node); -// -// for (int k = 0; k < 100; ++k) -// { -// auto child = Node::create(); -// sprintf(name, "node%d", k); -// child->setName(name); -// node->addChild(child); -// } -// } -// -// i = 0; -// enumerateChildren("/node[[:digit:]]+", [&i](Node* node) -> bool { -// ++i; -// return false; -// }); -// CCAssert(i == 100, ""); - -// i = 0; -// enumerateChildren("/node[[:digit:]]+", [&i](Node* node) -> bool { -// ++i; -// return true; -// }); -// CCAssert(i == 1, ""); -// -// i = 0; -// enumerateChildren("//node[[:digit:]]+", [&i](Node* node) -> bool { -// ++i; -// return false; -// }); -// CCAssert(i == 10100, ""); // 10000(children) + 100(parent) -// -// i = 0; -// enumerateChildren("//node[[:digit:]]+", [&i](Node* node) -> bool { -// ++i; -// return true; -// }); -// CCAssert(i == 1, ""); -// -// i = 0; -// enumerateChildren("//node[[:digit:]]+/..", [&i](Node* node) -> bool { -// ++i; -// return false; -// }); -// CCAssert(i == 10000, ""); - // utils::findChildren() parent = Node::create(); diff --git a/tests/cpp-tests/Classes/TileMapTest/TileMapTest2.cpp b/tests/cpp-tests/Classes/TileMapTest/TileMapTest2.cpp index 9df7f7cad5..9b895e65bf 100644 --- a/tests/cpp-tests/Classes/TileMapTest/TileMapTest2.cpp +++ b/tests/cpp-tests/Classes/TileMapTest/TileMapTest2.cpp @@ -43,7 +43,7 @@ namespace CLN(TMXIsoTest1New), CLN(TMXIsoTest2New), CLN(TMXUncompressedTestNew), - //CLN(TMXHexTestNew), + CLN(TMXHexTestNew), CLN(TMXReadWriteTestNew), CLN(TMXTilesetTestNew), CLN(TMXOrthoObjectsTestNew), @@ -55,8 +55,8 @@ namespace CLN(TMXOrthoFlipRunTimeTestNew), CLN(TMXOrthoFromXMLTestNew), CLN(TMXOrthoXMLFormatTestNew), -// CLN(TileMapTestNew), -// CLN(TileMapEditTestNew), + CLN(TileMapTestNew), + CLN(TileMapEditTestNew), CLN(TMXBug987New), CLN(TMXBug787New), CLN(TMXGIDObjectsTestNew), diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UILoadingBarTest/UILoadingBarTest_Editor.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UILoadingBarTest/UILoadingBarTest_Editor.cpp index f882651fdf..ad4ed1b84e 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UILoadingBarTest/UILoadingBarTest_Editor.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UILoadingBarTest/UILoadingBarTest_Editor.cpp @@ -6,6 +6,7 @@ // UILoadingBarTest_Editor UILoadingBarTest_Editor::UILoadingBarTest_Editor() +:_count(0) { } diff --git a/tests/cpp-tests/Resources/ccs-res b/tests/cpp-tests/Resources/ccs-res index 2173b0b479..6b28e94848 160000 --- a/tests/cpp-tests/Resources/ccs-res +++ b/tests/cpp-tests/Resources/ccs-res @@ -1 +1 @@ -Subproject commit 2173b0b479e0e7be62df9ded754b20e75e74b0f2 +Subproject commit 6b28e948482ca7ed44c31daf3fef2e42ad6b59fb diff --git a/tests/cpp-tests/proj.android/jni/Application.mk b/tests/cpp-tests/proj.android/jni/Application.mk index cdd0d48ce0..362124d303 100644 --- a/tests/cpp-tests/proj.android/jni/Application.mk +++ b/tests/cpp-tests/proj.android/jni/Application.mk @@ -1,8 +1,9 @@ -APP_STL := gnustl_static +APP_STL := c++_static +NDK_TOOLCHAIN_VERSION=clang + +APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char +APP_LDFLAGS := -latomic -# add -Wno-literal-suffix to avoid warning: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix] -# in NDK_ROOT/arch-arm/usr/include/sys/cdefs_elf.h:35:28: when using ndk-r9 -APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -Wno-literal-suffix -fsigned-char APP_DEBUG := $(strip $(NDK_DEBUG)) ifeq ($(APP_DEBUG),1) diff --git a/tests/game-controller-test/Classes/AppDelegate.cpp b/tests/game-controller-test/Classes/AppDelegate.cpp index ae7ef0a2cf..6bd1bb104f 100644 --- a/tests/game-controller-test/Classes/AppDelegate.cpp +++ b/tests/game-controller-test/Classes/AppDelegate.cpp @@ -18,23 +18,16 @@ AppDelegate::~AppDelegate() } bool AppDelegate::applicationDidFinishLaunching() { - // initialize director auto director = Director::getInstance(); auto glview = director->getOpenGLView(); if(!glview) { - glview = GLView::create("Cpp Empty Test"); + glview = GLView::create("Game Controller Test"); director->setOpenGLView(glview); } director->setOpenGLView(glview); - // Set the design resolution -#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) - // a bug in DirectX 11 level9-x on the device prevents ResolutionPolicy::NO_BORDER from working correctly glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::SHOW_ALL); -#else - glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::NO_BORDER); -#endif Size frameSize = glview->getFrameSize(); @@ -53,33 +46,19 @@ bool AppDelegate::applicationDidFinishLaunching() { director->setContentScaleFactor(MIN(largeResource.size.height/designResolutionSize.height, largeResource.size.width/designResolutionSize.width)); } // if the frame's height is larger than the height of small resource size, select medium resource. - else if (frameSize.height > smallResource.size.height) + else { searchPath.push_back(mediumResource.directory); director->setContentScaleFactor(MIN(mediumResource.size.height/designResolutionSize.height, mediumResource.size.width/designResolutionSize.width)); } - // if the frame's height is smaller than the height of medium resource size, select small resource. - else - { - searchPath.push_back(smallResource.directory); - - director->setContentScaleFactor(MIN(smallResource.size.height/designResolutionSize.height, smallResource.size.width/designResolutionSize.width)); - } - // set searching path FileUtils::getInstance()->setSearchPaths(searchPath); - - // turn on display FPS - director->setDisplayStats(true); - // set FPS. the default value is 1.0/60 if you don't call this - director->setAnimationInterval(1.0 / 60); + auto scene = Scene::create(); + GameControllerTest *gameLayer = GameControllerTest::create(); + scene->addChild(gameLayer); - // create a scene. it's an autorelease object - auto scene = GameControllerTest::scene(); - - // run director->runWithScene(scene); return true; @@ -88,15 +67,9 @@ bool AppDelegate::applicationDidFinishLaunching() { // This function will be called when the app is inactive. When comes a phone call,it's be invoked too void AppDelegate::applicationDidEnterBackground() { Director::getInstance()->stopAnimation(); - - // if you use SimpleAudioEngine, it must be pause - // SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); } // this function will be called when the app is active again void AppDelegate::applicationWillEnterForeground() { Director::getInstance()->startAnimation(); - - // if you use SimpleAudioEngine, it must resume here - // SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); } diff --git a/tests/game-controller-test/Classes/AppMacros.h b/tests/game-controller-test/Classes/AppMacros.h index 417da9a190..41d6963a16 100644 --- a/tests/game-controller-test/Classes/AppMacros.h +++ b/tests/game-controller-test/Classes/AppMacros.h @@ -23,32 +23,16 @@ [Note] Normally, developer just need to define one design resolution(e.g. 960x640) with one or more resources. */ -#define DESIGN_RESOLUTION_480X320 0 -#define DESIGN_RESOLUTION_1024X768 1 -#define DESIGN_RESOLUTION_2048X1536 2 - -/* If you want to switch design resolution, change next line */ -#define TARGET_DESIGN_RESOLUTION_SIZE DESIGN_RESOLUTION_480X320 - typedef struct tagResource { cocos2d::Size size; char directory[100]; }Resource; -static Resource smallResource = { cocos2d::Size(480, 320), "iphone" }; -static Resource mediumResource = { cocos2d::Size(1024, 768), "ipad" }; -static Resource largeResource = { cocos2d::Size(2048, 1536), "ipadhd" }; +static Resource mediumResource = { cocos2d::Size(960, 540), "ipad" }; +static Resource largeResource = { cocos2d::Size(1920, 1080), "ipadhd" }; -#if (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_480X320) -static cocos2d::Size designResolutionSize = cocos2d::Size(480, 320); -#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_1024X768) -static cocos2d::Size designResolutionSize = cocos2d::Size(1024, 768); -#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_2048X1536) -static cocos2d::Size designResolutionSize = cocos2d::Size(2048, 1536); -#else -#error unknown target design resolution! -#endif +static cocos2d::Size designResolutionSize = cocos2d::Size(1920, 1080); // The font size 24 is designed for small resolution, so we should change it to fit for current design resolution #define TITLE_FONT_SIZE (cocos2d::Director::getInstance()->getOpenGLView()->getDesignResolutionSize().width / smallResource.size.width * 24) diff --git a/tests/game-controller-test/Classes/GameControllerTest.cpp b/tests/game-controller-test/Classes/GameControllerTest.cpp index 820a4ec5fc..9e535b6d64 100644 --- a/tests/game-controller-test/Classes/GameControllerTest.cpp +++ b/tests/game-controller-test/Classes/GameControllerTest.cpp @@ -1,252 +1,421 @@ #include "GameControllerTest.h" #include "AppMacros.h" -#include "ui/CocosGUI.h" USING_NS_CC; - -Scene* GameControllerTest::scene() -{ - auto scene = Scene::create(); - GameControllerTest *layer = GameControllerTest::create(); - scene->addChild(layer); - - return scene; -} - GameControllerTest::~GameControllerTest() { Controller::stopDiscoveryController(); } -bool GameControllerTest::init() +void GameControllerTest::registerControllerListener() { - if ( !Layer::init() ) - { - return false; - } - - auto visibleSize = Director::getInstance()->getVisibleSize(); - auto origin = Director::getInstance()->getVisibleOrigin(); - - auto tmpPos = Vec2(visibleSize / 2) + origin; - _actor = Sprite::create("CloseNormal.png"); - _actor->setPosition(tmpPos); - this->addChild(_actor,10); - - tmpPos.y -= 35; - _statusLabel = Label::createWithTTF("status", "fonts/Marker Felt.ttf", 40); - _statusLabel->setPosition(tmpPos); - this->addChild(_statusLabel, 0, 100); - - tmpPos.y += 65; - _leftTriggerLabel = Label::createWithTTF("left trigger", "fonts/Marker Felt.ttf", 40); - _leftTriggerLabel->setPosition(tmpPos); - this->addChild(_leftTriggerLabel, 0, 100); - - tmpPos.y += 40; - _rightTriggerLabel = Label::createWithTTF("right trigger", "fonts/Marker Felt.ttf", 40); - _rightTriggerLabel->setPosition(tmpPos); - this->addChild(_rightTriggerLabel, 0, 100); - _listener = EventListenerController::create(); - _listener->onConnected = [=](Controller* controller, Event* event){ - _player1 = controller; - _statusLabel->setString("controller connected!"); - }; - _listener->onDisconnected = [=](Controller* controller, Event* event){ - _player1 = nullptr; - _statusLabel->setString("controller disconnected!"); - }; + _listener->onConnected = CC_CALLBACK_2(GameControllerTest::onConnectController,this); + _listener->onDisconnected = CC_CALLBACK_2(GameControllerTest::onDisconnectedController,this); + _listener->onKeyDown = CC_CALLBACK_3(GameControllerTest::onKeyDown, this); + _listener->onKeyUp = CC_CALLBACK_3(GameControllerTest::onKeyUp, this); + _listener->onAxisEvent = CC_CALLBACK_3(GameControllerTest::onAxisEvent, this); - _listener->onButtonPressed = CC_CALLBACK_3(GameControllerTest::onButtonPressed, this); - _listener->onButtonReleased = CC_CALLBACK_3(GameControllerTest::onButtonReleased, this); - _listener->onAxisValueChanged = CC_CALLBACK_3(GameControllerTest::onAxisValueChanged, this); - _eventDispatcher->addEventListenerWithSceneGraphPriority(_listener, this); Controller::startDiscoveryController(); - + + //get game pad status in polling mode + //scheduleUpdate(); +} + +void GameControllerTest::onConnectController(Controller* controller, Event* event) +{ + if (controller == nullptr || controller == _firstHolder.controller || controller == _secondHolder.controller) + { + return; + } + + if (_firstHolder.controller == nullptr && _secondHolder.controller == nullptr) + { + char deviceId[20]; + sprintf(deviceId,"device id:%d",controller->getDeviceId()); + + if (_firstHolder._holderNode) + { + _firstHolder.controller = controller; + _firstHolder._deviceIdLabel->setString(deviceId); + } + else + { + _secondHolder.controller = controller; + _secondHolder._deviceIdLabel->setString(deviceId); + } + } + else if(_secondHolder.controller == nullptr) + { + _secondHolder.controller = controller; + if (_secondHolder._holderNode == nullptr) + { + createControllerSprite(_secondHolder); + + _firstHolder._holderNode->runAction(ScaleTo::create(0.3f,0.5f,0.5f)); + _firstHolder._holderNode->runAction(MoveTo::create(0.3f,Vec2(_visibleQuarterX, _visibleCentreY))); + + _secondHolder._holderNode->setAnchorPoint(Vec2::ANCHOR_MIDDLE); + _secondHolder._holderNode->setScale(0.1f); + _secondHolder._holderNode->runAction(ScaleTo::create(0.3f,0.5f,0.5f)); + _secondHolder._holderNode->setPosition(Vec2(_visibleThreeQuarterX, _visibleCentreY)); + this->addChild(_secondHolder._holderNode); + } + + char deviceId[20]; + sprintf(deviceId,"device id:%d",controller->getDeviceId()); + _secondHolder._deviceIdLabel->setString(deviceId); + } + else + { + _firstHolder.controller = controller; + if (_firstHolder._holderNode == nullptr) + { + createControllerSprite(_firstHolder); + + _secondHolder._holderNode->runAction(ScaleTo::create(0.3f,0.5f,0.5f)); + _secondHolder._holderNode->runAction(MoveTo::create(0.3f,Vec2(_visibleQuarterX, _visibleCentreY))); + + _firstHolder._holderNode->setAnchorPoint(Vec2::ANCHOR_MIDDLE); + _firstHolder._holderNode->setScale(0.1f); + _firstHolder._holderNode->runAction(ScaleTo::create(0.3f,0.5f,0.5f)); + _firstHolder._holderNode->setPosition(Vec2(_visibleThreeQuarterX, _visibleCentreY)); + this->addChild(_firstHolder._holderNode); + } + char deviceId[20]; + sprintf(deviceId,"device id:%d",controller->getDeviceId()); + _firstHolder._deviceIdLabel->setString(deviceId); + } +} + +void GameControllerTest::onDisconnectedController(Controller* controller, Event* event) +{ + log("onDisconnectedController:%d",controller->getDeviceId()); + if (_firstHolder.controller == controller) + { + _firstHolder.controller = nullptr; + + if (_secondHolder.controller != nullptr) + { + _firstHolder._holderNode->runAction(MoveBy::create(0.3f,Vec2(0,_visibleSize.height))); + + _secondHolder._holderNode->runAction(MoveTo::create(0.3f,Vec2(_visibleCentreX,_visibleCentreY) )); + _secondHolder._holderNode->runAction(ScaleTo::create(0.3f,1.0f,1.0f)); + } + else + { + resetControllerHolderState(_firstHolder); + } + } + else if (_secondHolder.controller == controller) + { + _secondHolder.controller = nullptr; + + if (_firstHolder.controller != nullptr) + { + _secondHolder._holderNode->runAction(MoveBy::create(0.3f,Vec2(0,_visibleSize.height))); + + _firstHolder._holderNode->runAction(MoveTo::create(0.3f,Vec2(_visibleCentreX,_visibleCentreY) )); + _firstHolder._holderNode->runAction(ScaleTo::create(0.3f,1.0f,1.0f)); + } + else + { + resetControllerHolderState(_secondHolder); + } + } +} + +void GameControllerTest::resetControllerHolderState(ControllerHolder& holder) +{ + holder._buttonA->setColor(Color3B::WHITE); + holder._buttonB->setColor(Color3B::WHITE); + holder._buttonX->setColor(Color3B::WHITE); + holder._buttonY->setColor(Color3B::WHITE); + holder._dpadUp->setColor(Color3B::WHITE); + holder._dpadDown->setColor(Color3B::WHITE); + holder._dpadLeft->setColor(Color3B::WHITE); + holder._dpadRight->setColor(Color3B::WHITE); + holder._buttonL1->setColor(Color3B::WHITE); + holder._buttonR1->setColor(Color3B::WHITE); + + holder._leftJoystick->setPosition(Vec2(238,460)); + holder._rightJoystick->setPosition(Vec2(606,293)); + holder._deviceIdLabel->setString("Disconnected"); +} + +void GameControllerTest::showButtonState(cocos2d::Controller *controller, int keyCode, bool isPressed) +{ + onConnectController(controller,nullptr); + ControllerHolder* holder = nullptr; + if (controller == _firstHolder.controller) + holder = &_firstHolder; + else if(controller == _secondHolder.controller) + holder = &_secondHolder; + else + return; + + if (isPressed) + { + switch (keyCode) + { + case Controller::Key::BUTTON_A: + holder->_buttonA->setColor(Color3B(250,103,93)); + break; + case Controller::Key::BUTTON_B: + holder->_buttonB->setColor(Color3B(92,214,183)); + break; + case Controller::Key::BUTTON_X: + holder->_buttonX->setColor(Color3B(96,113,192)); + break; + case Controller::Key::BUTTON_Y: + holder->_buttonY->setColor(Color3B(199,222,118)); + break; + case Controller::Key::BUTTON_DPAD_UP: + holder->_dpadUp->setColor(Color3B(0,115,158)); + break; + case Controller::Key::BUTTON_DPAD_DOWN: + holder->_dpadDown->setColor(Color3B(0,115,158)); + break; + case Controller::Key::BUTTON_DPAD_LEFT: + holder->_dpadLeft->setColor(Color3B(170,216,0)); + break; + case Controller::Key::BUTTON_DPAD_RIGHT: + holder->_dpadRight->setColor(Color3B(170,216,0)); + break; + case Controller::Key::BUTTON_LEFT_SHOULDER: + holder->_buttonL1->setColor(Color3B(19,231,238)); + break; + case Controller::Key::BUTTON_RIGHT_SHOULDER: + holder->_buttonR1->setColor(Color3B(19,231,238)); + break; + default: + break; + } + } + else + { + switch (keyCode) + { + case Controller::Key::BUTTON_A: + holder->_buttonA->setColor(Color3B::WHITE); + break; + case Controller::Key::BUTTON_B: + holder->_buttonB->setColor(Color3B::WHITE); + break; + case Controller::Key::BUTTON_X: + holder->_buttonX->setColor(Color3B::WHITE); + break; + case Controller::Key::BUTTON_Y: + holder->_buttonY->setColor(Color3B::WHITE); + break; + case Controller::Key::BUTTON_DPAD_UP: + holder->_dpadUp->setColor(Color3B::WHITE); + break; + case Controller::Key::BUTTON_DPAD_DOWN: + holder->_dpadDown->setColor(Color3B::WHITE); + break; + case Controller::Key::BUTTON_DPAD_LEFT: + holder->_dpadLeft->setColor(Color3B::WHITE); + break; + case Controller::Key::BUTTON_DPAD_RIGHT: + holder->_dpadRight->setColor(Color3B::WHITE); + break; + case Controller::Key::BUTTON_LEFT_SHOULDER: + holder->_buttonL1->setColor(Color3B::WHITE); + break; + case Controller::Key::BUTTON_RIGHT_SHOULDER: + holder->_buttonR1->setColor(Color3B::WHITE); + break; + default: + break; + } + } +} + +void GameControllerTest::onKeyDown(cocos2d::Controller *controller, int keyCode, cocos2d::Event *event) +{ + showButtonState(controller, keyCode, true); +} + +void GameControllerTest::onKeyUp(cocos2d::Controller *controller, int keyCode, cocos2d::Event *event) +{ + showButtonState(controller, keyCode, false); +} + +void GameControllerTest::onAxisEvent(cocos2d::Controller* controller, int keyCode, cocos2d::Event* event) +{ + //onConnectController(controller,nullptr); + ControllerHolder* holder = nullptr; + if (controller == _firstHolder.controller) + holder = &_firstHolder; + else if(controller == _secondHolder.controller) + holder = &_secondHolder; + else + return; + + const auto& ketStatus = controller->getKeyStatus(keyCode); + switch (keyCode) + { + case Controller::Key::JOYSTICK_LEFT_X: + holder->_leftJoystick->setPositionX(238 + ketStatus.value * 24); + break; + case Controller::Key::JOYSTICK_LEFT_Y: + holder->_leftJoystick->setPositionY(460 - ketStatus.value * 24); + break; + case Controller::Key::JOYSTICK_RIGHT_X: + holder->_rightJoystick->setPositionX(606 + ketStatus.value * 24); + break; + case Controller::Key::JOYSTICK_RIGHT_Y: + holder->_rightJoystick->setPositionY(293 - ketStatus.value * 24); + break; + case Controller::Key::AXIS_LEFT_TRIGGER: + holder->_buttonL2->setOpacity(200 * controller->getKeyStatus(keyCode).value); + break; + case Controller::Key::AXIS_RIGHT_TRIGGER: + holder->_buttonR2->setOpacity(200 * controller->getKeyStatus(keyCode).value); + break; + default: + break; + } +} + +bool GameControllerTest::init() +{ + if ( !Layer::init() ) + return false; + + _currControllerCount = 0; + + _visibleSize = Director::getInstance()->getVisibleSize(); + _visibleOrigin = Director::getInstance()->getVisibleOrigin(); + + + auto tmpPos = Vec2(_visibleSize / 2) + _visibleOrigin; + + _visibleCentreX = _visibleOrigin.x + _visibleSize.width / 2; + _visibleCentreY = _visibleOrigin.y + _visibleSize.height / 2; + _visibleQuarterX = _visibleOrigin.x + _visibleSize.width / 4; + _visibleThreeQuarterX = _visibleOrigin.x + _visibleSize.width * 0.75f; + + _firstHolder.controller = nullptr; + _secondHolder.controller = nullptr; + + createControllerSprite(_firstHolder); + _firstHolder._holderNode->setAnchorPoint(Vec2::ANCHOR_MIDDLE); + _firstHolder._holderNode->setPosition(tmpPos); + this->addChild(_firstHolder._holderNode); + auto closeItem = MenuItemImage::create("CloseNormal.png", "CloseSelected.png", CC_CALLBACK_1(GameControllerTest::menuCloseCallback, this)); - closeItem->setPosition(origin + visibleSize - closeItem->getContentSize() / 2); - + closeItem->setPosition(_visibleOrigin + _visibleSize - closeItem->getContentSize() / 2); + auto menu = Menu::create(closeItem,nullptr); menu->setPosition(Vec2::ZERO); this->addChild(menu); - - //get game pad status in polling mode - scheduleUpdate(); + + registerControllerListener(); return true; } -void GameControllerTest::onButtonPressed(cocos2d::Controller *controller, cocos2d::ControllerButtonInput *button, cocos2d::Event *event) +void GameControllerTest::createControllerSprite(ControllerHolder& holder) { - if (controller == nullptr) - { - return; - } - _player1 = controller; + holder._holderNode = Node::create(); + holder._holderNode->setContentSize(Size(998,1000)); - auto gamePad = controller->getGamepad(); + auto controllerBg1 = Sprite::create("controller-1.png"); + controllerBg1->setPosition(Vec2::ZERO); + controllerBg1->setAnchorPoint(Vec2::ANCHOR_BOTTOM_LEFT); + holder._holderNode->addChild(controllerBg1); - if (button == gamePad->getButtonA()) - { - _statusLabel->setString("button A pressed!"); - } + auto controllerBg2 = Sprite::create("controller-2.png"); + controllerBg2->setPosition(Vec2(499,1000)); + controllerBg2->setAnchorPoint(Vec2::ANCHOR_MIDDLE_TOP); + holder._holderNode->addChild(controllerBg2); - if (button == gamePad->getButtonB()) - { - _statusLabel->setString("button B pressed!"); - } + holder._leftJoystick = Sprite::create("joystick.png"); + holder._leftJoystick->setPosition(Vec2(238,460)); + holder._holderNode->addChild(holder._leftJoystick); - if (button == gamePad->getButtonX()) - { - _statusLabel->setString("button X pressed!"); - } + holder._rightJoystick = Sprite::create("joystick.png"); + holder._rightJoystick->setPosition(Vec2(606,293)); + holder._holderNode->addChild(holder._rightJoystick); - if (button == gamePad->getButtonY()) - { - _statusLabel->setString("button Y pressed!"); - } + holder._deviceIdLabel = Label::createWithTTF("Disconnected","fonts/Marker Felt.ttf",36); + holder._deviceIdLabel->setPosition(Vec2(499,460)); + holder._deviceIdLabel->setTextColor(Color4B::RED); + holder._holderNode->addChild(holder._deviceIdLabel); + //----------------------------------------------------------------- + //371,294 64 + auto dPadTexture = Director::getInstance()->getTextureCache()->addImage("dPad.png"); - if (button == gamePad->getDirectionPad()->getUp()) - { - _statusLabel->setString("Dpad up pressed!"); - } + auto dPadCenter = Sprite::createWithTexture(dPadTexture,Rect(60,60,68,68)); + dPadCenter->setPosition(Vec2(371,294)); + holder._holderNode->addChild(dPadCenter); - if (button == gamePad->getDirectionPad()->getDown()) - { - _statusLabel->setString("Dpad down pressed!"); - } + holder._dpadLeft = Sprite::createWithTexture(dPadTexture,Rect(0,60,60,60)); + holder._dpadLeft->setPosition(Vec2(371 - 64,296)); + holder._holderNode->addChild(holder._dpadLeft); - if (button == gamePad->getDirectionPad()->getLeft()) - { - _statusLabel->setString("Dpad left pressed!"); - } + holder._dpadRight = Sprite::createWithTexture(dPadTexture,Rect(128,60,60,60)); + holder._dpadRight->setPosition(Vec2(371 + 64,296)); + holder._holderNode->addChild(holder._dpadRight); - if (button == gamePad->getDirectionPad()->getRight()) - { - _statusLabel->setString("Dpad right pressed!"); - } + holder._dpadUp = Sprite::createWithTexture(dPadTexture,Rect(60,0,60,60)); + holder._dpadUp->setPosition(Vec2(369,294 + 64)); + holder._holderNode->addChild(holder._dpadUp); - if (button == gamePad->getLeftShoulder()) - { - _statusLabel->setString("Left shoulder pressed!"); - } + holder._dpadDown = Sprite::createWithTexture(dPadTexture,Rect(60,128,60,60)); + holder._dpadDown->setPosition(Vec2(369,294 - 64)); + holder._holderNode->addChild(holder._dpadDown); + //----------------------------------------------------------------- + holder._buttonL1 = Sprite::create("L1.png"); + holder._buttonL1->setPosition(Vec2(290,792)); + holder._holderNode->addChild(holder._buttonL1); - if (button == gamePad->getRightShoulder()) - { - _statusLabel->setString("Right shoulder pressed!"); - } -} + holder._buttonR1 = Sprite::create("R1.png"); + holder._buttonR1->setPosition(Vec2(998 - 290,792)); + holder._holderNode->addChild(holder._buttonR1); -void GameControllerTest::onButtonReleased(cocos2d::Controller *controller, cocos2d::ControllerButtonInput *button, cocos2d::Event *event) -{ - if (controller == nullptr) - { - return; - } - _player1 = controller; + auto buttonL2 = Sprite::create("L2.png"); + buttonL2->setPosition(Vec2(220,910)); + holder._holderNode->addChild(buttonL2); - auto gamePad = controller->getGamepad(); + auto buttonR2 = Sprite::create("R2.png"); + buttonR2->setPosition(Vec2(998-220,910)); + holder._holderNode->addChild(buttonR2); - if (button == gamePad->getButtonA()) - { - _statusLabel->setString("button A released!"); - } + holder._buttonL2 = Sprite::create("L2.png"); + holder._buttonL2->setOpacity(0); + holder._buttonL2->setColor(Color3B::RED); + holder._buttonL2->setPosition(Vec2(220,910)); + holder._holderNode->addChild(holder._buttonL2); - if (button == gamePad->getButtonB()) - { - _statusLabel->setString("button B released!"); - } + holder._buttonR2 = Sprite::create("R2.png"); + holder._buttonR2->setOpacity(0); + holder._buttonR2->setColor(Color3B::RED); + holder._buttonR2->setPosition(Vec2(998-220,910)); + holder._holderNode->addChild(holder._buttonR2); + //----------------------------------------------------------------- + //750 460,70 + holder._buttonX = Sprite::create("X.png"); + holder._buttonX->setPosition(Vec2(750 - 70,460)); + holder._holderNode->addChild(holder._buttonX); - if (button == gamePad->getButtonX()) - { - _statusLabel->setString("button X released!"); - } + holder._buttonY = Sprite::create("Y.png"); + holder._buttonY->setPosition(Vec2(750,460 + 70)); + holder._holderNode->addChild(holder._buttonY); - if (button == gamePad->getButtonY()) - { - _statusLabel->setString("button Y released!"); - } + holder._buttonA = Sprite::create("A.png"); + holder._buttonA->setPosition(Vec2(750,460 - 70)); + holder._holderNode->addChild(holder._buttonA); - if (button == gamePad->getDirectionPad()->getUp()) - { - _statusLabel->setString("Dpad up released!"); - } - - if (button == gamePad->getDirectionPad()->getDown()) - { - _statusLabel->setString("Dpad down released!"); - } - - if (button == gamePad->getDirectionPad()->getLeft()) - { - _statusLabel->setString("Dpad left released!"); - } - - if (button == gamePad->getDirectionPad()->getRight()) - { - _statusLabel->setString("Dpad right released!"); - } - - if (button == gamePad->getLeftShoulder()) - { - _statusLabel->setString("Left shoulder released!"); - } - - if (button == gamePad->getRightShoulder()) - { - _statusLabel->setString("Right shoulder released!"); - } -} - -void GameControllerTest::onAxisValueChanged(cocos2d::Controller* controller, cocos2d::ControllerAxisInput* axis, cocos2d::Event* event) -{ - if (controller == nullptr) - { - return; - } - _player1 = controller; - - auto moveDelta = axis->getValue(); - Vec2 newPos = _actor->getPosition(); - auto gamePad = controller->getGamepad(); - - if (axis == gamePad->getLeftThumbstick()->getAxisX() || axis == gamePad->getRightThumbstick()->getAxisX()) - { - newPos.x += moveDelta; - } - else if (axis == gamePad->getLeftThumbstick()->getAxisY() || axis == gamePad->getRightThumbstick()->getAxisY()) - { - newPos.y -= moveDelta; - } - _actor->setPosition(newPos); -} - -void GameControllerTest::update(float dt) -{ - if (_player1 && _player1->isConnected()) - { - Vec2 newPos = _actor->getPosition(); - auto gamePad = _player1->getGamepad(); - - newPos.x += gamePad->getLeftThumbstick()->getAxisX()->getValue(); - newPos.y -= gamePad->getLeftThumbstick()->getAxisY()->getValue(); - - newPos.x += gamePad->getRightThumbstick()->getAxisX()->getValue(); - newPos.y -= gamePad->getRightThumbstick()->getAxisY()->getValue(); - - _actor->setPosition(newPos); - - char triggerStatus[50]; - sprintf(triggerStatus,"left trigger:%f",gamePad->getLeftTrigger()->getValue()); - _leftTriggerLabel->setString(triggerStatus); - sprintf(triggerStatus,"right trigger:%f",gamePad->getRightTrigger()->getValue()); - _rightTriggerLabel->setString(triggerStatus); - } + holder._buttonB = Sprite::create("B.png"); + holder._buttonB->setPosition(Vec2(750 + 70,460)); + holder._holderNode->addChild(holder._buttonB); } void GameControllerTest::menuCloseCallback(Ref* sender) diff --git a/tests/game-controller-test/Classes/GameControllerTest.h b/tests/game-controller-test/Classes/GameControllerTest.h index 98e2fdb55e..26b843e534 100644 --- a/tests/game-controller-test/Classes/GameControllerTest.h +++ b/tests/game-controller-test/Classes/GameControllerTest.h @@ -4,32 +4,75 @@ #include "cocos2d.h" #include "base/CCGameController.h" +USING_NS_CC; + class GameControllerTest : public cocos2d::Layer { public: virtual ~GameControllerTest(); - virtual bool init(); - - static cocos2d::Scene* scene(); - - // a selector callback - void menuCloseCallback(Ref* sender); - - // implement the "static node()" method manually CREATE_FUNC(GameControllerTest); - void update(float dt); - void onButtonPressed(cocos2d::Controller* controller, cocos2d::ControllerButtonInput* button, cocos2d::Event* event); - void onButtonReleased(cocos2d::Controller* controller, cocos2d::ControllerButtonInput* button, cocos2d::Event* event); - void onAxisValueChanged(cocos2d::Controller* controller, cocos2d::ControllerAxisInput* axis, cocos2d::Event* event); + virtual bool init(); + + void onKeyDown(cocos2d::Controller* controller, int keyCode, cocos2d::Event* event); + void onKeyUp(cocos2d::Controller* controller, int keyCode, cocos2d::Event* event); + void onAxisEvent(cocos2d::Controller* controller, int keyCode, cocos2d::Event* event); + + void menuCloseCallback(Ref* sender); + private: - cocos2d::Controller* _player1; - cocos2d::Sprite* _actor; - cocos2d::Label* _statusLabel; - cocos2d::Label* _leftTriggerLabel; - cocos2d::Label* _rightTriggerLabel; + float _visibleCentreX; + float _visibleCentreY; + float _visibleQuarterX; + float _visibleThreeQuarterX; + + int _currControllerCount; + + typedef struct controllerHolder + { + cocos2d::Controller *controller; + + cocos2d::Node* _holderNode; + + cocos2d::Sprite* _leftJoystick; + cocos2d::Sprite* _rightJoystick; + + cocos2d::Sprite* _dpadLeft; + cocos2d::Sprite* _dpadRight; + cocos2d::Sprite* _dpadUp; + cocos2d::Sprite* _dpadDown; + + cocos2d::Sprite* _buttonX; + cocos2d::Sprite* _buttonY; + cocos2d::Sprite* _buttonA; + cocos2d::Sprite* _buttonB; + + cocos2d::Sprite* _buttonL1; + cocos2d::Sprite* _buttonR1; + cocos2d::Sprite* _buttonL2; + cocos2d::Sprite* _buttonR2; + + cocos2d::Label* _deviceIdLabel; + }ControllerHolder; + + ControllerHolder _firstHolder; + ControllerHolder _secondHolder; + cocos2d::EventListenerController* _listener; + + cocos2d::Size _visibleSize; + cocos2d::Vec2 _visibleOrigin; + + void registerControllerListener(); + void showButtonState(cocos2d::Controller *controller, int keyCode, bool isPressed); + + void createControllerSprite(ControllerHolder& holder); + + void onConnectController(Controller* controller, Event* event); + void onDisconnectedController(Controller* controller, Event* event); + + void resetControllerHolderState(ControllerHolder& holder); }; #endif // __GAMECONTROLLER_TEST_H__ diff --git a/tests/game-controller-test/Resources/ipad/A.png b/tests/game-controller-test/Resources/ipad/A.png new file mode 100644 index 0000000000..fa35c7cd02 Binary files /dev/null and b/tests/game-controller-test/Resources/ipad/A.png differ diff --git a/tests/game-controller-test/Resources/ipad/B.png b/tests/game-controller-test/Resources/ipad/B.png new file mode 100644 index 0000000000..5f14c27bb7 Binary files /dev/null and b/tests/game-controller-test/Resources/ipad/B.png differ diff --git a/tests/game-controller-test/Resources/ipad/L1.png b/tests/game-controller-test/Resources/ipad/L1.png new file mode 100644 index 0000000000..a59e0c74d7 Binary files /dev/null and b/tests/game-controller-test/Resources/ipad/L1.png differ diff --git a/tests/game-controller-test/Resources/ipad/L2.png b/tests/game-controller-test/Resources/ipad/L2.png new file mode 100644 index 0000000000..526d727617 Binary files /dev/null and b/tests/game-controller-test/Resources/ipad/L2.png differ diff --git a/tests/game-controller-test/Resources/ipad/R1.png b/tests/game-controller-test/Resources/ipad/R1.png new file mode 100644 index 0000000000..028abf6363 Binary files /dev/null and b/tests/game-controller-test/Resources/ipad/R1.png differ diff --git a/tests/game-controller-test/Resources/ipad/R2.png b/tests/game-controller-test/Resources/ipad/R2.png new file mode 100644 index 0000000000..10109019b2 Binary files /dev/null and b/tests/game-controller-test/Resources/ipad/R2.png differ diff --git a/tests/game-controller-test/Resources/ipad/X.png b/tests/game-controller-test/Resources/ipad/X.png new file mode 100644 index 0000000000..38b3a03ec4 Binary files /dev/null and b/tests/game-controller-test/Resources/ipad/X.png differ diff --git a/tests/game-controller-test/Resources/ipad/Y.png b/tests/game-controller-test/Resources/ipad/Y.png new file mode 100644 index 0000000000..180d80a39e Binary files /dev/null and b/tests/game-controller-test/Resources/ipad/Y.png differ diff --git a/tests/game-controller-test/Resources/ipad/controller-1.png b/tests/game-controller-test/Resources/ipad/controller-1.png new file mode 100644 index 0000000000..347b8f4f31 Binary files /dev/null and b/tests/game-controller-test/Resources/ipad/controller-1.png differ diff --git a/tests/game-controller-test/Resources/ipad/controller-2.png b/tests/game-controller-test/Resources/ipad/controller-2.png new file mode 100644 index 0000000000..5116523c5e Binary files /dev/null and b/tests/game-controller-test/Resources/ipad/controller-2.png differ diff --git a/tests/game-controller-test/Resources/ipad/dPad.png b/tests/game-controller-test/Resources/ipad/dPad.png new file mode 100644 index 0000000000..79963b8565 Binary files /dev/null and b/tests/game-controller-test/Resources/ipad/dPad.png differ diff --git a/tests/game-controller-test/Resources/ipad/dpad-key.png b/tests/game-controller-test/Resources/ipad/dpad-key.png new file mode 100644 index 0000000000..9000a25eed Binary files /dev/null and b/tests/game-controller-test/Resources/ipad/dpad-key.png differ diff --git a/tests/game-controller-test/Resources/ipad/joystick.png b/tests/game-controller-test/Resources/ipad/joystick.png new file mode 100644 index 0000000000..801f68c254 Binary files /dev/null and b/tests/game-controller-test/Resources/ipad/joystick.png differ diff --git a/tests/game-controller-test/Resources/ipadhd/A.png b/tests/game-controller-test/Resources/ipadhd/A.png new file mode 100644 index 0000000000..d5fb7b2928 Binary files /dev/null and b/tests/game-controller-test/Resources/ipadhd/A.png differ diff --git a/tests/game-controller-test/Resources/ipadhd/B.png b/tests/game-controller-test/Resources/ipadhd/B.png new file mode 100644 index 0000000000..ccb1bf07ba Binary files /dev/null and b/tests/game-controller-test/Resources/ipadhd/B.png differ diff --git a/tests/game-controller-test/Resources/ipadhd/L1.png b/tests/game-controller-test/Resources/ipadhd/L1.png new file mode 100644 index 0000000000..1280cf85d0 Binary files /dev/null and b/tests/game-controller-test/Resources/ipadhd/L1.png differ diff --git a/tests/game-controller-test/Resources/ipadhd/L2.png b/tests/game-controller-test/Resources/ipadhd/L2.png new file mode 100644 index 0000000000..85d52f2c8b Binary files /dev/null and b/tests/game-controller-test/Resources/ipadhd/L2.png differ diff --git a/tests/game-controller-test/Resources/ipadhd/R1.png b/tests/game-controller-test/Resources/ipadhd/R1.png new file mode 100644 index 0000000000..59e71ccb64 Binary files /dev/null and b/tests/game-controller-test/Resources/ipadhd/R1.png differ diff --git a/tests/game-controller-test/Resources/ipadhd/R2.png b/tests/game-controller-test/Resources/ipadhd/R2.png new file mode 100644 index 0000000000..6d5d31ad7f Binary files /dev/null and b/tests/game-controller-test/Resources/ipadhd/R2.png differ diff --git a/tests/game-controller-test/Resources/ipadhd/X.png b/tests/game-controller-test/Resources/ipadhd/X.png new file mode 100644 index 0000000000..b78718c237 Binary files /dev/null and b/tests/game-controller-test/Resources/ipadhd/X.png differ diff --git a/tests/game-controller-test/Resources/ipadhd/Y.png b/tests/game-controller-test/Resources/ipadhd/Y.png new file mode 100644 index 0000000000..34e6d6db46 Binary files /dev/null and b/tests/game-controller-test/Resources/ipadhd/Y.png differ diff --git a/tests/game-controller-test/Resources/ipadhd/controller-1.png b/tests/game-controller-test/Resources/ipadhd/controller-1.png new file mode 100644 index 0000000000..f005ea25a8 Binary files /dev/null and b/tests/game-controller-test/Resources/ipadhd/controller-1.png differ diff --git a/tests/game-controller-test/Resources/ipadhd/controller-2.png b/tests/game-controller-test/Resources/ipadhd/controller-2.png new file mode 100644 index 0000000000..2926750b3c Binary files /dev/null and b/tests/game-controller-test/Resources/ipadhd/controller-2.png differ diff --git a/tests/game-controller-test/Resources/ipadhd/dPad.png b/tests/game-controller-test/Resources/ipadhd/dPad.png new file mode 100644 index 0000000000..26860c3714 Binary files /dev/null and b/tests/game-controller-test/Resources/ipadhd/dPad.png differ diff --git a/tests/game-controller-test/Resources/ipadhd/joystick.png b/tests/game-controller-test/Resources/ipadhd/joystick.png new file mode 100644 index 0000000000..4baec700ee Binary files /dev/null and b/tests/game-controller-test/Resources/ipadhd/joystick.png differ diff --git a/tests/game-controller-test/proj.android/jni/Application.mk b/tests/game-controller-test/proj.android/jni/Application.mk index f0582bf96e..93c859c1b0 100644 --- a/tests/game-controller-test/proj.android/jni/Application.mk +++ b/tests/game-controller-test/proj.android/jni/Application.mk @@ -1,8 +1,9 @@ -APP_STL := gnustl_static +APP_STL := c++_static +NDK_TOOLCHAIN_VERSION=clang + +APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char +APP_LDFLAGS := -latomic -# add -Wno-literal-suffix to avoid warning: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix] -# in NDK_ROOT/arch-arm/usr/include/sys/cdefs_elf.h:35:28: when using ndk-r9 -APP_CPPFLAGS := -frtti -std=c++11 -Wno-literal-suffix -fsigned-char APP_DEBUG := $(strip $(NDK_DEBUG)) ifeq ($(APP_DEBUG),1) diff --git a/tests/lua-empty-test/project/proj.android/jni/Application.mk b/tests/lua-empty-test/project/proj.android/jni/Application.mk index 2ccd787827..93c859c1b0 100644 --- a/tests/lua-empty-test/project/proj.android/jni/Application.mk +++ b/tests/lua-empty-test/project/proj.android/jni/Application.mk @@ -1,8 +1,9 @@ -APP_STL := gnustl_static +APP_STL := c++_static +NDK_TOOLCHAIN_VERSION=clang + +APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char +APP_LDFLAGS := -latomic -# add -Wno-literal-suffix to avoid warning: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix] -# in NDK_ROOT/arch-arm/usr/include/sys/cdefs_elf.h:35:28: when using ndk-r9 -APP_CPPFLAGS := -frtti -std=c++11 -Wno-literal-suffix -fsigned-char APP_DEBUG := $(strip $(NDK_DEBUG)) ifeq ($(APP_DEBUG),1) @@ -11,4 +12,4 @@ ifeq ($(APP_DEBUG),1) else APP_CPPFLAGS += -DNDEBUG APP_OPTIM := release -endif +endif \ No newline at end of file diff --git a/tests/lua-tests/project/proj.android/jni/Application.mk b/tests/lua-tests/project/proj.android/jni/Application.mk index 2ccd787827..93c859c1b0 100644 --- a/tests/lua-tests/project/proj.android/jni/Application.mk +++ b/tests/lua-tests/project/proj.android/jni/Application.mk @@ -1,8 +1,9 @@ -APP_STL := gnustl_static +APP_STL := c++_static +NDK_TOOLCHAIN_VERSION=clang + +APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char +APP_LDFLAGS := -latomic -# add -Wno-literal-suffix to avoid warning: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix] -# in NDK_ROOT/arch-arm/usr/include/sys/cdefs_elf.h:35:28: when using ndk-r9 -APP_CPPFLAGS := -frtti -std=c++11 -Wno-literal-suffix -fsigned-char APP_DEBUG := $(strip $(NDK_DEBUG)) ifeq ($(APP_DEBUG),1) @@ -11,4 +12,4 @@ ifeq ($(APP_DEBUG),1) else APP_CPPFLAGS += -DNDEBUG APP_OPTIM := release -endif +endif \ No newline at end of file diff --git a/tests/lua-tests/src/CaptureScreenTest/CaptureScreenTest.lua b/tests/lua-tests/src/CaptureScreenTest/CaptureScreenTest.lua new file mode 100644 index 0000000000..37d39ddc3a --- /dev/null +++ b/tests/lua-tests/src/CaptureScreenTest/CaptureScreenTest.lua @@ -0,0 +1,75 @@ +local winSize = cc.Director:getInstance():getWinSize() +local kTagSprite = 1 +local childTag = 119 + +local function createLayer() + local layer = cc.Layer:create() + local filename = "" + + local title = cc.Label:createWithTTF("New Renderer", "fonts/arial.ttf", 36) + title:setColor(cc.c3b(255,255,0)) + layer:addChild(title, 1, 10000) + title:setPosition( cc.p(VisibleRect:center().x, VisibleRect:top().y - 30)) + + local subTitle = cc.Label:createWithTTF("Capture screen test, press the menu items to capture the screen", "fonts/arial.ttf", 12) + subTitle:setColor(cc.c3b(255,255,0)) + layer:addChild(subTitle, 1, 10001) + subTitle:setPosition( cc.p(VisibleRect:center().x, VisibleRect:top().y - 60) ) + + local left = cc.p(winSize.width / 4, winSize.height / 2) + local right = cc.p(winSize.width / 4 * 3, winSize.height / 2) + + local sp1 = cc.Sprite:create("Images/grossini.png") + sp1:setPosition(left) + local move1 = cc.MoveBy:create(1, cc.p(winSize.width/2, 0)) + local seq1 = cc.RepeatForever:create(cc.Sequence:create(move1, move1:reverse())) + layer:addChild(sp1) + sp1:runAction(seq1) + local sp2 = cc.Sprite:create("Images/grossinis_sister1.png") + sp2:setPosition(right) + local move2 = cc.MoveBy:create(1, cc.p(-winSize.width/2, 0)) + local seq2 = cc.RepeatForever:create(cc.Sequence:create(move2, move2:reverse())) + layer:addChild(sp2) + sp2:runAction(seq2) + + local function afterCaptured(succeed, outputFile) + if succeed then + local sp = cc.Sprite:create(outputFile) + layer:addChild(sp, 0, childTag) + sp:setPosition(winSize.width / 2, winSize.height / 2) + sp:setScale(0.25) + fileName = outputFile + else + cclog("Capture screen failed.") + end + end + + local function onCaptured(tag, sender) + cc.Director:getInstance():getTextureCache():removeTextureForKey(fileName) + layer:removeChildByTag(childTag) + fileName = "CaptureScreenTest.png" + cc.utils:captureScreen(afterCaptured, fileName) + end + + local ttfConfig = {} + ttfConfig.fontFilePath = "fonts/arial.ttf" + ttfConfig.fontSize = 24 + local label1 = cc.Label:createWithTTF(ttfConfig, "capture all", cc.TEXT_ALIGNMENT_CENTER, winSize.width) + local mi1 = cc.MenuItemLabel:create(label1) + mi1:registerScriptTapHandler(onCaptured) + local menu = cc.Menu:create(mi1) + layer:addChild(menu) + menu:setPosition(winSize.width / 2, winSize.height / 4) + + return layer +end + +-------------------------------- +-- CaptureScreen +-------------------------------- +function CaptureScreenTestMain() + local scene = cc.Scene:create() + scene:addChild(createLayer()) + scene:addChild(CreateBackMenuItem()) + return scene +end diff --git a/tests/lua-tests/src/mainMenu.lua b/tests/lua-tests/src/mainMenu.lua index ce3f86c60c..436b473cca 100644 --- a/tests/lua-tests/src/mainMenu.lua +++ b/tests/lua-tests/src/mainMenu.lua @@ -53,6 +53,7 @@ require "src/ZwoptexTest/ZwoptexTest" require "src/LuaBridgeTest/LuaBridgeTest" require "src/XMLHttpRequestTest/XMLHttpRequestTest" require "src/PhysicsTest/PhysicsTest" +require "src/CaptureScreenTest/CaptureScreenTest" local LINE_SPACE = 40 @@ -72,6 +73,7 @@ local _allTests = { { isSupported = false, name = "Box2dTestBed" , create_func= Box2dTestBedMain }, { isSupported = true, name = "BugsTest" , create_func= BugsTestMain }, { isSupported = true, name = "ByteCodeEncryptTest" , create_func= ByteCodeEncryptTestMain }, + { isSupported = true, name = "CaptureScreenTest" , create_func = CaptureScreenTestMain }, { isSupported = false, name = "ChipmunkAccelTouchTest" , create_func= ChipmunkAccelTouchTestMain }, { isSupported = true, name = "ClickAndMoveTest" , create_func = ClickAndMoveTest }, { isSupported = true, name = "CocosDenshionTest" , create_func = CocosDenshionTestMain }, diff --git a/tools/tolua/cocos2dx.ini b/tools/tolua/cocos2dx.ini index 20ef1d54cc..81750a9172 100644 --- a/tools/tolua/cocos2dx.ini +++ b/tools/tolua/cocos2dx.ini @@ -7,7 +7,7 @@ prefix = cocos2dx # all classes will be embedded in that namespace target_namespace = cc -android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include +android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/include android_flags = -D_SIZE_T_DEFINED_ clang_headers = -I%(clangllvmdir)s/lib/clang/3.3/include diff --git a/tools/tolua/cocos2dx_extension.ini b/tools/tolua/cocos2dx_extension.ini index 2f18460525..5e5e1c39f6 100644 --- a/tools/tolua/cocos2dx_extension.ini +++ b/tools/tolua/cocos2dx_extension.ini @@ -7,7 +7,7 @@ prefix = cocos2dx_extension # all classes will be embedded in that namespace target_namespace = cc -android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include +android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/include android_flags = -D_SIZE_T_DEFINED_ clang_headers = -I%(clangllvmdir)s/lib/clang/3.3/include diff --git a/tools/tolua/cocos2dx_physics.ini b/tools/tolua/cocos2dx_physics.ini index d2c3549161..6911e254cb 100644 --- a/tools/tolua/cocos2dx_physics.ini +++ b/tools/tolua/cocos2dx_physics.ini @@ -7,7 +7,7 @@ prefix = cocos2dx_physics # all classes will be embedded in that namespace target_namespace = cc -android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include +android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/include android_flags = -D_SIZE_T_DEFINED_ clang_headers = -I%(clangllvmdir)s/lib/clang/3.3/include diff --git a/tools/tolua/cocos2dx_spine.ini b/tools/tolua/cocos2dx_spine.ini index 783e2a052e..5d1e6743c0 100644 --- a/tools/tolua/cocos2dx_spine.ini +++ b/tools/tolua/cocos2dx_spine.ini @@ -7,7 +7,7 @@ prefix = cocos2dx_spine # all classes will be embedded in that namespace target_namespace = sp -android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include +android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/include android_flags = -D_SIZE_T_DEFINED_ clang_headers = -I%(clangllvmdir)s/lib/clang/3.3/include diff --git a/tools/tolua/cocos2dx_studio.ini b/tools/tolua/cocos2dx_studio.ini index 6cedc7c62d..ca654b59ad 100644 --- a/tools/tolua/cocos2dx_studio.ini +++ b/tools/tolua/cocos2dx_studio.ini @@ -10,7 +10,7 @@ target_namespace = ccs # the native namespace in which this module locates, this parameter is used for avoid conflict of the same class name in different modules, as "cocos2d::Label" <-> "cocos2d::ui::Label". cpp_namespace = cocostudio -android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include +android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/include android_flags = -D_SIZE_T_DEFINED_ clang_headers = -I%(clangllvmdir)s/lib/clang/3.3/include diff --git a/tools/tolua/cocos2dx_ui.ini b/tools/tolua/cocos2dx_ui.ini index 1bbc7331f4..79d54ac995 100644 --- a/tools/tolua/cocos2dx_ui.ini +++ b/tools/tolua/cocos2dx_ui.ini @@ -10,7 +10,7 @@ target_namespace = ccui # the native namespace in which this module locates, this parameter is used for avoid conflict of the same class name in different modules, as "cocos2d::Label" <-> "cocos2d::ui::Label". cpp_namespace = cocos2d::ui -android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include +android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/include android_flags = -D_SIZE_T_DEFINED_ clang_headers = -I%(clangllvmdir)s/lib/clang/3.3/include diff --git a/tools/travis-scripts/before-install.sh b/tools/travis-scripts/before-install.sh index 0a33175825..220e33d06a 100755 --- a/tools/travis-scripts/before-install.sh +++ b/tools/travis-scripts/before-install.sh @@ -22,12 +22,12 @@ install_android_ndk() else HOST_NAME="linux" fi - echo "Download android-ndk-r9b-${HOST_NAME}-x86_64.tar.bz2 ..." - curl -O http://dl.google.com/android/ndk/android-ndk-r9b-${HOST_NAME}-x86_64.tar.bz2 - echo "Decompress android-ndk-r9b-${HOST_NAME}-x86_64.tar.bz2 ..." - tar xjf android-ndk-r9b-${HOST_NAME}-x86_64.tar.bz2 + echo "Download android-ndk-r9d-${HOST_NAME}-x86_64.tar.bz2 ..." + curl -O http://dl.google.com/android/ndk/android-ndk-r9d-${HOST_NAME}-x86_64.tar.bz2 + echo "Decompress android-ndk-r9d-${HOST_NAME}-x86_64.tar.bz2 ..." + tar xjf android-ndk-r9d-${HOST_NAME}-x86_64.tar.bz2 # Rename ndk - mv android-ndk-r9b android-ndk + mv android-ndk-r9d android-ndk } install_nacl_sdk()